| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 | 
							- /* ControlSidebar()
 
-  * ===============
 
-  * Toggles the state of the control sidebar
 
-  *
 
-  * @Usage: $('#control-sidebar-trigger').controlSidebar(options)
 
-  *         or add [data-toggle="control-sidebar"] to the trigger
 
-  *         Pass any option as data-option="value"
 
-  */
 
- +function ($) {
 
-   'use strict';
 
-   var DataKey = 'lte.controlsidebar';
 
-   var Default = {
 
-     slide: true
 
-   };
 
-   var Selector = {
 
-     sidebar: '.control-sidebar',
 
-     data   : '[data-toggle="control-sidebar"]',
 
-     open   : '.control-sidebar-open',
 
-     bg     : '.control-sidebar-bg',
 
-     wrapper: '.wrapper',
 
-     content: '.content-wrapper',
 
-     boxed  : '.layout-boxed'
 
-   };
 
-   var ClassName = {
 
-     open : 'control-sidebar-open',
 
-     fixed: 'fixed'
 
-   };
 
-   var Event = {
 
-     collapsed: 'collapsed.controlsidebar',
 
-     expanded : 'expanded.controlsidebar'
 
-   };
 
-   // ControlSidebar Class Definition
 
-   // ===============================
 
-   var ControlSidebar = function (element, options) {
 
-     this.element         = element;
 
-     this.options         = options;
 
-     this.hasBindedResize = false;
 
-     this.init();
 
-   };
 
-   ControlSidebar.prototype.init = function () {
 
-     // Add click listener if the element hasn't been
 
-     // initialized using the data API
 
-     if (!$(this.element).is(Selector.data)) {
 
-       $(this).on('click', this.toggle);
 
-     }
 
-     this.fix();
 
-     $(window).resize(function () {
 
-       this.fix();
 
-     }.bind(this));
 
-   };
 
-   ControlSidebar.prototype.toggle = function (event) {
 
-     if (event) event.preventDefault();
 
-     this.fix();
 
-     if (!$(Selector.sidebar).is(Selector.open) && !$('body').is(Selector.open)) {
 
-       this.expand();
 
-     } else {
 
-       this.collapse();
 
-     }
 
-   };
 
-   ControlSidebar.prototype.expand = function () {
 
-     $(Selector.sidebar).show();
 
-     if (!this.options.slide) {
 
-       $('body').addClass(ClassName.open);
 
-     } else {
 
-       $(Selector.sidebar).addClass(ClassName.open);
 
-     }
 
-     $(this.element).trigger($.Event(Event.expanded));
 
-   };
 
-   ControlSidebar.prototype.collapse = function () {
 
-     $('body, ' + Selector.sidebar).removeClass(ClassName.open);
 
-     $(Selector.sidebar).fadeOut();
 
-     $(this.element).trigger($.Event(Event.collapsed));
 
-   };
 
-   ControlSidebar.prototype.fix = function () {
 
-     if ($('body').is(Selector.boxed)) {
 
-       this._fixForBoxed($(Selector.bg));
 
-     }
 
-   };
 
-   // Private
 
-   ControlSidebar.prototype._fixForBoxed = function (bg) {
 
-     bg.css({
 
-       position: 'absolute',
 
-       height  : $(Selector.wrapper).height()
 
-     });
 
-   };
 
-   // Plugin Definition
 
-   // =================
 
-   function Plugin(option) {
 
-     return this.each(function () {
 
-       var $this = $(this);
 
-       var data  = $this.data(DataKey);
 
-       if (!data) {
 
-         var options = $.extend({}, Default, $this.data(), typeof option == 'object' && option);
 
-         $this.data(DataKey, (data = new ControlSidebar($this, options)));
 
-       }
 
-       if (typeof option == 'string') data.toggle();
 
-     });
 
-   }
 
-   var old = $.fn.controlSidebar;
 
-   $.fn.controlSidebar             = Plugin;
 
-   $.fn.controlSidebar.Constructor = ControlSidebar;
 
-   // No Conflict Mode
 
-   // ================
 
-   $.fn.controlSidebar.noConflict = function () {
 
-     $.fn.controlSidebar = old;
 
-     return this;
 
-   };
 
-   // ControlSidebar Data API
 
-   // =======================
 
-   $(document).on('click', Selector.data, function (event) {
 
-     if (event) event.preventDefault();
 
-     Plugin.call($(this), 'toggle');
 
-   });
 
- }(jQuery);
 
 
  |