summaryrefslogtreecommitdiffstats
path: root/client/components/rules/actions
diff options
context:
space:
mode:
Diffstat (limited to 'client/components/rules/actions')
-rw-r--r--client/components/rules/actions/boardActions.jade30
-rw-r--r--client/components/rules/actions/boardActions.js53
-rw-r--r--client/components/rules/actions/cardActions.jade43
-rw-r--r--client/components/rules/actions/cardActions.js66
-rw-r--r--client/components/rules/actions/checklistActions.jade51
-rw-r--r--client/components/rules/actions/checklistActions.js61
-rw-r--r--client/components/rules/actions/mailActions.jade11
-rw-r--r--client/components/rules/actions/mailActions.js21
8 files changed, 320 insertions, 16 deletions
diff --git a/client/components/rules/actions/boardActions.jade b/client/components/rules/actions/boardActions.jade
index fe56c3ee..81b2023d 100644
--- a/client/components/rules/actions/boardActions.jade
+++ b/client/components/rules/actions/boardActions.jade
@@ -4,16 +4,40 @@ template(name="boardActions")
div.trigger-text
| Move card to
div.trigger-dropdown
- select(id="action")
+ select(id="move-gen-action")
+ option(value="top") Top of
+ option(value="bottom") Bottom of
+ div.trigger-text
+ | its list
+ div.trigger-button.js-add-gen-move-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-text
+ | Move card to
+ div.trigger-dropdown
+ select(id="move-spec-action")
option(value="top") Top of
option(value="bottom") Bottom of
div.trigger-text
| list
div.trigger-dropdown
- input(type=text,placeholder="List Name")
- div.trigger-button.js-add-move-action.js-goto-rules
+ input(id="listName",type=text,placeholder="List Name")
+ div.trigger-button.js-add-spec-move-action.js-goto-rules
i.fa.fa-plus
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
+ select(id="arch-action")
+ option(value="archive") Archive
+ option(value="unarchive") Unarchive
+ div.trigger-text
+ | card
+ div.trigger-button.js-add-arch-action.js-goto-rules
+ i.fa.fa-plus
+
diff --git a/client/components/rules/actions/boardActions.js b/client/components/rules/actions/boardActions.js
index 53325ca0..94c2778d 100644
--- a/client/components/rules/actions/boardActions.js
+++ b/client/components/rules/actions/boardActions.js
@@ -7,23 +7,50 @@ BlazeComponent.extendComponent({
events() {
return [
- {'click .js-add-move-action'(event) {
-
- console.log(this.data());
- console.log(this.data().triggerIdVar.get());
+ {'click .js-add-spec-move-action'(event) {
const ruleName = this.data().ruleName.get();
- const triggerId = this.data().triggerIdVar.get();
- const actionSelected = this.find('#action').value;
-
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#move-spec-action').value;
+ const listTitle = this.find('#listName').value;
+ if(actionSelected == "top"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "moveCardToTop","listTitle":listTitle});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "bottom"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "moveCardToBottom","listTitle":listTitle});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ },
+ 'click .js-add-gen-move-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#move-gen-action').value;
if(actionSelected == "top"){
- Actions.insert({actionType: "moveCardToTop"},function(err,id){
- Rules.insert({title: ruleName, triggerId: triggerId, actionId: id});
- });
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "moveCardToTop","listTitle":"*"});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
}
if(actionSelected == "bottom"){
- Actions.insert({actionType: "moveCardToBottom"},function(err,id){
- Rules.insert({title: ruleName, triggerId: triggerId, actionId: id});
- });
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "moveCardToBottom","listTitle":"*"});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ },
+ 'click .js-add-arch-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#arch-action').value;
+ if(actionSelected == "archive"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "archive"});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "unarchive"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "unarchive"});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
}
},
}];
diff --git a/client/components/rules/actions/cardActions.jade b/client/components/rules/actions/cardActions.jade
new file mode 100644
index 00000000..8d218a49
--- /dev/null
+++ b/client/components/rules/actions/cardActions.jade
@@ -0,0 +1,43 @@
+template(name="cardActions")
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
+ select(id="label-action")
+ option(value="add") Add
+ option(value="remove") Remove
+ div.trigger-text
+ | label
+ div.trigger-dropdown
+ select(id="label-id")
+ each labels
+ option(value="#{_id}")
+ = name
+ div.trigger-button.js-add-label-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
+ select(id="member-action")
+ option(value="add") Add
+ option(value="remove") Removed
+ div.trigger-text
+ | member
+ div.trigger-dropdown
+ input(id="member-name",type=text,placeholder="Member name")
+ div.trigger-button.js-add-member-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-text
+ | Remove all member from the card
+ div.trigger-button.js-add-removeall-action.js-goto-rules
+ i.fa.fa-plus
+
+
+
+
+
+
+
diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js
new file mode 100644
index 00000000..48120d91
--- /dev/null
+++ b/client/components/rules/actions/cardActions.js
@@ -0,0 +1,66 @@
+BlazeComponent.extendComponent({
+ onCreated() {
+ this.subscribe('allRules');
+ },
+
+ labels(){
+ const labels = Boards.findOne(Session.get('currentBoard')).labels;
+ console.log(labels);
+ for(let i = 0;i<labels.length;i++){
+ if(labels[i].name == "" || labels[i].name == undefined){
+ labels[i].name = labels[i].color.toUpperCase();
+ }
+ }
+ console.log(labels);
+ return labels;
+ },
+
+
+
+ events() {
+ return [
+ {'click .js-add-label-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#label-action').value;
+ const labelId = this.find('#label-id').value;
+
+ if(actionSelected == "add"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "addLabel","labelId":labelId});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "remove"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "removeLabel","labelId":labelId});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+
+ },
+ 'click .js-add-member-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#member-action').value;
+ const memberName = this.find('#member-name').value;
+ if(actionSelected == "add"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "addMember","memberName":memberName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "remove"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "removeMember","memberName":memberName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ },
+ 'click .js-add-removeall-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "removeMember","memberName":"*"});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ },
+ }];
+},
+
+}).register('cardActions'); \ No newline at end of file
diff --git a/client/components/rules/actions/checklistActions.jade b/client/components/rules/actions/checklistActions.jade
new file mode 100644
index 00000000..c85ec078
--- /dev/null
+++ b/client/components/rules/actions/checklistActions.jade
@@ -0,0 +1,51 @@
+template(name="checklistActions")
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
+ select(id="check-action")
+ option(value="add") Add
+ option(value="remove") Remove
+ div.trigger-text
+ | checklist
+ div.trigger-dropdown
+ input(id="checklist-name",type=text,placeholder="name")
+ div.trigger-button.js-add-checklist-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
+ select(id="checkall-action")
+ option(value="check") Check all
+ option(value="uncheck") Unchek all
+ div.trigger-text
+ | items of checklist
+ div.trigger-dropdown
+ input(id="checklist-name2",type=text,placeholder="name")
+ div.trigger-button.js-add-checkall-action.js-goto-rules
+ i.fa.fa-plus
+
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
+ select(id="check-item-action")
+ option(value="check") Check
+ option(value="uncheck") Unchek
+ div.trigger-text
+ | item
+ div.trigger-dropdown
+ input(id="checkitem-name",type=text,placeholder="name")
+ div.trigger-text
+ | of checklist
+ div.trigger-dropdown
+ input(id="checklist-name3",type=text,placeholder="name")
+ div.trigger-button.js-add-check-item-action.js-goto-rules
+ i.fa.fa-plus
+
+
+
+
+
+
+
diff --git a/client/components/rules/actions/checklistActions.js b/client/components/rules/actions/checklistActions.js
new file mode 100644
index 00000000..2a70ca7f
--- /dev/null
+++ b/client/components/rules/actions/checklistActions.js
@@ -0,0 +1,61 @@
+BlazeComponent.extendComponent({
+ onCreated() {
+ this.subscribe('allRules');
+ },
+ events() {
+ return [
+ {'click .js-add-checklist-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#check-action').value;
+ const checklistName = this.find('#checklist-name').value;
+
+ if(actionSelected == "add"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "addChecklist","checklistName":checklistName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "remove"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "removeChecklist","checklistName":checklistName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+
+ },
+ 'click .js-add-checkall-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#checkall-action').value;
+ const checklistName = this.find('#checklist-name2').value;
+ if(actionSelected == "check"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "checkAll","checklistName":checklistName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "uncheck"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "uncheckAll","checklistName":checklistName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ },
+ 'click .js-add-check-item-action'(event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const checkItemName = this.find("#checkitem-name");
+ const checklistName = this.find("#checklist-name3");
+ const actionSelected = this.find('#check-item-action').value;
+ if(actionSelected == "check"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "checkItem","checklistName":checklistName,"checkItemName":checkItemName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+ if(actionSelected == "uncheck"){
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "uncheckItem","checklistName":checklistName,"checkItemName":checkItemName});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ }
+},
+}];
+},
+
+}).register('checklistActions'); \ No newline at end of file
diff --git a/client/components/rules/actions/mailActions.jade b/client/components/rules/actions/mailActions.jade
new file mode 100644
index 00000000..5680d430
--- /dev/null
+++ b/client/components/rules/actions/mailActions.jade
@@ -0,0 +1,11 @@
+template(name="mailActions")
+ div.trigger-item.trigger-item-mail
+ div.trigger-content.trigger-content-mail
+ div.trigger-text.trigger-text-email
+ | Send an email
+ div.trigger-dropdown-mail
+ input(id="email-to",type=text,placeholder="to")
+ input(id="email-subject",type=text,placeholder="subject")
+ textarea(id="email-msg")
+ div.trigger-button.trigger-button-email.js-mail-action.js-goto-rules
+ i.fa.fa-plus \ No newline at end of file
diff --git a/client/components/rules/actions/mailActions.js b/client/components/rules/actions/mailActions.js
new file mode 100644
index 00000000..0e4b539e
--- /dev/null
+++ b/client/components/rules/actions/mailActions.js
@@ -0,0 +1,21 @@
+BlazeComponent.extendComponent({
+ onCreated() {
+
+ },
+
+ events() {
+ return [
+ {'click .js-mail-action'(event) {
+ const emailTo = this.find('#email-to').value;
+ const emailSubject = this.find('#email-subject').value;
+ const emailMsg = this.find('#email-msg').value;
+ const trigger = this.data().triggerVar.get();
+ const ruleName = this.data().ruleName.get();
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({actionType: "sendEmail","emailTo":emailTo,"emailSubject":emailSubject,"emailMsg":emailMsg});
+ Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId});
+ },
+ }];
+},
+
+}).register('mailActions'); \ No newline at end of file