PluginProbe
Booking Calendar / 11.9
Booking Calendar v11.9
11.9 11.8.4 11.8.3 11.8.2 11.8.1 11.8 11.7 11.6.1 11.6 11.5 11.4.3 11.4.2 11.4.1 11.4 11.3 11.2.1 11.2 11.1 11.0 10.15.7 10.15.6 10.1.3 10.10 10.10.1 10.10.2 All 205 releases
booking / includes / page-form-builder / admin-page-tpl / _out / modal_item_delete.js

modal_item_delete.js in Booking Calendar 11.9, at includes/page-form-builder/admin-page-tpl/_out/modal_item_delete.js

74 lines 9.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 "use strict";
2
3 /**
4 * Booking Calendar — Confirm Delete modal helper (BFB Admin)
5 *
6 * UI.Modal_Confirm_Delete.open(label, on_confirm)
7 *
8 * Depends on:
9 * - UI.Templates.ensure_dom_ref_from_wp_template
10 * - UI.Modals.show/hide
11 * @file: ../includes/page-form-builder/admin-page-tpl/_out/modal_item_delete.js
12 */
13
14 (function (w, d) {
15 'use strict';
16
17 const Core = w.WPBC_BFB_Core = w.WPBC_BFB_Core || {};
18 const UI = Core.UI = Core.UI || {};
19 UI.Modal_Confirm_Delete = UI.Modal_Confirm_Delete || {};
20
21 // Idempotency guard.
22 if (UI.Modal_Confirm_Delete.__bound) {
23 return;
24 }
25 UI.Modal_Confirm_Delete.__bound = true;
26 const MODAL_DOM_ID = 'wpbc_bfb_modal__confirm_delete';
27 const TPL_MODAL_ID = 'wpbc-bfb-tpl-modal-confirm-delete';
28 const SEL_CONFIRM = '#' + MODAL_DOM_ID + ' [data-wpbc-bfb-confirm="1"]';
29 const SEL_CANCEL = '#' + MODAL_DOM_ID + ' [data-wpbc-bfb-cancel="1"]';
30 UI.Modal_Confirm_Delete.open = function (label, on_confirm) {
31 const ref = UI.Templates.ensure_dom_ref_from_wp_template(TPL_MODAL_ID, MODAL_DOM_ID);
32 if (!ref || !ref.el) {
33 return;
34 }
35 const modal_el = ref.el;
36
37 // Insert label into translated message placeholder.
38 const label_el = modal_el.querySelector ? modal_el.querySelector('.wpbc_bfb__confirm_label') : null;
39 if (label_el) {
40 label_el.textContent = String(label || '');
41 }
42
43 // Store callback on modal instance (single modal, single active confirm).
44 modal_el.__wpbc_bfb_confirm_delete_cb = typeof on_confirm === 'function' ? on_confirm : null;
45 UI.Modals.show(ref.id);
46 };
47 d.addEventListener('click', function (e) {
48 const modal_el = d.getElementById(MODAL_DOM_ID);
49 if (!modal_el || !e.target || !e.target.closest) {
50 return;
51 }
52 const is_confirm = e.target.closest(SEL_CONFIRM);
53 if (is_confirm) {
54 e.preventDefault();
55 const cb = modal_el.__wpbc_bfb_confirm_delete_cb || null;
56 modal_el.__wpbc_bfb_confirm_delete_cb = null;
57 UI.Modals.hide(modal_el);
58 if (cb) {
59 try {
60 cb();
61 } catch (_e) {}
62 }
63 return;
64 }
65 const is_cancel = e.target.closest(SEL_CANCEL);
66 if (is_cancel) {
67 e.preventDefault();
68 modal_el.__wpbc_bfb_confirm_delete_cb = null;
69 UI.Modals.hide(modal_el);
70 }
71 }, true);
72 })(window, document);
73 //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcGFnZS1mb3JtLWJ1aWxkZXIvYWRtaW4tcGFnZS10cGwvX291dC9tb2RhbF9pdGVtX2RlbGV0ZS5qcyIsIm5hbWVzIjpbInciLCJkIiwiQ29yZSIsIldQQkNfQkZCX0NvcmUiLCJVSSIsIk1vZGFsX0NvbmZpcm1fRGVsZXRlIiwiX19ib3VuZCIsIk1PREFMX0RPTV9JRCIsIlRQTF9NT0RBTF9JRCIsIlNFTF9DT05GSVJNIiwiU0VMX0NBTkNFTCIsIm9wZW4iLCJsYWJlbCIsIm9uX2NvbmZpcm0iLCJyZWYiLCJUZW1wbGF0ZXMiLCJlbnN1cmVfZG9tX3JlZl9mcm9tX3dwX3RlbXBsYXRlIiwiZWwiLCJtb2RhbF9lbCIsImxhYmVsX2VsIiwicXVlcnlTZWxlY3RvciIsInRleHRDb250ZW50IiwiU3RyaW5nIiwiX193cGJjX2JmYl9jb25maXJtX2RlbGV0ZV9jYiIsIk1vZGFscyIsInNob3ciLCJpZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwiZ2V0RWxlbWVudEJ5SWQiLCJ0YXJnZXQiLCJjbG9zZXN0IiwiaXNfY29uZmlybSIsInByZXZlbnREZWZhdWx0IiwiY2IiLCJoaWRlIiwiX2UiLCJpc19jYW5jZWwiLCJ3aW5kb3ciLCJkb2N1bWVudCJdLCJzb3VyY2VzIjpbImluY2x1ZGVzL3BhZ2UtZm9ybS1idWlsZGVyL2FkbWluLXBhZ2UtdHBsL19zcmMvbW9kYWxfaXRlbV9kZWxldGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEJvb2tpbmcgQ2FsZW5kYXIg4oCUIENvbmZpcm0gRGVsZXRlIG1vZGFsIGhlbHBlciAoQkZCIEFkbWluKVxyXG4gKlxyXG4gKiBVSS5Nb2RhbF9Db25maXJtX0RlbGV0ZS5vcGVuKGxhYmVsLCBvbl9jb25maXJtKVxyXG4gKlxyXG4gKiBEZXBlbmRzIG9uOlxyXG4gKiAtIFVJLlRlbXBsYXRlcy5lbnN1cmVfZG9tX3JlZl9mcm9tX3dwX3RlbXBsYXRlXHJcbiAqIC0gVUkuTW9kYWxzLnNob3cvaGlkZVxyXG4gKiBAZmlsZTogLi4vaW5jbHVkZXMvcGFnZS1mb3JtLWJ1aWxkZXIvYWRtaW4tcGFnZS10cGwvX291dC9tb2RhbF9pdGVtX2RlbGV0ZS5qc1xyXG4gKi9cclxuXHJcbihmdW5jdGlvbiAodywgZCkge1xyXG5cdCd1c2Ugc3RyaWN0JztcclxuXHJcblx0Y29uc3QgQ29yZSA9ICh3LldQQkNfQkZCX0NvcmUgPSB3LldQQkNfQkZCX0NvcmUgfHwge30pO1xyXG5cdGNvbnN0IFVJICAgPSAoQ29yZS5VSSA9IENvcmUuVUkgfHwge30pO1xyXG5cclxuXHRVSS5Nb2RhbF9Db25maXJtX0RlbGV0ZSA9IFVJLk1vZGFsX0NvbmZpcm1fRGVsZXRlIHx8IHt9O1xyXG5cclxuXHQvLyBJZGVtcG90ZW5jeSBndWFyZC5cclxuXHRpZiAoIFVJLk1vZGFsX0NvbmZpcm1fRGVsZXRlLl9fYm91bmQgKSB7XHJcblx0XHRyZXR1cm47XHJcblx0fVxyXG5cdFVJLk1vZGFsX0NvbmZpcm1fRGVsZXRlLl9fYm91bmQgPSB0cnVlO1xyXG5cclxuXHRjb25zdCBNT0RBTF9ET01fSUQgPSAnd3BiY19iZmJfbW9kYWxfX2NvbmZpcm1fZGVsZXRlJztcclxuXHRjb25zdCBUUExfTU9EQUxfSUQgPSAnd3BiYy1iZmItdHBsLW1vZGFsLWNvbmZpcm0tZGVsZXRlJztcclxuXHJcblx0Y29uc3QgU0VMX0NPTkZJUk0gPSAnIycgKyBNT0RBTF9ET01fSUQgKyAnIFtkYXRhLXdwYmMtYmZiLWNvbmZpcm09XCIxXCJdJztcclxuXHRjb25zdCBTRUxfQ0FOQ0VMICA9ICcjJyArIE1PREFMX0RPTV9JRCArICcgW2RhdGEtd3BiYy1iZmItY2FuY2VsPVwiMVwiXSc7XHJcblxyXG5cdFVJLk1vZGFsX0NvbmZpcm1fRGVsZXRlLm9wZW4gPSBmdW5jdGlvbiAobGFiZWwsIG9uX2NvbmZpcm0pIHtcclxuXHJcblx0XHRjb25zdCByZWYgPSBVSS5UZW1wbGF0ZXMuZW5zdXJlX2RvbV9yZWZfZnJvbV93cF90ZW1wbGF0ZSggVFBMX01PREFMX0lELCBNT0RBTF9ET01fSUQgKTtcclxuXHRcdGlmICggIXJlZiB8fCAhcmVmLmVsICkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgbW9kYWxfZWwgPSByZWYuZWw7XHJcblxyXG5cdFx0Ly8gSW5zZXJ0IGxhYmVsIGludG8gdHJhbnNsYXRlZCBtZXNzYWdlIHBsYWNlaG9sZGVyLlxyXG5cdFx0Y29uc3QgbGFiZWxfZWwgPSBtb2RhbF9lbC5xdWVyeVNlbGVjdG9yID8gbW9kYWxfZWwucXVlcnlTZWxlY3RvciggJy53cGJjX2JmYl9fY29uZmlybV9sYWJlbCcgKSA6IG51bGw7XHJcblx0XHRpZiAoIGxhYmVsX2VsICkge1xyXG5cdFx0XHRsYWJlbF9lbC50ZXh0Q29udGVudCA9IFN0cmluZyggbGFiZWwgfHwgJycgKTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBTdG9yZSBjYWxsYmFjayBvbiBtb2RhbCBpbnN0YW5jZSAoc2luZ2xlIG1vZGFsLCBzaW5nbGUgYWN0aXZlIGNvbmZpcm0pLlxyXG5cdFx0bW9kYWxfZWwuX193cGJjX2JmYl9jb25maXJtX2RlbGV0ZV9jYiA9ICh0eXBlb2Ygb25fY29uZmlybSA9PT0gJ2Z1bmN0aW9uJykgPyBvbl9jb25maXJtIDogbnVsbDtcclxuXHJcblx0XHRVSS5Nb2RhbHMuc2hvdyggcmVmLmlkICk7XHJcblx0fTtcclxuXHJcblx0ZC5hZGRFdmVudExpc3RlbmVyKCAnY2xpY2snLCBmdW5jdGlvbiAoZSkge1xyXG5cclxuXHRcdGNvbnN0IG1vZGFsX2VsID0gZC5nZXRFbGVtZW50QnlJZCggTU9EQUxfRE9NX0lEICk7XHJcblx0XHRpZiAoICFtb2RhbF9lbCB8fCAhZS50YXJnZXQgfHwgIWUudGFyZ2V0LmNsb3Nlc3QgKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBpc19jb25maXJtID0gZS50YXJnZXQuY2xvc2VzdCggU0VMX0NPTkZJUk0gKTtcclxuXHRcdGlmICggaXNfY29uZmlybSApIHtcclxuXHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuXHRcdFx0Y29uc3QgY2IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IG1vZGFsX2VsLl9fd3BiY19iZmJfY29uZmlybV9kZWxldGVfY2IgfHwgbnVsbDtcclxuXHRcdFx0bW9kYWxfZWwuX193cGJjX2JmYl9jb25maXJtX2RlbGV0ZV9jYiA9IG51bGw7XHJcblxyXG5cdFx0XHRVSS5Nb2RhbHMuaGlkZSggbW9kYWxfZWwgKTtcclxuXHJcblx0XHRcdGlmICggY2IgKSB7XHJcblx0XHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRcdGNiKCk7XHJcblx0XHRcdFx0fSBjYXRjaCAoIF9lICkge1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgaXNfY2FuY2VsID0gZS50YXJnZXQuY2xvc2VzdCggU0VMX0NBTkNFTCApO1xyXG5cdFx0aWYgKCBpc19jYW5jZWwgKSB7XHJcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcclxuXHRcdFx0bW9kYWxfZWwuX193cGJjX2JmYl9jb25maXJtX2RlbGV0ZV9jYiA9IG51bGw7XHJcblx0XHRcdFVJLk1vZGFscy5oaWRlKCBtb2RhbF9lbCApO1xyXG5cdFx0fVxyXG5cclxuXHR9LCB0cnVlICk7XHJcblxyXG59KCB3aW5kb3csIGRvY3VtZW50ICkpO1xyXG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUMsV0FBVUEsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDaEIsWUFBWTs7RUFFWixNQUFNQyxJQUFJLEdBQUlGLENBQUMsQ0FBQ0csYUFBYSxHQUFHSCxDQUFDLENBQUNHLGFBQWEsSUFBSSxDQUFDLENBQUU7RUFDdEQsTUFBTUMsRUFBRSxHQUFNRixJQUFJLENBQUNFLEVBQUUsR0FBR0YsSUFBSSxDQUFDRSxFQUFFLElBQUksQ0FBQyxDQUFFO0VBRXRD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
74