diff options
Diffstat (limited to 'app/assets/javascripts/issuable/bulk_update_sidebar/index.js')
-rw-r--r-- | app/assets/javascripts/issuable/bulk_update_sidebar/index.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/assets/javascripts/issuable/bulk_update_sidebar/index.js b/app/assets/javascripts/issuable/bulk_update_sidebar/index.js index 4657771353f..b7cb805ee37 100644 --- a/app/assets/javascripts/issuable/bulk_update_sidebar/index.js +++ b/app/assets/javascripts/issuable/bulk_update_sidebar/index.js @@ -1,6 +1,9 @@ import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import { gqlClient } from '../../issues/list/graphql'; import StatusDropdown from './components/status_dropdown.vue'; import SubscriptionsDropdown from './components/subscriptions_dropdown.vue'; +import MoveIssuesButton from './components/move_issues_button.vue'; import issuableBulkUpdateActions from './issuable_bulk_update_actions'; import IssuableBulkUpdateSidebar from './issuable_bulk_update_sidebar'; @@ -42,3 +45,31 @@ export function initSubscriptionsDropdown() { render: (createElement) => createElement(SubscriptionsDropdown), }); } + +export function initMoveIssuesButton() { + const el = document.querySelector('.js-move-issues'); + + if (!el) { + return null; + } + + const { dataset } = el; + + Vue.use(VueApollo); + const apolloProvider = new VueApollo({ + defaultClient: gqlClient, + }); + + return new Vue({ + el, + name: 'MoveIssuesRoot', + apolloProvider, + render: (createElement) => + createElement(MoveIssuesButton, { + props: { + projectFullPath: dataset.projectFullPath, + projectsFetchPath: dataset.projectsFetchPath, + }, + }), + }); +} |