1*d36ac8a8Sjason westover<template> 2*d36ac8a8Sjason westover <!-- Simplified ConfirmModal using native Window.confirm() --> 3*d36ac8a8Sjason westover <!-- This component preserves the API for future proper modal implementation --> 4*d36ac8a8Sjason westover <div style="display: none"></div> 5*d36ac8a8Sjason westover</template> 6*d36ac8a8Sjason westover 7*d36ac8a8Sjason westover<script> 8*d36ac8a8Sjason westoverexport default { 9*d36ac8a8Sjason westover name: 'ConfirmModal', 10*d36ac8a8Sjason westover data() { 11*d36ac8a8Sjason westover return { 12*d36ac8a8Sjason westover resolve: null, 13*d36ac8a8Sjason westover }; 14*d36ac8a8Sjason westover }, 15*d36ac8a8Sjason westover created() { 16*d36ac8a8Sjason westover const bus = require('@/eventBus').default; 17*d36ac8a8Sjason westover bus.$on('confirm:open', this.handleConfirm); 18*d36ac8a8Sjason westover }, 19*d36ac8a8Sjason westover beforeUnmount() { 20*d36ac8a8Sjason westover require('@/eventBus').default.$off('confirm:open', this.handleConfirm); 21*d36ac8a8Sjason westover }, 22*d36ac8a8Sjason westover methods: { 23*d36ac8a8Sjason westover handleConfirm(options) { 24*d36ac8a8Sjason westover // Extract message from options (could be string or object) 25*d36ac8a8Sjason westover const message = 26*d36ac8a8Sjason westover typeof options === 'string' 27*d36ac8a8Sjason westover ? options 28*d36ac8a8Sjason westover : options.message || 'Are you sure?'; 29*d36ac8a8Sjason westover 30*d36ac8a8Sjason westover // Use native browser confirm for now 31*d36ac8a8Sjason westover // The following parameters are accepted but not used by the window.confirm() shim. 32*d36ac8a8Sjason westover // They will be used when the proper Bootstrap 5 modal is implemented: 33*d36ac8a8Sjason westover // - title: Modal title text 34*d36ac8a8Sjason westover // - okTitle: OK/Confirm button text 35*d36ac8a8Sjason westover // - cancelTitle: Cancel button text 36*d36ac8a8Sjason westover // - okVariant: OK button Bootstrap variant (e.g., 'danger', 'primary') 37*d36ac8a8Sjason westover // - cancelVariant: Cancel button Bootstrap variant (e.g., 'secondary') 38*d36ac8a8Sjason westover // - autoFocusButton: Which button to focus ('ok' or 'cancel') 39*d36ac8a8Sjason westover // - processing: Show processing state with progress bar 40*d36ac8a8Sjason westover // - processingText: Processing state message 41*d36ac8a8Sjason westover // - processingMax: Processing progress bar maximum value 42*d36ac8a8Sjason westover // 43*d36ac8a8Sjason westover // Code can safely pass these parameters now and they will work when the 44*d36ac8a8Sjason westover // proper modal implementation is added. 45*d36ac8a8Sjason westover const result = window.confirm(message); 46*d36ac8a8Sjason westover 47*d36ac8a8Sjason westover // Resolve the promise with result 48*d36ac8a8Sjason westover if (options.resolve) { 49*d36ac8a8Sjason westover options.resolve(result); 50*d36ac8a8Sjason westover } 51*d36ac8a8Sjason westover }, 52*d36ac8a8Sjason westover }, 53*d36ac8a8Sjason westover}; 54*d36ac8a8Sjason westover</script> 55