wekan/client/components/rules/rulesMain.js

71 lines
1.8 KiB
JavaScript
Raw Normal View History

2018-08-15 18:47:09 +02:00
BlazeComponent.extendComponent({
onCreated() {
2018-09-16 01:50:36 +03:00
this.rulesCurrentTab = new ReactiveVar('rulesList');
this.ruleName = new ReactiveVar('');
2018-08-19 18:53:50 +02:00
this.triggerVar = new ReactiveVar();
2018-09-12 00:52:29 +02:00
this.ruleId = new ReactiveVar();
2018-08-15 18:47:09 +02:00
},
setTrigger() {
2018-09-16 01:50:36 +03:00
this.rulesCurrentTab.set('trigger');
2018-08-15 18:47:09 +02:00
},
setRulesList() {
2018-09-16 01:50:36 +03:00
this.rulesCurrentTab.set('rulesList');
2018-08-15 18:47:09 +02:00
},
setAction() {
2018-09-16 01:50:36 +03:00
this.rulesCurrentTab.set('action');
2018-09-12 00:52:29 +02:00
},
2018-09-16 01:50:36 +03:00
2018-09-12 00:52:29 +02:00
setRuleDetails() {
2018-09-16 01:50:36 +03:00
this.rulesCurrentTab.set('ruleDetails');
2018-08-15 18:47:09 +02:00
},
events() {
2018-09-14 17:39:37 +02:00
return [{
2018-10-07 17:27:26 +02:00
'click .js-delete-rule' () {
2018-09-14 17:39:37 +02:00
const rule = this.currentData();
Rules.remove(rule._id);
Actions.remove(rule.actionId);
Triggers.remove(rule.triggerId);
},
'click .js-goto-trigger' (event) {
event.preventDefault();
const ruleTitle = this.find('#ruleTitle').value;
if(ruleTitle !== undefined && ruleTitle !== ''){
2018-10-07 18:19:51 +02:00
this.find('#ruleTitle').value = '';
this.ruleName.set(ruleTitle);
this.setTrigger();
}
2018-09-14 17:39:37 +02:00
},
'click .js-goto-action' (event) {
event.preventDefault();
this.setAction();
},
'click .js-goto-rules' (event) {
event.preventDefault();
this.setRulesList();
},
2018-10-07 17:47:01 +02:00
'click .js-goback' (event) {
event.preventDefault();
if(this.rulesCurrentTab.get() === 'trigger' || this.rulesCurrentTab.get() === 'ruleDetails' ){
this.setRulesList();
}
if(this.rulesCurrentTab.get() === 'action'){
this.setTrigger();
}
},
2018-09-14 17:39:37 +02:00
'click .js-goto-details' (event) {
event.preventDefault();
const rule = this.currentData();
2018-09-16 01:50:36 +03:00
this.ruleId.set(rule._id);
2018-09-14 17:39:37 +02:00
this.setRuleDetails();
},
}];
2018-08-15 18:47:09 +02:00
},
2018-09-16 01:50:36 +03:00
}).register('rulesMain');