diff options
Diffstat (limited to 'client/components/rules/actions')
-rw-r--r-- | client/components/rules/actions/boardActions.jade | 46 | ||||
-rw-r--r-- | client/components/rules/actions/boardActions.js | 121 | ||||
-rw-r--r-- | client/components/rules/actions/cardActions.jade | 43 | ||||
-rw-r--r-- | client/components/rules/actions/cardActions.js | 119 | ||||
-rw-r--r-- | client/components/rules/actions/checklistActions.jade | 51 | ||||
-rw-r--r-- | client/components/rules/actions/checklistActions.js | 128 | ||||
-rw-r--r-- | client/components/rules/actions/mailActions.jade | 11 | ||||
-rw-r--r-- | client/components/rules/actions/mailActions.js | 35 |
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 |