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.jade46
-rw-r--r--client/components/rules/actions/boardActions.js121
-rw-r--r--client/components/rules/actions/cardActions.jade43
-rw-r--r--client/components/rules/actions/cardActions.js119
-rw-r--r--client/components/rules/actions/checklistActions.jade51
-rw-r--r--client/components/rules/actions/checklistActions.js128
-rw-r--r--client/components/rules/actions/mailActions.jade11
-rw-r--r--client/components/rules/actions/mailActions.js35
8 files changed, 554 insertions, 0 deletions
diff --git a/client/components/rules/actions/boardActions.jade b/client/components/rules/actions/boardActions.jade
new file mode 100644
index 00000000..dfeb3d84
--- /dev/null
+++ b/client/components/rules/actions/boardActions.jade
@@ -0,0 +1,46 @@
+template(name="boardActions")
+ div.trigger-item
+ div.trigger-content
+ div.trigger-text
+ | {{{_'r-move-card-to'}}}
+ div.trigger-dropdown
+ select(id="move-gen-action")
+ option(value="top") {{{_'r-top-of'}}}
+ option(value="bottom") {{{_'r-bottom-of'}}}
+ div.trigger-text
+ | {{{_'r-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
+ | {{{_'r-move-card-to'}}}
+ div.trigger-dropdown
+ select(id="move-spec-action")
+ option(value="top") {{{_'r-top-of'}}}
+ option(value="bottom") {{{_'r-bottom-of'}}}
+ div.trigger-text
+ | {{{_'r-list'}}}
+ div.trigger-dropdown
+ input(id="listName",type=text,placeholder="{{{_'r-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") {{{_'r-archive'}}}
+ option(value="unarchive") {{{_'r-unarchive'}}}
+ div.trigger-text
+ | {{{_'r-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
new file mode 100644
index 00000000..3eda039f
--- /dev/null
+++ b/client/components/rules/actions/boardActions.js
@@ -0,0 +1,121 @@
+BlazeComponent.extendComponent({
+ onCreated() {
+
+ },
+
+ events() {
+ return [{
+ 'click .js-add-spec-move-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#move-spec-action').value;
+ const listTitle = this.find('#listName').value;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "top") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "moveCardToTop",
+ "listTitle": listTitle,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "bottom") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "moveCardToBottom",
+ "listTitle": listTitle,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ 'click .js-add-gen-move-action' (event) {
+ const desc = Utils.getTriggerActionDesc(event, this);
+ const boardId = Session.get('currentBoard');
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#move-gen-action').value;
+ if (actionSelected == "top") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "moveCardToTop",
+ "listTitle": "*",
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "bottom") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "moveCardToBottom",
+ "listTitle": "*",
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ 'click .js-add-arch-action' (event) {
+ const desc = Utils.getTriggerActionDesc(event, this);
+ const boardId = Session.get('currentBoard');
+ 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",
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "unarchive") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "unarchive",
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ }];
+ },
+
+}).register('boardActions'); \ No newline at end of file
diff --git a/client/components/rules/actions/cardActions.jade b/client/components/rules/actions/cardActions.jade
new file mode 100644
index 00000000..74ad9ab5
--- /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") {{{_'r-add'}}}
+ option(value="remove") {{{_'r-remove'}}}
+ div.trigger-text
+ | {{{_'r-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") {{{_'r-add'}}}
+ option(value="remove") {{{_'r-remove'}}}
+ div.trigger-text
+ | {{{_'r-member'}}}
+ div.trigger-dropdown
+ input(id="member-name",type=text,placeholder="{{{_'r-name'}}}")
+ div.trigger-button.js-add-member-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-text
+ | {{{_'r-remove-all'}}}
+ 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..a6e74fe9
--- /dev/null
+++ b/client/components/rules/actions/cardActions.js
@@ -0,0 +1,119 @@
+BlazeComponent.extendComponent({
+ onCreated() {
+ this.subscribe('allRules');
+ },
+
+ labels() {
+ const labels = Boards.findOne(Session.get('currentBoard')).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;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "add") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "addLabel",
+ "labelId": labelId,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "remove") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "removeLabel",
+ "labelId": labelId,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+
+ },
+ '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;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "add") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "addMember",
+ "memberName": memberName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId,
+ "desc": desc
+ });
+ }
+ if (actionSelected == "remove") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "removeMember",
+ "memberName": memberName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ 'click .js-add-removeall-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const triggerId = Triggers.insert(trigger);
+ const desc = Utils.getTriggerActionDesc(event, this);
+ const boardId = Session.get('currentBoard');
+ const actionId = Actions.insert({
+ actionType: "removeMember",
+ "memberName": "*",
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ },
+ }];
+ },
+
+}).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..8414a1a5
--- /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") {{{_'r-add'}}}
+ option(value="remove") {{{_'r-remove'}}}
+ div.trigger-text
+ | {{{_'r-checklist'}}}
+ div.trigger-dropdown
+ input(id="checklist-name",type=text,placeholder="{{{_'r-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") {{{_'r-check-all'}}}
+ option(value="uncheck") {{{_'r-uncheck-all'}}}
+ div.trigger-text
+ | {{{_'r-items-check'}}}
+ div.trigger-dropdown
+ input(id="checklist-name2",type=text,placeholder="{{{_'r-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") {{{_'r-check'}}}
+ option(value="uncheck") {{{_'r-uncheck'}}}
+ div.trigger-text
+ | {{{_'r-item'}}}
+ div.trigger-dropdown
+ input(id="checkitem-name",type=text,placeholder="{{{_'r-name'}}}")
+ div.trigger-text
+ | {{{_'r-of-checklist'}}}
+ div.trigger-dropdown
+ input(id="checklist-name3",type=text,placeholder="{{{_'r-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..0b4c2167
--- /dev/null
+++ b/client/components/rules/actions/checklistActions.js
@@ -0,0 +1,128 @@
+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;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "add") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "addChecklist",
+ "checklistName": checklistName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "remove") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "removeChecklist",
+ "checklistName": checklistName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+
+ },
+ '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;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "check") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "checkAll",
+ "checklistName": checklistName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "uncheck") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "uncheckAll",
+ "checklistName": checklistName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ '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;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "check") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "checkItem",
+ "checklistName": checklistName,
+ "checkItemName": checkItemName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "uncheck") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "uncheckItem",
+ "checklistName": checklistName,
+ "checkItemName": checkItemName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ }];
+ },
+
+}).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..c10fb384
--- /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
+ | {{{_'r-send-email'}}}
+ div.trigger-dropdown-mail
+ input(id="email-to",type=text,placeholder="{{{_'r-to'}}}")
+ input(id="email-subject",type=text,placeholder="{{{_'r-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..dae7d08d
--- /dev/null
+++ b/client/components/rules/actions/mailActions.js
@@ -0,0 +1,35 @@
+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 boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ const actionId = Actions.insert({
+ actionType: "sendEmail",
+ "emailTo": emailTo,
+ "emailSubject": emailSubject,
+ "emailMsg": emailMsg,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ },
+ }];
+ },
+
+}).register('mailActions'); \ No newline at end of file