rulesMain.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. BlazeComponent.extendComponent({
  2. onCreated() {
  3. this.rulesCurrentTab = new ReactiveVar('rulesList');
  4. this.ruleName = new ReactiveVar('');
  5. this.triggerVar = new ReactiveVar();
  6. this.ruleId = new ReactiveVar();
  7. },
  8. setTrigger() {
  9. this.rulesCurrentTab.set('trigger');
  10. },
  11. setRulesList() {
  12. this.rulesCurrentTab.set('rulesList');
  13. },
  14. setAction() {
  15. this.rulesCurrentTab.set('action');
  16. },
  17. setRuleDetails() {
  18. this.rulesCurrentTab.set('ruleDetails');
  19. },
  20. events() {
  21. return [{
  22. 'click .js-delete-rule' () {
  23. const rule = this.currentData();
  24. Rules.remove(rule._id);
  25. Actions.remove(rule.actionId);
  26. Triggers.remove(rule.triggerId);
  27. },
  28. 'click .js-goto-trigger' (event) {
  29. event.preventDefault();
  30. const ruleTitle = this.find('#ruleTitle').value;
  31. if(ruleTitle !== undefined && ruleTitle !== ''){
  32. this.find('#ruleTitle').value = '';
  33. this.ruleName.set(ruleTitle);
  34. this.setTrigger();
  35. }
  36. },
  37. 'click .js-goto-action' (event) {
  38. event.preventDefault();
  39. this.setAction();
  40. },
  41. 'click .js-goto-rules' (event) {
  42. event.preventDefault();
  43. this.setRulesList();
  44. },
  45. 'click .js-goback' (event) {
  46. event.preventDefault();
  47. if(this.rulesCurrentTab.get() === 'trigger' || this.rulesCurrentTab.get() === 'ruleDetails' ){
  48. this.setRulesList();
  49. }
  50. if(this.rulesCurrentTab.get() === 'action'){
  51. this.setTrigger();
  52. }
  53. },
  54. 'click .js-goto-details' (event) {
  55. event.preventDefault();
  56. const rule = this.currentData();
  57. this.ruleId.set(rule._id);
  58. this.setRuleDetails();
  59. },
  60. }];
  61. },
  62. }).register('rulesMain');