mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
CR/LF correction
This commit is contained in:
138
front/lib/AdminLTE/build/js/ControlSidebar.js
Normal file
138
front/lib/AdminLTE/build/js/ControlSidebar.js
Normal file
@@ -0,0 +1,138 @@
|
||||
/* 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 () {
|
||||
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);
|
||||
$(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);
|
||||
Reference in New Issue
Block a user