Progress on triggers UI

This commit is contained in:
Angelo Gallarello 2018-08-16 23:37:29 +02:00
parent fda4e954eb
commit 2f24dcfc7d
6 changed files with 100 additions and 87 deletions

View file

@ -34,7 +34,7 @@ template(name="boardActivities")
.activity-checklist(href="{{ card.absoluteUrl }}") .activity-checklist(href="{{ card.absoluteUrl }}")
+viewer +viewer
= checklist.title = checklist.title
if($eq activityType 'removedChecklist') if($eq activityType 'removeChecklist')
| {{{_ 'activity-checklist-removed' cardLink}}}. | {{{_ 'activity-checklist-removed' cardLink}}}.
if($eq activityType 'checkedItem') if($eq activityType 'checkedItem')
@ -151,6 +151,9 @@ template(name="cardActivities")
if($eq activityType 'removedLabel') if($eq activityType 'removedLabel')
| {{{_ 'activity-removed-label-card' lastLabel }}}. | {{{_ 'activity-removed-label-card' lastLabel }}}.
if($eq activityType 'removeChecklist')
| {{{_ 'activity-checklist-removed' cardLabel}}}.
if($eq activityType 'checkedItem') if($eq activityType 'checkedItem')
| {{{_ 'activity-checked-item-card' checkItem checklist.title }}}. | {{{_ 'activity-checked-item-card' checkItem checklist.title }}}.

View file

@ -1,7 +1,7 @@
template(name="rulesActions") template(name="rulesActions")
h2 h2
i.fa.fa-cutlery i.fa.fa-cutlery
| Rule "#{data.ruleName}" - Add action | Rule "#{data.ruleName.get}" - Add action
.triggers-content .triggers-content
.triggers-body .triggers-body
.triggers-side-menu .triggers-side-menu

View file

@ -4,8 +4,8 @@ template(name="cardTriggers")
div.trigger-text div.trigger-text
| When a label is | When a label is
div.trigger-dropdown div.trigger-dropdown
select(id="create-action") select(id="label-action")
option(value="created") Added to option(value="added") Added to
option(value="removed") Removed from option(value="removed") Removed from
div.trigger-text div.trigger-text
| a card | a card
@ -17,19 +17,19 @@ template(name="cardTriggers")
div.trigger-text div.trigger-text
| When the label | When the label
div.trigger-dropdown div.trigger-dropdown
select(id="label") select(id="spec-label")
each labels each labels
option option(value="#{_id}")
= name = name
div.trigger-text div.trigger-text
| is | is
div.trigger-dropdown div.trigger-dropdown
select(id="create-action") select(id="spec-label-action")
option(value="created") Added to option(value="added") Added to
option(value="removed") Removed from option(value="removed") Removed from
div.trigger-text div.trigger-text
| a card | 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 i.fa.fa-plus
div.trigger-item div.trigger-item
@ -37,12 +37,12 @@ template(name="cardTriggers")
div.trigger-text div.trigger-text
| When a member is | When a member is
div.trigger-dropdown div.trigger-dropdown
select(id="create-action") select(id="gen-member-action")
option(value="created") Added to option(value="added") Added to
option(value="removed") Removed from option(value="removed") Removed from
div.trigger-text div.trigger-text
| a card | 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 i.fa.fa-plus
@ -51,16 +51,16 @@ template(name="cardTriggers")
div.trigger-text div.trigger-text
| When the member | When the member
div.trigger-dropdown div.trigger-dropdown
input(id="create-list-name",type=text,placeholder="name") input(id="spec-member",type=text,placeholder="name")
div.trigger-text div.trigger-text
| is | is
div.trigger-dropdown div.trigger-dropdown
select(id="create-action") select(id="spec-member-action")
option(value="created") Added to option(value="added") Added to
option(value="removed") Removed from option(value="removed") Removed from
div.trigger-text div.trigger-text
| a card | 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 i.fa.fa-plus
div.trigger-item div.trigger-item
@ -70,8 +70,8 @@ template(name="cardTriggers")
div.trigger-text div.trigger-text
| is | is
div.trigger-dropdown div.trigger-dropdown
select(id="create-action") select(id="attach-action")
option(value="created") Added to option(value="added") Added to
option(value="removed") Removed from option(value="removed") Removed from
div.trigger-text div.trigger-text
| a card | a card

View file

@ -16,87 +16,86 @@ BlazeComponent.extendComponent({
}, },
events() { events() {
return [ return [
{'click .js-add-gen-trigger'(event) { {'click .js-add-gen-label-trigger'(event) {
let datas = this.data(); let datas = this.data();
const actionSelected = this.find('#gen-action').value; const actionSelected = this.find('#label-action').value;
const boardId = Session.get('currentBoard') const boardId = Session.get('currentBoard')
if(actionSelected == "created"){ if(actionSelected == "added"){
Triggers.insert({activityType: "createCard","boardId":boardId,"listId":"*"},function(error,id){ Triggers.insert({activityType: "addedLabel","boardId":boardId,"labelId":"*"},function(error,id){
datas.triggerIdVar.set(id); datas.triggerIdVar.set(id);
}); });
} }
if(actionSelected == "removed"){ 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); datas.triggerIdVar.set(id);
}); });
} }
}, },
'click .js-add-create-trigger'(event) { 'click .js-add-spec-label-trigger'(event) {
let datas = this.data(); let datas = this.data();
const actionSelected = this.find('#create-action').value; const actionSelected = this.find('#spec-label-action').value;
const listName = this.find('#create-list-name').value; const labelId = this.find('#spec-label').value;
const boardId = Session.get('currentBoard') const boardId = Session.get('currentBoard')
const list = Lists.findOne({title:listName}); if(actionSelected == "added"){
let listId; Triggers.insert({activityType: "addedLabel","boardId":boardId,"labelId":labelId},function(error,id){
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); datas.triggerIdVar.set(id);
}); });
} }
if(actionSelected == "removed"){ 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); 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 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);
});
}
}
let datas = this.data();
const actionSelected = this.find('#gen-member-action').value;
const boardId = Session.get('currentBoard')
if(actionSelected == "added"){
Triggers.insert({activityType: "joinMember","boardId":boardId,"memberId":"*"},function(error,id){
datas.triggerIdVar.set(id);
});
}
if(actionSelected == "removed"){
Triggers.insert({activityType: "unjoinMember","boardId":boardId,"memberId":"*"},function(error,id){
datas.triggerIdVar.set(id);
});
}
},
'click .js-add-spec-member-trigger'(event) {
let datas = this.data();
const actionSelected = this.find('#spec-member-action').value;
const memberId = this.find('#spec-member').value;
const boardId = Session.get('currentBoard')
if(actionSelected == "added"){
Triggers.insert({activityType: "joinMember","boardId":boardId,"memberId":memberId},function(error,id){
datas.triggerIdVar.set(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);
});
}
},
}]; }];
}, },

View file

@ -1,6 +1,4 @@
RulesHelper = { RulesHelper = {
executeRules(activity){ executeRules(activity){
const matchingRules = this.findMatchingRules(activity); const matchingRules = this.findMatchingRules(activity);
console.log(matchingRules); console.log(matchingRules);
@ -33,7 +31,7 @@ RulesHelper = {
return matchingRules; return matchingRules;
}, },
buildMatchingFieldsMap(activity, matchingFields){ buildMatchingFieldsMap(activity, matchingFields){
let matchingMap = {}; let matchingMap = {"activityType":activity.activityType};
for(let i = 0;i< matchingFields.length;i++){ for(let i = 0;i< matchingFields.length;i++){
// Creating a matching map with the actual field of the activity // Creating a matching map with the actual field of the activity
// and with the wildcard (for example: trigger when a card is added // and with the wildcard (for example: trigger when a card is added

View file

@ -14,7 +14,7 @@ TriggersDef = {
joinMember:{ joinMember:{
matchingFields: ["boardId","memberId"] matchingFields: ["boardId","memberId"]
}, },
unJoinMember:{ unjoinMember:{
matchingFields: ["boardId","memberId"] matchingFields: ["boardId","memberId"]
}, },
addChecklist:{ addChecklist:{
@ -23,23 +23,36 @@ TriggersDef = {
removeChecklist:{ removeChecklist:{
matchingFields: ["boardId","checklistId"] matchingFields: ["boardId","checklistId"]
}, },
addChecklistItem:{ completeChecklist:{
matchingFields: ["boardId","checklistId"]
},
uncompleteChecklist:{
matchingFields: ["boardId","checklistId"]
},
addedChecklistItem:{
matchingFields: ["boardId","checklistItemId"]
},
removedChecklistItem:{
matchingFields: ["boardId","checklistItemId"] matchingFields: ["boardId","checklistItemId"]
}, },
checkedItem:{ checkedItem:{
matchingFields: ["boardId","checklistId"] matchingFields: ["boardId","checklistItemId"]
}, },
uncheckedItem:{ uncheckedItem:{
matchingFields: ["boardId","checklistItemId"] matchingFields: ["boardId","checklistItemId"]
}, },
addAttachment:{ addAttachment:{
matchingFields: ["boardId","checklistId"] matchingFields: ["boardId"]
}, },
deleteAttachment:{ deleteAttachment:{
matchingFields: ["boardId","checklistItemId"] matchingFields: ["boardId"]
},
addedLabel:{
matchingFields: ["boardId","labelId"]
},
removedLabel:{
matchingFields: ["boardId","labelId"]
} }
} }