refactor: remove unnecessary DOMContentLoaded wrappers
Since main.js has 'defer' attribute, the DOM is guaranteed to be ready when modules execute. These wrappers are unnecessary. dashboard.ts: - Removed DOMContentLoaded wrapper, code runs directly - Event delegation setup runs immediately custom-section-builder.ts: - Removed DOMContentLoaded wrapper - initCustomSectionBuilder() called directly toast.ts: - Removed DOMContentLoaded wrapper - initializeToastSystem() called directly at top level - Removed dead Alpine.data registration (unused) search.ts: - Removed DOMContentLoaded wrapper - initializeSearch exported for use in header theme.ts: - Removed DOMContentLoaded wrapper - Functions now exported for use in header Alpine component
This commit is contained in:
+54
-56
@@ -425,65 +425,63 @@ function initDragAndDrop(): void {
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
initDragAndDrop();
|
||||
initDragAndDrop();
|
||||
|
||||
document.addEventListener("click", (e: Event) => {
|
||||
const target = e.target as HTMLElement;
|
||||
const actionElem = target.closest("[data-action]") as HTMLElement;
|
||||
const action = actionElem?.getAttribute("data-action");
|
||||
document.addEventListener("click", (e: Event) => {
|
||||
const target = e.target as HTMLElement;
|
||||
const actionElem = target.closest("[data-action]") as HTMLElement;
|
||||
const action = actionElem?.getAttribute("data-action");
|
||||
|
||||
switch (action) {
|
||||
case "scroll-carousel": {
|
||||
const collectionId =
|
||||
target.dataset.collectionId || actionElem?.dataset.collectionId;
|
||||
const direction = parseInt(
|
||||
target.dataset.direction || actionElem?.dataset.direction || "0",
|
||||
);
|
||||
if (collectionId) scrollCarousel(collectionId, direction);
|
||||
break;
|
||||
}
|
||||
|
||||
case "open-dashboard-settings":
|
||||
openDashboardSettings();
|
||||
break;
|
||||
|
||||
case "close-dashboard-settings":
|
||||
closeDashboardSettings();
|
||||
break;
|
||||
|
||||
case "save-dashboard-settings":
|
||||
saveDashboardSettings();
|
||||
break;
|
||||
|
||||
case "restore-system-collection": {
|
||||
const colName =
|
||||
actionElem?.dataset.collectionName || target.dataset.collectionName;
|
||||
const colTitle =
|
||||
actionElem?.dataset.collectionTitle ||
|
||||
target.dataset.collectionTitle ||
|
||||
"System Collection";
|
||||
if (colName) restoreSystemCollection(colName, colTitle);
|
||||
break;
|
||||
}
|
||||
|
||||
case "view-book": {
|
||||
const bookId = target.dataset.bookId || actionElem?.dataset.bookId;
|
||||
if (bookId) viewBook(bookId);
|
||||
break;
|
||||
}
|
||||
|
||||
case "reload-page":
|
||||
reloadPage();
|
||||
break;
|
||||
|
||||
case "switch-library": {
|
||||
const select = target as HTMLSelectElement;
|
||||
if (select.value) switchLibrary(select.value);
|
||||
break;
|
||||
}
|
||||
switch (action) {
|
||||
case "scroll-carousel": {
|
||||
const collectionId =
|
||||
target.dataset.collectionId || actionElem?.dataset.collectionId;
|
||||
const direction = parseInt(
|
||||
target.dataset.direction || actionElem?.dataset.direction || "0",
|
||||
);
|
||||
if (collectionId) scrollCarousel(collectionId, direction);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
case "open-dashboard-settings":
|
||||
openDashboardSettings();
|
||||
break;
|
||||
|
||||
case "close-dashboard-settings":
|
||||
closeDashboardSettings();
|
||||
break;
|
||||
|
||||
case "save-dashboard-settings":
|
||||
saveDashboardSettings();
|
||||
break;
|
||||
|
||||
case "restore-system-collection": {
|
||||
const colName =
|
||||
actionElem?.dataset.collectionName || target.dataset.collectionName;
|
||||
const colTitle =
|
||||
actionElem?.dataset.collectionTitle ||
|
||||
target.dataset.collectionTitle ||
|
||||
"System Collection";
|
||||
if (colName) restoreSystemCollection(colName, colTitle);
|
||||
break;
|
||||
}
|
||||
|
||||
case "view-book": {
|
||||
const bookId = target.dataset.bookId || actionElem?.dataset.bookId;
|
||||
if (bookId) viewBook(bookId);
|
||||
break;
|
||||
}
|
||||
|
||||
case "reload-page":
|
||||
reloadPage();
|
||||
break;
|
||||
|
||||
case "switch-library": {
|
||||
const select = target as HTMLSelectElement;
|
||||
if (select.value) switchLibrary(select.value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener("input", (e: Event) => {
|
||||
const target = e.target as HTMLElement;
|
||||
|
||||
Reference in New Issue
Block a user