mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00
118 lines
3.4 KiB
JavaScript
118 lines
3.4 KiB
JavaScript
BlazeComponent.extendComponent({
|
|
onCreated() {
|
|
this.subscribe('allRules');
|
|
},
|
|
|
|
labels() {
|
|
const labels = Boards.findOne(Session.get('currentBoard')).labels;
|
|
for (let i = 0; i < labels.length; i++) {
|
|
if (labels[i].name === '' || labels[i].name === undefined) {
|
|
labels[i].name = labels[i].color.toUpperCase();
|
|
}
|
|
}
|
|
return labels;
|
|
},
|
|
|
|
events() {
|
|
return [{
|
|
'click .js-add-label-action' (event) {
|
|
const ruleName = this.data().ruleName.get();
|
|
const trigger = this.data().triggerVar.get();
|
|
const actionSelected = this.find('#label-action').value;
|
|
const labelId = this.find('#label-id').value;
|
|
const boardId = Session.get('currentBoard');
|
|
const desc = Utils.getTriggerActionDesc(event, this);
|
|
if (actionSelected === 'add') {
|
|
const triggerId = Triggers.insert(trigger);
|
|
const actionId = Actions.insert({
|
|
actionType: 'addLabel',
|
|
labelId,
|
|
boardId,
|
|
desc,
|
|
});
|
|
Rules.insert({
|
|
title: ruleName,
|
|
triggerId,
|
|
actionId,
|
|
boardId,
|
|
});
|
|
}
|
|
if (actionSelected === 'remove') {
|
|
const triggerId = Triggers.insert(trigger);
|
|
const actionId = Actions.insert({
|
|
actionType: 'removeLabel',
|
|
labelId,
|
|
boardId,
|
|
desc,
|
|
});
|
|
Rules.insert({
|
|
title: ruleName,
|
|
triggerId,
|
|
actionId,
|
|
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 username = 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',
|
|
username,
|
|
boardId,
|
|
desc,
|
|
});
|
|
Rules.insert({
|
|
title: ruleName,
|
|
triggerId,
|
|
actionId,
|
|
boardId,
|
|
desc,
|
|
});
|
|
}
|
|
if (actionSelected === 'remove') {
|
|
const triggerId = Triggers.insert(trigger);
|
|
const actionId = Actions.insert({
|
|
actionType: 'removeMember',
|
|
username,
|
|
boardId,
|
|
desc,
|
|
});
|
|
Rules.insert({
|
|
title: ruleName,
|
|
triggerId,
|
|
actionId,
|
|
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',
|
|
'username': '*',
|
|
boardId,
|
|
desc,
|
|
});
|
|
Rules.insert({
|
|
title: ruleName,
|
|
triggerId,
|
|
actionId,
|
|
boardId,
|
|
});
|
|
},
|
|
}];
|
|
},
|
|
|
|
}).register('cardActions');
|