From 3ef559ba088374c9e10a551d87468acb9dc6d70f Mon Sep 17 00:00:00 2001 From: Daniel <50356015+danny007in@users.noreply.github.com> Date: Sat, 29 May 2021 08:16:29 +0530 Subject: [PATCH] added direct-chat.ts --- src/index.html | 8 +++---- src/ts/adminlte.ts | 4 +++- src/ts/direct-chat.ts | 53 +++++++++++++++++++++++++++++++++++++++++++ src/ts/push-menu.ts | 2 +- 4 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 src/ts/direct-chat.ts diff --git a/src/index.html b/src/index.html index 1a15bad3f..c66cfdf3d 100644 --- a/src/index.html +++ b/src/index.html @@ -237,7 +237,7 @@
  • - User Avatar + User Avatar
    @@ -267,7 +267,7 @@
  • - User Avatar + User Avatar
    @@ -282,7 +282,7 @@
  • - User Avatar + User Avatar
    @@ -297,7 +297,7 @@
  • - User Avatar + User Avatar
    diff --git a/src/ts/adminlte.ts b/src/ts/adminlte.ts index 6432d718b..7243f6fd5 100644 --- a/src/ts/adminlte.ts +++ b/src/ts/adminlte.ts @@ -3,13 +3,15 @@ import PushMenu from './push-menu' import SidebarHover from './sidebar-hover' import SidebarOverlay from './sidebar-overlay' import Treeview from './treeview' +import DirectChat from './direct-chat' export { Layout, PushMenu, SidebarHover, SidebarOverlay, - Treeview + Treeview, + DirectChat } // diff --git a/src/ts/direct-chat.ts b/src/ts/direct-chat.ts new file mode 100644 index 000000000..76901206a --- /dev/null +++ b/src/ts/direct-chat.ts @@ -0,0 +1,53 @@ +/** + * -------------------------------------------- + * 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 diff --git a/src/ts/push-menu.ts b/src/ts/push-menu.ts index 2a9174ea6..1dc65e987 100644 --- a/src/ts/push-menu.ts +++ b/src/ts/push-menu.ts @@ -1,6 +1,6 @@ /** * -------------------------------------------- - * AdminLTE pushmenu.ts + * AdminLTE push-menu.ts * License MIT * -------------------------------------------- */