diff options
Diffstat (limited to 'client/components/rules/triggers')
-rw-r--r-- | client/components/rules/triggers/boardTriggers.jade | 61 | ||||
-rw-r--r-- | client/components/rules/triggers/boardTriggers.js | 103 | ||||
-rw-r--r-- | client/components/rules/triggers/cardTriggers.jade | 79 | ||||
-rw-r--r-- | client/components/rules/triggers/cardTriggers.js | 128 | ||||
-rw-r--r-- | client/components/rules/triggers/checklistTriggers.jade | 83 | ||||
-rw-r--r-- | client/components/rules/triggers/checklistTriggers.js | 146 |
6 files changed, 600 insertions, 0 deletions
diff --git a/client/components/rules/triggers/boardTriggers.jade b/client/components/rules/triggers/boardTriggers.jade new file mode 100644 index 00000000..266f11f8 --- /dev/null +++ b/client/components/rules/triggers/boardTriggers.jade @@ -0,0 +1,61 @@ +template(name="boardTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-card-is'}} + div.trigger-dropdown + select(id="gen-action") + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-the-board'}} + div.trigger-button.js-add-gen-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-card-is'}} + div.trigger-dropdown + select(id="create-action") + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-list'}} + div.trigger-dropdown + input(id="create-list-name",type=text,placeholder="{{_'r-list-name'}}") + div.trigger-button.js-add-create-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-card-is'}} + div.trigger-dropdown + select(id="move-action") + option(value="moved-to") {{_'r-moved-to'}} + option(value="moved-from") {{_'r-moved-from'}} + div.trigger-text + | {{_'r-list'}} + div.trigger-dropdown + input(id="move-list-name",type=text,placeholder="{{_'r-list-name'}}") + div.trigger-button.js-add-moved-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-card-is'}} + div.trigger-dropdown + select(id="arch-action") + option(value="archived") {{_'r-archived'}} + option(value="unarchived") {{_'r-unarchived'}} + div.trigger-button.js-add-arch-trigger.js-goto-action + i.fa.fa-plus + + + + + + + diff --git a/client/components/rules/triggers/boardTriggers.js b/client/components/rules/triggers/boardTriggers.js new file mode 100644 index 00000000..e4753642 --- /dev/null +++ b/client/components/rules/triggers/boardTriggers.js @@ -0,0 +1,103 @@ +BlazeComponent.extendComponent({ + onCreated() { + + }, + + events() { + return [{ + 'click .js-add-gen-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#gen-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { + datas.triggerVar.set({ + activityType: 'createCard', + boardId, + 'listName': '*', + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'removeCard', + boardId, + desc, + }); + } + + }, + 'click .js-add-create-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#create-action').value; + const listName = this.find('#create-list-name').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { + datas.triggerVar.set({ + activityType: 'createCard', + boardId, + listName, + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'removeCard', + boardId, + listName, + desc, + }); + } + }, + 'click .js-add-moved-trigger' (event) { + const datas = this.data(); + const desc = Utils.getTriggerActionDesc(event, this); + + const actionSelected = this.find('#move-action').value; + const listName = this.find('#move-list-name').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'moved-to') { + datas.triggerVar.set({ + activityType: 'moveCard', + boardId, + listName, + 'oldListName': '*', + desc, + }); + } + if (actionSelected === 'moved-from') { + datas.triggerVar.set({ + activityType: 'moveCard', + boardId, + 'listName': '*', + 'oldListName': listName, + desc, + }); + } + }, + 'click .js-add-arc-trigger' (event) { + const datas = this.data(); + const desc = Utils.getTriggerActionDesc(event, this); + const actionSelected = this.find('#arch-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'archived') { + datas.triggerVar.set({ + activityType: 'archivedCard', + boardId, + desc, + }); + } + if (actionSelected === 'unarchived') { + datas.triggerVar.set({ + activityType: 'restoredCard', + boardId, + desc, + }); + } + }, + + }]; + }, + +}).register('boardTriggers'); diff --git a/client/components/rules/triggers/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade new file mode 100644 index 00000000..5226e3c4 --- /dev/null +++ b/client/components/rules/triggers/cardTriggers.jade @@ -0,0 +1,79 @@ +template(name="cardTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-label-is'}} + div.trigger-dropdown + select(id="label-action") + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-gen-label-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-the-label-is'}} + div.trigger-dropdown + select(id="spec-label") + each labels + option(value="#{_id}") + = name + div.trigger-text + | {{_'r-is'}} + div.trigger-dropdown + select(id="spec-label-action") + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-spec-label-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-member'}} + div.trigger-dropdown + select(id="gen-member-action") + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-gen-member-trigger.js-goto-action + i.fa.fa-plus + + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-the-member'}} + div.trigger-dropdown + input(id="spec-member",type=text,placeholder="{{_'r-name'}}") + div.trigger-text + | {{_'r-is'}} + div.trigger-dropdown + select(id="spec-member-action") + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-spec-member-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-attach'}} + div.trigger-text + | {{_'r-is'}} + div.trigger-dropdown + select(id="attach-action") + option(value="added") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-attachment-trigger.js-goto-action + i.fa.fa-plus diff --git a/client/components/rules/triggers/cardTriggers.js b/client/components/rules/triggers/cardTriggers.js new file mode 100644 index 00000000..704c7690 --- /dev/null +++ b/client/components/rules/triggers/cardTriggers.js @@ -0,0 +1,128 @@ +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(); + } + } + return labels; + }, + events() { + return [{ + 'click .js-add-gen-label-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#label-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { + datas.triggerVar.set({ + activityType: 'addedLabel', + boardId, + 'labelId': '*', + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'removedLabel', + boardId, + 'labelId': '*', + desc, + }); + } + }, + 'click .js-add-spec-label-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#spec-label-action').value; + const labelId = this.find('#spec-label').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { + datas.triggerVar.set({ + activityType: 'addedLabel', + boardId, + labelId, + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'removedLabel', + boardId, + labelId, + desc, + }); + } + }, + 'click .js-add-gen-member-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#gen-member-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { + datas.triggerVar.set({ + activityType: 'joinMember', + boardId, + 'memberId': '*', + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'unjoinMember', + boardId, + 'memberId': '*', + desc, + }); + } + }, + 'click .js-add-spec-member-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#spec-member-action').value; + const memberId = this.find('#spec-member').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { + datas.triggerVar.set({ + activityType: 'joinMember', + boardId, + memberId, + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'unjoinMember', + boardId, + memberId, + desc, + }); + } + }, + 'click .js-add-attachment-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#attach-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { + datas.triggerVar.set({ + activityType: 'addAttachment', + boardId, + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'deleteAttachment', + boardId, + desc, + }); + } + }, + }]; + }, +}).register('cardTriggers'); diff --git a/client/components/rules/triggers/checklistTriggers.jade b/client/components/rules/triggers/checklistTriggers.jade new file mode 100644 index 00000000..c6cd99a6 --- /dev/null +++ b/client/components/rules/triggers/checklistTriggers.jade @@ -0,0 +1,83 @@ +template(name="checklistTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-checklist'}} + div.trigger-dropdown + select(id="gen-check-action") + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-gen-check-trigger.js-goto-action + i.fa.fa-plus + + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-the-checklist'}} + div.trigger-dropdown + input(id="check-name",type=text,placeholder="{{_'r-name'}}") + div.trigger-text + | {{_'r-is'}} + div.trigger-dropdown + select(id="spec-check-action") + option(value="created") {{_'r-added-to'}} + option(value="removed") {{_'r-removed-from'}} + div.trigger-text + | {{_'r-a-card'}} + div.trigger-button.js-add-spec-check-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-checklist'}} + div.trigger-dropdown + select(id="gen-comp-check-action") + option(value="completed") {{_'r-completed'}} + option(value="uncompleted") {{_'r-made-incomplete'}} + div.trigger-button.js-add-gen-comp-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-the-checklist'}} + div.trigger-dropdown + input(id="spec-comp-check-name",type=text,placeholder="{{_'r-name'}}") + div.trigger-text + | {{_'r-is'}} + div.trigger-dropdown + select(id="spec-comp-check-action") + option(value="completed") {{_'r-completed'}} + option(value="uncompleted") {{_'r-made-incomplete'}} + div.trigger-button.js-add-spec-comp-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-a-item'}} + div.trigger-dropdown + select(id="check-item-gen-action") + option(value="checked") {{_'r-checked'}} + option(value="unchecked") {{_'r-unchecked'}} + div.trigger-button.js-add-gen-check-item-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | {{_'r-when-the-item'}} + div.trigger-dropdown + input(id="check-item-name",type=text,placeholder="{{_'r-name'}}") + div.trigger-text + | {{_'r-is'}} + div.trigger-dropdown + select(id="check-item-spec-action") + option(value="checked") {{_'r-checked'}} + option(value="unchecked") {{_'r-unchecked'}} + div.trigger-button.js-add-spec-check-item-trigger.js-goto-action + i.fa.fa-plus diff --git a/client/components/rules/triggers/checklistTriggers.js b/client/components/rules/triggers/checklistTriggers.js new file mode 100644 index 00000000..01f3effe --- /dev/null +++ b/client/components/rules/triggers/checklistTriggers.js @@ -0,0 +1,146 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allRules'); + }, + events() { + return [{ + 'click .js-add-gen-check-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#gen-check-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { + datas.triggerVar.set({ + activityType: 'addChecklist', + boardId, + 'checklistName': '*', + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'removeChecklist', + boardId, + 'checklistName': '*', + desc, + }); + } + }, + 'click .js-add-spec-check-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#spec-check-action').value; + const checklistId = this.find('#check-name').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'created') { + datas.triggerVar.set({ + activityType: 'addChecklist', + boardId, + 'checklistName': checklistId, + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'removeChecklist', + boardId, + 'checklistName': checklistId, + desc, + }); + } + }, + 'click .js-add-gen-comp-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + + const datas = this.data(); + const actionSelected = this.find('#gen-comp-check-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'completed') { + datas.triggerVar.set({ + activityType: 'completeChecklist', + boardId, + 'checklistName': '*', + desc, + }); + } + if (actionSelected === 'uncompleted') { + datas.triggerVar.set({ + activityType: 'uncompleteChecklist', + boardId, + 'checklistName': '*', + desc, + }); + } + }, + 'click .js-add-spec-comp-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#spec-comp-check-action').value; + const checklistId = this.find('#spec-comp-check-name').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'added') { + datas.triggerVar.set({ + activityType: 'completeChecklist', + boardId, + 'checklistName': checklistId, + desc, + }); + } + if (actionSelected === 'removed') { + datas.triggerVar.set({ + activityType: 'uncompleteChecklist', + boardId, + 'checklistName': checklistId, + desc, + }); + } + }, + 'click .js-add-gen-check-item-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#check-item-gen-action').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'checked') { + datas.triggerVar.set({ + activityType: 'checkedItem', + boardId, + 'checklistItemName': '*', + desc, + }); + } + if (actionSelected === 'unchecked') { + datas.triggerVar.set({ + activityType: 'uncheckedItem', + boardId, + 'checklistItemName': '*', + desc, + }); + } + }, + 'click .js-add-spec-check-item-trigger' (event) { + const desc = Utils.getTriggerActionDesc(event, this); + const datas = this.data(); + const actionSelected = this.find('#check-item-spec-action').value; + const checklistItemId = this.find('#check-item-name').value; + const boardId = Session.get('currentBoard'); + if (actionSelected === 'checked') { + datas.triggerVar.set({ + activityType: 'checkedItem', + boardId, + 'checklistItemName': checklistItemId, + desc, + }); + } + if (actionSelected === 'unchecked') { + datas.triggerVar.set({ + activityType: 'uncheckedItem', + boardId, + 'checklistItemName': checklistItemId, + desc, + }); + } + }, + }]; + }, + +}).register('checklistTriggers'); |