summaryrefslogtreecommitdiffstats
path: root/client/components
diff options
context:
space:
mode:
authorChristoph Jahn <cj@road42.de>2019-06-21 07:24:21 +0200
committerChristoph Jahn <cj@road42.de>2019-06-21 07:24:21 +0200
commita9fc74a9b4b711813d5219ed7ffda8cd20f45fb6 (patch)
tree499a9308277668b75ac2443883f4edf221583e10 /client/components
parent02de9164f014e149d3536a7c3cae88beda358318 (diff)
downloadwekan-a9fc74a9b4b711813d5219ed7ffda8cd20f45fb6.tar.gz
wekan-a9fc74a9b4b711813d5219ed7ffda8cd20f45fb6.tar.bz2
wekan-a9fc74a9b4b711813d5219ed7ffda8cd20f45fb6.zip
Adds rule feature: cardAction - SetDate #2504
Diffstat (limited to 'client/components')
-rw-r--r--client/components/rules/actions/cardActions.jade41
-rw-r--r--client/components/rules/actions/cardActions.js48
2 files changed, 85 insertions, 4 deletions
diff --git a/client/components/rules/actions/cardActions.jade b/client/components/rules/actions/cardActions.jade
index 8c6defc6..c10c4b2b 100644
--- a/client/components/rules/actions/cardActions.jade
+++ b/client/components/rules/actions/cardActions.jade
@@ -2,10 +2,43 @@ template(name="cardActions")
div.trigger-item
div.trigger-content
div.trigger-dropdown
+ select(id="setdate-action")
+ option(value="setDate") {{{_'r-set'}}}
+ option(value="updateDate") {{{_'r-update'}}}
+ div.trigger-text
+ | {{{_'r-datefield'}}}
+ div.trigger-dropdown
+ select(id="setdate-datefield")
+ option(value="startAt") {{{_'r-df-start-at'}}}
+ option(value="dueAt") {{{_'r-df-due-at'}}}
+ option(value="endAt") {{{_'r-df-end-at'}}}
+ option(value="receivedAt") {{{_'r-df-received-at'}}}
+ div.trigger-text
+ | {{{_'r-to-current-datetime'}}}
+ div.trigger-button.js-set-date-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-text
+ | {{{_'r-remove-value-from'}}}
+ | {{{_'r-datefield'}}}
+ div.trigger-dropdown
+ select(id="setdate-removedatefieldvalue")
+ option(value="startAt") {{{_'r-df-start-at'}}}
+ option(value="dueAt") {{{_'r-df-due-at'}}}
+ option(value="endAt") {{{_'r-df-end-at'}}}
+ option(value="receivedAt") {{{_'r-df-received-at'}}}
+ div.trigger-button.js-remove-datevalue-action.js-goto-rules
+ i.fa.fa-plus
+
+ div.trigger-item
+ div.trigger-content
+ div.trigger-dropdown
select(id="label-action")
option(value="add") {{{_'r-add'}}}
option(value="remove") {{{_'r-remove'}}}
- div.trigger-text
+ div.trigger-text
| {{{_'r-label'}}}
div.trigger-dropdown
select(id="label-id")
@@ -21,16 +54,16 @@ template(name="cardActions")
select(id="member-action")
option(value="add") {{{_'r-add'}}}
option(value="remove") {{{_'r-remove'}}}
- div.trigger-text
+ div.trigger-text
| {{{_'r-member'}}}
div.trigger-dropdown
- input(id="member-name",type=text,placeholder="{{{_'r-name'}}}")
+ input(id="member-name",type=text,placeholder="{{{_'r-name'}}}")
div.trigger-button.js-add-member-action.js-goto-rules
i.fa.fa-plus
div.trigger-item
div.trigger-content
- div.trigger-text
+ div.trigger-text
| {{{_'r-remove-all'}}}
div.trigger-button.js-add-removeall-action.js-goto-rules
i.fa.fa-plus
diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js
index a1e43c38..d6e11eea 100644
--- a/client/components/rules/actions/cardActions.js
+++ b/client/components/rules/actions/cardActions.js
@@ -29,6 +29,54 @@ BlazeComponent.extendComponent({
events() {
return [{
+ 'click .js-set-date-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const triggerId = Triggers.insert(trigger);
+ const actionSelected = this.find('#setdate-action').value;
+ const dateFieldSelected = this.find('#setdate-datefield').value;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+
+ const actionId = Actions.insert({
+ actionType: actionSelected,
+ dateField: dateFieldSelected,
+ boardId,
+ desc,
+ });
+
+ Rules.insert({
+ title: ruleName,
+ triggerId,
+ actionId,
+ boardId,
+ desc,
+ });
+ },
+
+ 'click .js-remove-datevalue-action' (event) {
+ const ruleName = this.data().ruleName.get();
+ const trigger = this.data().triggerVar.get();
+ const triggerId = Triggers.insert(trigger);
+ const dateFieldSelected = this.find('#setdate-removedatefieldvalue').value;
+ const boardId = Session.get('currentBoard');
+ const desc = Utils.getTriggerActionDesc(event, this);
+
+ const actionId = Actions.insert({
+ actionType: 'removeDate',
+ dateField: dateFieldSelected,
+ boardId,
+ desc,
+ });
+
+ Rules.insert({
+ title: ruleName,
+ triggerId,
+ actionId,
+ boardId,
+ desc,
+ });
+ },
'click .js-add-label-action' (event) {
const ruleName = this.data().ruleName.get();
const trigger = this.data().triggerVar.get();