|
@@ -0,0 +1,153 @@
|
|
|
|
+'use strict';
|
|
|
|
+
|
|
|
|
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
|
|
|
+
|
|
|
|
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * --------------------------------------------
|
|
|
|
+ * AdminLTE ControlSidebar.js
|
|
|
|
+ * License MIT
|
|
|
|
+ * --------------------------------------------
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+var ControlSidebar = function ($) {
|
|
|
|
+ 'use strict';
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Constants
|
|
|
|
+ * ====================================================
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ var NAME = 'ControlSidebar';
|
|
|
|
+ var DATA_KEY = 'lte.control.sidebar';
|
|
|
|
+ var EVENT_KEY = '.' + DATA_KEY;
|
|
|
|
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
|
|
+ var DATA_API_KEY = '.data-api';
|
|
|
|
+
|
|
|
|
+ var Event = {
|
|
|
|
+ CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ var Selector = {
|
|
|
|
+ CONTROL_SIDEBAR: '.control-sidebar',
|
|
|
|
+ DATA_TOGGLE: '[data-widget="control-sidebar"]'
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ var ClassName = {
|
|
|
|
+ CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',
|
|
|
|
+ CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open'
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ var Default = {
|
|
|
|
+ slide: true
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * Class Definition
|
|
|
|
+ * ====================================================
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ var ControlSidebar = function () {
|
|
|
|
+ function ControlSidebar(element, config) {
|
|
|
|
+ _classCallCheck(this, ControlSidebar);
|
|
|
|
+
|
|
|
|
+ this._element = element;
|
|
|
|
+ this._config = this._getConfig(config);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // Public
|
|
|
|
+
|
|
|
|
+ _createClass(ControlSidebar, [{
|
|
|
|
+ key: 'show',
|
|
|
|
+ value: function show() {
|
|
|
|
+ console.log('showing', this._config.slide);
|
|
|
|
+ // Show the control sidebar
|
|
|
|
+ if (this._config.slide) {
|
|
|
|
+ $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE);
|
|
|
|
+ } else {
|
|
|
|
+ $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ key: 'collapse',
|
|
|
|
+ value: function collapse() {
|
|
|
|
+ // Collapse the control sidebar
|
|
|
|
+ if (this._config.slide) {
|
|
|
|
+ $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE);
|
|
|
|
+ } else {
|
|
|
|
+ $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ key: 'toggle',
|
|
|
|
+ value: function toggle() {
|
|
|
|
+ if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {
|
|
|
|
+ // Open the control sidebar
|
|
|
|
+ this.show();
|
|
|
|
+ } else {
|
|
|
|
+ // Close the control sidebar
|
|
|
|
+ this.collapse();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // Private
|
|
|
|
+
|
|
|
|
+ }, {
|
|
|
|
+ key: '_getConfig',
|
|
|
|
+ value: function _getConfig(config) {
|
|
|
|
+ return $.extend({}, Default, config);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // Static
|
|
|
|
+
|
|
|
|
+ }], [{
|
|
|
|
+ key: '_jQueryInterface',
|
|
|
|
+ value: function _jQueryInterface(operation) {
|
|
|
|
+ return this.each(function () {
|
|
|
|
+ var data = $(this).data(DATA_KEY);
|
|
|
|
+
|
|
|
|
+ if (!data) {
|
|
|
|
+ data = new ControlSidebar(this, $(this).data());
|
|
|
|
+ $(this).data(DATA_KEY, data);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (data[operation] === undefined) {
|
|
|
|
+ throw new Error(operation + ' is not a function');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ data[operation]();
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }]);
|
|
|
|
+
|
|
|
|
+ return ControlSidebar;
|
|
|
|
+ }();
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ *
|
|
|
|
+ * Data Api implementation
|
|
|
|
+ * ====================================================
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ $(document).on('click', Selector.DATA_TOGGLE, function (event) {
|
|
|
|
+ event.preventDefault();
|
|
|
|
+
|
|
|
|
+ ControlSidebar._jQueryInterface.call($(this), 'toggle');
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * jQuery API
|
|
|
|
+ * ====================================================
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+ $.fn[NAME] = ControlSidebar._jQueryInterface;
|
|
|
|
+ $.fn[NAME].Constructor = ControlSidebar;
|
|
|
|
+ $.fn[NAME].noConflict = function () {
|
|
|
|
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
|
|
+ return ControlSidebar._jQueryInterface;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ return ControlSidebar;
|
|
|
|
+}(jQuery);
|
|
|
|
+//# sourceMappingURL=ControlSidebar.js.map
|