bug fix minor js code

pull/5153/head
Daniel 2023-05-31 13:37:51 +05:30
parent 834892635f
commit 1db7283ba9
6 changed files with 31 additions and 27 deletions

View File

@ -6,7 +6,7 @@
*/
import {
domReady,
onDOMContentLoaded,
slideUp,
slideDown
} from './util/index'
@ -243,7 +243,7 @@ class CardWidget {
* ====================================================
*/
domReady(() => {
onDOMContentLoaded(() => {
const collapseBtn = document.querySelectorAll(SELECTOR_DATA_COLLAPSE)
collapseBtn.forEach(btn => {

View File

@ -6,7 +6,7 @@
*/
import {
domReady
onDOMContentLoaded
} from './util/index'
/**
@ -58,7 +58,7 @@ class DirectChat {
* ====================================================
*/
domReady(() => {
onDOMContentLoaded(() => {
const button = document.querySelectorAll(SELECTOR_DATA_TOGGLE)
button.forEach(btn => {

View File

@ -6,7 +6,7 @@
*/
import {
domReady
onDOMContentLoaded
} from './util/index'
/**
@ -42,7 +42,7 @@ class Layout {
}
}
domReady(() => {
onDOMContentLoaded(() => {
const data = new Layout(document.body)
data.holdTransition()
setTimeout(() => {

View File

@ -6,7 +6,7 @@
*/
import {
domReady
onDOMContentLoaded
} from './util/index'
/**
@ -134,7 +134,7 @@ class PushMenu {
* ------------------------------------------------------------------------
*/
domReady(() => {
onDOMContentLoaded(() => {
const sidebar = document?.querySelector(SELECTOR_APP_SIDEBAR) as HTMLElement | undefined
if (sidebar) {

View File

@ -1,3 +1,4 @@
/* eslint-disable no-console */
/**
* --------------------------------------------
* AdminLTE treeview.ts
@ -6,7 +7,7 @@
*/
import {
domReady,
onDOMContentLoaded,
slideDown,
slideUp
} from './util/index'
@ -27,6 +28,7 @@ const EVENT_COLLAPSED = `collapsed${EVENT_KEY}`
const CLASS_NAME_MENU_OPEN = 'menu-open'
const SELECTOR_NAV_ITEM = '.nav-item'
const SELECTOR_NAV_LINK = '.nav-link'
const SELECTOR_TREEVIEW_MENU = '.nav-treeview'
const SELECTOR_DATA_TOGGLE = '[data-lte-toggle="treeview"]'
@ -93,19 +95,19 @@ class Treeview {
* ------------------------------------------------------------------------
*/
domReady(() => {
onDOMContentLoaded(() => {
const button = document.querySelectorAll(SELECTOR_DATA_TOGGLE)
button.forEach(btn => {
btn.addEventListener('click', event => {
const target = event.target as HTMLAnchorElement
const target = event.target as HTMLElement
const targetItem = target.closest(SELECTOR_NAV_ITEM) as HTMLElement | undefined
const targetLink = target.closest(SELECTOR_NAV_LINK) as HTMLAnchorElement | undefined
if (target.getAttribute('href') === '#') {
if (target?.getAttribute('href') === '#' || targetLink?.getAttribute('href') === '#') {
event.preventDefault()
}
const targetItem = target.closest(SELECTOR_NAV_ITEM) as HTMLElement | undefined
if (targetItem) {
const data = new Treeview(targetItem, Default)
data.toggle()

View File

@ -1,16 +1,19 @@
const domReady = (callBack: () => void) => {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callBack)
} else {
callBack()
}
}
const domContentLoadedCallbacks: Array<() => void> = []
const windowReady = (callBack: () => void) => {
if (document.readyState === 'complete') {
callBack()
const onDOMContentLoaded = (callback: () => void): void => {
if (document.readyState === 'loading') {
// add listener on the first call when the document is in loading state
if (!domContentLoadedCallbacks.length) {
document.addEventListener('DOMContentLoaded', () => {
for (const callback of domContentLoadedCallbacks) {
callback()
}
})
}
domContentLoadedCallbacks.push(callback)
} else {
window.addEventListener('load', callBack)
callback()
}
}
@ -91,8 +94,7 @@ const slideToggle = (target: HTMLElement, duration = 500) => {
}
export {
domReady,
windowReady,
onDOMContentLoaded,
slideUp,
slideDown,
slideToggle