diff --git a/resources/js/admin/form-confirmations.js b/resources/js/admin/form-confirmations.js new file mode 100644 index 0000000..db67684 --- /dev/null +++ b/resources/js/admin/form-confirmations.js @@ -0,0 +1,28 @@ +// 后台通用表单确认事件代理,集中替代简单的 Blade 内联 onsubmit confirm。 + +let adminFormConfirmationsBound = false; + +/** + * 绑定后台通用提交确认。 + * + * @returns {void} + */ +export function bindAdminFormConfirmations() { + if (adminFormConfirmationsBound || typeof document === "undefined") { + return; + } + + adminFormConfirmationsBound = true; + + document.addEventListener("submit", (event) => { + if (!(event.target instanceof HTMLFormElement)) { + return; + } + + // 删除、撤销、取消等不可逆操作统一由 Blade 提供确认文案。 + const confirmMessage = event.target.getAttribute("data-admin-confirm"); + if (confirmMessage && !window.confirm(confirmMessage)) { + event.preventDefault(); + } + }); +} diff --git a/resources/js/app.js b/resources/js/app.js index c241ea8..3bda849 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -1,6 +1,7 @@ import './bootstrap'; import { bindAdminAutoactControls } from './admin/autoact.js'; import { bindAdminFishingEventsControls } from './admin/fishing-events.js'; +import { bindAdminFormConfirmations } from './admin/form-confirmations.js'; import { bindAdminGameConfigControls } from './admin/game-configs.js'; import { bindAdminHolidayEventsControls } from './admin/holiday-events.js'; import { bindAdminOpsControls } from './admin/ops.js'; @@ -10,6 +11,7 @@ import { bindAdminSignInRulesControls } from './admin/sign-in-rules.js'; // 后台共用入口只注册轻量事件代理,具体页面通过 data-* 属性决定是否响应。 bindAdminAutoactControls(); bindAdminFishingEventsControls(); +bindAdminFormConfirmations(); bindAdminGameConfigControls(); bindAdminHolidayEventsControls(); bindAdminOpsControls(); diff --git a/resources/views/admin/appointments/index.blade.php b/resources/views/admin/appointments/index.blade.php index 97502e8..73eef40 100644 --- a/resources/views/admin/appointments/index.blade.php +++ b/resources/views/admin/appointments/index.blade.php @@ -129,7 +129,7 @@