aboutsummaryrefslogtreecommitdiffhomepage
path: root/public/bower_components/admin-lte/build/js/ControlSidebar.js
diff options
context:
space:
mode:
authorMarvin Borner2018-07-13 19:06:45 +0200
committerMarvin Borner2018-07-13 19:06:45 +0200
commit6fcfb7c04d32e1c8b26a312295bf7ac3ec2d2ad7 (patch)
treedbc87ef16fa01d5d99116de283592b8fe5e02944 /public/bower_components/admin-lte/build/js/ControlSidebar.js
parentdfd839f27146df0ad0494e11734fc7d310c70ebf (diff)
Fixed many permissions and began admin interface
Diffstat (limited to 'public/bower_components/admin-lte/build/js/ControlSidebar.js')
-rw-r--r--public/bower_components/admin-lte/build/js/ControlSidebar.js138
1 files changed, 138 insertions, 0 deletions
diff --git a/public/bower_components/admin-lte/build/js/ControlSidebar.js b/public/bower_components/admin-lte/build/js/ControlSidebar.js
new file mode 100644
index 0000000..f00b523
--- /dev/null
+++ b/public/bower_components/admin-lte/build/js/ControlSidebar.js
@@ -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);