summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/projects/commit/init_revert_commit_modal.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/projects/commit/init_revert_commit_modal.js')
-rw-r--r--app/assets/javascripts/projects/commit/init_revert_commit_modal.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/app/assets/javascripts/projects/commit/init_revert_commit_modal.js b/app/assets/javascripts/projects/commit/init_revert_commit_modal.js
new file mode 100644
index 00000000000..ec0600cd25a
--- /dev/null
+++ b/app/assets/javascripts/projects/commit/init_revert_commit_modal.js
@@ -0,0 +1,55 @@
+import Vue from 'vue';
+import CommitFormModal from './components/form_modal.vue';
+import { parseBoolean } from '~/lib/utils/common_utils';
+import createStore from './store';
+import {
+ I18N_MODAL,
+ I18N_REVERT_MODAL,
+ PREPENDED_MODAL_TEXT,
+ OPEN_REVERT_MODAL,
+ REVERT_MODAL_ID,
+} from './constants';
+
+export default function initInviteMembersModal() {
+ const el = document.querySelector('.js-revert-commit-modal');
+ if (!el) {
+ return false;
+ }
+
+ const {
+ title,
+ endpoint,
+ branch,
+ pushCode,
+ branchCollaboration,
+ existingBranch,
+ branchesEndpoint,
+ } = el.dataset;
+
+ const store = createStore({
+ endpoint,
+ branchesEndpoint,
+ branch,
+ pushCode: parseBoolean(pushCode),
+ branchCollaboration: parseBoolean(branchCollaboration),
+ defaultBranch: branch,
+ modalTitle: title,
+ existingBranch,
+ });
+
+ return new Vue({
+ el,
+ store,
+ provide: {
+ prependedText: PREPENDED_MODAL_TEXT,
+ },
+ render: (createElement) =>
+ createElement(CommitFormModal, {
+ props: {
+ i18n: { ...I18N_REVERT_MODAL, ...I18N_MODAL },
+ openModal: OPEN_REVERT_MODAL,
+ modalId: REVERT_MODAL_ID,
+ },
+ }),
+ });
+}