summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/boards/services
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2017-01-31 14:35:53 +0000
committerFatih Acet <acetfatih@gmail.com>2017-02-03 17:02:44 +0300
commit103c78f18c0642c36a6093508707b82eb8d1dd77 (patch)
treea4be3ccb885e5e615c88777364d1412ca004427b /app/assets/javascripts/boards/services
parent32a97ef19c9adf30bd67bb310551dff883231dbc (diff)
downloadgitlab-ce-103c78f18c0642c36a6093508707b82eb8d1dd77.tar.gz
Removes labels instead of closing issue when clicking remove button
Diffstat (limited to 'app/assets/javascripts/boards/services')
-rw-r--r--app/assets/javascripts/boards/services/board_service.js.es619
1 files changed, 17 insertions, 2 deletions
diff --git a/app/assets/javascripts/boards/services/board_service.js.es6 b/app/assets/javascripts/boards/services/board_service.js.es6
index ad58abdcb45..065e90518df 100644
--- a/app/assets/javascripts/boards/services/board_service.js.es6
+++ b/app/assets/javascripts/boards/services/board_service.js.es6
@@ -2,7 +2,7 @@
/* global Vue */
class BoardService {
- constructor (root, boardId) {
+ constructor (root, bulkUpdatePath, boardId) {
this.boards = Vue.resource(`${root}{/id}.json`, {}, {
issues: {
method: 'GET',
@@ -16,7 +16,12 @@ class BoardService {
}
});
this.issue = Vue.resource(`${root}/${boardId}/issues{/id}`, {});
- this.issues = Vue.resource(`${root}/${boardId}/lists{/id}/issues`, {});
+ this.issues = Vue.resource(`${root}/${boardId}/lists{/id}/issues`, {}, {
+ bulkUpdate: {
+ method: 'POST',
+ url: bulkUpdatePath,
+ },
+ });
Vue.http.interceptors.push((request, next) => {
request.headers['X-CSRF-Token'] = $.rails.csrfToken();
@@ -75,6 +80,16 @@ class BoardService {
getBacklog(data) {
return this.boards.issues(data);
}
+
+ bulkUpdate(issueIds, extraData = {}) {
+ const data = {
+ update: Object.assign(extraData, {
+ issuable_ids: issueIds.join(','),
+ }),
+ };
+
+ return this.issues.bulkUpdate(data);
+ }
}
window.BoardService = BoardService;