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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,16 +1,19 @@
const domReady = (callBack: () => void) => { const domContentLoadedCallbacks: Array<() => void> = []
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', callBack)
} else {
callBack()
}
}
const windowReady = (callBack: () => void) => { const onDOMContentLoaded = (callback: () => void): void => {
if (document.readyState === 'complete') { if (document.readyState === 'loading') {
callBack() // 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 { } else {
window.addEventListener('load', callBack) callback()
} }
} }
@ -91,8 +94,7 @@ const slideToggle = (target: HTMLElement, duration = 500) => {
} }
export { export {
domReady, onDOMContentLoaded,
windowReady,
slideUp, slideUp,
slideDown, slideDown,
slideToggle slideToggle