blob: 8a9a7b8a4cd9646900e68ce3493a75657391fe9c [file] [log] [blame]
<template>
<!-- Simplified ConfirmModal using native Window.confirm() -->
<!-- This component preserves the API for future proper modal implementation -->
<div style="display: none"></div>
</template>
<script>
export default {
name: 'ConfirmModal',
data() {
return {
resolve: null,
};
},
created() {
const bus = require('@/eventBus').default;
bus.$on('confirm:open', this.handleConfirm);
},
beforeUnmount() {
require('@/eventBus').default.$off('confirm:open', this.handleConfirm);
},
methods: {
handleConfirm(options) {
// Extract message from options (could be string or object)
const message =
typeof options === 'string'
? options
: options.message || 'Are you sure?';
// Use native browser confirm for now
// The following parameters are accepted but not used by the window.confirm() shim.
// They will be used when the proper Bootstrap 5 modal is implemented:
// - title: Modal title text
// - okTitle: OK/Confirm button text
// - cancelTitle: Cancel button text
// - okVariant: OK button Bootstrap variant (e.g., 'danger', 'primary')
// - cancelVariant: Cancel button Bootstrap variant (e.g., 'secondary')
// - autoFocusButton: Which button to focus ('ok' or 'cancel')
// - processing: Show processing state with progress bar
// - processingText: Processing state message
// - processingMax: Processing progress bar maximum value
//
// Code can safely pass these parameters now and they will work when the
// proper modal implementation is added.
const result = window.confirm(message);
// Resolve the promise with result
if (options.resolve) {
options.resolve(result);
}
},
},
};
</script>