cardActions.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. BlazeComponent.extendComponent({
  2. onCreated() {
  3. this.subscribe('allRules');
  4. },
  5. labels() {
  6. const labels = Boards.findOne(Session.get('currentBoard')).labels;
  7. for (let i = 0; i < labels.length; i++) {
  8. if (labels[i].name === '' || labels[i].name === undefined) {
  9. labels[i].name = labels[i].color.toUpperCase();
  10. }
  11. }
  12. return labels;
  13. },
  14. events() {
  15. return [{
  16. 'click .js-add-label-action' (event) {
  17. const ruleName = this.data().ruleName.get();
  18. const trigger = this.data().triggerVar.get();
  19. const actionSelected = this.find('#label-action').value;
  20. const labelId = this.find('#label-id').value;
  21. const boardId = Session.get('currentBoard');
  22. const desc = Utils.getTriggerActionDesc(event, this);
  23. if (actionSelected === 'add') {
  24. const triggerId = Triggers.insert(trigger);
  25. const actionId = Actions.insert({
  26. actionType: 'addLabel',
  27. labelId,
  28. boardId,
  29. desc,
  30. });
  31. Rules.insert({
  32. title: ruleName,
  33. triggerId,
  34. actionId,
  35. boardId,
  36. });
  37. }
  38. if (actionSelected === 'remove') {
  39. const triggerId = Triggers.insert(trigger);
  40. const actionId = Actions.insert({
  41. actionType: 'removeLabel',
  42. labelId,
  43. boardId,
  44. desc,
  45. });
  46. Rules.insert({
  47. title: ruleName,
  48. triggerId,
  49. actionId,
  50. boardId,
  51. });
  52. }
  53. },
  54. 'click .js-add-member-action' (event) {
  55. const ruleName = this.data().ruleName.get();
  56. const trigger = this.data().triggerVar.get();
  57. const actionSelected = this.find('#member-action').value;
  58. const memberName = this.find('#member-name').value;
  59. const boardId = Session.get('currentBoard');
  60. const desc = Utils.getTriggerActionDesc(event, this);
  61. if (actionSelected === 'add') {
  62. const triggerId = Triggers.insert(trigger);
  63. const actionId = Actions.insert({
  64. actionType: 'addMember',
  65. memberName,
  66. boardId,
  67. desc,
  68. });
  69. Rules.insert({
  70. title: ruleName,
  71. triggerId,
  72. actionId,
  73. boardId,
  74. desc,
  75. });
  76. }
  77. if (actionSelected === 'remove') {
  78. const triggerId = Triggers.insert(trigger);
  79. const actionId = Actions.insert({
  80. actionType: 'removeMember',
  81. memberName,
  82. boardId,
  83. desc,
  84. });
  85. Rules.insert({
  86. title: ruleName,
  87. triggerId,
  88. actionId,
  89. boardId,
  90. });
  91. }
  92. },
  93. 'click .js-add-removeall-action' (event) {
  94. const ruleName = this.data().ruleName.get();
  95. const trigger = this.data().triggerVar.get();
  96. const triggerId = Triggers.insert(trigger);
  97. const desc = Utils.getTriggerActionDesc(event, this);
  98. const boardId = Session.get('currentBoard');
  99. const actionId = Actions.insert({
  100. actionType: 'removeMember',
  101. 'memberName': '*',
  102. boardId,
  103. desc,
  104. });
  105. Rules.insert({
  106. title: ruleName,
  107. triggerId,
  108. actionId,
  109. boardId,
  110. });
  111. },
  112. }];
  113. },
  114. }).register('cardActions');