gitlab-ce/app/assets/javascripts/projects/commit/init_revert_commit_modal.js

57 lines
1.2 KiB
JavaScript

import Vue from 'vue';
import { parseBoolean } from '~/lib/utils/common_utils';
import CommitFormModal from './components/form_modal.vue';
import {
I18N_MODAL,
I18N_REVERT_MODAL,
PREPENDED_MODAL_TEXT,
OPEN_REVERT_MODAL,
REVERT_MODAL_ID,
} from './constants';
import createStore from './store';
export default function initInviteMembersModal(primaryActionEventName) {
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,
primaryActionEventName,
},
}),
});
}