summaryrefslogtreecommitdiffstats
path: root/client/components/rules/triggers/boardTriggers.js
blob: 66ee337ac1b2e375ba2292d0e92fff1eda986353 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
BlazeComponent.extendComponent({
  onCreated() {
    this.provaVar = new ReactiveVar('');
    this.currentPopupTriggerId = 'def';
    this.cardTitleFilters = {};
  },
  setNameFilter(name) {
    this.cardTitleFilters[this.currentPopupTriggerId] = name;
  },

  events() {
    return [
      {
        'click .js-open-card-title-popup'(event) {
          const funct = Popup.open('boardCardTitle');
          const divId = $(event.currentTarget.parentNode.parentNode).attr('id');
          //console.log('current popup');
          //console.log(this.currentPopupTriggerId);
          this.currentPopupTriggerId = divId;
          funct.call(this, event);
        },
        'click .js-add-create-trigger'(event) {
          const desc = Utils.getTriggerActionDesc(event, this);
          const datas = this.data();
          const listName = this.find('#create-list-name').value;
          const swimlaneName = this.find('#create-swimlane-name').value;
          const boardId = Session.get('currentBoard');
          const divId = $(event.currentTarget.parentNode).attr('id');
          const cardTitle = this.cardTitleFilters[divId];
          // move to generic funciont
          datas.triggerVar.set({
            activityType: 'createCard',
            boardId,
            cardTitle,
            swimlaneName,
            listName,
            desc,
          });
        },
        'click .js-add-moved-trigger'(event) {
          const datas = this.data();
          const desc = Utils.getTriggerActionDesc(event, this);
          const swimlaneName = this.find('#create-swimlane-name-2').value;
          const actionSelected = this.find('#move-action').value;
          const listName = this.find('#move-list-name').value;
          const boardId = Session.get('currentBoard');
          const divId = $(event.currentTarget.parentNode).attr('id');
          const cardTitle = this.cardTitleFilters[divId];
          if (actionSelected === 'moved-to') {
            datas.triggerVar.set({
              activityType: 'moveCard',
              boardId,
              listName,
              cardTitle,
              swimlaneName,
              oldListName: '*',
              desc,
            });
          }
          if (actionSelected === 'moved-from') {
            datas.triggerVar.set({
              activityType: 'moveCard',
              boardId,
              cardTitle,
              swimlaneName,
              listName: '*',
              oldListName: listName,
              desc,
            });
          }
        },
        'click .js-add-gen-moved-trigger'(event) {
          const datas = this.data();
          const desc = Utils.getTriggerActionDesc(event, this);
          const boardId = Session.get('currentBoard');

          datas.triggerVar.set({
            activityType: 'moveCard',
            boardId,
            swimlaneName: '*',
            listName: '*',
            oldListName: '*',
            desc,
          });
        },
        'click .js-add-arc-trigger'(event) {
          const datas = this.data();
          const desc = Utils.getTriggerActionDesc(event, this);
          const actionSelected = this.find('#arch-action').value;
          const boardId = Session.get('currentBoard');
          if (actionSelected === 'archived') {
            datas.triggerVar.set({
              activityType: 'archivedCard',
              boardId,
              desc,
            });
          }
          if (actionSelected === 'unarchived') {
            datas.triggerVar.set({
              activityType: 'restoredCard',
              boardId,
              desc,
            });
          }
        },
      },
    ];
  },
}).register('boardTriggers');

Template.boardCardTitlePopup.events({
  submit(event, templateInstance) {
    const title = templateInstance
      .$('.js-card-filter-name')
      .val()
      .trim();
    Popup.getOpenerComponent().setNameFilter(title);
    event.preventDefault();
    Popup.close();
  },
});