diff --git a/app/assets/javascripts/confirm_danger_modal.js b/app/assets/javascripts/confirm_danger_modal.js deleted file mode 100644 index ad70d9be16fad2968fbb886d953e11fab0c80682..0000000000000000000000000000000000000000 --- a/app/assets/javascripts/confirm_danger_modal.js +++ /dev/null @@ -1,64 +0,0 @@ -import $ from 'jquery'; -import { Rails } from '~/lib/utils/rails_ujs'; -import { rstrip } from './lib/utils/common_utils'; - -function openConfirmDangerModal($form, $modal, text) { - const $input = $('.js-legacy-confirm-danger-input', $modal); - $input.val(''); - - $('.js-confirm-text', $modal).text(text || ''); - $modal.modal('show'); - - const confirmTextMatch = $('.js-legacy-confirm-danger-match', $modal).text(); - const $submit = $('.js-legacy-confirm-danger-submit', $modal); - $submit.disable(); - $input.focus(); - - // eslint-disable-next-line @gitlab/no-global-event-off - $input.off('input').on('input', function handleInput() { - const confirmText = rstrip($(this).val()); - if (confirmText === confirmTextMatch) { - $submit.enable(); - } else { - $submit.disable(); - } - }); - - // eslint-disable-next-line @gitlab/no-global-event-off - $('.js-legacy-confirm-danger-submit', $modal) - .off('click') - .on('click', () => { - if ($form.data('remote')) { - Rails.fire($form[0], 'submit'); - } else { - $form.submit(); - } - }); -} - -function getModal($btn) { - const $modal = $btn.prev('.modal'); - - if ($modal.length) { - return $modal; - } - - return $('#modal-confirm-danger'); -} - -export default function initConfirmDangerModal() { - $(document).on('click', '.js-legacy-confirm-danger', (e) => { - const $btn = $(e.target); - const checkFieldName = $btn.data('checkFieldName'); - const checkFieldCompareValue = $btn.data('checkCompareValue'); - const checkFieldVal = parseInt($(`[name="${checkFieldName}"]`).val(), 10); - - if (!checkFieldName || checkFieldVal < checkFieldCompareValue) { - e.preventDefault(); - const $form = $btn.closest('form'); - const $modal = getModal($btn); - const text = $btn.data('confirmDangerMessage'); - openConfirmDangerModal($form, $modal, text); - } - }); -} diff --git a/app/assets/javascripts/pages/groups/edit/index.js b/app/assets/javascripts/pages/groups/edit/index.js index 604da77f60cfaebc73ec9ffa27bba1d96cfeb9f0..69ecd52c6d304566c7957d0c66c98931335a9966 100644 --- a/app/assets/javascripts/pages/groups/edit/index.js +++ b/app/assets/javascripts/pages/groups/edit/index.js @@ -1,5 +1,4 @@ import { GROUP_BADGE } from '~/badges/constants'; -import initConfirmDangerModal from '~/confirm_danger_modal'; import dirtySubmitFactory from '~/dirty_submit/dirty_submit_factory'; import initFilePickers from '~/file_pickers'; import TransferDropdown from '~/groups/transfer_dropdown'; @@ -14,7 +13,6 @@ import initConfirmDanger from '~/init_confirm_danger'; document.addEventListener('DOMContentLoaded', () => { initFilePickers(); - initConfirmDangerModal(); initConfirmDanger(); initSettingsPanels(); dirtySubmitFactory( diff --git a/app/assets/javascripts/pages/projects/edit/index.js b/app/assets/javascripts/pages/projects/edit/index.js index 100ca5b36d9c893dac7b3422bb31633c7cfed167..c0eb2a8fd779a797db843d2322d969a3780d3cf8 100644 --- a/app/assets/javascripts/pages/projects/edit/index.js +++ b/app/assets/javascripts/pages/projects/edit/index.js @@ -1,5 +1,4 @@ import { PROJECT_BADGE } from '~/badges/constants'; -import initLegacyConfirmDangerModal from '~/confirm_danger_modal'; import initConfirmDanger from '~/init_confirm_danger'; import dirtySubmitFactory from '~/dirty_submit/dirty_submit_factory'; import initFilePickers from '~/file_pickers'; @@ -15,7 +14,6 @@ import initProjectPermissionsSettings from '../shared/permissions'; import initProjectLoadingSpinner from '../shared/save_project_loader'; initFilePickers(); -initLegacyConfirmDangerModal(); initConfirmDanger(); initSettingsPanels(); initProjectDeleteButton(); diff --git a/app/views/groups/edit.html.haml b/app/views/groups/edit.html.haml index 420771257c99f349d65b3f90ade36b50c32bda58..79e023e2589cc33781168019dbf5ecb23feb8a5a 100644 --- a/app/views/groups/edit.html.haml +++ b/app/views/groups/edit.html.haml @@ -60,4 +60,3 @@ = render_if_exists 'shared/groups/max_pages_size_setting' -= render 'shared/confirm_modal', phrase: @group.path diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml index 3300c627c845953b18cc46f8f22030759c6fbb74..1cb935307afcc2db4eba58385775ab79e82740bf 100644 --- a/app/views/projects/edit.html.haml +++ b/app/views/projects/edit.html.haml @@ -110,5 +110,3 @@ .gl-spinner.gl-spinner-md.align-text-bottom = _('Saving project.') %p= _('Please wait a moment, this page will automatically refresh when ready.') - -= render 'shared/confirm_modal', phrase: @project.path diff --git a/app/views/shared/_confirm_modal.html.haml b/app/views/shared/_confirm_modal.html.haml deleted file mode 100644 index 4cb3f6d1739ac85b3b5d10d1ed31f81dc8364ac5..0000000000000000000000000000000000000000 --- a/app/views/shared/_confirm_modal.html.haml +++ /dev/null @@ -1,21 +0,0 @@ -#modal-confirm-danger.modal.qa-confirm-modal{ tabindex: -1 } - .modal-dialog - .modal-content - .modal-header - %h3.page-title= _('Confirmation required') - %button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') } - %span{ "aria-hidden": "true" } × - - .modal-body - %p.text-danger.js-confirm-text - - %p - %span.js-warning-text= _('This action can lead to data loss. To prevent accidental actions we ask you to confirm your intention.') - %br - - phrase_code = '<code class="js-legacy-confirm-danger-match">%{phrase_name}</code>'.html_safe % { phrase_name: phrase } - = _('Please type %{phrase_code} to proceed or close this modal to cancel.').html_safe % { phrase_code: phrase_code } - - .form-group - = text_field_tag 'confirm_name_input', '', class: 'form-control js-legacy-confirm-danger-input qa-confirm-input' - .form-actions - = submit_tag _('Confirm'), class: "gl-button btn btn-danger js-legacy-confirm-danger-submit qa-confirm-button" diff --git a/qa/qa/page/component/confirm_modal.rb b/qa/qa/page/component/confirm_modal.rb index 25eea8e0d939e718aad456909de5991eff11d81b..a90be76c879fbd8ce96ee1fae772a77f23c8d4bd 100644 --- a/qa/qa/page/component/confirm_modal.rb +++ b/qa/qa/page/component/confirm_modal.rb @@ -8,12 +8,6 @@ module ConfirmModal def self.included(base) super - - base.view 'app/views/shared/_confirm_modal.html.haml' do - element :confirm_modal - element :confirm_input - element :confirm_button - end end def fill_confirmation_text(text)