diff options
Diffstat (limited to 'app/assets/javascripts/init_confirm_danger.js')
-rw-r--r-- | app/assets/javascripts/init_confirm_danger.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/app/assets/javascripts/init_confirm_danger.js b/app/assets/javascripts/init_confirm_danger.js new file mode 100644 index 00000000000..d3d32c8be54 --- /dev/null +++ b/app/assets/javascripts/init_confirm_danger.js @@ -0,0 +1,38 @@ +import Vue from 'vue'; +import { parseBoolean } from './lib/utils/common_utils'; +import ConfirmDanger from './vue_shared/components/confirm_danger/confirm_danger.vue'; + +export default () => { + const el = document.querySelector('.js-confirm-danger'); + if (!el) return null; + + const { + removeFormId = null, + phrase, + buttonText, + buttonTestid = null, + confirmDangerMessage, + disabled = false, + } = el.dataset; + + return new Vue({ + el, + provide: { + confirmDangerMessage, + }, + render: (createElement) => + createElement(ConfirmDanger, { + props: { + phrase, + buttonText, + buttonTestid, + disabled: parseBoolean(disabled), + }, + on: { + confirm: () => { + if (removeFormId) document.getElementById(removeFormId)?.submit(); + }, + }, + }), + }); +}; |