mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 15:30:13 +01:00
Finished triggers improvements
This commit is contained in:
parent
196fef3a1b
commit
25968a35cc
7 changed files with 88 additions and 67 deletions
|
|
@ -6,10 +6,4 @@ template(name="rulesMain")
|
||||||
if($eq rulesCurrentTab.get 'action')
|
if($eq rulesCurrentTab.get 'action')
|
||||||
+rulesActions(ruleName=ruleName triggerVar=triggerVar)
|
+rulesActions(ruleName=ruleName triggerVar=triggerVar)
|
||||||
if($eq rulesCurrentTab.get 'ruleDetails')
|
if($eq rulesCurrentTab.get 'ruleDetails')
|
||||||
+ruleDetails(ruleId=ruleId)
|
+ruleDetails(ruleId=ruleId)
|
||||||
|
|
||||||
template(name="boardCardTitlePopup")
|
|
||||||
form
|
|
||||||
label
|
|
||||||
| Card Title Filter
|
|
||||||
input.js-board-name(type="text" value=title autofocus)
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
BlazeComponent.extendComponent({
|
let rulesMainComponent = BlazeComponent.extendComponent({
|
||||||
onCreated() {
|
onCreated() {
|
||||||
this.rulesCurrentTab = new ReactiveVar('rulesList');
|
this.rulesCurrentTab = new ReactiveVar('rulesList');
|
||||||
this.ruleName = new ReactiveVar('');
|
this.ruleName = new ReactiveVar('');
|
||||||
|
|
@ -9,7 +9,13 @@ BlazeComponent.extendComponent({
|
||||||
setTrigger() {
|
setTrigger() {
|
||||||
this.rulesCurrentTab.set('trigger');
|
this.rulesCurrentTab.set('trigger');
|
||||||
},
|
},
|
||||||
|
sanitizeObject(obj){
|
||||||
|
Object.keys(obj).forEach(key =>{
|
||||||
|
if(obj[key] == "" || obj[key] == undefined){
|
||||||
|
obj[key] = "*";
|
||||||
|
}}
|
||||||
|
);
|
||||||
|
},
|
||||||
setRulesList() {
|
setRulesList() {
|
||||||
this.rulesCurrentTab.set('rulesList');
|
this.rulesCurrentTab.set('rulesList');
|
||||||
},
|
},
|
||||||
|
|
@ -31,7 +37,6 @@ BlazeComponent.extendComponent({
|
||||||
Triggers.remove(rule.triggerId);
|
Triggers.remove(rule.triggerId);
|
||||||
|
|
||||||
},
|
},
|
||||||
'click .js-open-card-title-popup': Popup.open('boardCardTitle'),
|
|
||||||
'click .js-goto-trigger' (event) {
|
'click .js-goto-trigger' (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const ruleTitle = this.find('#ruleTitle').value;
|
const ruleTitle = this.find('#ruleTitle').value;
|
||||||
|
|
@ -46,23 +51,23 @@ BlazeComponent.extendComponent({
|
||||||
// Add user to the trigger
|
// Add user to the trigger
|
||||||
const username = $(event.currentTarget.offsetParent).find(".user-name").val();
|
const username = $(event.currentTarget.offsetParent).find(".user-name").val();
|
||||||
let trigger = this.triggerVar.get();
|
let trigger = this.triggerVar.get();
|
||||||
const user = Users.findOne({"username":username});
|
trigger["userId"] = "*";
|
||||||
if(user != undefined){
|
if(username != undefined ){
|
||||||
trigger["userId"] = user._id;
|
const userFound = Users.findOne({"username":username});
|
||||||
}else{
|
if(userFound != undefined){
|
||||||
trigger["userId"] = "*";
|
trigger["userId"] = userFound._id;
|
||||||
|
this.triggerVar.set(trigger);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
// Sanitize trigger
|
||||||
|
trigger = this.triggerVar.get();
|
||||||
|
this.sanitizeObject(trigger)
|
||||||
this.triggerVar.set(trigger);
|
this.triggerVar.set(trigger);
|
||||||
this.setAction();
|
this.setAction();
|
||||||
},
|
},
|
||||||
'click .js-show-user-field' (event) {
|
'click .js-show-user-field' (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
console.log(event);
|
|
||||||
console.log(event.currentTarget.offsetParent);
|
|
||||||
console.log($(event.currentTarget.offsetParent));
|
|
||||||
$(event.currentTarget.offsetParent).find(".user-details").removeClass("hide-element");
|
$(event.currentTarget.offsetParent).find(".user-details").removeClass("hide-element");
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
'click .js-goto-rules' (event) {
|
'click .js-goto-rules' (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
@ -88,3 +93,6 @@ BlazeComponent.extendComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
}).register('rulesMain');
|
}).register('rulesMain');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,28 +1,12 @@
|
||||||
template(name="boardTriggers")
|
template(name="boardTriggers")
|
||||||
div.trigger-item
|
div.trigger-item#trigger-two
|
||||||
div.trigger-content
|
div.trigger-content
|
||||||
div.trigger-text
|
div.trigger-text
|
||||||
| {{_'r-when-a-card-is'}}
|
| {{_'r-when-a-card'}}
|
||||||
div.trigger-text
|
|
||||||
| {{_'r-added-to'}}
|
|
||||||
div.trigger-text
|
|
||||||
| {{_'r-the-board'}}
|
|
||||||
div.trigger-button.trigger-button-person.js-show-user-field
|
|
||||||
i.fa.fa-user
|
|
||||||
div.user-details.hide-element
|
|
||||||
div.trigger-text
|
|
||||||
| {{_'r-by'}}
|
|
||||||
div.trigger-dropdown
|
|
||||||
input(class="user-name",type=text,placeholder="{{_'r-user-name'}}")
|
|
||||||
div.trigger-button.js-add-gen-trigger.js-goto-action
|
|
||||||
i.fa.fa-plus
|
|
||||||
|
|
||||||
div.trigger-item
|
|
||||||
div.trigger-content
|
|
||||||
div.trigger-text
|
|
||||||
| {{_'r-when-a-card-is'}}
|
|
||||||
div.trigger-inline-button.js-open-card-title-popup
|
div.trigger-inline-button.js-open-card-title-popup
|
||||||
i.fa.fa-filter
|
i.fa.fa-filter
|
||||||
|
div.trigger-text
|
||||||
|
| {{_'r-is'}}
|
||||||
div.trigger-text
|
div.trigger-text
|
||||||
| {{_'r-added-to'}}
|
| {{_'r-added-to'}}
|
||||||
div.trigger-text
|
div.trigger-text
|
||||||
|
|
@ -43,10 +27,14 @@ template(name="boardTriggers")
|
||||||
div.trigger-button.js-add-create-trigger.js-goto-action
|
div.trigger-button.js-add-create-trigger.js-goto-action
|
||||||
i.fa.fa-plus
|
i.fa.fa-plus
|
||||||
|
|
||||||
div.trigger-item
|
div.trigger-item#trigger-three
|
||||||
div.trigger-content
|
div.trigger-content
|
||||||
div.trigger-text
|
div.trigger-text
|
||||||
| {{_'r-when-a-card-is-moved'}}
|
| {{_'r-when-a-card'}}
|
||||||
|
div.trigger-inline-button.js-open-card-title-popup
|
||||||
|
i.fa.fa-filter
|
||||||
|
div.trigger-text
|
||||||
|
| {{_'r-is-moved'}}
|
||||||
div.trigger-button.trigger-button-person.js-show-user-field
|
div.trigger-button.trigger-button-person.js-show-user-field
|
||||||
i.fa.fa-user
|
i.fa.fa-user
|
||||||
div.user-details.hide-element
|
div.user-details.hide-element
|
||||||
|
|
@ -57,10 +45,14 @@ template(name="boardTriggers")
|
||||||
div.trigger-button.js-add-gen-moved-trigger.js-goto-action
|
div.trigger-button.js-add-gen-moved-trigger.js-goto-action
|
||||||
i.fa.fa-plus
|
i.fa.fa-plus
|
||||||
|
|
||||||
div.trigger-item
|
div.trigger-item#trigger-four
|
||||||
div.trigger-content
|
div.trigger-content
|
||||||
div.trigger-text
|
div.trigger-text
|
||||||
| {{_'r-when-a-card-is'}}
|
| {{_'r-when-a-card'}}
|
||||||
|
div.trigger-inline-button.js-open-card-title-popup
|
||||||
|
i.fa.fa-filter
|
||||||
|
div.trigger-text
|
||||||
|
| {{_'r-is'}}
|
||||||
div.trigger-dropdown
|
div.trigger-dropdown
|
||||||
select(id="move-action")
|
select(id="move-action")
|
||||||
option(value="moved-to") {{_'r-moved-to'}}
|
option(value="moved-to") {{_'r-moved-to'}}
|
||||||
|
|
@ -84,10 +76,14 @@ template(name="boardTriggers")
|
||||||
div.trigger-button.js-add-moved-trigger.js-goto-action
|
div.trigger-button.js-add-moved-trigger.js-goto-action
|
||||||
i.fa.fa-plus
|
i.fa.fa-plus
|
||||||
|
|
||||||
div.trigger-item
|
div.trigger-item#trigger-five
|
||||||
div.trigger-content
|
div.trigger-content
|
||||||
div.trigger-text
|
div.trigger-text
|
||||||
| {{_'r-when-a-card-is'}}
|
| {{_'r-when-a-card'}}
|
||||||
|
div.trigger-inline-button.js-open-card-title-popup
|
||||||
|
i.fa.fa-filter
|
||||||
|
div.trigger-text
|
||||||
|
| {{_'r-is'}}
|
||||||
div.trigger-dropdown
|
div.trigger-dropdown
|
||||||
select(id="arch-action")
|
select(id="arch-action")
|
||||||
option(value="archived") {{_'r-archived'}}
|
option(value="archived") {{_'r-archived'}}
|
||||||
|
|
@ -102,6 +98,12 @@ template(name="boardTriggers")
|
||||||
div.trigger-button.js-add-arch-trigger.js-goto-action
|
div.trigger-button.js-add-arch-trigger.js-goto-action
|
||||||
i.fa.fa-plus
|
i.fa.fa-plus
|
||||||
|
|
||||||
|
template(name="boardCardTitlePopup")
|
||||||
|
form
|
||||||
|
label
|
||||||
|
| Card Title Filter
|
||||||
|
input.js-card-filter-name(type="text" value=title autofocus)
|
||||||
|
input.js-card-filter-button.primary.wide(type="submit" value="{{_ 'set-filter'}}")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,34 +1,36 @@
|
||||||
BlazeComponent.extendComponent({
|
BlazeComponent.extendComponent({
|
||||||
onCreated() {
|
onCreated() {
|
||||||
|
this.provaVar = new ReactiveVar('');
|
||||||
|
this.currentPopupTriggerId = "def";
|
||||||
|
this.cardTitleFilters = {};
|
||||||
|
},
|
||||||
|
setNameFilter(name){
|
||||||
|
this.cardTitleFilters[this.currentPopupTriggerId] = name;
|
||||||
},
|
},
|
||||||
|
|
||||||
events() {
|
events() {
|
||||||
return [{
|
return [{
|
||||||
'click .js-add-gen-trigger' (event) {
|
'click .js-open-card-title-popup'(event){
|
||||||
const desc = Utils.getTriggerActionDesc(event, this);
|
var funct = Popup.open('boardCardTitle');
|
||||||
const datas = this.data();
|
let divId = $(event.currentTarget.parentNode.parentNode).attr("id");
|
||||||
const boardId = Session.get('currentBoard');
|
console.log("current popup");
|
||||||
datas.triggerVar.set({
|
console.log(this.currentPopupTriggerId);
|
||||||
activityType: 'createCard',
|
this.currentPopupTriggerId = divId;
|
||||||
boardId,
|
funct.call(this,event);
|
||||||
'listName': '*',
|
|
||||||
desc,
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
},
|
||||||
'click .js-add-create-trigger' (event) {
|
'click .js-add-create-trigger' (event) {
|
||||||
const desc = Utils.getTriggerActionDesc(event, this);
|
const desc = Utils.getTriggerActionDesc(event, this);
|
||||||
const datas = this.data();
|
const datas = this.data();
|
||||||
const listName = this.find('#create-list-name').value;
|
const listName = this.find('#create-list-name').value;
|
||||||
const swimlaneName = this.find('#create-swimlane-name').value;
|
const swimlaneName = this.find('#create-swimlane-name').value;
|
||||||
if(swimlaneName == undefined || swimlaneName == ""){
|
|
||||||
swimlaneName = "*";
|
|
||||||
}
|
|
||||||
const boardId = Session.get('currentBoard');
|
const boardId = Session.get('currentBoard');
|
||||||
|
const divId = $(event.currentTarget.parentNode).attr("id");
|
||||||
|
const cardTitle = this.cardTitleFilters[divId];
|
||||||
|
// move to generic funciont
|
||||||
datas.triggerVar.set({
|
datas.triggerVar.set({
|
||||||
activityType: 'createCard',
|
activityType: 'createCard',
|
||||||
boardId,
|
boardId,
|
||||||
|
cardTitle,
|
||||||
swimlaneName,
|
swimlaneName,
|
||||||
listName,
|
listName,
|
||||||
desc,
|
desc,
|
||||||
|
|
@ -41,9 +43,6 @@ BlazeComponent.extendComponent({
|
||||||
const actionSelected = this.find('#move-action').value;
|
const actionSelected = this.find('#move-action').value;
|
||||||
const listName = this.find('#move-list-name').value;
|
const listName = this.find('#move-list-name').value;
|
||||||
const boardId = Session.get('currentBoard');
|
const boardId = Session.get('currentBoard');
|
||||||
if(swimlaneName == undefined || swimlaneName == ""){
|
|
||||||
swimlaneName = "*";
|
|
||||||
}
|
|
||||||
if (actionSelected === 'moved-to') {
|
if (actionSelected === 'moved-to') {
|
||||||
datas.triggerVar.set({
|
datas.triggerVar.set({
|
||||||
activityType: 'moveCard',
|
activityType: 'moveCard',
|
||||||
|
|
@ -71,8 +70,9 @@ BlazeComponent.extendComponent({
|
||||||
const boardId = Session.get('currentBoard');
|
const boardId = Session.get('currentBoard');
|
||||||
|
|
||||||
datas.triggerVar.set({
|
datas.triggerVar.set({
|
||||||
activityType: 'moveCard',
|
'activityType': 'moveCard',
|
||||||
boardId,
|
boardId,
|
||||||
|
'swimlaneName': '*',
|
||||||
'listName':'*',
|
'listName':'*',
|
||||||
'oldListName': '*',
|
'oldListName': '*',
|
||||||
desc,
|
desc,
|
||||||
|
|
@ -103,3 +103,16 @@ BlazeComponent.extendComponent({
|
||||||
},
|
},
|
||||||
|
|
||||||
}).register('boardTriggers');
|
}).register('boardTriggers');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Template.boardCardTitlePopup.events({
|
||||||
|
submit(evt, tpl) {
|
||||||
|
const title = tpl.$('.js-card-filter-name').val().trim();
|
||||||
|
Popup.getOpenerComponent().setNameFilter(title);
|
||||||
|
evt.preventDefault();
|
||||||
|
Popup.close();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -538,11 +538,14 @@
|
||||||
"r-delete-rule": "Delete rule",
|
"r-delete-rule": "Delete rule",
|
||||||
"r-new-rule-name": "New rule title",
|
"r-new-rule-name": "New rule title",
|
||||||
"r-no-rules": "No rules",
|
"r-no-rules": "No rules",
|
||||||
"r-when-a-card-is": "When a card is",
|
"r-when-a-card": "When a card",
|
||||||
|
"r-is": "is",
|
||||||
|
"r-is-moved": "is moved",
|
||||||
"r-added-to": "Added to",
|
"r-added-to": "Added to",
|
||||||
"r-removed-from": "Removed from",
|
"r-removed-from": "Removed from",
|
||||||
"r-the-board": "the board",
|
"r-the-board": "the board",
|
||||||
"r-list": "list",
|
"r-list": "list",
|
||||||
|
"set-filter":"Set Filter",
|
||||||
"r-moved-to": "Moved to",
|
"r-moved-to": "Moved to",
|
||||||
"r-moved-from": "Moved from",
|
"r-moved-from": "Moved from",
|
||||||
"r-archived": "Moved to Archive",
|
"r-archived": "Moved to Archive",
|
||||||
|
|
|
||||||
|
|
@ -1238,6 +1238,7 @@ function cardCreation(userId, doc) {
|
||||||
listName: Lists.findOne(doc.listId).title,
|
listName: Lists.findOne(doc.listId).title,
|
||||||
listId: doc.listId,
|
listId: doc.listId,
|
||||||
cardId: doc._id,
|
cardId: doc._id,
|
||||||
|
cardTitle:doc.title,
|
||||||
swimlaneName: Swimlanes.findOne(doc.swimlaneId).title,
|
swimlaneName: Swimlanes.findOne(doc.swimlaneId).title,
|
||||||
swimlaneId: doc.swimlaneId,
|
swimlaneId: doc.swimlaneId,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
TriggersDef = {
|
TriggersDef = {
|
||||||
createCard:{
|
createCard:{
|
||||||
matchingFields: ['boardId', 'listName','userId','swimlaneName'],
|
matchingFields: ['boardId', 'listName','userId','swimlaneName','cardTitle'],
|
||||||
},
|
},
|
||||||
moveCard:{
|
moveCard:{
|
||||||
matchingFields: ['boardId', 'listName', 'oldListName','userId','swimlaneName'],
|
matchingFields: ['boardId', 'listName', 'oldListName','userId','swimlaneName'],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue