| 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 |
|