diff --git a/public/themes/redxen/vendor/adminlte/app.js b/public/themes/redxen/vendor/adminlte/app.js index f960ca0..ba1ce55 100644 --- a/public/themes/redxen/vendor/adminlte/app.js +++ b/public/themes/redxen/vendor/adminlte/app.js @@ -7,737 +7,1132 @@ * @Author Almsaeed Studio * @Support * @Email - * @version 2.4.0 + * @version 2.4.8 * @repository git://github.com/almasaeed2010/AdminLTE.git * @license MIT */ -if ("undefined" == typeof jQuery) throw new Error("AdminLTE requires jQuery"); -+(function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var e = a(this), - g = e.data(c); - if (!g) { - var h = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, (g = new f(e, h))); - } - if ("string" == typeof g) { - if (void 0 === g[b]) throw new Error("No method named " + b); - g[b](); - } - }); - } - var c = "lte.boxrefresh", - d = { - source: "", - params: {}, - trigger: ".refresh-btn", - content: ".box-body", - loadInContent: !0, - responseType: "", - overlayTemplate: - '
', - onLoadStart: function() {}, - onLoadDone: function(a) { - return a; - } - }, - e = { - data: '[data-widget="box-refresh"]' - }, - f = function(b, c) { - if ( - ((this.element = b), - (this.options = c), - (this.$overlay = a(c.overlay)), - "" === c.source) - ) - throw new Error( - "Source url was not defined. Please specify a url in your BoxRefresh source option." - ); - this._setUpListeners(), this.load(); +// Make sure jQuery has been loaded +if (typeof jQuery === 'undefined') { + throw new Error('AdminLTE requires jQuery') +} + +/* BoxRefresh() + * ========= + * Adds AJAX content control to a box. + * + * @Usage: $('#my-box').boxRefresh(options) + * or add [data-widget="box-refresh"] to the box element + * Pass any option as data-option="value" + */ ++ +function ($) { + 'use strict'; + + var DataKey = 'lte.boxrefresh'; + + var Default = { + source: '', + params: {}, + trigger: '.refresh-btn', + content: '.box-body', + loadInContent: true, + responseType: '', + overlayTemplate: '
', + onLoadStart: function () {}, + onLoadDone: function (response) { + return response; + } }; - (f.prototype.load = function() { - this._addOverlay(), - this.options.onLoadStart.call(a(this)), - a.get( - this.options.source, - this.options.params, - function(b) { - this.options.loadInContent && a(this.options.content).html(b), - this.options.onLoadDone.call(a(this), b), - this._removeOverlay(); - }.bind(this), - "" !== this.options.responseType && this.options.responseType - ); - }), - (f.prototype._setUpListeners = function() { - a(this.element).on( - "click", - e.trigger, - function(a) { - a && a.preventDefault(), this.load(); - }.bind(this) - ); - }), - (f.prototype._addOverlay = function() { - a(this.element).append(this.$overlay); - }), - (f.prototype._removeOverlay = function() { - a(this.element).remove(this.$overlay); - }); - var g = a.fn.boxRefresh; - (a.fn.boxRefresh = b), - (a.fn.boxRefresh.Constructor = f), - (a.fn.boxRefresh.noConflict = function() { - return (a.fn.boxRefresh = g), this; - }), - a(window).on("load", function() { - a(e.data).each(function() { - b.call(a(this)); - }); - }); -})(jQuery), - (function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var e = a(this), - f = e.data(c); - if (!f) { - var g = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, (f = new h(e, g))); + var Selector = { + data: '[data-widget="box-refresh"]' + }; + + // BoxRefresh Class Definition + // ========================= + var BoxRefresh = function (element, options) { + this.element = element; + this.options = options; + this.$overlay = $(options.overlay); + + if (options.source === '') { + throw new Error('Source url was not defined. Please specify a url in your BoxRefresh source option.'); } - if ("string" == typeof b) { - if (void 0 === f[b]) throw new Error("No method named " + b); - f[b](); - } - }); + + this._setUpListeners(); + this.load(); + }; + + BoxRefresh.prototype.load = function () { + this._addOverlay(); + this.options.onLoadStart.call($(this)); + + $.get(this.options.source, this.options.params, function (response) { + if (this.options.loadInContent) { + $(this.options.content).html(response); + } + this.options.onLoadDone.call($(this), response); + this._removeOverlay(); + }.bind(this), this.options.responseType !== '' && this.options.responseType); + }; + + // Private + + BoxRefresh.prototype._setUpListeners = function () { + $(this.element).on('click', Selector.trigger, function (event) { + if (event) event.preventDefault(); + this.load(); + }.bind(this)); + }; + + BoxRefresh.prototype._addOverlay = function () { + $(this.element).append(this.$overlay); + }; + + BoxRefresh.prototype._removeOverlay = function () { + $(this.element).remove(this.$overlay); + }; + + // 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 BoxRefresh($this, options))); + } + + if (typeof data == 'string') { + if (typeof data[option] == 'undefined') { + throw new Error('No method named ' + option); + } + data[option](); + } + }); } - var c = "lte.boxwidget", - d = { + + var old = $.fn.boxRefresh; + + $.fn.boxRefresh = Plugin; + $.fn.boxRefresh.Constructor = BoxRefresh; + + // No Conflict Mode + // ================ + $.fn.boxRefresh.noConflict = function () { + $.fn.boxRefresh = old; + return this; + }; + + // BoxRefresh Data API + // ================= + $(window).on('load', function () { + $(Selector.data).each(function () { + Plugin.call($(this)); + }); + }); + +}(jQuery); + + +/* BoxWidget() + * ====== + * Adds box widget functions to boxes. + * + * @Usage: $('.my-box').boxWidget(options) + * This plugin auto activates on any element using the `.box` class + * Pass any option as data-option="value" + */ ++ +function ($) { + 'use strict'; + + var DataKey = 'lte.boxwidget'; + + var Default = { animationSpeed: 500, collapseTrigger: '[data-widget="collapse"]', removeTrigger: '[data-widget="remove"]', - collapseIcon: "fa-minus", - expandIcon: "fa-plus", - removeIcon: "fa-times" - }, - e = { - data: ".box", - collapsed: ".collapsed-box", - body: ".box-body", - footer: ".box-footer", - tools: ".box-tools" - }, - f = { - collapsed: "collapsed-box" - }, - g = { - collapsed: "collapsed.boxwidget", - expanded: "expanded.boxwidget", - removed: "removed.boxwidget" - }, - h = function(a, b) { - (this.element = a), (this.options = b), this._setUpListeners(); - }; - (h.prototype.toggle = function() { - a(this.element).is(e.collapsed) ? this.expand() : this.collapse(); - }), - (h.prototype.expand = function() { - var b = a.Event(g.expanded), - c = this.options.collapseIcon, - d = this.options.expandIcon; - a(this.element).removeClass(f.collapsed), - a(this.element) - .find(e.tools) - .find("." + d) - .removeClass(d) - .addClass(c), - a(this.element) - .find(e.body + ", " + e.footer) - .slideDown( - this.options.animationSpeed, - function() { - a(this.element).trigger(b); - }.bind(this) - ); - }), - (h.prototype.collapse = function() { - var b = a.Event(g.collapsed), - c = this.options.collapseIcon, - d = this.options.expandIcon; - a(this.element) - .find(e.tools) - .find("." + c) - .removeClass(c) - .addClass(d), - a(this.element) - .find(e.body + ", " + e.footer) - .slideUp( - this.options.animationSpeed, - function() { - a(this.element).addClass(f.collapsed), - a(this.element).trigger(b); - }.bind(this) - ); - }), - (h.prototype.remove = function() { - var b = a.Event(g.removed); - a(this.element).slideUp( - this.options.animationSpeed, - function() { - a(this.element).trigger(b), a(this.element).remove(); - }.bind(this) - ); - }), - (h.prototype._setUpListeners = function() { - var b = this; - a(this.element).on("click", this.options.collapseTrigger, function(a) { - a && a.preventDefault(), b.toggle(); - }), - a(this.element).on("click", this.options.removeTrigger, function(a) { - a && a.preventDefault(), b.remove(); - }); - }); - var i = a.fn.boxWidget; - (a.fn.boxWidget = b), - (a.fn.boxWidget.Constructor = h), - (a.fn.boxWidget.noConflict = function() { - return (a.fn.boxWidget = i), this; - }), - a(window).on("load", function() { - a(e.data).each(function() { - b.call(a(this)); - }); - }); - })(jQuery), - (function(a) { - "use strict"; - - function b(b) { - return this.each(function() { - var e = a(this), - f = e.data(c); - if (!f) { - var g = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, (f = new h(e, g))); - } - "string" == typeof b && f.toggle(); - }); - } - var c = "lte.controlsidebar", - d = { - slide: !0 - }, - e = { - sidebar: ".control-sidebar", - data: '[data-toggle="control-sidebar"]', - open: ".control-sidebar-open", - bg: ".control-sidebar-bg", - wrapper: ".wrapper", - content: ".content-wrapper", - boxed: ".layout-boxed" - }, - f = { - open: "control-sidebar-open", - fixed: "fixed" - }, - g = { - collapsed: "collapsed.controlsidebar", - expanded: "expanded.controlsidebar" - }, - h = function(a, b) { - (this.element = a), - (this.options = b), - (this.hasBindedResize = !1), - this.init(); - }; - (h.prototype.init = function() { - a(this.element).is(e.data) || a(this).on("click", this.toggle), - this.fix(), - a(window).resize( - function() { - this.fix(); - }.bind(this) - ); - }), - (h.prototype.toggle = function(b) { - b && b.preventDefault(), - this.fix(), - a(e.sidebar).is(e.open) || a("body").is(e.open) - ? this.collapse() - : this.expand(); - }), - (h.prototype.expand = function() { - this.options.slide - ? a(e.sidebar).addClass(f.open) - : a("body").addClass(f.open), - a(this.element).trigger(a.Event(g.expanded)); - }), - (h.prototype.collapse = function() { - a("body, " + e.sidebar).removeClass(f.open), - a(this.element).trigger(a.Event(g.collapsed)); - }), - (h.prototype.fix = function() { - a("body").is(e.boxed) && this._fixForBoxed(a(e.bg)); - }), - (h.prototype._fixForBoxed = function(b) { - b.css({ - position: "absolute", - height: a(e.wrapper).height() - }); - }); - var i = a.fn.controlSidebar; - (a.fn.controlSidebar = b), - (a.fn.controlSidebar.Constructor = h), - (a.fn.controlSidebar.noConflict = function() { - return (a.fn.controlSidebar = i), this; - }), - a(document).on("click", e.data, function(c) { - c && c.preventDefault(), b.call(a(this), "toggle"); - }); - })(jQuery), - (function(a) { - "use strict"; - - function b(b) { - return this.each(function() { - var d = a(this), - e = d.data(c); - e || d.data(c, (e = new f(d))), "string" == typeof b && e.toggle(d); - }); - } - var c = "lte.directchat", - d = { - data: '[data-widget="chat-pane-toggle"]', - box: ".direct-chat" - }, - e = { - open: "direct-chat-contacts-open" - }, - f = function(a) { - this.element = a; - }; - f.prototype.toggle = function(a) { - a.parents(d.box) - .first() - .toggleClass(e.open); + collapseIcon: 'fa-minus', + expandIcon: 'fa-plus', + removeIcon: 'fa-times' }; - var g = a.fn.directChat; - (a.fn.directChat = b), - (a.fn.directChat.Constructor = f), - (a.fn.directChat.noConflict = function() { - return (a.fn.directChat = g), this; - }), - a(document).on("click", d.data, function(c) { - c && c.preventDefault(), b.call(a(this), "toggle"); - }); - })(jQuery), - (function(a) { - "use strict"; - function b(b) { - return this.each(function() { - var e = a(this), - f = e.data(c); - if (!f) { - var h = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, (f = new g(h))); - } - if ("string" == typeof b) { - if (void 0 === f[b]) throw new Error("No method named " + b); - f[b](); - } - }); - } - var c = "lte.layout", - d = { - slimscroll: !0, - resetHeight: !0 - }, - e = { - wrapper: ".wrapper", - contentWrapper: ".content-wrapper", - layoutBoxed: ".layout-boxed", - mainFooter: ".main-footer", - mainHeader: ".main-header", - sidebar: ".sidebar", - controlSidebar: ".control-sidebar", - fixed: ".fixed", - sidebarMenu: ".sidebar-menu", - logo: ".main-header .logo" - }, - f = { - fixed: "fixed", - holdTransition: "hold-transition" - }, - g = function(a) { - (this.options = a), (this.bindedResize = !1), this.activate(); - }; - (g.prototype.activate = function() { - this.fix(), - this.fixSidebar(), - a("body").removeClass(f.holdTransition), - this.options.resetHeight && - a("body, html, " + e.wrapper).css({ - height: "auto", - "min-height": "100%" - }), - this.bindedResize || - (a(window).resize( - function() { - this.fix(), - this.fixSidebar(), - a(e.logo + ", " + e.sidebar).one( - "webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", - function() { - this.fix(), this.fixSidebar(); - }.bind(this) - ); - }.bind(this) - ), - (this.bindedResize = !0)), - a(e.sidebarMenu).on( - "expanded.tree", - function() { - this.fix(), this.fixSidebar(); - }.bind(this) - ), - a(e.sidebarMenu).on( - "collapsed.tree", - function() { - this.fix(), this.fixSidebar(); - }.bind(this) - ); - }), - (g.prototype.fix = function() { - a(e.layoutBoxed + " > " + e.wrapper).css("overflow", "hidden"); - var b = a(e.mainFooter).outerHeight() || 0, - c = a(e.mainHeader).outerHeight() + b, - d = a(window).height(), - g = a(e.sidebar).height() || 0; - if (a("body").hasClass(f.fixed)) - a(e.contentWrapper).css("min-height", d - b); - else { - var h; - d >= g - ? (a(e.contentWrapper).css("min-height", d - c), (h = d - c)) - : (a(e.contentWrapper).css("min-height", g), (h = g)); - var i = a(e.controlSidebar); - void 0 !== i && - i.height() > h && - a(e.contentWrapper).css("min-height", i.height()); - } - }), - (g.prototype.fixSidebar = function() { - // if (!a("body").hasClass(f.fixed)) return void(void 0 !== a.fn.slimScroll && a(e.sidebar).slimScroll({ - // destroy: !0 - // }).height("auto")); - // this.options.slimscroll && void 0 !== a.fn.slimScroll && a(e.sidebar).slimScroll({ - // height: a(window).height() - a(e.mainHeader).height() + "px", - // color: "rgba(0,0,0,0.2)", - // size: "3px" - // }) - }); - var h = a.fn.layout; - (a.fn.layout = b), - (a.fn.layout.Constuctor = g), - (a.fn.layout.noConflict = function() { - return (a.fn.layout = h), this; - }), - a(window).on("load", function() { - b.call(a("body")); - }); - })(jQuery), - (function(a) { - "use strict"; + var Selector = { + data: '.box', + collapsed: '.collapsed-box', + header: '.box-header', + body: '.box-body', + footer: '.box-footer', + tools: '.box-tools' + }; - function b(b) { - return this.each(function() { - var e = a(this), - f = e.data(c); - if (!f) { - var g = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, (f = new h(g))); + var ClassName = { + collapsed: 'collapsed-box' + }; + + var Event = { + collapsed: 'collapsed.boxwidget', + expanded: 'expanded.boxwidget', + removed: 'removed.boxwidget' + }; + + // BoxWidget Class Definition + // ===================== + var BoxWidget = function (element, options) { + this.element = element; + this.options = options; + + this._setUpListeners(); + }; + + BoxWidget.prototype.toggle = function () { + var isOpen = !$(this.element).is(Selector.collapsed); + + if (isOpen) { + this.collapse(); + } else { + this.expand(); } - "toggle" === b && f.toggle(); - }); + }; + + BoxWidget.prototype.expand = function () { + var expandedEvent = $.Event(Event.expanded); + var collapseIcon = this.options.collapseIcon; + var expandIcon = this.options.expandIcon; + + $(this.element).removeClass(ClassName.collapsed); + + $(this.element) + .children(Selector.header + ', ' + Selector.body + ', ' + Selector.footer) + .children(Selector.tools) + .find('.' + expandIcon) + .removeClass(expandIcon) + .addClass(collapseIcon); + + $(this.element).children(Selector.body + ', ' + Selector.footer) + .slideDown(this.options.animationSpeed, function () { + $(this.element).trigger(expandedEvent); + }.bind(this)); + }; + + BoxWidget.prototype.collapse = function () { + var collapsedEvent = $.Event(Event.collapsed); + var collapseIcon = this.options.collapseIcon; + var expandIcon = this.options.expandIcon; + + $(this.element) + .children(Selector.header + ', ' + Selector.body + ', ' + Selector.footer) + .children(Selector.tools) + .find('.' + collapseIcon) + .removeClass(collapseIcon) + .addClass(expandIcon); + + $(this.element).children(Selector.body + ', ' + Selector.footer) + .slideUp(this.options.animationSpeed, function () { + $(this.element).addClass(ClassName.collapsed); + $(this.element).trigger(collapsedEvent); + }.bind(this)); + }; + + BoxWidget.prototype.remove = function () { + var removedEvent = $.Event(Event.removed); + + $(this.element).slideUp(this.options.animationSpeed, function () { + $(this.element).trigger(removedEvent); + $(this.element).remove(); + }.bind(this)); + }; + + // Private + + BoxWidget.prototype._setUpListeners = function () { + var that = this; + + $(this.element).on('click', this.options.collapseTrigger, function (event) { + if (event) event.preventDefault(); + that.toggle($(this)); + return false; + }); + + $(this.element).on('click', this.options.removeTrigger, function (event) { + if (event) event.preventDefault(); + that.remove($(this)); + return false; + }); + }; + + // 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 BoxWidget($this, options))); + } + + if (typeof option == 'string') { + if (typeof data[option] == 'undefined') { + throw new Error('No method named ' + option); + } + data[option](); + } + }); } - var c = "lte.pushmenu", - d = { + + var old = $.fn.boxWidget; + + $.fn.boxWidget = Plugin; + $.fn.boxWidget.Constructor = BoxWidget; + + // No Conflict Mode + // ================ + $.fn.boxWidget.noConflict = function () { + $.fn.boxWidget = old; + return this; + }; + + // BoxWidget Data API + // ================== + $(window).on('load', function () { + $(Selector.data).each(function () { + Plugin.call($(this)); + }); + }); +}(jQuery); + + +/* 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); + + +/* DirectChat() + * =============== + * Toggles the state of the control sidebar + * + * @Usage: $('#my-chat-box').directChat() + * or add [data-widget="direct-chat"] to the trigger + */ ++ +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 ($trigger) { + $trigger.parents(Selector.box).first().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($this); + }); + } + + 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); + + +/* Layout() + * ======== + * Implements AdminLTE layout. + * Fixes the layout height in case min-height fails. + * + * @usage activated automatically upon window load. + * Configure any options by passing data-option="value" + * to the body tag. + */ ++ +function ($) { + 'use strict'; + + var DataKey = 'lte.layout'; + + var Default = { + slimscroll: true, + resetHeight: true + }; + + var Selector = { + wrapper: '.wrapper', + contentWrapper: '.content-wrapper', + layoutBoxed: '.layout-boxed', + mainFooter: '.main-footer', + mainHeader: '.main-header', + sidebar: '.sidebar', + controlSidebar: '.control-sidebar', + fixed: '.fixed', + sidebarMenu: '.sidebar-menu', + logo: '.main-header .logo' + }; + + var ClassName = { + fixed: 'fixed', + holdTransition: 'hold-transition' + }; + + var Layout = function (options) { + this.options = options; + this.bindedResize = false; + this.activate(); + }; + + Layout.prototype.activate = function () { + this.fix(); + this.fixSidebar(); + + $('body').removeClass(ClassName.holdTransition); + + if (this.options.resetHeight) { + $('body, html, ' + Selector.wrapper).css({ + 'height': 'auto', + 'min-height': '100%' + }); + } + + if (!this.bindedResize) { + $(window).resize(function () { + this.fix(); + this.fixSidebar(); + + $(Selector.logo + ', ' + Selector.sidebar).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () { + this.fix(); + this.fixSidebar(); + }.bind(this)); + }.bind(this)); + + this.bindedResize = true; + } + + $(Selector.sidebarMenu).on('expanded.tree', function () { + this.fix(); + this.fixSidebar(); + }.bind(this)); + + $(Selector.sidebarMenu).on('collapsed.tree', function () { + this.fix(); + this.fixSidebar(); + }.bind(this)); + }; + + Layout.prototype.fix = function () { + // Remove overflow from .wrapper if layout-boxed exists + $(Selector.layoutBoxed + ' > ' + Selector.wrapper).css('overflow', 'hidden'); + + // Get window height and the wrapper height + var footerHeight = $(Selector.mainFooter).outerHeight() || 0; + var headerHeight = $(Selector.mainHeader).outerHeight() || 0; + var neg = headerHeight + footerHeight; + var windowHeight = $(window).height(); + var sidebarHeight = $(Selector.sidebar).height() || 0; + + // Set the min-height of the content and sidebar based on + // the height of the document. + if ($('body').hasClass(ClassName.fixed)) { + $(Selector.contentWrapper).css('min-height', windowHeight - footerHeight); + } else { + var postSetHeight; + + if (windowHeight >= sidebarHeight) { + $(Selector.contentWrapper).css('min-height', windowHeight - neg); + postSetHeight = windowHeight - neg; + } else { + $(Selector.contentWrapper).css('min-height', sidebarHeight); + postSetHeight = sidebarHeight; + } + + // Fix for the control sidebar height + var $controlSidebar = $(Selector.controlSidebar); + if (typeof $controlSidebar !== 'undefined') { + if ($controlSidebar.height() > postSetHeight) + $(Selector.contentWrapper).css('min-height', $controlSidebar.height()); + } + } + }; + + Layout.prototype.fixSidebar = function () { + // Make sure the body tag has the .fixed class + if (!$('body').hasClass(ClassName.fixed)) { + if (typeof $.fn.slimScroll !== 'undefined') { + $(Selector.sidebar).slimScroll({ + destroy: true + }).height('auto'); + } + return; + } + + // Enable slimscroll for fixed layout + if (this.options.slimscroll) { + if (typeof $.fn.slimScroll !== 'undefined') { + // Destroy if it exists + // $(Selector.sidebar).slimScroll({ destroy: true }).height('auto') + + // Add slimscroll + $(Selector.sidebar).slimScroll({ + height: ($(window).height() - $(Selector.mainHeader).height()) + 'px' + }); + } + } + }; + + // 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 Layout(options))); + } + + if (typeof option === 'string') { + if (typeof data[option] === 'undefined') { + throw new Error('No method named ' + option); + } + data[option](); + } + }); + } + + var old = $.fn.layout; + + $.fn.layout = Plugin; + $.fn.layout.Constuctor = Layout; + + // No conflict mode + // ================ + $.fn.layout.noConflict = function () { + $.fn.layout = old; + return this; + }; + + // Layout DATA-API + // =============== + $(window).on('load', function () { + Plugin.call($('body')); + }); +}(jQuery); + + +/* PushMenu() + * ========== + * Adds the push menu functionality to the sidebar. + * + * @usage: $('.btn').pushMenu(options) + * or add [data-toggle="push-menu"] to any button + * Pass any option as data-option="value" + */ ++ +function ($) { + 'use strict'; + + var DataKey = 'lte.pushmenu'; + + var Default = { collapseScreenSize: 767, - expandOnHover: !0, + expandOnHover: false, expandTransitionDelay: 200 - }, - e = { - collapsed: ".sidebar-collapse", - open: ".sidebar-open", - mainSidebar: ".main-sidebar", - contentWrapper: ".content-wrapper", - searchInput: ".sidebar-form .form-control", + }; + + var Selector = { + collapsed: '.sidebar-collapse', + open: '.sidebar-open', + mainSidebar: '.main-sidebar', + contentWrapper: '.content-wrapper', + searchInput: '.sidebar-form .form-control', button: '[data-toggle="push-menu"]', - mini: ".sidebar-mini", - expanded: ".sidebar-expanded-on-hover", - layoutFixed: ".fixed" - }, - f = { - collapsed: "sidebar-collapse", - open: "sidebar-open", - mini: "sidebar-mini", - expanded: "sidebar-expanded-on-hover", - expandFeature: "sidebar-mini-expand-feature", - layoutFixed: "fixed" - }, - g = { - expanded: "expanded.pushMenu", - collapsed: "collapsed.pushMenu" - }, - h = function(a) { - (this.options = a), this.init(); - }; - (h.prototype.init = function() { - (this.options.expandOnHover || a("body").is(e.mini + e.layoutFixed)) && - this.expandOnHover(), - a(e.contentWrapper).click( - function() { - a(window).width() <= this.options.collapseScreenSize && - a("body").hasClass(f.open) && - this.close(); - }.bind(this) - ), - a(e.searchInput).click(function(a) { - a.stopPropagation(); + mini: '.sidebar-mini', + expanded: '.sidebar-expanded-on-hover', + layoutFixed: '.fixed' + }; + + var ClassName = { + collapsed: 'sidebar-collapse', + open: 'sidebar-open', + mini: 'sidebar-mini', + expanded: 'sidebar-expanded-on-hover', + expandFeature: 'sidebar-mini-expand-feature', + layoutFixed: 'fixed' + }; + + var Event = { + expanded: 'expanded.pushMenu', + collapsed: 'collapsed.pushMenu' + }; + + // PushMenu Class Definition + // ========================= + var PushMenu = function (options) { + this.options = options; + this.init(); + }; + + PushMenu.prototype.init = function () { + if (this.options.expandOnHover || + ($('body').is(Selector.mini + Selector.layoutFixed))) { + this.expandOnHover(); + $('body').addClass(ClassName.expandFeature); + } + + $(Selector.contentWrapper).click(function () { + // Enable hide menu when clicking on the content-wrapper on small screens + if ($(window).width() <= this.options.collapseScreenSize && $('body').hasClass(ClassName.open)) { + this.close(); + } + }.bind(this)); + + // __Fix for android devices + $(Selector.searchInput).click(function (e) { + e.stopPropagation(); }); - }), - (h.prototype.toggle = function() { - var b = a(window).width(), - c = !a("body").hasClass(f.collapsed); - b <= this.options.collapseScreenSize && - (c = a("body").hasClass(f.open)), - c ? this.close() : this.open(); - }), - (h.prototype.open = function() { - a(window).width() > this.options.collapseScreenSize - ? a("body") - .removeClass(f.collapsed) - .trigger(a.Event(g.expanded)) - : a("body") - .addClass(f.open) - .trigger(a.Event(g.expanded)); - }), - (h.prototype.close = function() { - a(window).width() > this.options.collapseScreenSize - ? a("body") - .addClass(f.collapsed) - .trigger(a.Event(g.collapsed)) - : a("body") - .removeClass(f.open + " " + f.collapsed) - .trigger(a.Event(g.collapsed)); - }), - (h.prototype.expandOnHover = function() { - a(e.mainSidebar).hover( - function() { - /*a("body").is(e.mini + e.collapsed) && a(window).width() > this.options.collapseScreenSize && this.expand(/ + }; + + PushMenu.prototype.toggle = function () { + var windowWidth = $(window).width(); + var isOpen = !$('body').hasClass(ClassName.collapsed); + + if (windowWidth <= this.options.collapseScreenSize) { + isOpen = $('body').hasClass(ClassName.open); + } + + if (!isOpen) { + this.open(); + } else { + this.close(); + } + }; + + PushMenu.prototype.open = function () { + var windowWidth = $(window).width(); + + if (windowWidth > this.options.collapseScreenSize) { + $('body').removeClass(ClassName.collapsed) + .trigger($.Event(Event.expanded)); + } else { + $('body').addClass(ClassName.open) + .trigger($.Event(Event.expanded)); + } + }; + + PushMenu.prototype.close = function () { + var windowWidth = $(window).width(); + if (windowWidth > this.options.collapseScreenSize) { + $('body').addClass(ClassName.collapsed) + .trigger($.Event(Event.collapsed)); + } else { + $('body').removeClass(ClassName.open + ' ' + ClassName.collapsed) + .trigger($.Event(Event.collapsed)); + } + }; + + PushMenu.prototype.expandOnHover = function () { + $(Selector.mainSidebar).hover(function () { + if ($('body').is(Selector.mini + Selector.collapsed) && + $(window).width() > this.options.collapseScreenSize) { + this.expand(); + } }.bind(this), function () { - a("body").is(e.expanded) && this.collapse()*/ - }.bind(this) - ); - }), - (h.prototype.expand = function() { - setTimeout(function() { - a("body") - .removeClass(f.collapsed) - .addClass(f.expanded); - }, this.options.expandTransitionDelay); - }), - (h.prototype.collapse = function() { - setTimeout(function() { - a("body") - .removeClass(f.expanded) - .addClass(f.collapsed); - }, this.options.expandTransitionDelay); - }); - var i = a.fn.pushMenu; - (a.fn.pushMenu = b), - (a.fn.pushMenu.Constructor = h), - (a.fn.pushMenu.noConflict = function() { - return (a.fn.pushMenu = i), this; - }), - a(document).on("click", e.button, function(c) { - c.preventDefault(), b.call(a(this), "toggle"); - }), - a(window).on("load", function() { - b.call(a(e.button)); - }); - })(jQuery), - (function(a) { - "use strict"; + if ($('body').is(Selector.expanded)) { + this.collapse(); + } + }.bind(this)); + }; - function b(b) { - return this.each(function() { - var e = a(this), - f = e.data(c); - if (!f) { - var h = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, (f = new g(e, h))); - } - if ("string" == typeof f) { - if (void 0 === f[b]) throw new Error("No method named " + b); - f[b](); - } - }); + PushMenu.prototype.expand = function () { + setTimeout(function () { + $('body').removeClass(ClassName.collapsed) + .addClass(ClassName.expanded); + }, this.options.expandTransitionDelay); + }; + + PushMenu.prototype.collapse = function () { + setTimeout(function () { + $('body').removeClass(ClassName.expanded) + .addClass(ClassName.collapsed); + }, this.options.expandTransitionDelay); + }; + + // PushMenu 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 PushMenu(options))); + } + + if (option === 'toggle') data.toggle(); + }); } - var c = "lte.todolist", - d = { - onCheck: function(a) { - return a; + + var old = $.fn.pushMenu; + + $.fn.pushMenu = Plugin; + $.fn.pushMenu.Constructor = PushMenu; + + // No Conflict Mode + // ================ + $.fn.pushMenu.noConflict = function () { + $.fn.pushMenu = old; + return this; + }; + + // Data API + // ======== + $(document).on('click', Selector.button, function (e) { + e.preventDefault(); + Plugin.call($(this), 'toggle'); + }); + $(window).on('load', function () { + Plugin.call($(Selector.button)); + }); +}(jQuery); + + +/* TodoList() + * ========= + * Converts a list into a todoList. + * + * @Usage: $('.my-list').todoList(options) + * or add [data-widget="todo-list"] to the ul element + * Pass any option as data-option="value" + */ ++ +function ($) { + 'use strict'; + + var DataKey = 'lte.todolist'; + + var Default = { + onCheck: function (item) { + return item; }, - onUnCheck: function(a) { - return a; + onUnCheck: function (item) { + return item; } - }, - e = { - data: '[data-widget="todo-list"]' - }, - f = { - done: "done" - }, - g = function(a, b) { - (this.element = a), (this.options = b), this._setUpListeners(); - }; - (g.prototype.toggle = function(a) { - if ( - (a - .parents(e.li) - .first() - .toggleClass(f.done), - !a.prop("checked")) - ) - return void this.unCheck(a); - this.check(a); - }), - (g.prototype.check = function(a) { - this.options.onCheck.call(a); - }), - (g.prototype.unCheck = function(a) { - this.options.onUnCheck.call(a); - }), - (g.prototype._setUpListeners = function() { - var b = this; - a(this.element).on("change ifChanged", "input:checkbox", function() { - b.toggle(a(this)); - }); - }); - var h = a.fn.todoList; - (a.fn.todoList = b), - (a.fn.todoList.Constructor = g), - (a.fn.todoList.noConflict = function() { - return (a.fn.todoList = h), this; - }), - a(window).on("load", function() { - a(e.data).each(function() { - b.call(a(this)); - }); - }); - })(jQuery), - (function(a) { - "use strict"; + }; - function b(b) { - return this.each(function() { - var e = a(this); - if (!e.data(c)) { - var f = a.extend({}, d, e.data(), "object" == typeof b && b); - e.data(c, new h(e, f)); + var Selector = { + data: '[data-widget="todo-list"]' + }; + + var ClassName = { + done: 'done' + }; + + // TodoList Class Definition + // ========================= + var TodoList = function (element, options) { + this.element = element; + this.options = options; + + this._setUpListeners(); + }; + + TodoList.prototype.toggle = function (item) { + item.parents(Selector.li).first().toggleClass(ClassName.done); + if (!item.prop('checked')) { + this.unCheck(item); + return; } - }); + + this.check(item); + }; + + TodoList.prototype.check = function (item) { + this.options.onCheck.call(item); + }; + + TodoList.prototype.unCheck = function (item) { + this.options.onUnCheck.call(item); + }; + + // Private + + TodoList.prototype._setUpListeners = function () { + var that = this; + $(this.element).on('change ifChanged', 'input:checkbox', function () { + that.toggle($(this)); + }); + }; + + // 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 TodoList($this, options))); + } + + if (typeof data == 'string') { + if (typeof data[option] == 'undefined') { + throw new Error('No method named ' + option); + } + data[option](); + } + }); } - var c = "lte.tree", - d = { + + var old = $.fn.todoList; + + $.fn.todoList = Plugin; + $.fn.todoList.Constructor = TodoList; + + // No Conflict Mode + // ================ + $.fn.todoList.noConflict = function () { + $.fn.todoList = old; + return this; + }; + + // TodoList Data API + // ================= + $(window).on('load', function () { + $(Selector.data).each(function () { + Plugin.call($(this)); + }); + }); + +}(jQuery); + + +/* Tree() + * ====== + * Converts a nested list into a multilevel + * tree view menu. + * + * @Usage: $('.my-menu').tree(options) + * or add [data-widget="tree"] to the ul element + * Pass any option as data-option="value" + */ ++ +function ($) { + 'use strict'; + + var DataKey = 'lte.tree'; + + var Default = { animationSpeed: 500, - accordion: !0, - followLink: !1, - trigger: ".treeview a" - }, - e = { - tree: ".tree", - treeview: ".treeview", - treeviewMenu: ".treeview-menu", - open: ".menu-open, .active", - li: "li", + accordion: true, + followLink: false, + trigger: '.treeview a' + }; + + var Selector = { + tree: '.tree', + treeview: '.treeview', + treeviewMenu: '.treeview-menu', + open: '.menu-open, .active', + li: 'li', data: '[data-widget="tree"]', - active: ".active" - }, - f = { - open: "menu-open", - tree: "tree" - }, - g = { - collapsed: "collapsed.tree", - expanded: "expanded.tree" - }, - h = function(b, c) { - (this.element = b), - (this.options = c), - a(this.element).addClass(f.tree), - a(e.treeview + e.active, this.element).addClass(f.open), - this._setUpListeners(); - }; - (h.prototype.toggle = function(a, b) { - var c = a.next(e.treeviewMenu), - d = a.parent(), - g = d.hasClass(f.open); - d.is(e.treeview) && - ((this.options.followLink && "#" !== a.attr("href")) || - b.preventDefault(), - g ? this.collapse(c, d) : this.expand(c, d)); - }), - (h.prototype.expand = function(b, c) { - var d = a.Event(g.expanded); - if (this.options.accordion) { - var h = c.siblings(e.open), - i = h.children(e.treeviewMenu); - this.collapse(i, h); + active: '.active' + }; + + var ClassName = { + open: 'menu-open', + tree: 'tree' + }; + + var Event = { + collapsed: 'collapsed.tree', + expanded: 'expanded.tree' + }; + + // Tree Class Definition + // ===================== + var Tree = function (element, options) { + this.element = element; + this.options = options; + + $(this.element).addClass(ClassName.tree); + + $(Selector.treeview + Selector.active, this.element).addClass(ClassName.open); + + this._setUpListeners(); + }; + + Tree.prototype.toggle = function (link, event) { + var treeviewMenu = link.next(Selector.treeviewMenu); + var parentLi = link.parent(); + var isOpen = parentLi.hasClass(ClassName.open); + + if (!parentLi.is(Selector.treeview)) { + return; } - c.addClass(f.open), - b.slideDown( - this.options.animationSpeed, - function() { - a(this.element).trigger(d); - }.bind(this) - ); - }), - (h.prototype.collapse = function(b, c) { - var d = a.Event(g.collapsed); - b.find(e.open).removeClass(f.open), - c.removeClass(f.open), - b.slideUp( - this.options.animationSpeed, - function() { - b.find(e.open + " > " + e.treeview).slideUp(), - a(this.element).trigger(d); - }.bind(this) - ); - }), - (h.prototype._setUpListeners = function() { - var b = this; - a(this.element).on("click", this.options.trigger, function(c) { - b.toggle(a(this), c); + + if (!this.options.followLink || link.attr('href') === '#') { + event.preventDefault(); + } + + if (isOpen) { + this.collapse(treeviewMenu, parentLi); + } else { + this.expand(treeviewMenu, parentLi); + } + }; + + Tree.prototype.expand = function (tree, parent) { + var expandedEvent = $.Event(Event.expanded); + + if (this.options.accordion) { + var openMenuLi = parent.siblings(Selector.open); + var openTree = openMenuLi.children(Selector.treeviewMenu); + this.collapse(openTree, openMenuLi); + } + + parent.addClass(ClassName.open); + tree.slideDown(this.options.animationSpeed, function () { + $(this.element).trigger(expandedEvent); + }.bind(this)); + }; + + Tree.prototype.collapse = function (tree, parentLi) { + var collapsedEvent = $.Event(Event.collapsed); + + //tree.find(Selector.open).removeClass(ClassName.open); + parentLi.removeClass(ClassName.open); + tree.slideUp(this.options.animationSpeed, function () { + //tree.find(Selector.open + ' > ' + Selector.treeview).slideUp(); + $(this.element).trigger(collapsedEvent); + }.bind(this)); + }; + + // Private + + Tree.prototype._setUpListeners = function () { + var that = this; + + $(this.element).on('click', this.options.trigger, function (event) { + that.toggle($(this), event); }); - }); - var i = a.fn.tree; - (a.fn.tree = b), - (a.fn.tree.Constructor = h), - (a.fn.tree.noConflict = function() { - return (a.fn.tree = i), this; - }), - a(window).on("load", function() { - a(e.data).each(function() { - b.call(a(this)); + }; + + // 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, new Tree($this, options)); + } }); - }); - })(jQuery); + } + + var old = $.fn.tree; + + $.fn.tree = Plugin; + $.fn.tree.Constructor = Tree; + + // No Conflict Mode + // ================ + $.fn.tree.noConflict = function () { + $.fn.tree = old; + return this; + }; + + // Tree Data API + // ============= + $(window).on('load', function () { + $(Selector.data).each(function () { + Plugin.call($(this)); + }); + }); + +}(jQuery); \ No newline at end of file diff --git a/public/themes/redxen/vendor/adminlte/app.min.js b/public/themes/redxen/vendor/adminlte/app.min.js index 56e21e6..15883ca 100644 --- a/public/themes/redxen/vendor/adminlte/app.min.js +++ b/public/themes/redxen/vendor/adminlte/app.min.js @@ -1,14 +1 @@ -/*! AdminLTE app.js -* ================ -* Main JS application file for AdminLTE v2. This file -* should be included in all pages. It controls some layout -* options and implements exclusive AdminLTE plugins. -* -* @Author Almsaeed Studio -* @Support -* @Email -* @version 2.4.0 -* @repository git://github.com/almasaeed2010/AdminLTE.git -* @license MIT -*/ -if("undefined"==typeof jQuery)throw new Error("AdminLTE requires jQuery");!function(a){"use strict";function b(b){return this.each(function(){var e=a(this),g=e.data(c);if(!g){var h=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,g=new f(e,h))}if("string"==typeof g){if(void 0===g[b])throw new Error("No method named "+b);g[b]()}})}var c="lte.boxrefresh",d={source:"",params:{},trigger:".refresh-btn",content:".box-body",loadInContent:!0,responseType:"",overlayTemplate:'
',onLoadStart:function(){},onLoadDone:function(a){return a}},e={data:'[data-widget="box-refresh"]'},f=function(b,c){if(this.element=b,this.options=c,this.$overlay=a(c.overlay),""===c.source)throw new Error("Source url was not defined. Please specify a url in your BoxRefresh source option.");this._setUpListeners(),this.load()};f.prototype.load=function(){this._addOverlay(),this.options.onLoadStart.call(a(this)),a.get(this.options.source,this.options.params,function(b){this.options.loadInContent&&a(this.options.content).html(b),this.options.onLoadDone.call(a(this),b),this._removeOverlay()}.bind(this),""!==this.options.responseType&&this.options.responseType)},f.prototype._setUpListeners=function(){a(this.element).on("click",e.trigger,function(a){a&&a.preventDefault(),this.load()}.bind(this))},f.prototype._addOverlay=function(){a(this.element).append(this.$overlay)},f.prototype._removeOverlay=function(){a(this.element).remove(this.$overlay)};var g=a.fn.boxRefresh;a.fn.boxRefresh=b,a.fn.boxRefresh.Constructor=f,a.fn.boxRefresh.noConflict=function(){return a.fn.boxRefresh=g,this},a(window).on("load",function(){a(e.data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var g=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new h(e,g))}if("string"==typeof b){if(void 0===f[b])throw new Error("No method named "+b);f[b]()}})}var c="lte.boxwidget",d={animationSpeed:500,collapseTrigger:'[data-widget="collapse"]',removeTrigger:'[data-widget="remove"]',collapseIcon:"fa-minus",expandIcon:"fa-plus",removeIcon:"fa-times"},e_data=".box",e_collapsed=".collapsed-box",e_body=".box-body",e_footer=".box-footer",e_tools=".box-tools",f_collapsed="collapsed-box",g_collapsed="collapsed.boxwidget",g_expanded="expanded.boxwidget",g_removed="removed.boxwidget",h=function(a,b){this.element=a,this.options=b,this._setUpListeners()};h.prototype.toggle=function(){a(this.element).is(e_collapsed)?this.expand():this.collapse()},h.prototype.expand=function(){var b=a.Event(g_expanded),c=this.options.collapseIcon,d=this.options.expandIcon;a(this.element).removeClass(f_collapsed),a(this.element).find(e_tools).find("."+d).removeClass(d).addClass(c),a(this.element).find(e_body+", "+e_footer).slideDown(this.options.animationSpeed,function(){a(this.element).trigger(b)}.bind(this))},h.prototype.collapse=function(){var b=a.Event(g_collapsed),c=this.options.collapseIcon,d=this.options.expandIcon;a(this.element).find(e_tools).find("."+c).removeClass(c).addClass(d),a(this.element).find(e_body+", "+e_footer).slideUp(this.options.animationSpeed,function(){a(this.element).addClass(f_collapsed),a(this.element).trigger(b)}.bind(this))},h.prototype.remove=function(){var b=a.Event(g_removed);a(this.element).slideUp(this.options.animationSpeed,function(){a(this.element).trigger(b),a(this.element).remove()}.bind(this))},h.prototype._setUpListeners=function(){var b=this;a(this.element).on("click",this.options.collapseTrigger,function(a){a&&a.preventDefault(),b.toggle()}),a(this.element).on("click",this.options.removeTrigger,function(a){a&&a.preventDefault(),b.remove()})};var i=a.fn.boxWidget;a.fn.boxWidget=b,a.fn.boxWidget.Constructor=h,a.fn.boxWidget.noConflict=function(){return a.fn.boxWidget=i,this},a(window).on("load",function(){a(e_data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var g=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new h(e,g))}"string"==typeof b&&f.toggle()})}var c="lte.controlsidebar",d={slide:!0},e_sidebar=".control-sidebar",e_data='[data-toggle="control-sidebar"]',e_open=".control-sidebar-open",e_bg=".control-sidebar-bg",e_wrapper=".wrapper",e_content=".content-wrapper",e_boxed=".layout-boxed",f_open="control-sidebar-open",f_fixed="fixed",g_collapsed="collapsed.controlsidebar",g_expanded="expanded.controlsidebar",h=function(a,b){this.element=a,this.options=b,this.hasBindedResize=!1,this.init()};h.prototype.init=function(){a(this.element).is(e_data)||a(this).on("click",this.toggle),this.fix(),a(window).resize(function(){this.fix()}.bind(this))},h.prototype.toggle=function(b){b&&b.preventDefault(),this.fix(),a(e_sidebar).is(e_open)||a("body").is(e_open)?this.collapse():this.expand()},h.prototype.expand=function(){this.options.slide?a(e_sidebar).addClass(f_open):a("body").addClass(f_open),a(this.element).trigger(a.Event(g_expanded))},h.prototype.collapse=function(){a("body, "+e_sidebar).removeClass(f_open),a(this.element).trigger(a.Event(g_collapsed))},h.prototype.fix=function(){a("body").is(e_boxed)&&this._fixForBoxed(a(e_bg))},h.prototype._fixForBoxed=function(b){b.css({position:"absolute",height:a(e_wrapper).height()})};var i=a.fn.controlSidebar;a.fn.controlSidebar=b,a.fn.controlSidebar.Constructor=h,a.fn.controlSidebar.noConflict=function(){return a.fn.controlSidebar=i,this},a(document).on("click",e_data,function(c){c&&c.preventDefault(),b.call(a(this),"toggle")})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data(c);e||d.data(c,e=new f(d)),"string"==typeof b&&e.toggle(d)})}var c="lte.directchat",d_data='[data-widget="chat-pane-toggle"]',d_box=".direct-chat",e_open="direct-chat-contacts-open",f=function(a){this.element=a};f.prototype.toggle=function(a){a.parents(d_box).first().toggleClass(e_open)};var g=a.fn.directChat;a.fn.directChat=b,a.fn.directChat.Constructor=f,a.fn.directChat.noConflict=function(){return a.fn.directChat=g,this},a(document).on("click",d_data,function(c){c&&c.preventDefault(),b.call(a(this),"toggle")})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var h=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new g(h))}if("string"==typeof b){if(void 0===f[b])throw new Error("No method named "+b);f[b]()}})}var c="lte.layout",d={slimscroll:!0,resetHeight:!0},e_wrapper=".wrapper",e_contentWrapper=".content-wrapper",e_layoutBoxed=".layout-boxed",e_mainFooter=".main-footer",e_mainHeader=".main-header",e_sidebar=".sidebar",e_controlSidebar=".control-sidebar",e_fixed=".fixed",e_sidebarMenu=".sidebar-menu",e_logo=".main-header .logo",f_fixed="fixed",f_holdTransition="hold-transition",g=function(a){this.options=a,this.bindedResize=!1,this.activate()};g.prototype.activate=function(){this.fix(),this.fixSidebar(),a("body").removeClass(f_holdTransition),this.options.resetHeight&&a("body, html, "+e_wrapper).css({height:"auto","min-height":"100%"}),this.bindedResize||(a(window).resize(function(){this.fix(),this.fixSidebar(),a(e_logo+", "+e_sidebar).one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(){this.fix(),this.fixSidebar()}.bind(this))}.bind(this)),this.bindedResize=!0),a(e_sidebarMenu).on("expanded.tree",function(){this.fix(),this.fixSidebar()}.bind(this)),a(e_sidebarMenu).on("collapsed.tree",function(){this.fix(),this.fixSidebar()}.bind(this))},g.prototype.fix=function(){a(e_layoutBoxed+" > "+e_wrapper).css("overflow","hidden");var b=a(e_mainFooter).outerHeight()||0,c=a(e_mainHeader).outerHeight()+b,d=a(window).height(),g=a(e_sidebar).height()||0;if(a("body").hasClass(f_fixed))a(e_contentWrapper).css("min-height",d-b);else{var h;d>=g?(a(e_contentWrapper).css("min-height",d-c),h=d-c):(a(e_contentWrapper).css("min-height",g),h=g);var i=a(e_controlSidebar);void 0!==i&&i.height()>h&&a(e_contentWrapper).css("min-height",i.height())}},g.prototype.fixSidebar=function(){};var h=a.fn.layout;a.fn.layout=b,a.fn.layout.Constuctor=g,a.fn.layout.noConflict=function(){return a.fn.layout=h,this},a(window).on("load",function(){b.call(a("body"))})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var g=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new h(g))}"toggle"===b&&f.toggle()})}var c="lte.pushmenu",d={collapseScreenSize:767,expandOnHover:!0,expandTransitionDelay:200},e_collapsed=".sidebar-collapse",e_open=".sidebar-open",e_mainSidebar=".main-sidebar",e_contentWrapper=".content-wrapper",e_searchInput=".sidebar-form .form-control",e_button='[data-toggle="push-menu"]',e_mini=".sidebar-mini",e_expanded=".sidebar-expanded-on-hover",e_layoutFixed=".fixed",f_collapsed="sidebar-collapse",f_open="sidebar-open",f_mini="sidebar-mini",f_expanded="sidebar-expanded-on-hover",f_expandFeature="sidebar-mini-expand-feature",f_layoutFixed="fixed",g_expanded="expanded.pushMenu",g_collapsed="collapsed.pushMenu",h=function(a){this.options=a,this.init()};h.prototype.init=function(){(this.options.expandOnHover||a("body").is(e_mini+e_layoutFixed))&&this.expandOnHover(),a(e_contentWrapper).click(function(){a(window).width()<=this.options.collapseScreenSize&&a("body").hasClass(f_open)&&this.close()}.bind(this)),a(e_searchInput).click(function(a){a.stopPropagation()})},h.prototype.toggle=function(){var b=a(window).width(),c=!a("body").hasClass(f_collapsed);b<=this.options.collapseScreenSize&&(c=a("body").hasClass(f_open)),c?this.close():this.open()},h.prototype.open=function(){a(window).width()>this.options.collapseScreenSize?a("body").removeClass(f_collapsed).trigger(a.Event(g_expanded)):a("body").addClass(f_open).trigger(a.Event(g_expanded))},h.prototype.close=function(){a(window).width()>this.options.collapseScreenSize?a("body").addClass(f_collapsed).trigger(a.Event(g_collapsed)):a("body").removeClass(f_open+" "+f_collapsed).trigger(a.Event(g_collapsed))},h.prototype.expandOnHover=function(){a(e_mainSidebar).hover(function(){}.bind(this))},h.prototype.expand=function(){setTimeout(function(){a("body").removeClass(f_collapsed).addClass(f_expanded)},this.options.expandTransitionDelay)},h.prototype.collapse=function(){setTimeout(function(){a("body").removeClass(f_expanded).addClass(f_collapsed)},this.options.expandTransitionDelay)};var i=a.fn.pushMenu;a.fn.pushMenu=b,a.fn.pushMenu.Constructor=h,a.fn.pushMenu.noConflict=function(){return a.fn.pushMenu=i,this},a(document).on("click",e_button,function(c){c.preventDefault(),b.call(a(this),"toggle")}),a(window).on("load",function(){b.call(a(e_button))})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this),f=e.data(c);if(!f){var h=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,f=new g(e,h))}if("string"==typeof f){if(void 0===f[b])throw new Error("No method named "+b);f[b]()}})}var c="lte.todolist",d={onCheck:function(a){return a},onUnCheck:function(a){return a}},e={data:'[data-widget="todo-list"]'},f_done="done",g=function(a,b){this.element=a,this.options=b,this._setUpListeners()};g.prototype.toggle=function(a){a.parents(e.li).first().toggleClass(f_done),a.prop("checked")?this.check(a):this.unCheck(a)},g.prototype.check=function(a){this.options.onCheck.call(a)},g.prototype.unCheck=function(a){this.options.onUnCheck.call(a)},g.prototype._setUpListeners=function(){var b=this;a(this.element).on("change ifChanged","input:checkbox",function(){b.toggle(a(this))})};var h=a.fn.todoList;a.fn.todoList=b,a.fn.todoList.Constructor=g,a.fn.todoList.noConflict=function(){return a.fn.todoList=h,this},a(window).on("load",function(){a(e.data).each(function(){b.call(a(this))})})}(jQuery),function(a){"use strict";function b(b){return this.each(function(){var e=a(this);if(!e.data(c)){var f=a.extend({},d,e.data(),"object"==typeof b&&b);e.data(c,new h(e,f))}})}var c="lte.tree",d={animationSpeed:500,accordion:!0,followLink:!1,trigger:".treeview a"},e_tree=".tree",e_treeview=".treeview",e_treeviewMenu=".treeview-menu",e_open=".menu-open, .active",e_li="li",e_data='[data-widget="tree"]',e_active=".active",f_open="menu-open",f_tree="tree",g_collapsed="collapsed.tree",g_expanded="expanded.tree",h=function(b,c){this.element=b,this.options=c,a(this.element).addClass(f_tree),a(e_treeview+e_active,this.element).addClass(f_open),this._setUpListeners()};h.prototype.toggle=function(a,b){var c=a.next(e_treeviewMenu),d=a.parent(),g=d.hasClass(f_open);d.is(e_treeview)&&(this.options.followLink&&"#"!==a.attr("href")||b.preventDefault(),g?this.collapse(c,d):this.expand(c,d))},h.prototype.expand=function(b,c){var d=a.Event(g_expanded);if(this.options.accordion){var h=c.siblings(e_open),i=h.children(e_treeviewMenu);this.collapse(i,h)}c.addClass(f_open),b.slideDown(this.options.animationSpeed,function(){a(this.element).trigger(d)}.bind(this))},h.prototype.collapse=function(b,c){var d=a.Event(g_collapsed);b.find(e_open).removeClass(f_open),c.removeClass(f_open),b.slideUp(this.options.animationSpeed,function(){b.find(e_open+" > "+e_treeview).slideUp(),a(this.element).trigger(d)}.bind(this))},h.prototype._setUpListeners=function(){var b=this;a(this.element).on("click",this.options.trigger,function(c){b.toggle(a(this),c)})};var i=a.fn.tree;a.fn.tree=b,a.fn.tree.Constructor=h,a.fn.tree.noConflict=function(){return a.fn.tree=i,this},a(window).on("load",function(){a(e_data).each(function(){b.call(a(this))})})}(jQuery); \ No newline at end of file +if("undefined"==typeof jQuery)throw new Error("AdminLTE requires jQuery");!function($){"use strict";var DataKey="lte.boxrefresh",Default={source:"",params:{},trigger:".refresh-btn",content:".box-body",loadInContent:!0,responseType:"",overlayTemplate:'
',onLoadStart:function(){},onLoadDone:function(response){return response}},Selector={data:'[data-widget="box-refresh"]'},BoxRefresh=function(element,options){if(this.element=element,this.options=options,this.$overlay=$(options.overlay),""===options.source)throw new Error("Source url was not defined. Please specify a url in your BoxRefresh source option.");this._setUpListeners(),this.load()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);if(!data){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,data=new BoxRefresh($this,options))}if("string"==typeof data){if(void 0===data[option])throw new Error("No method named "+option);data[option]()}})}BoxRefresh.prototype.load=function(){this._addOverlay(),this.options.onLoadStart.call($(this)),$.get(this.options.source,this.options.params,function(response){this.options.loadInContent&&$(this.options.content).html(response),this.options.onLoadDone.call($(this),response),this._removeOverlay()}.bind(this),""!==this.options.responseType&&this.options.responseType)},BoxRefresh.prototype._setUpListeners=function(){$(this.element).on("click",Selector.trigger,function(event){event&&event.preventDefault(),this.load()}.bind(this))},BoxRefresh.prototype._addOverlay=function(){$(this.element).append(this.$overlay)},BoxRefresh.prototype._removeOverlay=function(){$(this.element).remove(this.$overlay)};var old=$.fn.boxRefresh;$.fn.boxRefresh=Plugin,$.fn.boxRefresh.Constructor=BoxRefresh,$.fn.boxRefresh.noConflict=function(){return $.fn.boxRefresh=old,this},$(window).on("load",function(){$(Selector.data).each(function(){Plugin.call($(this))})})}(jQuery),function($){"use strict";var DataKey="lte.boxwidget",Default={animationSpeed:500,collapseTrigger:'[data-widget="collapse"]',removeTrigger:'[data-widget="remove"]',collapseIcon:"fa-minus",expandIcon:"fa-plus",removeIcon:"fa-times"},Selector_data=".box",Selector_collapsed=".collapsed-box",Selector_header=".box-header",Selector_body=".box-body",Selector_footer=".box-footer",Selector_tools=".box-tools",ClassName_collapsed="collapsed-box",Event_collapsed="collapsed.boxwidget",Event_expanded="expanded.boxwidget",Event_removed="removed.boxwidget",BoxWidget=function(element,options){this.element=element,this.options=options,this._setUpListeners()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);if(!data){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,data=new BoxWidget($this,options))}if("string"==typeof option){if(void 0===data[option])throw new Error("No method named "+option);data[option]()}})}BoxWidget.prototype.toggle=function(){var isOpen;!$(this.element).is(Selector_collapsed)?this.collapse():this.expand()},BoxWidget.prototype.expand=function(){var expandedEvent=$.Event(Event_expanded),collapseIcon=this.options.collapseIcon,expandIcon=this.options.expandIcon;$(this.element).removeClass(ClassName_collapsed),$(this.element).children(Selector_header+", "+Selector_body+", "+Selector_footer).children(Selector_tools).find("."+expandIcon).removeClass(expandIcon).addClass(collapseIcon),$(this.element).children(Selector_body+", "+Selector_footer).slideDown(this.options.animationSpeed,function(){$(this.element).trigger(expandedEvent)}.bind(this))},BoxWidget.prototype.collapse=function(){var collapsedEvent=$.Event(Event_collapsed),collapseIcon=this.options.collapseIcon,expandIcon=this.options.expandIcon;$(this.element).children(Selector_header+", "+Selector_body+", "+Selector_footer).children(Selector_tools).find("."+collapseIcon).removeClass(collapseIcon).addClass(expandIcon),$(this.element).children(Selector_body+", "+Selector_footer).slideUp(this.options.animationSpeed,function(){$(this.element).addClass(ClassName_collapsed),$(this.element).trigger(collapsedEvent)}.bind(this))},BoxWidget.prototype.remove=function(){var removedEvent=$.Event(Event_removed);$(this.element).slideUp(this.options.animationSpeed,function(){$(this.element).trigger(removedEvent),$(this.element).remove()}.bind(this))},BoxWidget.prototype._setUpListeners=function(){var that=this;$(this.element).on("click",this.options.collapseTrigger,function(event){return event&&event.preventDefault(),that.toggle($(this)),!1}),$(this.element).on("click",this.options.removeTrigger,function(event){return event&&event.preventDefault(),that.remove($(this)),!1})};var old=$.fn.boxWidget;$.fn.boxWidget=Plugin,$.fn.boxWidget.Constructor=BoxWidget,$.fn.boxWidget.noConflict=function(){return $.fn.boxWidget=old,this},$(window).on("load",function(){$(Selector_data).each(function(){Plugin.call($(this))})})}(jQuery),function($){"use strict";var DataKey="lte.controlsidebar",Default={slide:!0},Selector_sidebar=".control-sidebar",Selector_data='[data-toggle="control-sidebar"]',Selector_open=".control-sidebar-open",Selector_bg=".control-sidebar-bg",Selector_wrapper=".wrapper",Selector_content=".content-wrapper",Selector_boxed=".layout-boxed",ClassName_open="control-sidebar-open",ClassName_fixed="fixed",Event_collapsed="collapsed.controlsidebar",Event_expanded="expanded.controlsidebar",ControlSidebar=function(element,options){this.element=element,this.options=options,this.hasBindedResize=!1,this.init()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);if(!data){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,data=new ControlSidebar($this,options))}"string"==typeof option&&data.toggle()})}ControlSidebar.prototype.init=function(){$(this.element).is(Selector_data)||$(this).on("click",this.toggle),this.fix(),$(window).resize(function(){this.fix()}.bind(this))},ControlSidebar.prototype.toggle=function(event){event&&event.preventDefault(),this.fix(),$(Selector_sidebar).is(Selector_open)||$("body").is(Selector_open)?this.collapse():this.expand()},ControlSidebar.prototype.expand=function(){this.options.slide?$(Selector_sidebar).addClass(ClassName_open):$("body").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(){$("body").is(Selector_boxed)&&this._fixForBoxed($(Selector_bg))},ControlSidebar.prototype._fixForBoxed=function(bg){bg.css({position:"absolute",height:$(Selector_wrapper).height()})};var old=$.fn.controlSidebar;$.fn.controlSidebar=Plugin,$.fn.controlSidebar.Constructor=ControlSidebar,$.fn.controlSidebar.noConflict=function(){return $.fn.controlSidebar=old,this},$(document).on("click",Selector_data,function(event){event&&event.preventDefault(),Plugin.call($(this),"toggle")})}(jQuery),function($){"use strict";var DataKey="lte.directchat",Selector_data='[data-widget="chat-pane-toggle"]',Selector_box=".direct-chat",ClassName_open="direct-chat-contacts-open",DirectChat=function(element){this.element=element};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);data||$this.data(DataKey,data=new DirectChat($this)),"string"==typeof option&&data.toggle($this)})}DirectChat.prototype.toggle=function($trigger){$trigger.parents(Selector_box).first().toggleClass(ClassName_open)};var old=$.fn.directChat;$.fn.directChat=Plugin,$.fn.directChat.Constructor=DirectChat,$.fn.directChat.noConflict=function(){return $.fn.directChat=old,this},$(document).on("click",Selector_data,function(event){event&&event.preventDefault(),Plugin.call($(this),"toggle")})}(jQuery),function($){"use strict";var DataKey="lte.layout",Default={slimscroll:!0,resetHeight:!0},Selector_wrapper=".wrapper",Selector_contentWrapper=".content-wrapper",Selector_layoutBoxed=".layout-boxed",Selector_mainFooter=".main-footer",Selector_mainHeader=".main-header",Selector_sidebar=".sidebar",Selector_controlSidebar=".control-sidebar",Selector_fixed=".fixed",Selector_sidebarMenu=".sidebar-menu",Selector_logo=".main-header .logo",ClassName_fixed="fixed",ClassName_holdTransition="hold-transition",Layout=function(options){this.options=options,this.bindedResize=!1,this.activate()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);if(!data){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,data=new Layout(options))}if("string"==typeof option){if(void 0===data[option])throw new Error("No method named "+option);data[option]()}})}Layout.prototype.activate=function(){this.fix(),this.fixSidebar(),$("body").removeClass(ClassName_holdTransition),this.options.resetHeight&&$("body, html, "+Selector_wrapper).css({height:"auto","min-height":"100%"}),this.bindedResize||($(window).resize(function(){this.fix(),this.fixSidebar(),$(Selector_logo+", "+Selector_sidebar).one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(){this.fix(),this.fixSidebar()}.bind(this))}.bind(this)),this.bindedResize=!0),$(Selector_sidebarMenu).on("expanded.tree",function(){this.fix(),this.fixSidebar()}.bind(this)),$(Selector_sidebarMenu).on("collapsed.tree",function(){this.fix(),this.fixSidebar()}.bind(this))},Layout.prototype.fix=function(){$(Selector_layoutBoxed+" > "+Selector_wrapper).css("overflow","hidden");var footerHeight=$(Selector_mainFooter).outerHeight()||0,headerHeight,neg=($(Selector_mainHeader).outerHeight()||0)+footerHeight,windowHeight=$(window).height(),sidebarHeight=$(Selector_sidebar).height()||0;if($("body").hasClass(ClassName_fixed))$(Selector_contentWrapper).css("min-height",windowHeight-footerHeight);else{var postSetHeight;windowHeight>=sidebarHeight?($(Selector_contentWrapper).css("min-height",windowHeight-neg),postSetHeight=windowHeight-neg):($(Selector_contentWrapper).css("min-height",sidebarHeight),postSetHeight=sidebarHeight);var $controlSidebar=$(Selector_controlSidebar);void 0!==$controlSidebar&&$controlSidebar.height()>postSetHeight&&$(Selector_contentWrapper).css("min-height",$controlSidebar.height())}},Layout.prototype.fixSidebar=function(){$("body").hasClass(ClassName_fixed)?this.options.slimscroll&&void 0!==$.fn.slimScroll&&$(Selector_sidebar).slimScroll({height:$(window).height()-$(Selector_mainHeader).height()+"px"}):void 0!==$.fn.slimScroll&&$(Selector_sidebar).slimScroll({destroy:!0}).height("auto")};var old=$.fn.layout;$.fn.layout=Plugin,$.fn.layout.Constuctor=Layout,$.fn.layout.noConflict=function(){return $.fn.layout=old,this},$(window).on("load",function(){Plugin.call($("body"))})}(jQuery),function($){"use strict";var DataKey="lte.pushmenu",Default={collapseScreenSize:767,expandOnHover:!1,expandTransitionDelay:200},Selector_collapsed=".sidebar-collapse",Selector_open=".sidebar-open",Selector_mainSidebar=".main-sidebar",Selector_contentWrapper=".content-wrapper",Selector_searchInput=".sidebar-form .form-control",Selector_button='[data-toggle="push-menu"]',Selector_mini=".sidebar-mini",Selector_expanded=".sidebar-expanded-on-hover",Selector_layoutFixed=".fixed",ClassName_collapsed="sidebar-collapse",ClassName_open="sidebar-open",ClassName_mini="sidebar-mini",ClassName_expanded="sidebar-expanded-on-hover",ClassName_expandFeature="sidebar-mini-expand-feature",ClassName_layoutFixed="fixed",Event_expanded="expanded.pushMenu",Event_collapsed="collapsed.pushMenu",PushMenu=function(options){this.options=options,this.init()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);if(!data){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,data=new PushMenu(options))}"toggle"===option&&data.toggle()})}PushMenu.prototype.init=function(){(this.options.expandOnHover||$("body").is(Selector_mini+Selector_layoutFixed))&&(this.expandOnHover(),$("body").addClass(ClassName_expandFeature)),$(Selector_contentWrapper).click(function(){$(window).width()<=this.options.collapseScreenSize&&$("body").hasClass(ClassName_open)&&this.close()}.bind(this)),$(Selector_searchInput).click(function(e){e.stopPropagation()})},PushMenu.prototype.toggle=function(){var windowWidth=$(window).width(),isOpen=!$("body").hasClass(ClassName_collapsed);windowWidth<=this.options.collapseScreenSize&&(isOpen=$("body").hasClass(ClassName_open)),isOpen?this.close():this.open()},PushMenu.prototype.open=function(){var windowWidth;$(window).width()>this.options.collapseScreenSize?$("body").removeClass(ClassName_collapsed).trigger($.Event(Event_expanded)):$("body").addClass(ClassName_open).trigger($.Event(Event_expanded))},PushMenu.prototype.close=function(){var windowWidth;$(window).width()>this.options.collapseScreenSize?$("body").addClass(ClassName_collapsed).trigger($.Event(Event_collapsed)):$("body").removeClass(ClassName_open+" "+ClassName_collapsed).trigger($.Event(Event_collapsed))},PushMenu.prototype.expandOnHover=function(){$(Selector_mainSidebar).hover(function(){$("body").is(Selector_mini+Selector_collapsed)&&$(window).width()>this.options.collapseScreenSize&&this.expand()}.bind(this),function(){$("body").is(Selector_expanded)&&this.collapse()}.bind(this))},PushMenu.prototype.expand=function(){setTimeout(function(){$("body").removeClass(ClassName_collapsed).addClass(ClassName_expanded)},this.options.expandTransitionDelay)},PushMenu.prototype.collapse=function(){setTimeout(function(){$("body").removeClass(ClassName_expanded).addClass(ClassName_collapsed)},this.options.expandTransitionDelay)};var old=$.fn.pushMenu;$.fn.pushMenu=Plugin,$.fn.pushMenu.Constructor=PushMenu,$.fn.pushMenu.noConflict=function(){return $.fn.pushMenu=old,this},$(document).on("click",Selector_button,function(e){e.preventDefault(),Plugin.call($(this),"toggle")}),$(window).on("load",function(){Plugin.call($(Selector_button))})}(jQuery),function($){"use strict";var DataKey="lte.todolist",Default={onCheck:function(item){return item},onUnCheck:function(item){return item}},Selector={data:'[data-widget="todo-list"]'},ClassName_done="done",TodoList=function(element,options){this.element=element,this.options=options,this._setUpListeners()};function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data(DataKey);if(!data){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,data=new TodoList($this,options))}if("string"==typeof data){if(void 0===data[option])throw new Error("No method named "+option);data[option]()}})}TodoList.prototype.toggle=function(item){item.parents(Selector.li).first().toggleClass(ClassName_done),item.prop("checked")?this.check(item):this.unCheck(item)},TodoList.prototype.check=function(item){this.options.onCheck.call(item)},TodoList.prototype.unCheck=function(item){this.options.onUnCheck.call(item)},TodoList.prototype._setUpListeners=function(){var that=this;$(this.element).on("change ifChanged","input:checkbox",function(){that.toggle($(this))})};var old=$.fn.todoList;$.fn.todoList=Plugin,$.fn.todoList.Constructor=TodoList,$.fn.todoList.noConflict=function(){return $.fn.todoList=old,this},$(window).on("load",function(){$(Selector.data).each(function(){Plugin.call($(this))})})}(jQuery),function($){"use strict";var DataKey="lte.tree",Default={animationSpeed:500,accordion:!0,followLink:!1,trigger:".treeview a"},Selector_tree=".tree",Selector_treeview=".treeview",Selector_treeviewMenu=".treeview-menu",Selector_open=".menu-open, .active",Selector_li="li",Selector_data='[data-widget="tree"]',Selector_active=".active",ClassName_open="menu-open",ClassName_tree="tree",Event_collapsed="collapsed.tree",Event_expanded="expanded.tree",Tree=function(element,options){this.element=element,this.options=options,$(this.element).addClass(ClassName_tree),$(Selector_treeview+Selector_active,this.element).addClass(ClassName_open),this._setUpListeners()};function Plugin(option){return this.each(function(){var $this=$(this),data;if(!$this.data(DataKey)){var options=$.extend({},Default,$this.data(),"object"==typeof option&&option);$this.data(DataKey,new Tree($this,options))}})}Tree.prototype.toggle=function(link,event){var treeviewMenu=link.next(Selector_treeviewMenu),parentLi=link.parent(),isOpen=parentLi.hasClass(ClassName_open);parentLi.is(Selector_treeview)&&(this.options.followLink&&"#"!==link.attr("href")||event.preventDefault(),isOpen?this.collapse(treeviewMenu,parentLi):this.expand(treeviewMenu,parentLi))},Tree.prototype.expand=function(tree,parent){var expandedEvent=$.Event(Event_expanded);if(this.options.accordion){var openMenuLi=parent.siblings(Selector_open),openTree=openMenuLi.children(Selector_treeviewMenu);this.collapse(openTree,openMenuLi)}parent.addClass(ClassName_open),tree.slideDown(this.options.animationSpeed,function(){$(this.element).trigger(expandedEvent)}.bind(this))},Tree.prototype.collapse=function(tree,parentLi){var collapsedEvent=$.Event(Event_collapsed);parentLi.removeClass(ClassName_open),tree.slideUp(this.options.animationSpeed,function(){$(this.element).trigger(collapsedEvent)}.bind(this))},Tree.prototype._setUpListeners=function(){var that=this;$(this.element).on("click",this.options.trigger,function(event){that.toggle($(this),event)})};var old=$.fn.tree;$.fn.tree=Plugin,$.fn.tree.Constructor=Tree,$.fn.tree.noConflict=function(){return $.fn.tree=old,this},$(window).on("load",function(){$(Selector_data).each(function(){Plugin.call($(this))})})}(jQuery); \ No newline at end of file