summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/pages/milestones/shared/delete_milestone_modal_init.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/pages/milestones/shared/delete_milestone_modal_init.js')
-rw-r--r--app/assets/javascripts/pages/milestones/shared/delete_milestone_modal_init.js75
1 files changed, 0 insertions, 75 deletions
diff --git a/app/assets/javascripts/pages/milestones/shared/delete_milestone_modal_init.js b/app/assets/javascripts/pages/milestones/shared/delete_milestone_modal_init.js
deleted file mode 100644
index 3aeff2db2e0..00000000000
--- a/app/assets/javascripts/pages/milestones/shared/delete_milestone_modal_init.js
+++ /dev/null
@@ -1,75 +0,0 @@
-import Vue from 'vue';
-import { BV_SHOW_MODAL } from '~/lib/utils/constants';
-import Translate from '~/vue_shared/translate';
-import DeleteMilestoneModal from './components/delete_milestone_modal.vue';
-import eventHub from './event_hub';
-
-export default () => {
- Vue.use(Translate);
-
- const onRequestFinished = ({ milestoneUrl, successful }) => {
- const button = document.querySelector(
- `.js-delete-milestone-button[data-milestone-url="${milestoneUrl}"]`,
- );
-
- if (!successful) {
- button.removeAttribute('disabled');
- }
-
- button.querySelector('.js-loading-icon').classList.add('hidden');
- };
-
- const deleteMilestoneButtons = document.querySelectorAll('.js-delete-milestone-button');
-
- const onRequestStarted = (milestoneUrl) => {
- const button = document.querySelector(
- `.js-delete-milestone-button[data-milestone-url="${milestoneUrl}"]`,
- );
- button.setAttribute('disabled', '');
- button.querySelector('.js-loading-icon').classList.remove('hidden');
- eventHub.$once('deleteMilestoneModal.requestFinished', onRequestFinished);
- };
-
- return new Vue({
- el: '#js-delete-milestone-modal',
- data() {
- return {
- modalProps: {
- milestoneId: -1,
- milestoneTitle: '',
- milestoneUrl: '',
- issueCount: -1,
- mergeRequestCount: -1,
- },
- };
- },
- mounted() {
- eventHub.$on('deleteMilestoneModal.props', this.setModalProps);
- deleteMilestoneButtons.forEach((button) => {
- button.removeAttribute('disabled');
- button.addEventListener('click', () => {
- this.$root.$emit(BV_SHOW_MODAL, 'delete-milestone-modal');
- eventHub.$once('deleteMilestoneModal.requestStarted', onRequestStarted);
-
- this.setModalProps({
- milestoneId: parseInt(button.dataset.milestoneId, 10),
- milestoneTitle: button.dataset.milestoneTitle,
- milestoneUrl: button.dataset.milestoneUrl,
- issueCount: parseInt(button.dataset.milestoneIssueCount, 10),
- mergeRequestCount: parseInt(button.dataset.milestoneMergeRequestCount, 10),
- });
- });
- });
- },
- methods: {
- setModalProps(modalProps) {
- this.modalProps = modalProps;
- },
- },
- render(createElement) {
- return createElement(DeleteMilestoneModal, {
- props: this.modalProps,
- });
- },
- });
-};