From f63482b58775a2f52fdd5f932ce7d14f16757133 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Fri, 3 Aug 2018 19:47:20 +0200 Subject: UI for rules list --- client/components/rules/rules.jade | 27 +++++++++++++++++++++++++++ client/components/rules/rules.js | 25 +++++++++++++++++++++++++ client/components/rules/rules.styl | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 client/components/rules/rules.jade create mode 100644 client/components/rules/rules.js create mode 100644 client/components/rules/rules.styl (limited to 'client/components/rules') diff --git a/client/components/rules/rules.jade b/client/components/rules/rules.jade new file mode 100644 index 00000000..8f482b06 --- /dev/null +++ b/client/components/rules/rules.jade @@ -0,0 +1,27 @@ +template(name="rules") + .rules + h2 + i.fa.fa-cutlery + | Project rules + + ul.rules-lists + each triggers + li.rules-lists-item + p + = toId + div.rules-btns-group + button + i.fa.fa-eye + | View rule + button + i.fa.fa-trash-o + | Delete rule + else + li.no-items-message No rules + div.rules-add + button + i.fa.fa-plus + | Add rule + input(type=text) + + diff --git a/client/components/rules/rules.js b/client/components/rules/rules.js new file mode 100644 index 00000000..e679431a --- /dev/null +++ b/client/components/rules/rules.js @@ -0,0 +1,25 @@ + +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allTriggers'); + }, + + triggers() { + return Triggers.find({}); + }, + events() { + return [{'click .js-add-trigger'(event) { + + event.preventDefault(); + const toName = this.find('#toName').value; + const fromName = this.find('#fromName').value; + const toId = Triggers.findOne().findList(toName)._id; + const fromId = Triggers.findOne().findList(fromName)._id; + console.log(toId); + console.log(fromId); + Triggers.insert({group: "cards", activityType: "moveCard","fromId":fromId,"toId":toId }); + + + },}]; + }, +}).register('rules'); diff --git a/client/components/rules/rules.styl b/client/components/rules/rules.styl new file mode 100644 index 00000000..2aab1b40 --- /dev/null +++ b/client/components/rules/rules.styl @@ -0,0 +1,34 @@ +.rules-list + overflow-y: scroll +.rules-lists-item + display: block + position: relative + overflow: auto + p + display: inline-block + float: left + margin: revert + +.rules-btns-group + position: absolute + right: 0 + top: 50% + transform: translateY(-50%) + button + margin: auto +.rules-add + display: block + overflow: auto + margin-top: 25px + margin-bottom: 5px + input + display: inline-block + float: right + margin: auto + margin-right: 10px + button + display: inline-block + float: right + margin: auto + + \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 7e4bd4a0a753531c2716ff39ce88f05b7fc30c0d Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Fri, 3 Aug 2018 20:43:37 +0200 Subject: Add and remove ui --- client/components/rules/rules.jade | 10 +++++----- client/components/rules/rules.js | 30 +++++++++++++++--------------- 2 files changed, 20 insertions(+), 20 deletions(-) (limited to 'client/components/rules') diff --git a/client/components/rules/rules.jade b/client/components/rules/rules.jade index 8f482b06..6b49b5a7 100644 --- a/client/components/rules/rules.jade +++ b/client/components/rules/rules.jade @@ -5,23 +5,23 @@ template(name="rules") | Project rules ul.rules-lists - each triggers + each rules li.rules-lists-item p - = toId + = title div.rules-btns-group button i.fa.fa-eye | View rule - button + button.js-delete-rule i.fa.fa-trash-o | Delete rule else li.no-items-message No rules div.rules-add - button + button.js-add-rule i.fa.fa-plus | Add rule - input(type=text) + input(type=text,placeholder="New rule name",id="ruleTitle") diff --git a/client/components/rules/rules.js b/client/components/rules/rules.js index e679431a..ed781f9a 100644 --- a/client/components/rules/rules.js +++ b/client/components/rules/rules.js @@ -1,25 +1,25 @@ BlazeComponent.extendComponent({ onCreated() { - this.subscribe('allTriggers'); + this.subscribe('allRules'); }, - triggers() { - return Triggers.find({}); + rules() { + return Rules.find({}); }, events() { - return [{'click .js-add-trigger'(event) { + return [{'click .js-delete-rule'(event) { + const rule = this.currentData(); + Rules.remove(rule._id); + + }, + 'click .js-add-rule'(event) { event.preventDefault(); - const toName = this.find('#toName').value; - const fromName = this.find('#fromName').value; - const toId = Triggers.findOne().findList(toName)._id; - const fromId = Triggers.findOne().findList(fromName)._id; - console.log(toId); - console.log(fromId); - Triggers.insert({group: "cards", activityType: "moveCard","fromId":fromId,"toId":toId }); - + const ruleTitle = this.find('#ruleTitle').value; + Rules.insert({title: ruleTitle}); + this.find('#ruleTitle').value = ""; - },}]; - }, -}).register('rules'); + }}]; + }, + }).register('rules'); -- cgit v1.2.3-1-g7c22 From 93cc7f0232ee456aff07e456b9c4601264f47ab4 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Sat, 4 Aug 2018 15:15:04 +0200 Subject: Triggers view --- client/components/rules/rules.jade | 40 +++++++++++++- client/components/rules/rules.js | 34 +++++++++--- client/components/rules/rules.styl | 106 +++++++++++++++++++++++++++++++++++-- 3 files changed, 170 insertions(+), 10 deletions(-) (limited to 'client/components/rules') diff --git a/client/components/rules/rules.jade b/client/components/rules/rules.jade index 6b49b5a7..46c69a8d 100644 --- a/client/components/rules/rules.jade +++ b/client/components/rules/rules.jade @@ -1,10 +1,16 @@ template(name="rules") + if rulesListVar.get + +rulesList + else if rulesTriggerVar.get + +rulesTrigger + +template(name="rulesList") .rules h2 i.fa.fa-cutlery | Project rules - ul.rules-lists + ul.rules-list each rules li.rules-lists-item p @@ -24,4 +30,36 @@ template(name="rules") | Add rule input(type=text,placeholder="New rule name",id="ruleTitle") +template(name="rulesTrigger") + h2 + i.fa.fa-cutlery + | Rule "#{ruleName.get}"" - Add triggers + .triggers-content + .triggers-body + .triggers-side-menu + ul + li.active + i.fa.fa-columns + li + i.fa.fa-sticky-note + li + i.fa.fa-check + .triggers-main-body + +boardTriggers + +template(name="boardTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | When a card is + div.trigger-dropdown + select + div.trigger-button + i.fa.fa-plus + + + + + + diff --git a/client/components/rules/rules.js b/client/components/rules/rules.js index ed781f9a..9bca3460 100644 --- a/client/components/rules/rules.js +++ b/client/components/rules/rules.js @@ -1,12 +1,15 @@ - BlazeComponent.extendComponent({ onCreated() { - this.subscribe('allRules'); + this.rulesListVar = new ReactiveVar(true); + this.rulesTriggerVar = new ReactiveVar(false); + this.ruleName = new ReactiveVar(""); }, - rules() { - return Rules.find({}); + setTrigger() { + this.rulesListVar.set(false); + this.rulesTriggerVar.set(true); }, + events() { return [{'click .js-delete-rule'(event) { const rule = this.currentData(); @@ -19,7 +22,26 @@ BlazeComponent.extendComponent({ const ruleTitle = this.find('#ruleTitle').value; Rules.insert({title: ruleTitle}); this.find('#ruleTitle').value = ""; - + this.ruleName.set(ruleTitle) + this.setTrigger(); + }}]; + }, + +}).register('rules'); + + +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allRules'); + }, + + rules() { + return Rules.find({}); + }, + events() { + return [{}]; }, - }).register('rules'); +}).register('rulesList'); + + diff --git a/client/components/rules/rules.styl b/client/components/rules/rules.styl index 2aab1b40..48a175a5 100644 --- a/client/components/rules/rules.styl +++ b/client/components/rules/rules.styl @@ -1,5 +1,7 @@ .rules-list - overflow-y: scroll + overflow:hidden + overflow-y:scroll + max-height: 400px .rules-lists-item display: block position: relative @@ -19,7 +21,7 @@ .rules-add display: block overflow: auto - margin-top: 25px + margin-top: 15px margin-bottom: 5px input display: inline-block @@ -30,5 +32,103 @@ display: inline-block float: right margin: auto +.flex + display: -webkit-box + display: -moz-box + display: -webkit-flex + display: -moz-flex + display: -ms-flexbox + display: flex + +.triggers-content + color: #727479 + background: #dedede + .triggers-body + display flex + padding-top 15px + height 100% + + .triggers-side-menu + background-color: #f7f7f7; + border: 1px solid #f0f0f0; + border-radius: 4px; + box-shadow: inset -1px -1px 3px rgba(0,0,0,.05); + + ul + + li + margin: 0.1rem 0.2rem; + width:50px + height:50px + text-align:center + font-size: 25px + position: relative + + i + position: absolute; + top: 50%; + left: 50%; + box-shadow: none + transform: translate(-50%,-50%); + + + &.active + background #fff + box-shadow 0 1px 2px rgba(0,0,0,0.15); + + &:hover + background #fff + box-shadow 0 1px 2px rgba(0,0,0,0.15); + a + @extends .flex + padding: 1rem 0 1rem 1rem + width: 100% - 5rem + + + span + font-size: 13px + .triggers-main-body + padding: 0.1em 1em + width:100% + .trigger-item + overflow:auto + padding:10px + height:30px + border-radius: 3px + position: relative + background-color: white + .trigger-content + position:absolute + top:50% + transform: translateY(-50%) + left:10px + .trigger-text + font-size: 16px + display:inline-block + .trigger-dropdown + display:inline-block + select + width:100px + height:30px + margin:0px + .trigger-button + position:absolute + top:50% + transform: translateY(-50%) + width:30px + height:30px + border: 1px solid #eee; + border-radius: 4px; + box-shadow: inset -1px -1px 3px rgba(0,0,0,.05); + text-align:center + font-size: 20px + right:10px + i + position: absolute; + top: 50%; + left: 50%; + box-shadow: none + transform: translate(-50%,-50%); + + - \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 9b0eb0a9f1973e05df7199cf2bff7518f2fa98dc Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Wed, 15 Aug 2018 18:47:09 +0200 Subject: Almost full circle --- client/components/rules/.DS_Store | Bin 0 -> 6148 bytes client/components/rules/actions/boardActions.jade | 22 +++++++ client/components/rules/actions/boardActions.js | 32 ++++++++++ client/components/rules/rules.jade | 65 --------------------- client/components/rules/rules.js | 47 --------------- client/components/rules/rules.styl | 33 +++++++---- client/components/rules/rulesActions.jade | 17 ++++++ client/components/rules/rulesActions.js | 52 +++++++++++++++++ client/components/rules/rulesList.jade | 25 ++++++++ client/components/rules/rulesList.js | 12 ++++ client/components/rules/rulesMain.jade | 7 +++ client/components/rules/rulesMain.js | 62 ++++++++++++++++++++ client/components/rules/rulesTriggers.jade | 21 +++++++ client/components/rules/rulesTriggers.js | 52 +++++++++++++++++ .../components/rules/triggers/boardTriggers.jade | 45 ++++++++++++++ client/components/rules/triggers/boardTriggers.js | 28 +++++++++ client/components/rules/triggers/cardTriggers.jade | 10 ++++ .../rules/triggers/checklistTriggers.jade | 10 ++++ 18 files changed, 416 insertions(+), 124 deletions(-) create mode 100644 client/components/rules/.DS_Store create mode 100644 client/components/rules/actions/boardActions.jade create mode 100644 client/components/rules/actions/boardActions.js delete mode 100644 client/components/rules/rules.jade delete mode 100644 client/components/rules/rules.js create mode 100644 client/components/rules/rulesActions.jade create mode 100644 client/components/rules/rulesActions.js create mode 100644 client/components/rules/rulesList.jade create mode 100644 client/components/rules/rulesList.js create mode 100644 client/components/rules/rulesMain.jade create mode 100644 client/components/rules/rulesMain.js create mode 100644 client/components/rules/rulesTriggers.jade create mode 100644 client/components/rules/rulesTriggers.js create mode 100644 client/components/rules/triggers/boardTriggers.jade create mode 100644 client/components/rules/triggers/boardTriggers.js create mode 100644 client/components/rules/triggers/cardTriggers.jade create mode 100644 client/components/rules/triggers/checklistTriggers.jade (limited to 'client/components/rules') diff --git a/client/components/rules/.DS_Store b/client/components/rules/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/client/components/rules/.DS_Store differ diff --git a/client/components/rules/actions/boardActions.jade b/client/components/rules/actions/boardActions.jade new file mode 100644 index 00000000..fe56c3ee --- /dev/null +++ b/client/components/rules/actions/boardActions.jade @@ -0,0 +1,22 @@ +template(name="boardActions") + div.trigger-item + div.trigger-content + div.trigger-text + | Move card to + div.trigger-dropdown + select(id="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 + 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..53325ca0 --- /dev/null +++ b/client/components/rules/actions/boardActions.js @@ -0,0 +1,32 @@ +BlazeComponent.extendComponent({ + onCreated() { + + }, + + + + events() { + return [ + {'click .js-add-move-action'(event) { + + console.log(this.data()); + console.log(this.data().triggerIdVar.get()); + const ruleName = this.data().ruleName.get(); + const triggerId = this.data().triggerIdVar.get(); + const actionSelected = this.find('#action').value; + + if(actionSelected == "top"){ + Actions.insert({actionType: "moveCardToTop"},function(err,id){ + Rules.insert({title: ruleName, triggerId: triggerId, actionId: id}); + }); + } + if(actionSelected == "bottom"){ + Actions.insert({actionType: "moveCardToBottom"},function(err,id){ + Rules.insert({title: ruleName, triggerId: triggerId, actionId: id}); + }); + } + }, + }]; +}, + +}).register('boardActions'); \ No newline at end of file diff --git a/client/components/rules/rules.jade b/client/components/rules/rules.jade deleted file mode 100644 index 46c69a8d..00000000 --- a/client/components/rules/rules.jade +++ /dev/null @@ -1,65 +0,0 @@ -template(name="rules") - if rulesListVar.get - +rulesList - else if rulesTriggerVar.get - +rulesTrigger - -template(name="rulesList") - .rules - h2 - i.fa.fa-cutlery - | Project rules - - ul.rules-list - each rules - li.rules-lists-item - p - = title - div.rules-btns-group - button - i.fa.fa-eye - | View rule - button.js-delete-rule - i.fa.fa-trash-o - | Delete rule - else - li.no-items-message No rules - div.rules-add - button.js-add-rule - i.fa.fa-plus - | Add rule - input(type=text,placeholder="New rule name",id="ruleTitle") - -template(name="rulesTrigger") - h2 - i.fa.fa-cutlery - | Rule "#{ruleName.get}"" - Add triggers - .triggers-content - .triggers-body - .triggers-side-menu - ul - li.active - i.fa.fa-columns - li - i.fa.fa-sticky-note - li - i.fa.fa-check - .triggers-main-body - +boardTriggers - -template(name="boardTriggers") - div.trigger-item - div.trigger-content - div.trigger-text - | When a card is - div.trigger-dropdown - select - div.trigger-button - i.fa.fa-plus - - - - - - - diff --git a/client/components/rules/rules.js b/client/components/rules/rules.js deleted file mode 100644 index 9bca3460..00000000 --- a/client/components/rules/rules.js +++ /dev/null @@ -1,47 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.rulesListVar = new ReactiveVar(true); - this.rulesTriggerVar = new ReactiveVar(false); - this.ruleName = new ReactiveVar(""); - }, - - setTrigger() { - this.rulesListVar.set(false); - this.rulesTriggerVar.set(true); - }, - - events() { - return [{'click .js-delete-rule'(event) { - const rule = this.currentData(); - Rules.remove(rule._id); - - }, - 'click .js-add-rule'(event) { - - event.preventDefault(); - const ruleTitle = this.find('#ruleTitle').value; - Rules.insert({title: ruleTitle}); - this.find('#ruleTitle').value = ""; - this.ruleName.set(ruleTitle) - this.setTrigger(); - - }}]; - }, - -}).register('rules'); - - -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - }, - - rules() { - return Rules.find({}); - }, - events() { - return [{}]; - }, -}).register('rulesList'); - - diff --git a/client/components/rules/rules.styl b/client/components/rules/rules.styl index 48a175a5..35fbabb2 100644 --- a/client/components/rules/rules.styl +++ b/client/components/rules/rules.styl @@ -49,10 +49,11 @@ height 100% .triggers-side-menu - background-color: #f7f7f7; - border: 1px solid #f0f0f0; - border-radius: 4px; - box-shadow: inset -1px -1px 3px rgba(0,0,0,.05); + background-color: #f7f7f7 + border: 1px solid #f0f0f0 + border-radius: 4px + height: intrinsic + box-shadow: inset -1px -1px 3px rgba(0,0,0,.05) ul @@ -93,7 +94,8 @@ .trigger-item overflow:auto padding:10px - height:30px + height:40px + margin-bottom:5px border-radius: 3px position: relative background-color: white @@ -111,24 +113,31 @@ width:100px height:30px margin:0px + margin-left:5px + input + display: inline-block + width: 80px; + margin: 0; .trigger-button position:absolute top:50% transform: translateY(-50%) width:30px height:30px - border: 1px solid #eee; - border-radius: 4px; - box-shadow: inset -1px -1px 3px rgba(0,0,0,.05); + border: 1px solid #eee + border-radius: 4px + box-shadow: inset -1px -1px 3px rgba(0,0,0,.05) text-align:center font-size: 20px right:10px i - position: absolute; - top: 50%; - left: 50%; + position: absolute + top: 50% + left: 50% box-shadow: none - transform: translate(-50%,-50%); + transform: translate(-50%,-50%) + &:hover, &.is-active + box-shadow: 0 0 0 2px darken(white, 60%) inset diff --git a/client/components/rules/rulesActions.jade b/client/components/rules/rulesActions.jade new file mode 100644 index 00000000..0e207495 --- /dev/null +++ b/client/components/rules/rulesActions.jade @@ -0,0 +1,17 @@ +template(name="rulesActions") + h2 + i.fa.fa-cutlery + | Rule "#{data.ruleName}" - Add action + .triggers-content + .triggers-body + .triggers-side-menu + ul + li.active.js-set-board-triggers + i.fa.fa-columns + li.js-set-card-triggers + i.fa.fa-sticky-note + li.js-set-checklist-triggers + i.fa.fa-check + .triggers-main-body + if showBoardActions.get + +boardActions(ruleName=data.ruleName triggerIdVar=data.triggerIdVar) \ No newline at end of file diff --git a/client/components/rules/rulesActions.js b/client/components/rules/rulesActions.js new file mode 100644 index 00000000..297fc806 --- /dev/null +++ b/client/components/rules/rulesActions.js @@ -0,0 +1,52 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.showBoardActions = new ReactiveVar(true); + this.showCardActions = new ReactiveVar(false); + this.showChecklistAction = new ReactiveVar(false); + }, + + + setBoardTriggers(){ + this.showBoardActions.set(true); + this.showCardActions.set(false); + this.showChecklistActionsr.set(false); + $('.js-set-card-triggers').removeClass('active'); + $('.js-set-board-triggers').addClass('active'); + $('.js-set-checklist-triggers').removeClass('active'); + }, + setCardTriggers(){ + this.showBoardActions.set(false); + this.showCardActions.set(true); + this.showChecklistActions.set(false); + $('.js-set-card-triggers').addClass('active'); + $('.js-set-board-triggers').removeClass('active'); + $('.js-set-checklist-triggers').removeClass('active'); + }, + setChecklistTriggers(){ + this.showBoardActions.set(false); + this.showCardActions.set(false); + this.showChecklistActions.set(true); + $('.js-set-card-triggers').removeClass('active'); + $('.js-set-board-triggers').removeClass('active'); + $('.js-set-checklist-triggers').addClass('active'); + }, + + rules() { + return Rules.find({}); + }, + + name(){ + console.log(this.data()); + }, + events() { + return [{'click .js-set-board-triggers'(event) { + this.setBoardTriggers(); + }, + 'click .js-set-card-triggers'(event) { + this.setCardTriggers(); + }, + 'click .js-set-checklist-triggers'(event) { + this.setChecklistTriggers(); + },}]; + }, +}).register('rulesActions'); \ No newline at end of file diff --git a/client/components/rules/rulesList.jade b/client/components/rules/rulesList.jade new file mode 100644 index 00000000..a0d8143c --- /dev/null +++ b/client/components/rules/rulesList.jade @@ -0,0 +1,25 @@ +template(name="rulesList") + .rules + h2 + i.fa.fa-cutlery + | Project rules + + ul.rules-list + each rules + li.rules-lists-item + p + = title + div.rules-btns-group + button + i.fa.fa-eye + | View rule + button.js-delete-rule + i.fa.fa-trash-o + | Delete rule + else + li.no-items-message No rules + div.rules-add + button.js-goto-trigger + i.fa.fa-plus + | Add rule + input(type=text,placeholder="New rule name",id="ruleTitle") \ No newline at end of file diff --git a/client/components/rules/rulesList.js b/client/components/rules/rulesList.js new file mode 100644 index 00000000..caafe29f --- /dev/null +++ b/client/components/rules/rulesList.js @@ -0,0 +1,12 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allRules'); + }, + + rules() { + return Rules.find({}); + }, + events() { + return [{}]; + }, +}).register('rulesList'); \ No newline at end of file diff --git a/client/components/rules/rulesMain.jade b/client/components/rules/rulesMain.jade new file mode 100644 index 00000000..8e0efd63 --- /dev/null +++ b/client/components/rules/rulesMain.jade @@ -0,0 +1,7 @@ +template(name="rulesMain") + if rulesListVar.get + +rulesList + else if rulesTriggerVar.get + +rulesTriggers(ruleName=ruleName triggerIdVar=triggerIdVar) + else if rulesActionVar.get + +rulesActions(ruleName=ruleName triggerIdVar=triggerIdVar) \ No newline at end of file diff --git a/client/components/rules/rulesMain.js b/client/components/rules/rulesMain.js new file mode 100644 index 00000000..c7e10512 --- /dev/null +++ b/client/components/rules/rulesMain.js @@ -0,0 +1,62 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.rulesListVar = new ReactiveVar(true); + this.rulesTriggerVar = new ReactiveVar(false); + this.rulesActionVar = new ReactiveVar(false); + this.ruleName = new ReactiveVar(""); + this.triggerIdVar = new ReactiveVar(""); + }, + + setTrigger() { + this.rulesListVar.set(false); + this.rulesTriggerVar.set(true); + this.rulesActionVar.set(false); + }, + + setRulesList() { + this.rulesListVar.set(true); + this.rulesTriggerVar.set(false); + this.rulesActionVar.set(false); + }, + + setAction() { + this.rulesListVar.set(false); + this.rulesTriggerVar.set(false); + this.rulesActionVar.set(true); + }, + + events() { + return [{'click .js-delete-rule'(event) { + const rule = this.currentData(); + Rules.remove(rule._id); + + }, + 'click .js-goto-trigger'(event) { + event.preventDefault(); + const ruleTitle = this.find('#ruleTitle').value; + this.find('#ruleTitle').value = ""; + this.ruleName.set(ruleTitle) + this.setTrigger(); + }, + 'click .js-goto-action'(event) { + event.preventDefault(); + this.setAction(); + }, + 'click .js-goto-rules'(event) { + event.preventDefault(); + this.setRulesList(); + }, + + + }]; + }, + +}).register('rulesMain'); + + + + + + + + diff --git a/client/components/rules/rulesTriggers.jade b/client/components/rules/rulesTriggers.jade new file mode 100644 index 00000000..5ee563e0 --- /dev/null +++ b/client/components/rules/rulesTriggers.jade @@ -0,0 +1,21 @@ +template(name="rulesTriggers") + h2 + i.fa.fa-cutlery + | Rule "#{data.ruleName}" - Add trigger + .triggers-content + .triggers-body + .triggers-side-menu + ul + li.active.js-set-board-triggers + i.fa.fa-columns + li.js-set-card-triggers + i.fa.fa-sticky-note + li.js-set-checklist-triggers + i.fa.fa-check + .triggers-main-body + if showBoardTrigger.get + +boardTriggers + else if showCardTrigger.get + +cardTriggers + else if showChecklistTrigger.get + +checklistTriggers \ No newline at end of file diff --git a/client/components/rules/rulesTriggers.js b/client/components/rules/rulesTriggers.js new file mode 100644 index 00000000..0a4abd66 --- /dev/null +++ b/client/components/rules/rulesTriggers.js @@ -0,0 +1,52 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.showBoardTrigger = new ReactiveVar(true); + this.showCardTrigger = new ReactiveVar(false); + this.showChecklistTrigger = new ReactiveVar(false); + }, + + + setBoardTriggers(){ + this.showBoardTrigger.set(true); + this.showCardTrigger.set(false); + this.showChecklistTrigger.set(false); + $('.js-set-card-triggers').removeClass('active'); + $('.js-set-board-triggers').addClass('active'); + $('.js-set-checklist-triggers').removeClass('active'); + }, + setCardTriggers(){ + this.showBoardTrigger.set(false); + this.showCardTrigger.set(true); + this.showChecklistTrigger.set(false); + $('.js-set-card-triggers').addClass('active'); + $('.js-set-board-triggers').removeClass('active'); + $('.js-set-checklist-triggers').removeClass('active'); + }, + setChecklistTriggers(){ + this.showBoardTrigger.set(false); + this.showCardTrigger.set(false); + this.showChecklistTrigger.set(true); + $('.js-set-card-triggers').removeClass('active'); + $('.js-set-board-triggers').removeClass('active'); + $('.js-set-checklist-triggers').addClass('active'); + }, + + rules() { + return Rules.find({}); + }, + + name(){ + console.log(this.data()); + }, + events() { + return [{'click .js-set-board-triggers'(event) { + this.setBoardTriggers(); + }, + 'click .js-set-card-triggers'(event) { + this.setCardTriggers(); + }, + 'click .js-set-checklist-triggers'(event) { + this.setChecklistTriggers(); + },}]; + }, +}).register('rulesTriggers'); \ No newline at end of file diff --git a/client/components/rules/triggers/boardTriggers.jade b/client/components/rules/triggers/boardTriggers.jade new file mode 100644 index 00000000..8b0b9489 --- /dev/null +++ b/client/components/rules/triggers/boardTriggers.jade @@ -0,0 +1,45 @@ +template(name="boardTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | When a card is + div.trigger-dropdown + select(id="action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | 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 + | When a card is + div.trigger-dropdown + select + option Moved to + div.trigger-text + | to list + div.trigger-dropdown + input(type=text,placeholder="List Name") + div.trigger-button.js-add-spec-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | When a card is + div.trigger-dropdown + select + option Archived + option Unarchived + div.trigger-button.js-add-arc-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..4c8594d3 --- /dev/null +++ b/client/components/rules/triggers/boardTriggers.js @@ -0,0 +1,28 @@ +BlazeComponent.extendComponent({ + onCreated() { + + }, + + events() { + return [ + {'click .js-add-gen-trigger'(event) { + + let datas = this.data(); + const actionSelected = this.find('#action').value; + const boardId = Session.get('currentBoard') + if(actionSelected == "created"){ + Triggers.insert({activityType: "createCard","boardId":boardId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "removeCard","boardId":boardId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + + }, + }]; + }, + +}).register('boardTriggers'); \ No newline at end of file diff --git a/client/components/rules/triggers/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade new file mode 100644 index 00000000..c1a42ab5 --- /dev/null +++ b/client/components/rules/triggers/cardTriggers.jade @@ -0,0 +1,10 @@ +template(name="cardTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | When a label is + div.trigger-dropdown + select + option Moved to + div.trigger-button + i.fa.fa-plus \ No newline at end of file diff --git a/client/components/rules/triggers/checklistTriggers.jade b/client/components/rules/triggers/checklistTriggers.jade new file mode 100644 index 00000000..7364bfa7 --- /dev/null +++ b/client/components/rules/triggers/checklistTriggers.jade @@ -0,0 +1,10 @@ +template(name="checklistTriggers") + div.trigger-item + div.trigger-content + div.trigger-text + | When a check is + div.trigger-dropdown + select + option Checked + div.trigger-button + i.fa.fa-plus \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 6828ccd7f17d14f178e6742d78bdd14428ec6e07 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Thu, 16 Aug 2018 00:32:31 +0200 Subject: Main flow implemented --- client/components/rules/rulesMain.js | 2 ++ client/components/rules/triggers/boardTriggers.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'client/components/rules') diff --git a/client/components/rules/rulesMain.js b/client/components/rules/rulesMain.js index c7e10512..5a4b612a 100644 --- a/client/components/rules/rulesMain.js +++ b/client/components/rules/rulesMain.js @@ -29,6 +29,8 @@ BlazeComponent.extendComponent({ return [{'click .js-delete-rule'(event) { const rule = this.currentData(); Rules.remove(rule._id); + Actions.remove(rule.actionId); + Triggers.remove(rule.triggerId); }, 'click .js-goto-trigger'(event) { diff --git a/client/components/rules/triggers/boardTriggers.js b/client/components/rules/triggers/boardTriggers.js index 4c8594d3..08274777 100644 --- a/client/components/rules/triggers/boardTriggers.js +++ b/client/components/rules/triggers/boardTriggers.js @@ -11,7 +11,7 @@ BlazeComponent.extendComponent({ const actionSelected = this.find('#action').value; const boardId = Session.get('currentBoard') if(actionSelected == "created"){ - Triggers.insert({activityType: "createCard","boardId":boardId},function(error,id){ + Triggers.insert({activityType: "createCard","boardId":boardId,"listId":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } -- cgit v1.2.3-1-g7c22 From 9c6d374b950e8c4bd0c1c905cf36c953581a3156 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Thu, 16 Aug 2018 16:54:29 +0200 Subject: Labels activities --- client/components/rules/rules.styl | 3 - client/components/rules/rulesTriggers.jade | 2 +- .../components/rules/triggers/boardTriggers.jade | 36 +++++-- client/components/rules/triggers/boardTriggers.js | 66 ++++++++++++- client/components/rules/triggers/cardTriggers.jade | 75 ++++++++++++++- client/components/rules/triggers/cardTriggers.js | 105 +++++++++++++++++++++ .../rules/triggers/checklistTriggers.jade | 81 +++++++++++++++- 7 files changed, 346 insertions(+), 22 deletions(-) create mode 100644 client/components/rules/triggers/cardTriggers.js (limited to 'client/components/rules') diff --git a/client/components/rules/rules.styl b/client/components/rules/rules.styl index 35fbabb2..c9684709 100644 --- a/client/components/rules/rules.styl +++ b/client/components/rules/rules.styl @@ -138,6 +138,3 @@ transform: translate(-50%,-50%) &:hover, &.is-active box-shadow: 0 0 0 2px darken(white, 60%) inset - - - diff --git a/client/components/rules/rulesTriggers.jade b/client/components/rules/rulesTriggers.jade index 5ee563e0..2848ad33 100644 --- a/client/components/rules/rulesTriggers.jade +++ b/client/components/rules/rulesTriggers.jade @@ -1,7 +1,7 @@ template(name="rulesTriggers") h2 i.fa.fa-cutlery - | Rule "#{data.ruleName}" - Add trigger + | Rule "#{data.ruleName.get}" - Add trigger .triggers-content .triggers-body .triggers-side-menu diff --git a/client/components/rules/triggers/boardTriggers.jade b/client/components/rules/triggers/boardTriggers.jade index 8b0b9489..375f50ba 100644 --- a/client/components/rules/triggers/boardTriggers.jade +++ b/client/components/rules/triggers/boardTriggers.jade @@ -4,7 +4,7 @@ template(name="boardTriggers") div.trigger-text | When a card is div.trigger-dropdown - select(id="action") + select(id="gen-action") option(value="created") Added to option(value="removed") Removed from div.trigger-text @@ -17,13 +17,29 @@ template(name="boardTriggers") div.trigger-text | When a card is div.trigger-dropdown - select - option Moved to + select(id="create-action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | list + div.trigger-dropdown + input(id="create-list-name",type=text,placeholder="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 + | When a card is + div.trigger-dropdown + select(id="move-action") + option(value="moved-to") Moved to + option(value="moved-from") Moved from div.trigger-text - | to list + | list div.trigger-dropdown - input(type=text,placeholder="List Name") - div.trigger-button.js-add-spec-trigger.js-goto-action + input(id="move-list-name",type=text,placeholder="List Name") + div.trigger-button.js-add-moved-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -31,10 +47,10 @@ template(name="boardTriggers") div.trigger-text | When a card is div.trigger-dropdown - select - option Archived - option Unarchived - div.trigger-button.js-add-arc-trigger.js-goto-action + select(id="arch-action") + option(value="archived") Archived + option(value="unarchived") 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 index 08274777..6ec1ec4e 100644 --- a/client/components/rules/triggers/boardTriggers.js +++ b/client/components/rules/triggers/boardTriggers.js @@ -8,7 +8,7 @@ BlazeComponent.extendComponent({ {'click .js-add-gen-trigger'(event) { let datas = this.data(); - const actionSelected = this.find('#action').value; + const actionSelected = this.find('#gen-action').value; const boardId = Session.get('currentBoard') if(actionSelected == "created"){ Triggers.insert({activityType: "createCard","boardId":boardId,"listId":"*"},function(error,id){ @@ -20,8 +20,72 @@ BlazeComponent.extendComponent({ datas.triggerIdVar.set(id); }); } + }, + 'click .js-add-create-trigger'(event) { + let datas = this.data(); + const actionSelected = this.find('#create-action').value; + const listName = this.find('#create-list-name').value; + const boardId = Session.get('currentBoard') + const list = Lists.findOne({title:listName}); + let listId; + if(list == undefined){ + listId = "*" + }else{ + listId = list._id; + } + if(actionSelected == "created"){ + Triggers.insert({activityType: "createCard","boardId":boardId,"listId":listId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "removeCard","boardId":boardId,"listId":listId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } }, + 'click .js-add-moved-trigger'(event) { + let datas = this.data(); + const actionSelected = this.find('#move-action').value; + const listName = this.find('#move-list-name').value; + const boardId = Session.get('currentBoard') + const list = Lists.findOne({title:listName}); + console.log(list); + let listId; + if(list == undefined){ + listId = "*" + }else{ + listId = list._id; + } + console.log(listId); + if(actionSelected == "moved-to"){ + Triggers.insert({activityType: "moveCard","boardId":boardId,"listId":listId,"oldListId":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "moved-from"){ + Triggers.insert({activityType: "moveCard","boardId":boardId,"listId":"*","oldListId":listId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + 'click .js-add-arc-trigger'(event) { + let datas = this.data(); + const actionSelected = this.find('#arch-action').value; + const boardId = Session.get('currentBoard') + if(actionSelected == "archived"){ + Triggers.insert({activityType: "archivedCard","boardId":boardId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "unarchived"){ + Triggers.insert({activityType: "restoredCard","boardId":boardId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + } + }]; }, diff --git a/client/components/rules/triggers/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade index c1a42ab5..473ceb57 100644 --- a/client/components/rules/triggers/cardTriggers.jade +++ b/client/components/rules/triggers/cardTriggers.jade @@ -4,7 +4,76 @@ template(name="cardTriggers") div.trigger-text | When a label is div.trigger-dropdown - select - option Moved to - div.trigger-button + select(id="create-action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | 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 + | When the label + div.trigger-dropdown + select(id="label") + each labels + option + = name + div.trigger-text + | is + div.trigger-dropdown + select(id="create-action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | a card + div.trigger-button.js-add-label-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | When a member is + div.trigger-dropdown + select(id="create-action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | 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 + | When the member + div.trigger-dropdown + input(id="create-list-name",type=text,placeholder="name") + div.trigger-text + | is + div.trigger-dropdown + select(id="create-action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | a card + div.trigger-button.js-add-member-trigger.js-goto-action + i.fa.fa-plus + + div.trigger-item + div.trigger-content + div.trigger-text + | When an attachment + div.trigger-text + | is + div.trigger-dropdown + select(id="create-action") + option(value="created") Added to + option(value="removed") Removed from + div.trigger-text + | a card + div.trigger-button.js-add-attachment-trigger.js-goto-action i.fa.fa-plus \ No newline at end of file diff --git a/client/components/rules/triggers/cardTriggers.js b/client/components/rules/triggers/cardTriggers.js new file mode 100644 index 00000000..2529641e --- /dev/null +++ b/client/components/rules/triggers/cardTriggers.js @@ -0,0 +1,105 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allRules'); + }, + + labels(){ + const labels = Boards.findOne(Session.get('currentBoard')).labels; + console.log(labels); + for(let i = 0;i Date: Thu, 16 Aug 2018 23:37:29 +0200 Subject: Progress on triggers UI --- client/components/rules/rulesActions.jade | 2 +- client/components/rules/triggers/cardTriggers.jade | 32 ++++----- client/components/rules/triggers/cardTriggers.js | 83 +++++++++++----------- 3 files changed, 58 insertions(+), 59 deletions(-) (limited to 'client/components/rules') diff --git a/client/components/rules/rulesActions.jade b/client/components/rules/rulesActions.jade index 0e207495..35b070fc 100644 --- a/client/components/rules/rulesActions.jade +++ b/client/components/rules/rulesActions.jade @@ -1,7 +1,7 @@ template(name="rulesActions") h2 i.fa.fa-cutlery - | Rule "#{data.ruleName}" - Add action + | Rule "#{data.ruleName.get}" - Add action .triggers-content .triggers-body .triggers-side-menu diff --git a/client/components/rules/triggers/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade index 473ceb57..9675324f 100644 --- a/client/components/rules/triggers/cardTriggers.jade +++ b/client/components/rules/triggers/cardTriggers.jade @@ -4,8 +4,8 @@ template(name="cardTriggers") div.trigger-text | When a label is div.trigger-dropdown - select(id="create-action") - option(value="created") Added to + select(id="label-action") + option(value="added") Added to option(value="removed") Removed from div.trigger-text | a card @@ -17,19 +17,19 @@ template(name="cardTriggers") div.trigger-text | When the label div.trigger-dropdown - select(id="label") + select(id="spec-label") each labels - option + option(value="#{_id}") = name div.trigger-text | is div.trigger-dropdown - select(id="create-action") - option(value="created") Added to + select(id="spec-label-action") + option(value="added") Added to option(value="removed") Removed from div.trigger-text | a card - div.trigger-button.js-add-label-trigger.js-goto-action + div.trigger-button.js-add-spec-label-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -37,12 +37,12 @@ template(name="cardTriggers") div.trigger-text | When a member is div.trigger-dropdown - select(id="create-action") - option(value="created") Added to + select(id="gen-member-action") + option(value="added") Added to option(value="removed") Removed from div.trigger-text | a card - div.trigger-button.js-add-gen.member-trigger.js-goto-action + div.trigger-button.js-add-gen-member-trigger.js-goto-action i.fa.fa-plus @@ -51,16 +51,16 @@ template(name="cardTriggers") div.trigger-text | When the member div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="name") + input(id="spec-member",type=text,placeholder="name") div.trigger-text | is div.trigger-dropdown - select(id="create-action") - option(value="created") Added to + select(id="spec-member-action") + option(value="added") Added to option(value="removed") Removed from div.trigger-text | a card - div.trigger-button.js-add-member-trigger.js-goto-action + div.trigger-button.js-add-spec-member-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -70,8 +70,8 @@ template(name="cardTriggers") div.trigger-text | is div.trigger-dropdown - select(id="create-action") - option(value="created") Added to + select(id="attach-action") + option(value="added") Added to option(value="removed") Removed from div.trigger-text | a card diff --git a/client/components/rules/triggers/cardTriggers.js b/client/components/rules/triggers/cardTriggers.js index 2529641e..a9940e07 100644 --- a/client/components/rules/triggers/cardTriggers.js +++ b/client/components/rules/triggers/cardTriggers.js @@ -16,87 +16,86 @@ BlazeComponent.extendComponent({ }, events() { return [ - {'click .js-add-gen-trigger'(event) { + {'click .js-add-gen-label-trigger'(event) { let datas = this.data(); - const actionSelected = this.find('#gen-action').value; + const actionSelected = this.find('#label-action').value; const boardId = Session.get('currentBoard') - if(actionSelected == "created"){ - Triggers.insert({activityType: "createCard","boardId":boardId,"listId":"*"},function(error,id){ + if(actionSelected == "added"){ + Triggers.insert({activityType: "addedLabel","boardId":boardId,"labelId":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } if(actionSelected == "removed"){ - Triggers.insert({activityType: "removeCard","boardId":boardId},function(error,id){ + Triggers.insert({activityType: "removedLabel","boardId":boardId,"labelId":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } }, - 'click .js-add-create-trigger'(event) { - + 'click .js-add-spec-label-trigger'(event) { let datas = this.data(); - const actionSelected = this.find('#create-action').value; - const listName = this.find('#create-list-name').value; + const actionSelected = this.find('#spec-label-action').value; + const labelId = this.find('#spec-label').value; const boardId = Session.get('currentBoard') - const list = Lists.findOne({title:listName}); - let listId; - if(list == undefined){ - listId = "*" - }else{ - listId = list._id; - } - if(actionSelected == "created"){ - Triggers.insert({activityType: "createCard","boardId":boardId,"listId":listId},function(error,id){ + if(actionSelected == "added"){ + Triggers.insert({activityType: "addedLabel","boardId":boardId,"labelId":labelId},function(error,id){ datas.triggerIdVar.set(id); }); } if(actionSelected == "removed"){ - Triggers.insert({activityType: "removeCard","boardId":boardId,"listId":listId},function(error,id){ + Triggers.insert({activityType: "removedLabel","boardId":boardId,"labelId":labelId},function(error,id){ datas.triggerIdVar.set(id); }); } }, - 'click .js-add-moved-trigger'(event) { + 'click .js-add-gen-member-trigger'(event) { + let datas = this.data(); - const actionSelected = this.find('#move-action').value; - const listName = this.find('#move-list-name').value; + const actionSelected = this.find('#gen-member-action').value; const boardId = Session.get('currentBoard') - const list = Lists.findOne({title:listName}); - console.log(list); - let listId; - if(list == undefined){ - listId = "*" - }else{ - listId = list._id; - } - console.log(listId); - if(actionSelected == "moved-to"){ - Triggers.insert({activityType: "moveCard","boardId":boardId,"listId":listId,"oldListId":"*"},function(error,id){ + if(actionSelected == "added"){ + Triggers.insert({activityType: "joinMember","boardId":boardId,"memberId":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } - if(actionSelected == "moved-from"){ - Triggers.insert({activityType: "moveCard","boardId":boardId,"listId":"*","oldListId":listId},function(error,id){ + if(actionSelected == "removed"){ + Triggers.insert({activityType: "unjoinMember","boardId":boardId,"memberId":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } }, - 'click .js-add-arc-trigger'(event) { + 'click .js-add-spec-member-trigger'(event) { let datas = this.data(); - const actionSelected = this.find('#arch-action').value; + const actionSelected = this.find('#spec-member-action').value; + const memberId = this.find('#spec-member').value; const boardId = Session.get('currentBoard') - if(actionSelected == "archived"){ - Triggers.insert({activityType: "archivedCard","boardId":boardId},function(error,id){ + if(actionSelected == "added"){ + Triggers.insert({activityType: "joinMember","boardId":boardId,"memberId":memberId},function(error,id){ datas.triggerIdVar.set(id); }); } - if(actionSelected == "unarchived"){ - Triggers.insert({activityType: "restoredCard","boardId":boardId},function(error,id){ + if(actionSelected == "removed"){ + Triggers.insert({activityType: "unjoinMember","boardId":boardId,"memberId":memberId},function(error,id){ datas.triggerIdVar.set(id); }); } - } + }, + 'click .js-add-attachment-trigger'(event) { + let datas = this.data(); + const actionSelected = this.find('#attach-action').value; + const boardId = Session.get('currentBoard') + if(actionSelected == "added"){ + Triggers.insert({activityType: "addAttachment","boardId":boardId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "deleteAttachment","boardId":boardId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, }]; }, -- cgit v1.2.3-1-g7c22 From 3b62b5ec5dd34eec323c14d466fe07e34287e7b0 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Fri, 17 Aug 2018 14:16:56 +0200 Subject: Fixed triggers to use names and not id --- client/components/rules/triggers/boardTriggers.js | 26 +---- .../rules/triggers/checklistTriggers.jade | 46 ++++----- .../components/rules/triggers/checklistTriggers.js | 108 +++++++++++++++++++++ 3 files changed, 136 insertions(+), 44 deletions(-) create mode 100644 client/components/rules/triggers/checklistTriggers.js (limited to 'client/components/rules') diff --git a/client/components/rules/triggers/boardTriggers.js b/client/components/rules/triggers/boardTriggers.js index 6ec1ec4e..49c00c16 100644 --- a/client/components/rules/triggers/boardTriggers.js +++ b/client/components/rules/triggers/boardTriggers.js @@ -11,7 +11,7 @@ BlazeComponent.extendComponent({ const actionSelected = this.find('#gen-action').value; const boardId = Session.get('currentBoard') if(actionSelected == "created"){ - Triggers.insert({activityType: "createCard","boardId":boardId,"listId":"*"},function(error,id){ + Triggers.insert({activityType: "createCard","boardId":boardId,"listName":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } @@ -27,20 +27,13 @@ BlazeComponent.extendComponent({ const actionSelected = this.find('#create-action').value; const listName = this.find('#create-list-name').value; const boardId = Session.get('currentBoard') - const list = Lists.findOne({title:listName}); - let listId; - if(list == undefined){ - listId = "*" - }else{ - listId = list._id; - } if(actionSelected == "created"){ - Triggers.insert({activityType: "createCard","boardId":boardId,"listId":listId},function(error,id){ + Triggers.insert({activityType: "createCard","boardId":boardId,"listName":listName},function(error,id){ datas.triggerIdVar.set(id); }); } if(actionSelected == "removed"){ - Triggers.insert({activityType: "removeCard","boardId":boardId,"listId":listId},function(error,id){ + Triggers.insert({activityType: "removeCard","boardId":boardId,"listName":listName},function(error,id){ datas.triggerIdVar.set(id); }); } @@ -50,22 +43,13 @@ BlazeComponent.extendComponent({ const actionSelected = this.find('#move-action').value; const listName = this.find('#move-list-name').value; const boardId = Session.get('currentBoard') - const list = Lists.findOne({title:listName}); - console.log(list); - let listId; - if(list == undefined){ - listId = "*" - }else{ - listId = list._id; - } - console.log(listId); if(actionSelected == "moved-to"){ - Triggers.insert({activityType: "moveCard","boardId":boardId,"listId":listId,"oldListId":"*"},function(error,id){ + Triggers.insert({activityType: "moveCard","boardId":boardId,"listName":listName,"oldListName":"*"},function(error,id){ datas.triggerIdVar.set(id); }); } if(actionSelected == "moved-from"){ - Triggers.insert({activityType: "moveCard","boardId":boardId,"listId":"*","oldListId":listId},function(error,id){ + Triggers.insert({activityType: "moveCard","boardId":boardId,"listName":"*","oldListName":listName},function(error,id){ datas.triggerIdVar.set(id); }); } diff --git a/client/components/rules/triggers/checklistTriggers.jade b/client/components/rules/triggers/checklistTriggers.jade index a34d89d0..e7d6d34e 100644 --- a/client/components/rules/triggers/checklistTriggers.jade +++ b/client/components/rules/triggers/checklistTriggers.jade @@ -4,12 +4,12 @@ template(name="checklistTriggers") div.trigger-text | When a checklist is div.trigger-dropdown - select(id="create-action") + select(id="gen-check-action") option(value="created") Added to option(value="removed") Removed from div.trigger-text | a card - div.trigger-button.js-add-gen.member-trigger.js-goto-action + div.trigger-button.js-add-gen-check-trigger.js-goto-action i.fa.fa-plus @@ -18,16 +18,16 @@ template(name="checklistTriggers") div.trigger-text | When the checklist div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="Name") + input(id="check-name",type=text,placeholder="Name") div.trigger-text | is div.trigger-dropdown - select(id="create-action") + select(id="spec-check-action") option(value="created") Added to option(value="removed") Removed from div.trigger-text | a card - div.trigger-button.js-add-checklist-trigger.js-goto-action + div.trigger-button.js-add-spec-check-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -35,10 +35,10 @@ template(name="checklistTriggers") div.trigger-text | When a checklist is div.trigger-dropdown - select(id="create-action") - option(value="created") Completed - option(value="removed") Made incomplete - div.trigger-button.js-add-gen.member-trigger.js-goto-action + select(id="gen-comp-check-action") + option(value="completed") Completed + option(value="uncompleted") Made incomplete + div.trigger-button.js-add-gen-comp-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -46,14 +46,14 @@ template(name="checklistTriggers") div.trigger-text | When the checklist div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="Name") + input(id="spec-comp-check-name",type=text,placeholder="Name") div.trigger-text | is div.trigger-dropdown - select(id="create-action") - option(value="created") Completed - option(value="removed") Made incomplete - div.trigger-button.js-add-checklist-trigger.js-goto-action + select(id="spec-comp-check-action") + option(value="completed") Completed + option(value="uncompleted") Made incomplete + div.trigger-button.js-add-spec-comp-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -61,10 +61,10 @@ template(name="checklistTriggers") div.trigger-text | When a checklist item is div.trigger-dropdown - select(id="create-action") - option(value="created") Checked - option(value="removed") Unchecked - div.trigger-button.js-add-gen.member-trigger.js-goto-action + select(id="check-item-gen-action") + option(value="checked") Checked + option(value="unchecked") Unchecked + div.trigger-button.js-add-gen-check-item-trigger.js-goto-action i.fa.fa-plus div.trigger-item @@ -72,12 +72,12 @@ template(name="checklistTriggers") div.trigger-text | When the checklist item div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="Name") + input(id="check-item-name",type=text,placeholder="Name") div.trigger-text | is div.trigger-dropdown - select(id="create-action") - option(value="created") Checked - option(value="removed") Unchecked - div.trigger-button.js-add-checklist-trigger.js-goto-action + select(id="check-item-spec-action") + option(value="checked") Checked + option(value="unchecked") Unchecked + div.trigger-button.js-add-spec-check-item-trigger.js-goto-action i.fa.fa-plus \ No newline at end of file diff --git a/client/components/rules/triggers/checklistTriggers.js b/client/components/rules/triggers/checklistTriggers.js new file mode 100644 index 00000000..9880e3bb --- /dev/null +++ b/client/components/rules/triggers/checklistTriggers.js @@ -0,0 +1,108 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allRules'); + }, + events() { + return [ + {'click .js-add-gen-check-trigger'(event) { + + let datas = this.data(); + const actionSelected = this.find('#gen-check-action').value; + const boardId = Session.get('currentBoard') + if(actionSelected == "created"){ + Triggers.insert({activityType: "addChecklist","boardId":boardId,"checklistName":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "removeChecklist","boardId":boardId,"checklistName":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + 'click .js-add-spec-check-trigger'(event) { + let 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"){ + Triggers.insert({activityType: "addChecklist","boardId":boardId,"checklistName":checklistId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "removeChecklist","boardId":boardId,"checklistName":checklistId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + 'click .js-add-gen-comp-trigger'(event) { + + let datas = this.data(); + const actionSelected = this.find('#gen-comp-check-action').value; + const boardId = Session.get('currentBoard') + if(actionSelected == "completed"){ + Triggers.insert({activityType: "completeChecklist","boardId":boardId,"checklistName":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "uncompleted"){ + Triggers.insert({activityType: "uncompleteChecklist","boardId":boardId,"checklistName":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + 'click .js-add-spec-comp-trigger'(event) { + let 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"){ + Triggers.insert({activityType: "joinMember","boardId":boardId,"checklistName":checklistId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "unjoinMember","boardId":boardId,"checklistName":checklistId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + 'click .js-add-gen-check-item-trigger'(event) { + + let datas = this.data(); + const actionSelected = this.find('#check-item-gen-action').value; + const boardId = Session.get('currentBoard') + if(actionSelected == "checked"){ + Triggers.insert({activityType: "checkedItem","boardId":boardId,"checklistItemName":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "unchecked"){ + Triggers.insert({activityType: "uncheckedItem","boardId":boardId,"checklistItemName":"*"},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + 'click .js-add-spec-check-item-trigger'(event) { + let 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 == "added"){ + Triggers.insert({activityType: "joinMember","boardId":boardId,"checklistItemName":checklistItemId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + if(actionSelected == "removed"){ + Triggers.insert({activityType: "unjoinMember","boardId":boardId,"checklistItemName":checklistItemId},function(error,id){ + datas.triggerIdVar.set(id); + }); + } + }, + }]; + }, + +}).register('checklistTriggers'); + + -- cgit v1.2.3-1-g7c22 From 1f5f429fc4535d251d32335eea7e44904a924650 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Sun, 19 Aug 2018 18:53:50 +0200 Subject: Completed rules --- client/components/rules/actions/boardActions.jade | 30 +++++++++- client/components/rules/actions/boardActions.js | 53 +++++++++++++---- client/components/rules/actions/cardActions.jade | 43 ++++++++++++++ client/components/rules/actions/cardActions.js | 66 +++++++++++++++++++++ .../components/rules/actions/checklistActions.jade | 51 ++++++++++++++++ .../components/rules/actions/checklistActions.js | 61 +++++++++++++++++++ client/components/rules/actions/mailActions.jade | 11 ++++ client/components/rules/actions/mailActions.js | 21 +++++++ client/components/rules/rules.styl | 16 +++++ client/components/rules/rulesActions.jade | 18 ++++-- client/components/rules/rulesActions.js | 69 ++++++++++++---------- client/components/rules/rulesMain.jade | 4 +- client/components/rules/rulesMain.js | 2 +- client/components/rules/triggers/boardTriggers.js | 32 +++------- client/components/rules/triggers/cardTriggers.js | 40 ++++--------- .../components/rules/triggers/checklistTriggers.js | 52 +++++----------- 16 files changed, 421 insertions(+), 148 deletions(-) create mode 100644 client/components/rules/actions/cardActions.jade create mode 100644 client/components/rules/actions/cardActions.js create mode 100644 client/components/rules/actions/checklistActions.jade create mode 100644 client/components/rules/actions/checklistActions.js create mode 100644 client/components/rules/actions/mailActions.jade create mode 100644 client/components/rules/actions/mailActions.js (limited to 'client/components/rules') 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 Date: Wed, 12 Sep 2018 00:52:29 +0200 Subject: Fixed rule allows --- client/components/rules/actions/boardActions.jade | 24 +++---- client/components/rules/actions/boardActions.js | 73 ++++++++++++---------- client/components/rules/actions/cardActions.jade | 16 ++--- client/components/rules/actions/cardActions.js | 23 ++++--- .../components/rules/actions/checklistActions.jade | 28 ++++----- .../components/rules/actions/checklistActions.js | 27 ++++---- client/components/rules/actions/mailActions.jade | 6 +- client/components/rules/actions/mailActions.js | 5 +- client/components/rules/ruleDetails.jade | 8 +++ client/components/rules/ruleDetails.js | 28 +++++++++ client/components/rules/rulesActions.jade | 4 +- client/components/rules/rulesList.jade | 26 ++++---- client/components/rules/rulesMain.jade | 6 +- client/components/rules/rulesMain.js | 24 +++---- client/components/rules/rulesTriggers.jade | 4 +- .../components/rules/triggers/boardTriggers.jade | 34 +++++----- client/components/rules/triggers/cardTriggers.jade | 46 +++++++------- .../rules/triggers/checklistTriggers.jade | 52 +++++++-------- 18 files changed, 242 insertions(+), 192 deletions(-) create mode 100644 client/components/rules/ruleDetails.jade create mode 100644 client/components/rules/ruleDetails.js (limited to 'client/components/rules') diff --git a/client/components/rules/actions/boardActions.jade b/client/components/rules/actions/boardActions.jade index 81b2023d..dfeb3d84 100644 --- a/client/components/rules/actions/boardActions.jade +++ b/client/components/rules/actions/boardActions.jade @@ -2,28 +2,28 @@ template(name="boardActions") div.trigger-item div.trigger-content div.trigger-text - | Move card to + | {{{_'r-move-card-to'}}} div.trigger-dropdown select(id="move-gen-action") - option(value="top") Top of - option(value="bottom") Bottom of + option(value="top") {{{_'r-top-of'}}} + option(value="bottom") {{{_'r-bottom-of'}}} div.trigger-text - | its list + | {{{_'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 - | Move card to + | {{{_'r-move-card-to'}}} div.trigger-dropdown select(id="move-spec-action") - option(value="top") Top of - option(value="bottom") Bottom of + option(value="top") {{{_'r-top-of'}}} + option(value="bottom") {{{_'r-bottom-of'}}} div.trigger-text - | list + | {{{_'r-list'}}} div.trigger-dropdown - input(id="listName",type=text,placeholder="List Name") + input(id="listName",type=text,placeholder="{{{_'r-name'}}}") div.trigger-button.js-add-spec-move-action.js-goto-rules i.fa.fa-plus @@ -31,10 +31,10 @@ template(name="boardActions") div.trigger-content div.trigger-dropdown select(id="arch-action") - option(value="archive") Archive - option(value="unarchive") Unarchive + option(value="archive") {{{_'r-archive'}}} + option(value="unarchive") {{{_'r-unarchive'}}} div.trigger-text - | card + | {{{_'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 index 94c2778d..2b6fed57 100644 --- a/client/components/rules/actions/boardActions.js +++ b/client/components/rules/actions/boardActions.js @@ -12,48 +12,53 @@ BlazeComponent.extendComponent({ 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'); + if(actionSelected == "top"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "moveCardToTop","listTitle":listTitle}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "moveCardToTop","listTitle":listTitle,"boardId":boardId}); + console.log("Action inserted"); + 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}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "moveCardToBottom","listTitle":listTitle,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, '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"){ - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "moveCardToTop","listTitle":"*"}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); - } - if(actionSelected == "bottom"){ - 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}); - } - }, - }]; + 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}); + 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}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); + } + }, + 'click .js-add-arch-action'(event) { + 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"}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); + } + if(actionSelected == "unarchive"){ + const triggerId = Triggers.insert(trigger); + const actionId = Actions.insert({actionType: "unarchive"}); + 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 index 8d218a49..74ad9ab5 100644 --- a/client/components/rules/actions/cardActions.jade +++ b/client/components/rules/actions/cardActions.jade @@ -3,10 +3,10 @@ template(name="cardActions") div.trigger-content div.trigger-dropdown select(id="label-action") - option(value="add") Add - option(value="remove") Remove + option(value="add") {{{_'r-add'}}} + option(value="remove") {{{_'r-remove'}}} div.trigger-text - | label + | {{{_'r-label'}}} div.trigger-dropdown select(id="label-id") each labels @@ -19,19 +19,19 @@ template(name="cardActions") div.trigger-content div.trigger-dropdown select(id="member-action") - option(value="add") Add - option(value="remove") Removed + option(value="add") {{{_'r-add'}}} + option(value="remove") {{{_'r-remove'}}} div.trigger-text - | member + | {{{_'r-member'}}} div.trigger-dropdown - input(id="member-name",type=text,placeholder="Member name") + 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 - | Remove all member from the card + | {{{_'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 index 48120d91..571020a8 100644 --- a/client/components/rules/actions/cardActions.js +++ b/client/components/rules/actions/cardActions.js @@ -24,16 +24,17 @@ BlazeComponent.extendComponent({ 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'); if(actionSelected == "add"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "addLabel","labelId":labelId}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "addLabel","labelId":labelId,"boardId":boardId}); + 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}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "removeLabel","labelId":labelId,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, @@ -42,23 +43,25 @@ BlazeComponent.extendComponent({ 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'); if(actionSelected == "add"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "addMember","memberName":memberName}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "addMember","memberName":memberName,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } if(actionSelected == "remove"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "removeMember","memberName":memberName}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "removeMember","memberName":memberName,"boardId":boardId}); + 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 actionId = Actions.insert({actionType: "removeMember","memberName":"*"}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const boardId = Session.get('currentBoard'); + const actionId = Actions.insert({actionType: "removeMember","memberName":"*","boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); }, }]; }, diff --git a/client/components/rules/actions/checklistActions.jade b/client/components/rules/actions/checklistActions.jade index c85ec078..8414a1a5 100644 --- a/client/components/rules/actions/checklistActions.jade +++ b/client/components/rules/actions/checklistActions.jade @@ -3,12 +3,12 @@ template(name="checklistActions") div.trigger-content div.trigger-dropdown select(id="check-action") - option(value="add") Add - option(value="remove") Remove + option(value="add") {{{_'r-add'}}} + option(value="remove") {{{_'r-remove'}}} div.trigger-text - | checklist + | {{{_'r-checklist'}}} div.trigger-dropdown - input(id="checklist-name",type=text,placeholder="name") + input(id="checklist-name",type=text,placeholder="{{{_'r-name'}}}") div.trigger-button.js-add-checklist-action.js-goto-rules i.fa.fa-plus @@ -16,12 +16,12 @@ template(name="checklistActions") div.trigger-content div.trigger-dropdown select(id="checkall-action") - option(value="check") Check all - option(value="uncheck") Unchek all + option(value="check") {{{_'r-check-all'}}} + option(value="uncheck") {{{_'r-uncheck-all'}}} div.trigger-text - | items of checklist + | {{{_'r-items-check'}}} div.trigger-dropdown - input(id="checklist-name2",type=text,placeholder="name") + input(id="checklist-name2",type=text,placeholder="{{{_'r-name'}}}") div.trigger-button.js-add-checkall-action.js-goto-rules i.fa.fa-plus @@ -30,16 +30,16 @@ template(name="checklistActions") div.trigger-content div.trigger-dropdown select(id="check-item-action") - option(value="check") Check - option(value="uncheck") Unchek + option(value="check") {{{_'r-check'}}} + option(value="uncheck") {{{_'r-uncheck'}}} div.trigger-text - | item + | {{{_'r-item'}}} div.trigger-dropdown - input(id="checkitem-name",type=text,placeholder="name") + input(id="checkitem-name",type=text,placeholder="{{{_'r-name'}}}") div.trigger-text - | of checklist + | {{{_'r-of-checklist'}}} div.trigger-dropdown - input(id="checklist-name3",type=text,placeholder="name") + 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 index 2a70ca7f..e6989fc6 100644 --- a/client/components/rules/actions/checklistActions.js +++ b/client/components/rules/actions/checklistActions.js @@ -9,16 +9,17 @@ BlazeComponent.extendComponent({ 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'); if(actionSelected == "add"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "addChecklist","checklistName":checklistName}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "addChecklist","checklistName":checklistName,"boardId":boardId}); + 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}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "removeChecklist","checklistName":checklistName,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, @@ -27,15 +28,16 @@ BlazeComponent.extendComponent({ 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'); if(actionSelected == "check"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "checkAll","checklistName":checklistName}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "checkAll","checklistName":checklistName,"boardId":boardId}); + 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}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "uncheckAll","checklistName":checklistName,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, 'click .js-add-check-item-action'(event) { @@ -44,15 +46,16 @@ BlazeComponent.extendComponent({ 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'); 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}); + const actionId = Actions.insert({actionType: "checkItem","checklistName":checklistName,"checkItemName":checkItemName,"boardId":boardId}); + 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}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId}); + const actionId = Actions.insert({actionType: "uncheckItem","checklistName":checklistName,"checkItemName":checkItemName,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, }]; diff --git a/client/components/rules/actions/mailActions.jade b/client/components/rules/actions/mailActions.jade index 5680d430..c10fb384 100644 --- a/client/components/rules/actions/mailActions.jade +++ b/client/components/rules/actions/mailActions.jade @@ -2,10 +2,10 @@ template(name="mailActions") div.trigger-item.trigger-item-mail div.trigger-content.trigger-content-mail div.trigger-text.trigger-text-email - | Send an email + | {{{_'r-send-email'}}} div.trigger-dropdown-mail - input(id="email-to",type=text,placeholder="to") - input(id="email-subject",type=text,placeholder="subject") + 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 index 0e4b539e..74f6659b 100644 --- a/client/components/rules/actions/mailActions.js +++ b/client/components/rules/actions/mailActions.js @@ -12,8 +12,9 @@ BlazeComponent.extendComponent({ 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}); + const boardId = Session.get('currentBoard'); + const actionId = Actions.insert({actionType: "sendEmail","emailTo":emailTo,"emailSubject":emailSubject,"emailMsg":emailMsg,"boardId":boardId}); + Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); }, }]; }, diff --git a/client/components/rules/ruleDetails.jade b/client/components/rules/ruleDetails.jade new file mode 100644 index 00000000..9314151d --- /dev/null +++ b/client/components/rules/ruleDetails.jade @@ -0,0 +1,8 @@ +template(name="ruleDetails") + .rules + h2 + i.fa.fa-magic + | {{{_ 'r-rule-details' }}} + + | trigger + | action \ No newline at end of file diff --git a/client/components/rules/ruleDetails.js b/client/components/rules/ruleDetails.js new file mode 100644 index 00000000..572978ac --- /dev/null +++ b/client/components/rules/ruleDetails.js @@ -0,0 +1,28 @@ +BlazeComponent.extendComponent({ + onCreated() { + this.subscribe('allRules'); + }, + + trigger(){ + const rule = Rules.findOne({_id:ruleId}); + return Triggers.findOne({_id:rule.triggerId}); + }, + action(){ + const rule = Rules.findOne({_id:ruleId}); + return Triggers.findOne({_id:rule.actionId}); + }, + + events() { + return [{ + }]; + }, + +}).register('ruleDetails'); + + + + + + + + diff --git a/client/components/rules/rulesActions.jade b/client/components/rules/rulesActions.jade index 9fcecf46..8dfceeeb 100644 --- a/client/components/rules/rulesActions.jade +++ b/client/components/rules/rulesActions.jade @@ -1,7 +1,7 @@ template(name="rulesActions") h2 - i.fa.fa-cutlery - | Rule "#{data.ruleName.get}" - Add action + i.fa.fa-magic + | {{{_ 'r-rule' }}} "#{data.ruleName.get}" - {{{_ 'r-add-action'}}} .triggers-content .triggers-body .triggers-side-menu diff --git a/client/components/rules/rulesList.jade b/client/components/rules/rulesList.jade index a0d8143c..7f9e6946 100644 --- a/client/components/rules/rulesList.jade +++ b/client/components/rules/rulesList.jade @@ -1,8 +1,8 @@ template(name="rulesList") .rules h2 - i.fa.fa-cutlery - | Project rules + i.fa.fa-magic + | {{{_ 'r-board-rules' }}} ul.rules-list each rules @@ -12,14 +12,16 @@ template(name="rulesList") div.rules-btns-group button i.fa.fa-eye - | View rule - button.js-delete-rule - i.fa.fa-trash-o - | Delete rule + | {{{_ 'r-view-rule'}}} + if currentUser.isAdmin + button.js-delete-rule + i.fa.fa-trash-o + | {{{_ 'r-delete-rule'}}} else - li.no-items-message No rules - div.rules-add - button.js-goto-trigger - i.fa.fa-plus - | Add rule - input(type=text,placeholder="New rule name",id="ruleTitle") \ No newline at end of file + li.no-items-message {{{_ 'r-no-rules' }}} + if currentUser.isAdmin + div.rules-add + button.js-goto-trigger + i.fa.fa-plus + | {{{_ 'r-add-rule'}}} + input(type=text,placeholder="{{{_ 'r-new-rule-name' }}}",id="ruleTitle") \ No newline at end of file diff --git a/client/components/rules/rulesMain.jade b/client/components/rules/rulesMain.jade index 2c308223..3d03372f 100644 --- a/client/components/rules/rulesMain.jade +++ b/client/components/rules/rulesMain.jade @@ -1,7 +1,7 @@ template(name="rulesMain") - if rulesListVar.get + if($eq rulesCurrentTab.get 'rulesList') +rulesList - else if rulesTriggerVar.get + if($eq rulesCurrentTab.get 'trigger') +rulesTriggers(ruleName=ruleName triggerVar=triggerVar) - else if rulesActionVar.get + if($eq rulesCurrentTab.get 'action') +rulesActions(ruleName=ruleName triggerVar=triggerVar) \ No newline at end of file diff --git a/client/components/rules/rulesMain.js b/client/components/rules/rulesMain.js index ee4886b6..0d7a5c6a 100644 --- a/client/components/rules/rulesMain.js +++ b/client/components/rules/rulesMain.js @@ -1,28 +1,24 @@ BlazeComponent.extendComponent({ onCreated() { - this.rulesListVar = new ReactiveVar(true); - this.rulesTriggerVar = new ReactiveVar(false); - this.rulesActionVar = new ReactiveVar(false); + this.rulesCurrentTab = new ReactiveVar("rulesList") this.ruleName = new ReactiveVar(""); this.triggerVar = new ReactiveVar(); + this.ruleId = new ReactiveVar(); }, setTrigger() { - this.rulesListVar.set(false); - this.rulesTriggerVar.set(true); - this.rulesActionVar.set(false); + this.rulesCurrentTab.set("trigger") }, setRulesList() { - this.rulesListVar.set(true); - this.rulesTriggerVar.set(false); - this.rulesActionVar.set(false); + this.rulesCurrentTab.set("rulesList") }, setAction() { - this.rulesListVar.set(false); - this.rulesTriggerVar.set(false); - this.rulesActionVar.set(true); + this.rulesCurrentTab.set("action") + }, + setRuleDetails() { + this.rulesCurrentTab.set("ruleDetails") }, events() { @@ -48,6 +44,10 @@ BlazeComponent.extendComponent({ event.preventDefault(); this.setRulesList(); }, + 'click .js-goto-details'(event) { + event.preventDefault(); + this.setRuleDetails(); + }, }]; diff --git a/client/components/rules/rulesTriggers.jade b/client/components/rules/rulesTriggers.jade index 2848ad33..0ef5edfa 100644 --- a/client/components/rules/rulesTriggers.jade +++ b/client/components/rules/rulesTriggers.jade @@ -1,7 +1,7 @@ template(name="rulesTriggers") h2 - i.fa.fa-cutlery - | Rule "#{data.ruleName.get}" - Add trigger + i.fa.fa-magic + | {{{_ 'r-rule' }}} "#{data.ruleName.get}" - {{{_ 'r-add-trigger'}}} .triggers-content .triggers-body .triggers-side-menu diff --git a/client/components/rules/triggers/boardTriggers.jade b/client/components/rules/triggers/boardTriggers.jade index 375f50ba..dec15d86 100644 --- a/client/components/rules/triggers/boardTriggers.jade +++ b/client/components/rules/triggers/boardTriggers.jade @@ -2,54 +2,54 @@ template(name="boardTriggers") div.trigger-item div.trigger-content div.trigger-text - | When a card is + | {{{_'r-when-a-card-is'}}} div.trigger-dropdown select(id="gen-action") - option(value="created") Added to - option(value="removed") Removed from + option(value="created") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-added-to'}}} div.trigger-text - | the board + | {{{_'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 - | When a card is + | {{{_'r-when-a-card-is'}}} div.trigger-dropdown select(id="create-action") - option(value="created") Added to - option(value="removed") Removed from + option(value="created") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-added-to'}}} div.trigger-text - | list + | {{{_'r-list'}}} div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="List Name") + 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 - | When a card is + | {{{_'r-when-a-card-is'}}} div.trigger-dropdown select(id="move-action") - option(value="moved-to") Moved to - option(value="moved-from") Moved from + option(value="moved-to") {{{_'r-moved-to'}}} + option(value="moved-from") {{{_'r-moved-from'}}} div.trigger-text - | list + | {{{_'r-list'}}} div.trigger-dropdown - input(id="move-list-name",type=text,placeholder="List Name") + 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 - | When a card is + | {{{_'r-when-a-card-is'}}} div.trigger-dropdown select(id="arch-action") - option(value="archived") Archived - option(value="unarchived") Unarchived + 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/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade index 9675324f..a459a7e0 100644 --- a/client/components/rules/triggers/cardTriggers.jade +++ b/client/components/rules/triggers/cardTriggers.jade @@ -2,20 +2,20 @@ template(name="cardTriggers") div.trigger-item div.trigger-content div.trigger-text - | When a label is + | {{{_'r-when-a-label-is'}}} div.trigger-dropdown select(id="label-action") - option(value="added") Added to - option(value="removed") Removed from + option(value="added") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'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 - | When the label + | {{{_'r-when-the-label-is'}}} div.trigger-dropdown select(id="spec-label") each labels @@ -25,23 +25,23 @@ template(name="cardTriggers") | is div.trigger-dropdown select(id="spec-label-action") - option(value="added") Added to - option(value="removed") Removed from + option(value="added") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'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 - | When a member is + | {{{_'r-when-a-member'}}} div.trigger-dropdown select(id="gen-member-action") - option(value="added") Added to - option(value="removed") Removed from + option(value="added") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'r-a-card'}}} div.trigger-button.js-add-gen-member-trigger.js-goto-action i.fa.fa-plus @@ -49,31 +49,31 @@ template(name="cardTriggers") div.trigger-item div.trigger-content div.trigger-text - | When the member + | {{{_'r-when-the-member'}}} div.trigger-dropdown - input(id="spec-member",type=text,placeholder="name") + input(id="spec-member",type=text,placeholder="{{{_'r-name'}}}") div.trigger-text - | is + | {{{_'r-is'}}} div.trigger-dropdown select(id="spec-member-action") - option(value="added") Added to - option(value="removed") Removed from + option(value="added") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'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 - | When an attachment + | {{{_'r-when-a-attach'}}} div.trigger-text - | is + | {{{_'r-is'}}} div.trigger-dropdown select(id="attach-action") - option(value="added") Added to - option(value="removed") Removed from + option(value="added") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'r-a-card'}}} div.trigger-button.js-add-attachment-trigger.js-goto-action i.fa.fa-plus \ No newline at end of file diff --git a/client/components/rules/triggers/checklistTriggers.jade b/client/components/rules/triggers/checklistTriggers.jade index e7d6d34e..465713c8 100644 --- a/client/components/rules/triggers/checklistTriggers.jade +++ b/client/components/rules/triggers/checklistTriggers.jade @@ -2,13 +2,13 @@ template(name="checklistTriggers") div.trigger-item div.trigger-content div.trigger-text - | When a checklist is + | {{{_'r-when-a-checklist'}}} div.trigger-dropdown select(id="gen-check-action") - option(value="created") Added to - option(value="removed") Removed from + option(value="created") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'r-a-card'}}} div.trigger-button.js-add-gen-check-trigger.js-goto-action i.fa.fa-plus @@ -16,68 +16,68 @@ template(name="checklistTriggers") div.trigger-item div.trigger-content div.trigger-text - | When the checklist + | {{{_'r-when-the-checklist'}}} div.trigger-dropdown - input(id="check-name",type=text,placeholder="Name") + input(id="check-name",type=text,placeholder="{{{_'r-name'}}}") div.trigger-text - | is + | {{{_'r-is'}}} div.trigger-dropdown select(id="spec-check-action") - option(value="created") Added to - option(value="removed") Removed from + option(value="created") {{{_'r-added-to'}}} + option(value="removed") {{{_'r-removed-from'}}} div.trigger-text - | a card + | {{{_'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 - | When a checklist is + | {{{_'r-when-a-checklist'}}} div.trigger-dropdown select(id="gen-comp-check-action") - option(value="completed") Completed - option(value="uncompleted") Made incomplete + 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 - | When the checklist + | {{{_'r-when-the-checklist'}}} div.trigger-dropdown - input(id="spec-comp-check-name",type=text,placeholder="Name") + input(id="spec-comp-check-name",type=text,placeholder="{{{_'r-name'}}}") div.trigger-text - | is + | {{{_'r-is'}}} div.trigger-dropdown select(id="spec-comp-check-action") - option(value="completed") Completed - option(value="uncompleted") Made incomplete + 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 - | When a checklist item is + | {{{_'r-when-a-item'}}} div.trigger-dropdown select(id="check-item-gen-action") - option(value="checked") Checked - option(value="unchecked") Unchecked + 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 - | When the checklist item + | {{{_'r-when-the-item'}}} div.trigger-dropdown - input(id="check-item-name",type=text,placeholder="Name") + input(id="check-item-name",type=text,placeholder="{{{_'r-name'}}}") div.trigger-text - | is + | {{{_'r-is'}}} div.trigger-dropdown select(id="check-item-spec-action") - option(value="checked") Checked - option(value="unchecked") Unchecked + 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 \ No newline at end of file -- cgit v1.2.3-1-g7c22 From e649c79bb71140a15f8e65fdb98ecb367469c0b7 Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Wed, 12 Sep 2018 12:19:53 +0200 Subject: Fixed board id bug in move --- client/components/rules/rulesList.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'client/components/rules') diff --git a/client/components/rules/rulesList.js b/client/components/rules/rulesList.js index caafe29f..9b97a7c8 100644 --- a/client/components/rules/rulesList.js +++ b/client/components/rules/rulesList.js @@ -4,7 +4,8 @@ BlazeComponent.extendComponent({ }, rules() { - return Rules.find({}); + const boardId = Session.get('currentBoard'); + return Rules.find({"boardId":boardId}); }, events() { return [{}]; -- cgit v1.2.3-1-g7c22 From fc73dc5bbcbbd203efc4f10ecb4bd1a66e0d9efb Mon Sep 17 00:00:00 2001 From: Angelo Gallarello Date: Fri, 14 Sep 2018 16:49:06 +0200 Subject: Refactoring rules description --- client/components/rules/actions/boardActions.js | 5 ++--- client/components/rules/actions/cardActions.js | 1 - client/components/rules/ruleDetails.jade | 5 ++--- client/components/rules/ruleDetails.js | 17 +++++++++++---- client/components/rules/rulesList.jade | 2 +- client/components/rules/rulesMain.jade | 4 +++- client/components/rules/rulesMain.js | 2 ++ .../components/rules/triggers/boardTriggers.jade | 4 ++-- client/components/rules/triggers/boardTriggers.js | 25 +++++++++++++--------- client/components/rules/triggers/cardTriggers.jade | 2 +- 10 files changed, 41 insertions(+), 26 deletions(-) (limited to 'client/components/rules') diff --git a/client/components/rules/actions/boardActions.js b/client/components/rules/actions/boardActions.js index 2b6fed57..d1593a5b 100644 --- a/client/components/rules/actions/boardActions.js +++ b/client/components/rules/actions/boardActions.js @@ -17,7 +17,6 @@ BlazeComponent.extendComponent({ if(actionSelected == "top"){ const triggerId = Triggers.insert(trigger); const actionId = Actions.insert({actionType: "moveCardToTop","listTitle":listTitle,"boardId":boardId}); - console.log("Action inserted"); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } if(actionSelected == "bottom"){ @@ -49,12 +48,12 @@ BlazeComponent.extendComponent({ const actionSelected = this.find('#arch-action').value; if(actionSelected == "archive"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "archive"}); + const actionId = Actions.insert({actionType: "archive","boardId":boardId}); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } if(actionSelected == "unarchive"){ const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "unarchive"}); + const actionId = Actions.insert({actionType: "unarchive","boardId":boardId}); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js index 571020a8..3f4b4442 100644 --- a/client/components/rules/actions/cardActions.js +++ b/client/components/rules/actions/cardActions.js @@ -5,7 +5,6 @@ BlazeComponent.extendComponent({ labels(){ const labels = Boards.findOne(Session.get('currentBoard')).labels; - console.log(labels); for(let i = 0;i Date: Fri, 14 Sep 2018 17:35:14 +0200 Subject: Finished alpha rules --- client/components/rules/actions/boardActions.js | 16 +- client/components/rules/actions/cardActions.js | 58 +++---- .../components/rules/actions/checklistActions.js | 16 +- client/components/rules/actions/mailActions.js | 3 +- client/components/rules/ruleDetails.jade | 15 +- client/components/rules/triggers/cardTriggers.js | 184 +++++++++++++-------- .../components/rules/triggers/checklistTriggers.js | 36 ++-- 7 files changed, 198 insertions(+), 130 deletions(-) (limited to 'client/components/rules') diff --git a/client/components/rules/actions/boardActions.js b/client/components/rules/actions/boardActions.js index d1593a5b..0394f601 100644 --- a/client/components/rules/actions/boardActions.js +++ b/client/components/rules/actions/boardActions.js @@ -13,47 +13,49 @@ BlazeComponent.extendComponent({ 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}); + 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}); + 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}); + 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}); + 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}); + 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}); + const actionId = Actions.insert({actionType: "unarchive","boardId":boardId,"desc":desc}); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js index 3f4b4442..0bf7428a 100644 --- a/client/components/rules/actions/cardActions.js +++ b/client/components/rules/actions/cardActions.js @@ -24,45 +24,47 @@ BlazeComponent.extendComponent({ 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}); + 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}); + 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'); - if(actionSelected == "add"){ - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "addMember","memberName":memberName,"boardId":boardId}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); - } - if(actionSelected == "remove"){ - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({actionType: "removeMember","memberName":memberName,"boardId":boardId}); - 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 boardId = Session.get('currentBoard'); - const actionId = Actions.insert({actionType: "removeMember","memberName":"*","boardId":boardId}); - Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); - }, - }]; + 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.js b/client/components/rules/actions/checklistActions.js index e6989fc6..bfc07623 100644 --- a/client/components/rules/actions/checklistActions.js +++ b/client/components/rules/actions/checklistActions.js @@ -10,15 +10,15 @@ BlazeComponent.extendComponent({ 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}); + 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}); + const actionId = Actions.insert({actionType: "removeChecklist","checklistName":checklistName,"boardId":boardId,"desc":desc}); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } @@ -29,14 +29,15 @@ BlazeComponent.extendComponent({ 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}); + 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}); + const actionId = Actions.insert({actionType: "uncheckAll","checklistName":checklistName,"boardId":boardId,"desc":desc}); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, @@ -47,14 +48,15 @@ BlazeComponent.extendComponent({ 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}); + 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}); + const actionId = Actions.insert({actionType: "uncheckItem","checklistName":checklistName,"checkItemName":checkItemName,"boardId":boardId,"desc":desc}); Rules.insert({title: ruleName, triggerId: triggerId, actionId: actionId,"boardId":boardId}); } }, diff --git a/client/components/rules/actions/mailActions.js b/client/components/rules/actions/mailActions.js index 74f6659b..65b8a2d8 100644 --- a/client/components/rules/actions/mailActions.js +++ b/client/components/rules/actions/mailActions.js @@ -13,7 +13,8 @@ BlazeComponent.extendComponent({ const ruleName = this.data().ruleName.get(); const triggerId = Triggers.insert(trigger); const boardId = Session.get('currentBoard'); - const actionId = Actions.insert({actionType: "sendEmail","emailTo":emailTo,"emailSubject":emailSubject,"emailMsg":emailMsg,"boardId":boardId}); + 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}); }, }]; diff --git a/client/components/rules/ruleDetails.jade b/client/components/rules/ruleDetails.jade index 479553d1..b9a1351c 100644 --- a/client/components/rules/ruleDetails.jade +++ b/client/components/rules/ruleDetails.jade @@ -3,5 +3,16 @@ template(name="ruleDetails") h2 i.fa.fa-magic | {{{_ 'r-rule-details' }}} - = trigger - = action \ No newline at end of file + .triggers-content + .triggers-body + .triggers-main-body + div.trigger-item + div.trigger-content + div.trigger-text + = trigger + div.trigger-item + div.trigger-content + div.trigger-text + = action + + \ No newline at end of file diff --git a/client/components/rules/triggers/cardTriggers.js b/client/components/rules/triggers/cardTriggers.js index e860d806..c0a5ec1a 100644 --- a/client/components/rules/triggers/cardTriggers.js +++ b/client/components/rules/triggers/cardTriggers.js @@ -2,12 +2,11 @@ BlazeComponent.extendComponent({ onCreated() { this.subscribe('allRules'); }, - - labels(){ + labels() { const labels = Boards.findOne(Session.get('currentBoard')).labels; console.log(labels); - for(let i = 0;i Date: Fri, 14 Sep 2018 17:39:37 +0200 Subject: Beautyfied --- client/components/rules/actions/boardActions.js | 170 ++++++++++------ client/components/rules/actions/cardActions.js | 155 ++++++++++----- .../components/rules/actions/checklistActions.js | 178 +++++++++++------ client/components/rules/actions/mailActions.js | 42 ++-- client/components/rules/ruleDetails.js | 33 ++-- client/components/rules/rulesActions.js | 37 ++-- client/components/rules/rulesList.js | 6 +- client/components/rules/rulesMain.js | 72 +++---- client/components/rules/rulesTriggers.js | 29 +-- client/components/rules/triggers/boardTriggers.js | 140 ++++++++----- .../components/rules/triggers/checklistTriggers.js | 220 +++++++++++++-------- 11 files changed, 676 insertions(+), 406 deletions(-) (limited to 'client/components/rules') diff --git a/client/components/rules/actions/boardActions.js b/client/components/rules/actions/boardActions.js index 0394f601..3eda039f 100644 --- a/client/components/rules/actions/boardActions.js +++ b/client/components/rules/actions/boardActions.js @@ -3,63 +3,119 @@ BlazeComponent.extendComponent({ }, - - 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}); - } -}, -}]; -}, + 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.js b/client/components/rules/actions/cardActions.js index 0bf7428a..a6e74fe9 100644 --- a/client/components/rules/actions/cardActions.js +++ b/client/components/rules/actions/cardActions.js @@ -3,10 +3,10 @@ BlazeComponent.extendComponent({ this.subscribe('allRules'); }, - labels(){ + labels() { const labels = Boards.findOne(Session.get('currentBoard')).labels; - for(let i = 0;i