rulesMain.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. // Add user to the trigger
  40. const username = $(event.currentTarget.offsetParent).find(".user-name").val();
  41. let trigger = this.triggerVar.get();
  42. const user = Users.findOne({"username":username});
  43. if(user != undefined){
  44. trigger["userId"] = user._id;
  45. }else{
  46. trigger["userId"] = "*";
  47. }
  48. this.triggerVar.set(trigger);
  49. this.setAction();
  50. },
  51. 'click .js-show-user-field' (event) {
  52. event.preventDefault();
  53. console.log(event);
  54. console.log(event.currentTarget.offsetParent);
  55. console.log($(event.currentTarget.offsetParent));
  56. $(event.currentTarget.offsetParent).find(".user-details").removeClass("hide-element");
  57. },
  58. 'click .js-goto-rules' (event) {
  59. event.preventDefault();
  60. this.setRulesList();
  61. },
  62. 'click .js-goback' (event) {
  63. event.preventDefault();
  64. if(this.rulesCurrentTab.get() === 'trigger' || this.rulesCurrentTab.get() === 'ruleDetails' ){
  65. this.setRulesList();
  66. }
  67. if(this.rulesCurrentTab.get() === 'action'){
  68. this.setTrigger();
  69. }
  70. },
  71. 'click .js-goto-details' (event) {
  72. event.preventDefault();
  73. const rule = this.currentData();
  74. this.ruleId.set(rule._id);
  75. this.setRuleDetails();
  76. },
  77. }];
  78. },
  79. }).register('rulesMain');