The Open Source kanban (built with Meteor). Keep variable/table/field names camelCase. For translations, only add Pull Request changes to wekan/i18n/en.i18n.json , other translations are done at https://transifex.com/wekan/wekan only.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wekan/client/components/rules/rulesMain.js

91 lines
2.5 KiB

BlazeComponent.extendComponent({
onCreated() {
7 years ago
this.rulesCurrentTab = new ReactiveVar('rulesList');
this.ruleName = new ReactiveVar('');
7 years ago
this.triggerVar = new ReactiveVar();
this.ruleId = new ReactiveVar();
},
setTrigger() {
7 years ago
this.rulesCurrentTab.set('trigger');
},
setRulesList() {
7 years ago
this.rulesCurrentTab.set('rulesList');
},
setAction() {
7 years ago
this.rulesCurrentTab.set('action');
},
7 years ago
setRuleDetails() {
7 years ago
this.rulesCurrentTab.set('ruleDetails');
},
events() {
7 years ago
return [{
'click .js-delete-rule' () {
7 years ago
const rule = this.currentData();
Rules.remove(rule._id);
Actions.remove(rule.actionId);
Triggers.remove(rule.triggerId);
},
7 years ago
'click .js-open-card-title-popup': Popup.open('boardCardTitle'),
7 years ago
'click .js-goto-trigger' (event) {
event.preventDefault();
const ruleTitle = this.find('#ruleTitle').value;
if(ruleTitle !== undefined && ruleTitle !== ''){
this.find('#ruleTitle').value = '';
this.ruleName.set(ruleTitle);
this.setTrigger();
}
7 years ago
},
'click .js-goto-action' (event) {
event.preventDefault();
// Add user to the trigger
const username = $(event.currentTarget.offsetParent).find(".user-name").val();
let trigger = this.triggerVar.get();
const user = Users.findOne({"username":username});
if(user != undefined){
trigger["userId"] = user._id;
}else{
trigger["userId"] = "*";
}
this.triggerVar.set(trigger);
7 years ago
this.setAction();
},
'click .js-show-user-field' (event) {
event.preventDefault();
console.log(event);
console.log(event.currentTarget.offsetParent);
console.log($(event.currentTarget.offsetParent));
$(event.currentTarget.offsetParent).find(".user-details").removeClass("hide-element");
7 years ago
},
'click .js-goto-rules' (event) {
event.preventDefault();
this.setRulesList();
},
'click .js-goback' (event) {
event.preventDefault();
if(this.rulesCurrentTab.get() === 'trigger' || this.rulesCurrentTab.get() === 'ruleDetails' ){
this.setRulesList();
}
if(this.rulesCurrentTab.get() === 'action'){
this.setTrigger();
}
},
7 years ago
'click .js-goto-details' (event) {
event.preventDefault();
const rule = this.currentData();
7 years ago
this.ruleId.set(rule._id);
7 years ago
this.setRuleDetails();
},
}];
},
7 years ago
}).register('rulesMain');