summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/boards/stores/boards_store.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/boards/stores/boards_store.js')
-rw-r--r--app/assets/javascripts/boards/stores/boards_store.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/app/assets/javascripts/boards/stores/boards_store.js b/app/assets/javascripts/boards/stores/boards_store.js
index a930f39189e..da7d2e19ec1 100644
--- a/app/assets/javascripts/boards/stores/boards_store.js
+++ b/app/assets/javascripts/boards/stores/boards_store.js
@@ -296,6 +296,15 @@ const boardsStore = {
Object.assign(this.moving, { list, issue });
},
+ onNewListIssueResponse(list, issue, data) {
+ issue.refreshData(data);
+
+ if (list.issuesSize > 1) {
+ const moveBeforeId = list.issues[1].id;
+ this.moveIssue(issue.id, null, null, null, moveBeforeId);
+ }
+ },
+
moveMultipleIssuesToList({ listFrom, listTo, issues, newIndex }) {
const issueTo = issues.map(issue => listTo.findIssue(issue.id));
const issueLists = issues.map(issue => issue.getLists()).flat();
@@ -675,6 +684,21 @@ const boardsStore = {
});
},
+ moveListMultipleIssues({ list, issues, oldIndicies, newIndex, moveBeforeId, moveAfterId }) {
+ oldIndicies.reverse().forEach(index => {
+ list.issues.splice(index, 1);
+ });
+ list.issues.splice(newIndex, 0, ...issues);
+
+ return this.moveMultipleIssues({
+ ids: issues.map(issue => issue.id),
+ fromListId: null,
+ toListId: null,
+ moveBeforeId,
+ moveAfterId,
+ });
+ },
+
newIssue(id, issue) {
return axios.post(this.generateIssuesPath(id), {
issue,