diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2019-07-17 20:42:33 +0000 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2019-07-17 20:42:33 +0000 |
commit | 7e87990ecd8d1c1ac0a7a32661552a44c95b89d0 (patch) | |
tree | 1b81a46909023d1e0f410dec1a0ad116da7ba353 /app/assets/javascripts/boards/mount_multiple_boards_switcher.js | |
parent | 558f41ddb4cae44f386790b6f9fbefb757656b6e (diff) | |
download | gitlab-ce-7e87990ecd8d1c1ac0a7a32661552a44c95b89d0.tar.gz |
Move boards switcher partial
(cherry picked from commit a82e4d57a6fbba840a8a944e372b80866a1e48cc)
Diffstat (limited to 'app/assets/javascripts/boards/mount_multiple_boards_switcher.js')
-rw-r--r-- | app/assets/javascripts/boards/mount_multiple_boards_switcher.js | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/app/assets/javascripts/boards/mount_multiple_boards_switcher.js b/app/assets/javascripts/boards/mount_multiple_boards_switcher.js index bdb14a7f2f2..8d22f009784 100644 --- a/app/assets/javascripts/boards/mount_multiple_boards_switcher.js +++ b/app/assets/javascripts/boards/mount_multiple_boards_switcher.js @@ -1,2 +1,35 @@ -// this will be moved from EE to CE as part of https://gitlab.com/gitlab-org/gitlab-ce/issues/53811 -export default () => {}; +import Vue from 'vue'; +import { parseBoolean } from '~/lib/utils/common_utils'; +import BoardsSelector from '~/boards/components/boards_selector.vue'; + +export default () => { + const boardsSwitcherElement = document.getElementById('js-multiple-boards-switcher'); + return new Vue({ + el: boardsSwitcherElement, + components: { + BoardsSelector, + }, + data() { + const { dataset } = boardsSwitcherElement; + + const boardsSelectorProps = { + ...dataset, + currentBoard: JSON.parse(dataset.currentBoard), + hasMissingBoards: parseBoolean(dataset.hasMissingBoards), + canAdminBoard: parseBoolean(dataset.canAdminBoard), + multipleIssueBoardsAvailable: parseBoolean(dataset.multipleIssueBoardsAvailable), + projectId: Number(dataset.projectId), + groupId: Number(dataset.groupId), + scopedIssueBoardFeatureEnabled: parseBoolean(dataset.scopedIssueBoardFeatureEnabled), + weights: JSON.parse(dataset.weights), + }; + + return { boardsSelectorProps }; + }, + render(createElement) { + return createElement(BoardsSelector, { + props: this.boardsSelectorProps, + }); + }, + }); +}; |