diff --git a/app/assets/javascripts/pages/projects/merge_requests/conflicts/index.js b/app/assets/javascripts/pages/projects/merge_requests/conflicts/index.js index d3599ce57413114ae3fa297d3a1aa8d6cb4c2846..82eacf3b52f508f670418c02e460ef5c4e946a90 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/conflicts/index.js +++ b/app/assets/javascripts/pages/projects/merge_requests/conflicts/index.js @@ -1,3 +1,5 @@ import initMergeConflicts from '~/merge_conflicts/merge_conflicts_bundle'; +import initCheckoutModal from '../init_checkout_modal'; initMergeConflicts(); +initCheckoutModal(); diff --git a/app/assets/javascripts/pages/projects/merge_requests/init_checkout_modal.js b/app/assets/javascripts/pages/projects/merge_requests/init_checkout_modal.js new file mode 100644 index 0000000000000000000000000000000000000000..10a11797028a5cc592c1e9f0362710eb4b74297a --- /dev/null +++ b/app/assets/javascripts/pages/projects/merge_requests/init_checkout_modal.js @@ -0,0 +1,36 @@ +import Vue from 'vue'; +import { parseBoolean } from '~/lib/utils/common_utils'; +import MrWidgetHowToMergeModal from '~/vue_merge_request_widget/components/mr_widget_how_to_merge_modal.vue'; + +export default () => { + const modalEl = document.getElementById('js-check-out-modal'); + + if (!modalEl) return false; + + const { + canMerge, + isFork, + sourceBranch, + sourceProjectPath, + targetBranch, + sourceProjectDefaultUrl, + reviewingDocsPath, + } = modalEl.dataset; + + return new Vue({ + el: modalEl, + render(h) { + return h(MrWidgetHowToMergeModal, { + props: { + canMerge: parseBoolean(canMerge), + isFork: parseBoolean(isFork), + sourceBranch, + sourceProjectPath, + targetBranch, + sourceProjectDefaultUrl, + reviewingDocsPath, + }, + }); + }, + }); +}; diff --git a/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js b/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js index 1cac330520f857c97b90bd27c47d660e06f447f7..955c26139a6d0cadf7d69d4a664839440493906b 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js +++ b/app/assets/javascripts/pages/projects/merge_requests/init_merge_request_show.js @@ -11,10 +11,10 @@ import { parseBoolean } from '~/lib/utils/common_utils'; import initSourcegraph from '~/sourcegraph'; import ZenMode from '~/zen_mode'; import initAwardsApp from '~/emoji/awards_app'; -import MrWidgetHowToMergeModal from '~/vue_merge_request_widget/components/mr_widget_how_to_merge_modal.vue'; import { initMrExperienceSurvey } from '~/surveys/merge_request_experience'; import toast from '~/vue_shared/plugins/global_toast'; import getStateQuery from './queries/get_state.query.graphql'; +import initCheckoutModal from './init_checkout_modal'; export default function initMergeRequestShow(store) { new ZenMode(); // eslint-disable-line no-new @@ -24,6 +24,7 @@ export default function initMergeRequestShow(store) { initIssuableSidebar(); initAwardsApp(document.getElementById('js-vue-awards-block')); initMrExperienceSurvey(); + initCheckoutModal(); const el = document.querySelector('.js-mr-header'); const { hidden, iid, projectPath, state } = el.dataset; @@ -51,26 +52,6 @@ export default function initMergeRequestShow(store) { }, }); - const modalEl = document.getElementById('js-check-out-modal'); - - // eslint-disable-next-line no-new - new Vue({ - el: modalEl, - render(h) { - return h(MrWidgetHowToMergeModal, { - props: { - canMerge: modalEl.dataset.canMerge === 'true', - isFork: modalEl.dataset.isFork === 'true', - sourceBranch: modalEl.dataset.sourceBranch, - sourceProjectPath: modalEl.dataset.sourceProjectPath, - targetBranch: modalEl.dataset.targetBranch, - sourceProjectDefaultUrl: modalEl.dataset.sourceProjectDefaultUrl, - reviewingDocsPath: modalEl.dataset.reviewingDocsPath, - }, - }); - }, - }); - const copyReferenceButton = document.querySelector('.js-copy-reference'); copyReferenceButton?.addEventListener('click', () => { diff --git a/ee/app/assets/javascripts/pages/projects/merge_conflicts/index.js b/ee/app/assets/javascripts/pages/projects/merge_conflicts/index.js deleted file mode 100644 index 545a39f4cf1980f14711520662797fd1eaa88eaa..0000000000000000000000000000000000000000 --- a/ee/app/assets/javascripts/pages/projects/merge_conflicts/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import initMergeConflicts from '~/merge_conflicts/merge_conflicts_bundle'; -import initSidebarBundle from '~/sidebar/sidebar_bundle'; - -initSidebarBundle(); -initMergeConflicts();