summaryrefslogtreecommitdiffstats
path: root/client/components/rules/actions/cardActions.js
diff options
context:
space:
mode:
Diffstat (limited to 'client/components/rules/actions/cardActions.js')
-rw-r--r--client/components/rules/actions/cardActions.js119
1 files changed, 119 insertions, 0 deletions
diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js
new file mode 100644
index 00000000..a6e74fe9
--- /dev/null
+++ b/client/components/rules/actions/cardActions.js
@@ -0,0 +1,119 @@
+BlazeComponent.extendComponent({
+ onCreated() {
+ this.subscribe('allRules');
+ },
+
+ labels() {
+ const labels = Boards.findOne(Session.get('currentBoard')).labels;
+ for (let i = 0; i < labels.length; i++) {
+ if (labels[i].name == "" || labels[i].name == undefined) {
+ labels[i].name = labels[i].color.toUpperCase();
+ }
+ }
+ console.log(labels);
+ return labels;
+ },
+
+ events() {
+ return [{
+ 'click .js-add-label-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#label-action').value;
+ const labelId = this.find('#label-id').value;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "add") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "addLabel",
+ "labelId": labelId,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ if (actionSelected == "remove") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "removeLabel",
+ "labelId": labelId,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+
+ },
+ 'click .js-add-member-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const actionSelected = this.find('#member-action').value;
+ const memberName = this.find('#member-name').value;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+ if (actionSelected == "add") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "addMember",
+ "memberName": memberName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId,
+ "desc": desc
+ });
+ }
+ if (actionSelected == "remove") {
+ const triggerId = Triggers.insert(trigger);
+ const actionId = Actions.insert({
+ actionType: "removeMember",
+ "memberName": memberName,
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ }
+ },
+ 'click .js-add-removeall-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const triggerId = Triggers.insert(trigger);
+ const desc = Utils.getTriggerActionDesc(event, this);
+ const boardId = Session.get('currentBoard');
+ const actionId = Actions.insert({
+ actionType: "removeMember",
+ "memberName": "*",
+ "boardId": boardId,
+ "desc": desc
+ });
+ Rules.insert({
+ title: ruleName,
+ triggerId: triggerId,
+ actionId: actionId,
+ "boardId": boardId
+ });
+ },
+ }];
+ },
+
+}).register('cardActions'); \ No newline at end of file