迁移商店弹窗基础按钮事件绑定
This commit is contained in:
@@ -21,6 +21,7 @@ export {
|
||||
} from "./chat-room/baccarat-loss-cover-admin.js";
|
||||
export { bindFishingControls } from "./chat-room/fishing.js";
|
||||
export { bindProfileControls } from "./chat-room/profile-controls.js";
|
||||
export { bindShopControls } from "./chat-room/shop-controls.js";
|
||||
export {
|
||||
BLOCKABLE_SYSTEM_SENDERS,
|
||||
BLOCKED_SYSTEM_SENDERS_STORAGE_KEY,
|
||||
@@ -66,6 +67,7 @@ import {
|
||||
} from "./chat-room/baccarat-loss-cover-admin.js";
|
||||
import { bindFishingControls } from "./chat-room/fishing.js";
|
||||
import { bindProfileControls } from "./chat-room/profile-controls.js";
|
||||
import { bindShopControls } from "./chat-room/shop-controls.js";
|
||||
import {
|
||||
BLOCKABLE_SYSTEM_SENDERS,
|
||||
BLOCKED_SYSTEM_SENDERS_STORAGE_KEY,
|
||||
@@ -117,6 +119,7 @@ if (typeof window !== "undefined") {
|
||||
submitBaccaratLossCoverEvent,
|
||||
bindFishingControls,
|
||||
bindProfileControls,
|
||||
bindShopControls,
|
||||
CHAT_FONT_SIZE_STORAGE_KEY,
|
||||
restoreChatFontSize,
|
||||
closeChatImageLightbox,
|
||||
@@ -166,6 +169,7 @@ if (typeof window !== "undefined") {
|
||||
bindBaccaratLossCoverAdminControls();
|
||||
bindFishingControls();
|
||||
bindProfileControls();
|
||||
bindShopControls();
|
||||
bindChatRightPanelControls();
|
||||
bindMobileDrawerControls();
|
||||
bindWelcomeMenuControls();
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
// 商店弹窗基础按钮事件绑定,替代 toolbar 商店区域内联 onclick。
|
||||
|
||||
let shopControlEventsBound = false;
|
||||
|
||||
/**
|
||||
* 调用商店存量全局函数。
|
||||
*
|
||||
* @param {string} functionName 全局函数名
|
||||
* @returns {void}
|
||||
*/
|
||||
function callShopGlobal(functionName) {
|
||||
if (typeof window[functionName] === "function") {
|
||||
window[functionName]();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定商店关闭、改名和赠礼对话框按钮事件。
|
||||
*
|
||||
* @returns {void}
|
||||
*/
|
||||
export function bindShopControls() {
|
||||
if (shopControlEventsBound || typeof document === "undefined") {
|
||||
return;
|
||||
}
|
||||
|
||||
shopControlEventsBound = true;
|
||||
document.addEventListener("click", (event) => {
|
||||
if (!(event.target instanceof Element)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.target.closest("[data-shop-modal-close]")) {
|
||||
event.preventDefault();
|
||||
callShopGlobal("closeShopModal");
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.target.closest("[data-shop-rename-confirm]")) {
|
||||
event.preventDefault();
|
||||
callShopGlobal("submitRename");
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.target.closest("[data-shop-rename-cancel]")) {
|
||||
event.preventDefault();
|
||||
callShopGlobal("closeRenameModal");
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.target.closest("[data-shop-gift-confirm]")) {
|
||||
event.preventDefault();
|
||||
callShopGlobal("confirmGift");
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.target.closest("[data-shop-gift-cancel]")) {
|
||||
event.preventDefault();
|
||||
callShopGlobal("closeGiftDialog");
|
||||
}
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user