Prechádzať zdrojové kódy

Create direct chat plugin

Abdullah Almsaeed 8 rokov pred
rodič
commit
2c372a2ce2
4 zmenil súbory, kde vykonal 140 pridanie a 1 odobranie
  1. 2 1
      Gruntfile.js
  2. 68 0
      build/js/DirectChat.js
  3. 70 0
      dist/js/adminlte.js
  4. 0 0
      dist/js/adminlte.min.js

+ 2 - 1
Gruntfile.js

@@ -138,7 +138,8 @@ module.exports = function (grunt) { // jshint ignore:line
           'build/js/Tree.js',
           'build/js/ControlSidebar.js',
           'build/js/BoxWidget.js',
-          'build/js/TodoList.js'
+          'build/js/TodoList.js',
+          'build/js/DirectChat.js'
         ],
         dest: 'dist/js/adminlte.js'
       }

+ 68 - 0
build/js/DirectChat.js

@@ -0,0 +1,68 @@
+/* DirectChat()
+ * ===============
+ * Toggles the state of the control sidebar
+ *
+ * @Usage: $('#my-chat-box').directChat(options)
+ *         or add [data-widget="direct-chat"] to the trigger
+ *         Pass any option as data-option="value"
+ */
++function ($) {
+  'use strict'
+
+  var DataKey = 'lte.directchat'
+
+  var Selector = {
+    data: '[data-widget="chat-pane-toggle"]',
+    box : '.direct-chat'
+  }
+
+  var ClassName = {
+    open: 'direct-chat-contacts-open'
+  }
+
+  // DirectChat Class Definition
+  // ===========================
+  var DirectChat = function (element) {
+    this.element = element
+  }
+
+  DirectChat.prototype.toggle = function () {
+    var box = $(this).parents(Selector.box).first();
+    box.toggleClass(ClassName.open);
+  }
+
+  // Plugin Definition
+  // =================
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data(DataKey)
+
+      if (!data) {
+        $this.data(DataKey, (data = new DirectChat($this)))
+      }
+
+      if (typeof option == 'string') data.toggle()
+    })
+  }
+
+  var old = $.fn.directChat
+
+  $.fn.directChat             = Plugin
+  $.fn.directChat.Constructor = DirectChat
+
+  // No Conflict Mode
+  // ================
+  $.fn.directChat.noConflict = function () {
+    $.fn.directChat = old
+    return this
+  }
+
+  // DirectChat Data API
+  // ===================
+  $(document).on('click', Selector.data, function (event) {
+    if (event) event.preventDefault()
+    Plugin.call($(this), 'toggle')
+  })
+
+}(jQuery)

+ 70 - 0
dist/js/adminlte.js

@@ -923,3 +923,73 @@ throw new Error('AdminLTE requires jQuery')
   })
 
 }(jQuery)
+
+
+/* DirectChat()
+ * ===============
+ * Toggles the state of the control sidebar
+ *
+ * @Usage: $('#my-chat-box').directChat(options)
+ *         or add [data-widget="direct-chat"] to the trigger
+ *         Pass any option as data-option="value"
+ */
++function ($) {
+  'use strict'
+
+  var DataKey = 'lte.directchat'
+
+  var Selector = {
+    data: '[data-widget="chat-pane-toggle"]',
+    box : '.direct-chat'
+  }
+
+  var ClassName = {
+    open: 'direct-chat-contacts-open'
+  }
+
+  // DirectChat Class Definition
+  // ===========================
+  var DirectChat = function (element) {
+    this.element = element
+  }
+
+  DirectChat.prototype.toggle = function () {
+    var box = $(this).parents(Selector.box).first();
+    box.toggleClass(ClassName.open);
+  }
+
+  // Plugin Definition
+  // =================
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data(DataKey)
+
+      if (!data) {
+        $this.data(DataKey, (data = new DirectChat($this)))
+      }
+
+      if (typeof option == 'string') data.toggle()
+    })
+  }
+
+  var old = $.fn.directChat
+
+  $.fn.directChat             = Plugin
+  $.fn.directChat.Constructor = DirectChat
+
+  // No Conflict Mode
+  // ================
+  $.fn.directChat.noConflict = function () {
+    $.fn.directChat = old
+    return this
+  }
+
+  // DirectChat Data API
+  // ===================
+  $(document).on('click', Selector.data, function (event) {
+    if (event) event.preventDefault()
+    Plugin.call($(this), 'toggle')
+  })
+
+}(jQuery)

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 0
dist/js/adminlte.min.js


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov