1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * --------------------------------------------
- * AdminLTE direct-chat.ts
- * License MIT
- * --------------------------------------------
- */
- import {
- domReady
- } from './util/index'
- /**
- * Constants
- * ====================================================
- */
- const SELECTOR_DATA_TOGGLE = '[data-widget="chat-pane-toggle"]'
- const SELECTOR_DIRECT_CHAT = '.direct-chat'
- const CLASS_NAME_DIRECT_CHAT_OPEN = 'direct-chat-contacts-open'
- /**
- * Class Definition
- * ====================================================
- */
- class DirectChat {
- toggle(chatPane: Element): void {
- // chatPane
- chatPane.closest(SELECTOR_DIRECT_CHAT)?.classList.toggle(CLASS_NAME_DIRECT_CHAT_OPEN)
- }
- }
- /**
- *
- * Data Api implementation
- * ====================================================
- */
- domReady(() => {
- const button = document.querySelectorAll(SELECTOR_DATA_TOGGLE)
- for (const btn of button) {
- btn.addEventListener('click', event => {
- event.preventDefault()
- const chatPane = event.target as Element
- const data = new DirectChat()
- data.toggle(chatPane)
- })
- }
- })
- export default DirectChat
|