-
+
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
* --------------------------------------------
*/