diff --git a/build/js/dist/Search.js b/build/js/dist/Search.js index 884f9b334..01d42c1e6 100644 --- a/build/js/dist/Search.js +++ b/build/js/dist/Search.js @@ -34,6 +34,7 @@ var Search = function ($) { ACTIVE: '.active', TREEVIEW_MENU: '[data-widget="treeview"]', NAV_TREEVIEW: '.nav-treeview', + NAV_HEADER: '.nav-header', DATA_WIDGET: '[data-widget="search"]' }; @@ -68,6 +69,8 @@ var Search = function ($) { _createClass(Search, [{ key: 'init', value: function init() { + var _this = this; + if (this._config.target === '') { this._config.target = this._element.closest(Selector.TREEVIEW_MENU); } else { @@ -88,57 +91,106 @@ var Search = function ($) { var value = $(event.currentTarget).val(); - if (!this._config.case_sensitive) { + if (!_this._config.case_sensitive) { value = value.toLowerCase(); } - this.search(value); - }.bind(this)); + _this.search(value); + }); } }, { key: 'search', value: function search(value) { - var _that = this; + var items = this._config.target.find(Selector.LI); + var headers = this._config.target.find(Selector.NAV_HEADER); // If the value is back to null if (!value) { + // Show all headers + headers.css('display', 'block'); + // Close all treeviews - this._config.target.find(Selector.LI).css('display', 'block').find(Selector.NAV_TREEVIEW).css('display', 'none'); + items.css('display', 'block').removeClass(ClassName.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'none'); // Open the originally opened treeviews - this._config.target.find(Selector.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'block'); - this._open_menus.each(function () { - if (!$(this).hasClass(ClassName.OPEN)) { - $(this).addClass(Selector.OPEN).css('display', 'block'); - $(this).children(Selector.NAV_TREEVIEW).css('display', 'block'); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this._open_menus[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var menu = _step.value; + + if (!$(menu).hasClass(ClassName.OPEN)) { + $(menu).addClass(ClassName.OPEN).css('display', 'block'); + $(menu).children(Selector.NAV_TREEVIEW).css('display', 'block'); + } } - }); + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + return; } + // Hide all elements + items.css('display', 'none'); + headers.css('display', 'none'); + // Search through the tree elements - this._config.target.find(Selector.LI).each(function () { - var text = $(this).children(Selector.LINK).first().text(); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; - if (!_that._config.case_sensitive) { - text = text.toLowerCase(); + try { + for (var _iterator2 = items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var item = _step2.value; + + var text = $(item).children('a').text(); + + if (!this._config.case_sensitive) { + text = text.toLowerCase(); + } + + if (text.indexOf(value) != -1) { + // Found the result + // Make the parent LI visible + $(item).parents(Selector.LI).css('display', 'block').addClass('menu-open'); + + $(item).parents(Selector.NAV_TREEVIEW).css('display', 'block'); + + // If this is a treeview parent, make all of its children visible + $(item).children(Selector.NAV_TREEVIEW).css('display', 'block').children(Selector.LI).css('display', 'block').addClass('menu-open'); + + // Make this element visible + $(item).css('display', 'block'); + } } - - if (text.search(value) == -1) { - // No results - $(this).css('display', 'none'); - } else { - // Found the result - // Make the parent LI visible - $(this).parents(Selector.LI).css('display', 'block'); - - // Make the parent nav-treeview visible - $(this).parents(Selector.NAV_TREEVIEW).addClass('menu-open').css('display', 'block'); - - // Make this element visible - $(this).css('display', 'block'); + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } } - }); + } } // Static diff --git a/build/js/dist/Search.js.map b/build/js/dist/Search.js.map index 63ff64473..89541fecd 100644 --- a/build/js/dist/Search.js.map +++ b/build/js/dist/Search.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/Search.js"],"names":["Search","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Event","LOAD_DATA_API","Selector","LI","LINK","OPEN","ACTIVE","TREEVIEW_MENU","NAV_TREEVIEW","DATA_WIDGET","ClassName","Default","target","case_sensitive","element","config","_config","_element","_open_menus","closest","find","parents","first","submit","event","preventDefault","keyup","value","currentTarget","val","toLowerCase","search","bind","_that","css","each","hasClass","addClass","children","text","data","extend","window","on","_jQueryInterface","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"Search.js","sourcesContent":["/**\n * --------------------------------------------\n * AdminLTE Search.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Search = (($) => {\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Search'\n const DATA_KEY = 'lte.search'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n OPEN : '.menu-open',\n ACTIVE : '.active',\n TREEVIEW_MENU: '[data-widget=\"treeview\"]',\n NAV_TREEVIEW : '.nav-treeview',\n DATA_WIDGET : '[data-widget=\"search\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n NAV_TREEVIEW: 'nav-treeview',\n OPEN : 'menu-open'\n }\n\n const Default = {\n target : '',\n case_sensitive: false\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Search {\n\n constructor(element, config) {\n this._config = config\n this._element = element\n this._open_menus = null\n }\n\n // Public\n\n init() {\n if (this._config.target === '') {\n this._config.target = this._element.closest(Selector.TREEVIEW_MENU)\n } else {\n this._config.target = $(this._config.target)\n }\n\n // Set treeview original state\n this._open_menus = this._config.target.find(Selector.OPEN)\n\n // Prevent form submission\n this._element.parents('form').first().submit(function (event) {\n event.preventDefault()\n })\n\n // Setup search function\n this._element.keyup(function (event) {\n event.preventDefault()\n\n let value = $(event.currentTarget).val()\n\n if (!this._config.case_sensitive) {\n value = value.toLowerCase()\n }\n\n this.search(value)\n }.bind(this))\n }\n\n search(value) {\n let _that = this\n\n // If the value is back to null\n if (!value) {\n // Close all treeviews\n this._config.target.find(Selector.LI)\n .css('display', 'block')\n .find(Selector.NAV_TREEVIEW)\n .css('display', 'none')\n\n // Open the originally opened treeviews\n this._config.target.find(Selector.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'block')\n this._open_menus.each(function () {\n if (!$(this).hasClass(ClassName.OPEN)) {\n $(this).addClass(Selector.OPEN).css('display', 'block')\n $(this).children(Selector.NAV_TREEVIEW).css('display', 'block')\n }\n })\n return\n }\n\n // Search through the tree elements\n this._config.target.find(Selector.LI).each(function () {\n let text = $(this).children(Selector.LINK).first().text()\n\n if (!_that._config.case_sensitive) {\n text = text.toLowerCase()\n }\n\n if (text.search(value) == -1) {\n // No results\n $(this).css('display', 'none')\n } else { // Found the result\n // Make the parent LI visible\n $(this).parents(Selector.LI)\n .css('display', 'block')\n\n // Make the parent nav-treeview visible\n $(this).parents(Selector.NAV_TREEVIEW)\n .addClass('menu-open')\n .css('display', 'block')\n\n // Make this element visible\n $(this).css('display', 'block')\n }\n })\n }\n\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Search($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Search._jQueryInterface.call($(this), 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Search._jQueryInterface\n $.fn[NAME].Constructor = Search\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Search._jQueryInterface\n }\n\n return Search\n\n})(jQuery)\n"]} \ No newline at end of file +{"version":3,"sources":["../src/Search.js"],"names":["Search","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Event","LOAD_DATA_API","Selector","LI","LINK","OPEN","ACTIVE","TREEVIEW_MENU","NAV_TREEVIEW","NAV_HEADER","DATA_WIDGET","ClassName","Default","target","case_sensitive","element","config","_config","_element","_open_menus","closest","find","parents","first","submit","event","preventDefault","keyup","value","currentTarget","val","toLowerCase","search","items","headers","css","removeClass","menu","hasClass","addClass","children","item","text","indexOf","each","data","extend","window","on","_jQueryInterface","call","Constructor","noConflict","jQuery"],"mappings":"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","file":"Search.js","sourcesContent":["/**\n * --------------------------------------------\n * AdminLTE Search.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Search = (($) => {\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Search'\n const DATA_KEY = 'lte.search'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n OPEN : '.menu-open',\n ACTIVE : '.active',\n TREEVIEW_MENU: '[data-widget=\"treeview\"]',\n NAV_TREEVIEW : '.nav-treeview',\n NAV_HEADER : '.nav-header',\n DATA_WIDGET : '[data-widget=\"search\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n NAV_TREEVIEW: 'nav-treeview',\n OPEN : 'menu-open'\n }\n\n const Default = {\n target : '',\n case_sensitive: false\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Search {\n\n constructor(element, config) {\n this._config = config\n this._element = element\n this._open_menus = null\n }\n\n // Public\n\n init() {\n if (this._config.target === '') {\n this._config.target = this._element.closest(Selector.TREEVIEW_MENU)\n } else {\n this._config.target = $(this._config.target)\n }\n\n // Set treeview original state\n this._open_menus = this._config.target.find(Selector.OPEN)\n\n // Prevent form submission\n this._element.parents('form').first().submit((event) => {\n event.preventDefault()\n })\n\n // Setup search function\n this._element.keyup((event) => {\n event.preventDefault()\n\n let value = $(event.currentTarget).val()\n\n if (!this._config.case_sensitive) {\n value = value.toLowerCase()\n }\n\n this.search(value)\n })\n }\n\n search(value) {\n let items = this._config.target.find(Selector.LI)\n let headers = this._config.target.find(Selector.NAV_HEADER)\n\n // If the value is back to null\n if (!value) {\n // Show all headers\n headers.css('display', 'block')\n\n // Close all treeviews\n items.css('display', 'block')\n .removeClass(ClassName.OPEN)\n .find(Selector.NAV_TREEVIEW)\n .css('display', 'none')\n\n // Open the originally opened treeviews\n for (let menu of this._open_menus) {\n if (!$(menu).hasClass(ClassName.OPEN)) {\n $(menu).addClass(ClassName.OPEN).css('display', 'block')\n $(menu).children(Selector.NAV_TREEVIEW).css('display', 'block')\n }\n }\n\n return\n }\n\n // Hide all elements\n items.css('display', 'none')\n headers.css('display', 'none')\n\n // Search through the tree elements\n for (let item of items) {\n let text = $(item).children('a').text()\n\n if (!this._config.case_sensitive) {\n text = text.toLowerCase()\n }\n\n if (text.indexOf(value) != -1) {\n // Found the result\n // Make the parent LI visible\n $(item).parents(Selector.LI)\n .css('display', 'block')\n .addClass('menu-open')\n\n $(item).parents(Selector.NAV_TREEVIEW)\n .css('display', 'block')\n\n // If this is a treeview parent, make all of its children visible\n $(item).children(Selector.NAV_TREEVIEW)\n .css('display', 'block')\n .children(Selector.LI)\n .css('display', 'block')\n .addClass('menu-open')\n\n // Make this element visible\n $(item).css('display', 'block')\n }\n }\n }\n\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Search($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Search._jQueryInterface.call($(this), 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Search._jQueryInterface\n $.fn[NAME].Constructor = Search\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Search._jQueryInterface\n }\n\n return Search\n\n})(jQuery)\n"]} \ No newline at end of file diff --git a/build/js/src/AdminLTE.js b/build/js/src/AdminLTE.js index b2ff63bb6..3eeea681c 100644 --- a/build/js/src/AdminLTE.js +++ b/build/js/src/AdminLTE.js @@ -589,6 +589,7 @@ const Search = (($) => { ACTIVE : '.active', TREEVIEW_MENU: '[data-widget="treeview"]', NAV_TREEVIEW : '.nav-treeview', + NAV_HEADER : '.nav-header', DATA_WIDGET : '[data-widget="search"]' } @@ -629,12 +630,12 @@ const Search = (($) => { this._open_menus = this._config.target.find(Selector.OPEN) // Prevent form submission - this._element.parents('form').first().submit(function (event) { + this._element.parents('form').first().submit((event) => { event.preventDefault() }) // Setup search function - this._element.keyup(function (event) { + this._element.keyup((event) => { event.preventDefault() let value = $(event.currentTarget).val() @@ -644,56 +645,68 @@ const Search = (($) => { } this.search(value) - }.bind(this)) + }) } search(value) { - let _that = this + let items = this._config.target.find(Selector.LI) + let headers = this._config.target.find(Selector.NAV_HEADER) // If the value is back to null if (!value) { + // Show all headers + headers.css('display', 'block') + // Close all treeviews - this._config.target.find(Selector.LI) - .css('display', 'block') + items.css('display', 'block') + .removeClass(ClassName.OPEN) .find(Selector.NAV_TREEVIEW) .css('display', 'none') // Open the originally opened treeviews - this._config.target.find(Selector.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'block') - this._open_menus.each(function () { - if (!$(this).hasClass(ClassName.OPEN)) { - $(this).addClass(Selector.OPEN).css('display', 'block') - $(this).children(Selector.NAV_TREEVIEW).css('display', 'block') + for (let menu of this._open_menus) { + if (!$(menu).hasClass(ClassName.OPEN)) { + $(menu).addClass(ClassName.OPEN).css('display', 'block') + $(menu).children(Selector.NAV_TREEVIEW).css('display', 'block') } - }) + } + return } - // Search through the tree elements - this._config.target.find(Selector.LI).each(function () { - let text = $(this).children(Selector.LINK).first().text() + // Hide all elements + items.css('display', 'none') + headers.css('display', 'none') - if (!_that._config.case_sensitive) { + // Search through the tree elements + for (let item of items) { + let text = $(item).children('a').text() + + if (!this._config.case_sensitive) { text = text.toLowerCase() } - if (text.search(value) == -1) { - // No results - $(this).css('display', 'none') - } else { // Found the result + if (text.indexOf(value) != -1) { + // Found the result // Make the parent LI visible - $(this).parents(Selector.LI) + $(item).parents(Selector.LI) + .css('display', 'block') + .addClass('menu-open') + + $(item).parents(Selector.NAV_TREEVIEW) .css('display', 'block') - // Make the parent nav-treeview visible - $(this).parents(Selector.NAV_TREEVIEW) - .addClass('menu-open') + // If this is a treeview parent, make all of its children visible + $(item).children(Selector.NAV_TREEVIEW) .css('display', 'block') + .children(Selector.LI) + .css('display', 'block') + .addClass('menu-open') // Make this element visible - $(this).css('display', 'block') + $(item).css('display', 'block') } - }) + } } diff --git a/build/js/src/Search.js b/build/js/src/Search.js index 4cfe1f0f8..7eeb028b9 100644 --- a/build/js/src/Search.js +++ b/build/js/src/Search.js @@ -28,6 +28,7 @@ const Search = (($) => { ACTIVE : '.active', TREEVIEW_MENU: '[data-widget="treeview"]', NAV_TREEVIEW : '.nav-treeview', + NAV_HEADER : '.nav-header', DATA_WIDGET : '[data-widget="search"]' } @@ -68,12 +69,12 @@ const Search = (($) => { this._open_menus = this._config.target.find(Selector.OPEN) // Prevent form submission - this._element.parents('form').first().submit(function (event) { + this._element.parents('form').first().submit((event) => { event.preventDefault() }) // Setup search function - this._element.keyup(function (event) { + this._element.keyup((event) => { event.preventDefault() let value = $(event.currentTarget).val() @@ -83,56 +84,68 @@ const Search = (($) => { } this.search(value) - }.bind(this)) + }) } search(value) { - let _that = this + let items = this._config.target.find(Selector.LI) + let headers = this._config.target.find(Selector.NAV_HEADER) // If the value is back to null if (!value) { + // Show all headers + headers.css('display', 'block') + // Close all treeviews - this._config.target.find(Selector.LI) - .css('display', 'block') + items.css('display', 'block') + .removeClass(ClassName.OPEN) .find(Selector.NAV_TREEVIEW) .css('display', 'none') // Open the originally opened treeviews - this._config.target.find(Selector.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'block') - this._open_menus.each(function () { - if (!$(this).hasClass(ClassName.OPEN)) { - $(this).addClass(Selector.OPEN).css('display', 'block') - $(this).children(Selector.NAV_TREEVIEW).css('display', 'block') + for (let menu of this._open_menus) { + if (!$(menu).hasClass(ClassName.OPEN)) { + $(menu).addClass(ClassName.OPEN).css('display', 'block') + $(menu).children(Selector.NAV_TREEVIEW).css('display', 'block') } - }) + } + return } - // Search through the tree elements - this._config.target.find(Selector.LI).each(function () { - let text = $(this).children(Selector.LINK).first().text() + // Hide all elements + items.css('display', 'none') + headers.css('display', 'none') - if (!_that._config.case_sensitive) { + // Search through the tree elements + for (let item of items) { + let text = $(item).children('a').text() + + if (!this._config.case_sensitive) { text = text.toLowerCase() } - if (text.search(value) == -1) { - // No results - $(this).css('display', 'none') - } else { // Found the result + if (text.indexOf(value) != -1) { + // Found the result // Make the parent LI visible - $(this).parents(Selector.LI) + $(item).parents(Selector.LI) + .css('display', 'block') + .addClass('menu-open') + + $(item).parents(Selector.NAV_TREEVIEW) .css('display', 'block') - // Make the parent nav-treeview visible - $(this).parents(Selector.NAV_TREEVIEW) - .addClass('menu-open') + // If this is a treeview parent, make all of its children visible + $(item).children(Selector.NAV_TREEVIEW) .css('display', 'block') + .children(Selector.LI) + .css('display', 'block') + .addClass('menu-open') // Make this element visible - $(this).css('display', 'block') + $(item).css('display', 'block') } - }) + } } diff --git a/dist/js/adminlte.js b/dist/js/adminlte.js index cd0860ac9..09cf2328a 100644 --- a/dist/js/adminlte.js +++ b/dist/js/adminlte.js @@ -640,6 +640,7 @@ var Search = function ($) { ACTIVE: '.active', TREEVIEW_MENU: '[data-widget="treeview"]', NAV_TREEVIEW: '.nav-treeview', + NAV_HEADER: '.nav-header', DATA_WIDGET: '[data-widget="search"]' }; @@ -674,6 +675,8 @@ var Search = function ($) { _createClass(Search, [{ key: 'init', value: function init() { + var _this5 = this; + if (this._config.target === '') { this._config.target = this._element.closest(Selector.TREEVIEW_MENU); } else { @@ -694,57 +697,106 @@ var Search = function ($) { var value = $(event.currentTarget).val(); - if (!this._config.case_sensitive) { + if (!_this5._config.case_sensitive) { value = value.toLowerCase(); } - this.search(value); - }.bind(this)); + _this5.search(value); + }); } }, { key: 'search', value: function search(value) { - var _that = this; + var items = this._config.target.find(Selector.LI); + var headers = this._config.target.find(Selector.NAV_HEADER); // If the value is back to null if (!value) { + // Show all headers + headers.css('display', 'block'); + // Close all treeviews - this._config.target.find(Selector.LI).css('display', 'block').find(Selector.NAV_TREEVIEW).css('display', 'none'); + items.css('display', 'block').removeClass(ClassName.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'none'); // Open the originally opened treeviews - this._config.target.find(Selector.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'block'); - this._open_menus.each(function () { - if (!$(this).hasClass(ClassName.OPEN)) { - $(this).addClass(Selector.OPEN).css('display', 'block'); - $(this).children(Selector.NAV_TREEVIEW).css('display', 'block'); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this._open_menus[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var menu = _step.value; + + if (!$(menu).hasClass(ClassName.OPEN)) { + $(menu).addClass(ClassName.OPEN).css('display', 'block'); + $(menu).children(Selector.NAV_TREEVIEW).css('display', 'block'); + } } - }); + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + return; } + // Hide all elements + items.css('display', 'none'); + headers.css('display', 'none'); + // Search through the tree elements - this._config.target.find(Selector.LI).each(function () { - var text = $(this).children(Selector.LINK).first().text(); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; - if (!_that._config.case_sensitive) { - text = text.toLowerCase(); + try { + for (var _iterator2 = items[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var item = _step2.value; + + var text = $(item).children('a').text(); + + if (!this._config.case_sensitive) { + text = text.toLowerCase(); + } + + if (text.indexOf(value) != -1) { + // Found the result + // Make the parent LI visible + $(item).parents(Selector.LI).css('display', 'block').addClass('menu-open'); + + $(item).parents(Selector.NAV_TREEVIEW).css('display', 'block'); + + // If this is a treeview parent, make all of its children visible + $(item).children(Selector.NAV_TREEVIEW).css('display', 'block').children(Selector.LI).css('display', 'block').addClass('menu-open'); + + // Make this element visible + $(item).css('display', 'block'); + } } - - if (text.search(value) == -1) { - // No results - $(this).css('display', 'none'); - } else { - // Found the result - // Make the parent LI visible - $(this).parents(Selector.LI).css('display', 'block'); - - // Make the parent nav-treeview visible - $(this).parents(Selector.NAV_TREEVIEW).addClass('menu-open').css('display', 'block'); - - // Make this element visible - $(this).css('display', 'block'); + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } } - }); + } } // Static diff --git a/dist/js/adminlte.js.map b/dist/js/adminlte.js.map index 062c9d26b..c99c65b4a 100644 --- a/dist/js/adminlte.js.map +++ b/dist/js/adminlte.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../build/js/src/AdminLTE.js"],"names":["Layout","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Event","SIDEBAR","Selector","HEADER","CONTENT","CONTENT_HEADER","WRAPPER","CONTROL_SIDEBAR","LAYOUT_FIXED","FOOTER","ClassName","HOLD","element","_element","_init","heights","window","height","outerHeight","max","_max","css","removeClass","fixLayoutHeight","on","resize","numbers","forEach","v","operation","each","data","_jQueryInterface","Constructor","noConflict","jQuery","Treeview","SELECTED","EXPANDED","COLLAPSED","LOAD_DATA_API","LI","LINK","TREEVIEW_MENU","OPEN","DATA_WIDGET","Default","trigger","animationSpeed","accordion","config","_config","_setupListeners","treeviewMenu","parentLi","expandedEvent","openMenuLi","siblings","first","openTreeview","find","collapse","slideDown","addClass","collapsedEvent","slideUp","event","$relativeTarget","currentTarget","next","is","preventDefault","parents","isOpen","hasClass","expand","document","toggle","extend","$treeview","call","PushMenu","SHOWN","TOGGLE_BUTTON","_isShown","shownEvent","show","button","closest","Widget","$this","ControlSidebar","DATA_API_KEY","CLICK_DATA_API","DATA_TOGGLE","CONTROL_SIDEBAR_OPEN","CONTROL_SIDEBAR_SLIDE","slide","_getConfig","undefined","Error","Search","ACTIVE","NAV_TREEVIEW","target","case_sensitive","_open_menus","submit","keyup","value","val","toLowerCase","search","bind","_that","children","text"],"mappings":"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","file":"adminlte.js","sourcesContent":["/*!\n * AdminLTE v3.0.0-alpha (https://almsaeedstudio.com)\n * Copyright 2014-2016 Abdullah Almsaeed \n * Project website Almsaeed Studio (https://almsaeedstudio.com)\n * Licensed under MIT (https://github.com/almasaeed2010/AdminLTE/blob/master/LICENSE)\n */\nconst Layout = (($) => {\n 'use strict'\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Layout'\n const DATA_KEY = 'lte.layout'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SIDEBAR: 'sidebar'\n }\n\n const Selector = {\n SIDEBAR: '.main-sidebar',\n HEADER: '.main-header',\n CONTENT: '.content-wrapper',\n CONTENT_HEADER: '.content-header',\n WRAPPER: '.wrapper',\n CONTROL_SIDEBAR: '.control-sidebar',\n LAYOUT_FIXED: '.layout-fixed',\n FOOTER: '.main-footer'\n }\n\n const ClassName = {\n HOLD: 'hold-transition',\n SIDEBAR: 'main-sidebar',\n LAYOUT_FIXED: 'layout-fixed'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Layout {\n\n constructor(element) {\n this._element = element\n\n this._init()\n }\n\n // Public\n\n fixLayoutHeight() {\n let heights = [\n $(window).height(),\n $(Selector.HEADER).outerHeight(),\n $(Selector.FOOTER).outerHeight(),\n $(Selector.SIDEBAR).height()\n ],\n max = this._max(heights)\n\n $(Selector.CONTENT).css('min-height', max - (heights[1] + heights[2]))\n }\n\n // Private\n\n _init() {\n // Enable transitions\n $('body').removeClass(ClassName.HOLD)\n\n // Activate layout height watcher\n this.fixLayoutHeight()\n $(Selector.SIDEBAR).on('collapsed.lte.treeview expanded.lte.treeview collapsed.lte.pushmenu expanded.lte.pushmenu', () => {\n this.fixLayoutHeight()\n })\n $(window).resize(() => {\n this.fixLayoutHeight()\n })\n\n $('body, html').css('height', 'auto');\n }\n\n _max(numbers) {\n // Calculate the maximum number in a list\n let max = 0\n\n numbers.forEach((v) => {\n if (v > max) {\n max = v\n }\n })\n\n return max\n }\n\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Layout(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (operation) {\n data[operation]()\n }\n })\n }\n }\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Layout._jQueryInterface\n $.fn[NAME].Constructor = Layout\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Layout._jQueryInterface\n }\n\n return Layout\n\n})(jQuery)\n\nconst Treeview = (($) => {\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Treeview'\n const DATA_KEY = 'lte.treeview'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SELECTED : `selected${EVENT_KEY}`,\n EXPANDED : `expanded${EVENT_KEY}`,\n COLLAPSED : `collapsed${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n TREEVIEW_MENU: '.nav-treeview',\n OPEN : '.menu-open',\n DATA_WIDGET : '[data-widget=\"treeview\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n TREEVIEW_MENU: 'nav-treeview',\n OPEN : 'menu-open'\n }\n\n const Default = {\n trigger : `${Selector.DATA_WIDGET} ${Selector.LINK}`,\n animationSpeed: 300,\n accordion : true\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Treeview {\n\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n init() {\n this._setupListeners()\n }\n\n expand(treeviewMenu, parentLi) {\n let expandedEvent = $.Event(Event.EXPANDED)\n\n if (this._config.accordion) {\n let openMenuLi = parentLi.siblings(Selector.OPEN).first()\n let openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first()\n this.collapse(openTreeview, openMenuLi)\n }\n\n treeviewMenu.slideDown(this._config.animationSpeed, () => {\n parentLi.addClass(ClassName.OPEN)\n $(this._element).trigger(expandedEvent)\n })\n }\n\n collapse(treeviewMenu, parentLi) {\n let collapsedEvent = $.Event(Event.COLLAPSED)\n\n treeviewMenu.slideUp(this._config.animationSpeed, () => {\n parentLi.removeClass(ClassName.OPEN)\n $(this._element).trigger(collapsedEvent)\n treeviewMenu.find(`${Selector.OPEN} > ${Selector.TREEVIEW_MENU}`).slideUp()\n treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN)\n })\n }\n\n collapseAll() {\n\n }\n\n expandAll() {\n\n }\n\n toggle(event) {\n let $relativeTarget = $(event.currentTarget)\n let treeviewMenu = $relativeTarget.next()\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n return\n }\n\n event.preventDefault()\n\n let parentLi = $relativeTarget.parents(Selector.LI).first()\n let isOpen = parentLi.hasClass(ClassName.OPEN)\n\n if (isOpen) {\n this.collapse($(treeviewMenu), parentLi)\n } else {\n this.expand($(treeviewMenu), parentLi)\n }\n }\n\n // Private\n\n _setupListeners() {\n $(document).on('click', this._config.trigger, (event) => {\n this.toggle(event)\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Treeview($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n let $treeview = $(this)\n Treeview._jQueryInterface.call($treeview, 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Treeview._jQueryInterface\n $.fn[NAME].Constructor = Treeview\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Treeview._jQueryInterface\n }\n\n return Treeview\n\n})(jQuery)\n\nconst PushMenu = (($) => {\n 'use strict'\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'PushMenu'\n const DATA_KEY = 'lte.pushmenu'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n }\n\n const Selector = {\n COLLAPSED: 'sidebar-collapse',\n TOGGLE_BUTTON: '[data-widget=\"pushmenu\"]'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class PushMenu {\n\n constructor(element) {\n this._element = element\n this._isShown = !$('body').hasClass(Selector.COLLAPSED) || $('body').hasClass('sidebar-open')\n }\n\n // Public\n\n show() {\n $('body').addClass('sidebar-open')\n .removeClass(Selector.COLLAPSED)\n\n this._isShown = true\n\n let shownEvent = $.Event(Event.SHOWN)\n $(this._element).trigger(shownEvent)\n }\n\n collapse() {\n $('body').removeClass('sidebar-open')\n .addClass(Selector.COLLAPSED)\n\n this._isShown = false\n\n let collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n toggle() {\n\n if (typeof this._isShown === 'undefined') {\n this._isShown = !$('body').hasClass(Selector.COLLAPSED) || $('body').hasClass('sidebar-open')\n }\n\n if (this._isShown) {\n this.collapse()\n } else {\n this.show()\n }\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new PushMenu(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (operation) {\n data[operation]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(document).on('click', Selector.TOGGLE_BUTTON, (event) => {\n event.preventDefault()\n\n let button = event.currentTarget\n\n if ($(button).data('widget') !== 'pushmenu') {\n button = $(button).closest(Selector.TOGGLE_BUTTON)\n }\n\n PushMenu._jQueryInterface.call($(button), 'toggle')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = PushMenu._jQueryInterface\n $.fn[NAME].Constructor = PushMenu\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return PushMenu._jQueryInterface\n }\n\n return PushMenu\n\n})(jQuery)\n\nconst Widget = (($) => {\n 'use strict'\n\n class Widget {\n\n constructor(element) {\n this._element = element\n }\n\n static _jQueryInterface(element) {\n let $this = $(element)\n $this.show()\n }\n }\n\n return Widget\n\n})(jQuery)\n\nconst ControlSidebar = (($) => {\n 'use strict'\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'ControlSidebar'\n const DATA_KEY = 'lte.control.sidebar'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const Selector = {\n CONTROL_SIDEBAR: '.control-sidebar',\n DATA_TOGGLE : '[data-widget=\"control-sidebar\"]'\n }\n\n const ClassName = {\n CONTROL_SIDEBAR_OPEN : 'control-sidebar-open',\n CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open'\n }\n\n const Default = {\n slide: true\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class ControlSidebar {\n\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config);\n }\n\n // Public\n\n show() {\n // Show the control sidebar\n if (this._config.slide) {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n } else {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n }\n\n collapse() {\n // Collapse the control sidebar\n if (this._config.slide) {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n } else {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n }\n\n toggle() {\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {\n // Open the control sidebar\n this.show()\n } else {\n // Close the control sidebar\n this.collapse()\n }\n }\n\n // Private\n\n _getConfig(config) {\n return $.extend({}, Default, config)\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new ControlSidebar(this, $(this).data())\n $(this).data(DATA_KEY, data)\n }\n\n if(data[operation] === undefined) {\n throw new Error(`${operation} is not a function`)\n }\n\n data[operation]();\n })\n }\n }\n\n /**\n *\n * Data Api implementation\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n ControlSidebar._jQueryInterface.call($(this), 'toggle')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = ControlSidebar._jQueryInterface\n $.fn[NAME].Constructor = ControlSidebar\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ControlSidebar._jQueryInterface\n }\n\n return ControlSidebar\n\n})(jQuery)\n\nconst Search = (($) => {\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Search'\n const DATA_KEY = 'lte.search'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n OPEN : '.menu-open',\n ACTIVE : '.active',\n TREEVIEW_MENU: '[data-widget=\"treeview\"]',\n NAV_TREEVIEW : '.nav-treeview',\n DATA_WIDGET : '[data-widget=\"search\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n NAV_TREEVIEW: 'nav-treeview',\n OPEN : 'menu-open'\n }\n\n const Default = {\n target : '',\n case_sensitive: false\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Search {\n\n constructor(element, config) {\n this._config = config\n this._element = element\n this._open_menus = null\n }\n\n // Public\n\n init() {\n if (this._config.target === '') {\n this._config.target = this._element.closest(Selector.TREEVIEW_MENU)\n } else {\n this._config.target = $(this._config.target)\n }\n\n // Set treeview original state\n this._open_menus = this._config.target.find(Selector.OPEN)\n\n // Prevent form submission\n this._element.parents('form').first().submit(function (event) {\n event.preventDefault()\n })\n\n // Setup search function\n this._element.keyup(function (event) {\n event.preventDefault()\n\n let value = $(event.currentTarget).val()\n\n if (!this._config.case_sensitive) {\n value = value.toLowerCase()\n }\n\n this.search(value)\n }.bind(this))\n }\n\n search(value) {\n let _that = this\n\n // If the value is back to null\n if (!value) {\n // Close all treeviews\n this._config.target.find(Selector.LI)\n .css('display', 'block')\n .find(Selector.NAV_TREEVIEW)\n .css('display', 'none')\n\n // Open the originally opened treeviews\n this._config.target.find(Selector.OPEN).find(Selector.NAV_TREEVIEW).css('display', 'block')\n this._open_menus.each(function () {\n if (!$(this).hasClass(ClassName.OPEN)) {\n $(this).addClass(Selector.OPEN).css('display', 'block')\n $(this).children(Selector.NAV_TREEVIEW).css('display', 'block')\n }\n })\n return\n }\n\n // Search through the tree elements\n this._config.target.find(Selector.LI).each(function () {\n let text = $(this).children(Selector.LINK).first().text()\n\n if (!_that._config.case_sensitive) {\n text = text.toLowerCase()\n }\n\n if (text.search(value) == -1) {\n // No results\n $(this).css('display', 'none')\n } else { // Found the result\n // Make the parent LI visible\n $(this).parents(Selector.LI)\n .css('display', 'block')\n\n // Make the parent nav-treeview visible\n $(this).parents(Selector.NAV_TREEVIEW)\n .addClass('menu-open')\n .css('display', 'block')\n\n // Make this element visible\n $(this).css('display', 'block')\n }\n })\n }\n\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Search($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Search._jQueryInterface.call($(this), 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Search._jQueryInterface\n $.fn[NAME].Constructor = Search\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Search._jQueryInterface\n }\n\n return Search\n\n})(jQuery)\n"]} \ No newline at end of file +{"version":3,"sources":["../../build/js/src/AdminLTE.js"],"names":["Layout","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Event","SIDEBAR","Selector","HEADER","CONTENT","CONTENT_HEADER","WRAPPER","CONTROL_SIDEBAR","LAYOUT_FIXED","FOOTER","ClassName","HOLD","element","_element","_init","heights","window","height","outerHeight","max","_max","css","removeClass","fixLayoutHeight","on","resize","numbers","forEach","v","operation","each","data","_jQueryInterface","Constructor","noConflict","jQuery","Treeview","SELECTED","EXPANDED","COLLAPSED","LOAD_DATA_API","LI","LINK","TREEVIEW_MENU","OPEN","DATA_WIDGET","Default","trigger","animationSpeed","accordion","config","_config","_setupListeners","treeviewMenu","parentLi","expandedEvent","openMenuLi","siblings","first","openTreeview","find","collapse","slideDown","addClass","collapsedEvent","slideUp","event","$relativeTarget","currentTarget","next","is","preventDefault","parents","isOpen","hasClass","expand","document","toggle","extend","$treeview","call","PushMenu","SHOWN","TOGGLE_BUTTON","_isShown","shownEvent","show","button","closest","Widget","$this","ControlSidebar","DATA_API_KEY","CLICK_DATA_API","DATA_TOGGLE","CONTROL_SIDEBAR_OPEN","CONTROL_SIDEBAR_SLIDE","slide","_getConfig","undefined","Error","Search","ACTIVE","NAV_TREEVIEW","NAV_HEADER","target","case_sensitive","_open_menus","submit","keyup","value","val","toLowerCase","search","items","headers","menu","children","item","text","indexOf"],"mappings":"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","file":"adminlte.js","sourcesContent":["/*!\n * AdminLTE v3.0.0-alpha (https://almsaeedstudio.com)\n * Copyright 2014-2016 Abdullah Almsaeed \n * Project website Almsaeed Studio (https://almsaeedstudio.com)\n * Licensed under MIT (https://github.com/almasaeed2010/AdminLTE/blob/master/LICENSE)\n */\nconst Layout = (($) => {\n 'use strict'\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Layout'\n const DATA_KEY = 'lte.layout'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SIDEBAR: 'sidebar'\n }\n\n const Selector = {\n SIDEBAR: '.main-sidebar',\n HEADER: '.main-header',\n CONTENT: '.content-wrapper',\n CONTENT_HEADER: '.content-header',\n WRAPPER: '.wrapper',\n CONTROL_SIDEBAR: '.control-sidebar',\n LAYOUT_FIXED: '.layout-fixed',\n FOOTER: '.main-footer'\n }\n\n const ClassName = {\n HOLD: 'hold-transition',\n SIDEBAR: 'main-sidebar',\n LAYOUT_FIXED: 'layout-fixed'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Layout {\n\n constructor(element) {\n this._element = element\n\n this._init()\n }\n\n // Public\n\n fixLayoutHeight() {\n let heights = [\n $(window).height(),\n $(Selector.HEADER).outerHeight(),\n $(Selector.FOOTER).outerHeight(),\n $(Selector.SIDEBAR).height()\n ],\n max = this._max(heights)\n\n $(Selector.CONTENT).css('min-height', max - (heights[1] + heights[2]))\n }\n\n // Private\n\n _init() {\n // Enable transitions\n $('body').removeClass(ClassName.HOLD)\n\n // Activate layout height watcher\n this.fixLayoutHeight()\n $(Selector.SIDEBAR).on('collapsed.lte.treeview expanded.lte.treeview collapsed.lte.pushmenu expanded.lte.pushmenu', () => {\n this.fixLayoutHeight()\n })\n $(window).resize(() => {\n this.fixLayoutHeight()\n })\n\n $('body, html').css('height', 'auto');\n }\n\n _max(numbers) {\n // Calculate the maximum number in a list\n let max = 0\n\n numbers.forEach((v) => {\n if (v > max) {\n max = v\n }\n })\n\n return max\n }\n\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Layout(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (operation) {\n data[operation]()\n }\n })\n }\n }\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Layout._jQueryInterface\n $.fn[NAME].Constructor = Layout\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Layout._jQueryInterface\n }\n\n return Layout\n\n})(jQuery)\n\nconst Treeview = (($) => {\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Treeview'\n const DATA_KEY = 'lte.treeview'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n SELECTED : `selected${EVENT_KEY}`,\n EXPANDED : `expanded${EVENT_KEY}`,\n COLLAPSED : `collapsed${EVENT_KEY}`,\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n TREEVIEW_MENU: '.nav-treeview',\n OPEN : '.menu-open',\n DATA_WIDGET : '[data-widget=\"treeview\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n TREEVIEW_MENU: 'nav-treeview',\n OPEN : 'menu-open'\n }\n\n const Default = {\n trigger : `${Selector.DATA_WIDGET} ${Selector.LINK}`,\n animationSpeed: 300,\n accordion : true\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Treeview {\n\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n init() {\n this._setupListeners()\n }\n\n expand(treeviewMenu, parentLi) {\n let expandedEvent = $.Event(Event.EXPANDED)\n\n if (this._config.accordion) {\n let openMenuLi = parentLi.siblings(Selector.OPEN).first()\n let openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first()\n this.collapse(openTreeview, openMenuLi)\n }\n\n treeviewMenu.slideDown(this._config.animationSpeed, () => {\n parentLi.addClass(ClassName.OPEN)\n $(this._element).trigger(expandedEvent)\n })\n }\n\n collapse(treeviewMenu, parentLi) {\n let collapsedEvent = $.Event(Event.COLLAPSED)\n\n treeviewMenu.slideUp(this._config.animationSpeed, () => {\n parentLi.removeClass(ClassName.OPEN)\n $(this._element).trigger(collapsedEvent)\n treeviewMenu.find(`${Selector.OPEN} > ${Selector.TREEVIEW_MENU}`).slideUp()\n treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN)\n })\n }\n\n collapseAll() {\n\n }\n\n expandAll() {\n\n }\n\n toggle(event) {\n let $relativeTarget = $(event.currentTarget)\n let treeviewMenu = $relativeTarget.next()\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n return\n }\n\n event.preventDefault()\n\n let parentLi = $relativeTarget.parents(Selector.LI).first()\n let isOpen = parentLi.hasClass(ClassName.OPEN)\n\n if (isOpen) {\n this.collapse($(treeviewMenu), parentLi)\n } else {\n this.expand($(treeviewMenu), parentLi)\n }\n }\n\n // Private\n\n _setupListeners() {\n $(document).on('click', this._config.trigger, (event) => {\n this.toggle(event)\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Treeview($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n let $treeview = $(this)\n Treeview._jQueryInterface.call($treeview, 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Treeview._jQueryInterface\n $.fn[NAME].Constructor = Treeview\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Treeview._jQueryInterface\n }\n\n return Treeview\n\n})(jQuery)\n\nconst PushMenu = (($) => {\n 'use strict'\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'PushMenu'\n const DATA_KEY = 'lte.pushmenu'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n COLLAPSED: `collapsed${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`\n }\n\n const Selector = {\n COLLAPSED: 'sidebar-collapse',\n TOGGLE_BUTTON: '[data-widget=\"pushmenu\"]'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class PushMenu {\n\n constructor(element) {\n this._element = element\n this._isShown = !$('body').hasClass(Selector.COLLAPSED) || $('body').hasClass('sidebar-open')\n }\n\n // Public\n\n show() {\n $('body').addClass('sidebar-open')\n .removeClass(Selector.COLLAPSED)\n\n this._isShown = true\n\n let shownEvent = $.Event(Event.SHOWN)\n $(this._element).trigger(shownEvent)\n }\n\n collapse() {\n $('body').removeClass('sidebar-open')\n .addClass(Selector.COLLAPSED)\n\n this._isShown = false\n\n let collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n toggle() {\n\n if (typeof this._isShown === 'undefined') {\n this._isShown = !$('body').hasClass(Selector.COLLAPSED) || $('body').hasClass('sidebar-open')\n }\n\n if (this._isShown) {\n this.collapse()\n } else {\n this.show()\n }\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new PushMenu(this)\n $(this).data(DATA_KEY, data)\n }\n\n if (operation) {\n data[operation]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(document).on('click', Selector.TOGGLE_BUTTON, (event) => {\n event.preventDefault()\n\n let button = event.currentTarget\n\n if ($(button).data('widget') !== 'pushmenu') {\n button = $(button).closest(Selector.TOGGLE_BUTTON)\n }\n\n PushMenu._jQueryInterface.call($(button), 'toggle')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = PushMenu._jQueryInterface\n $.fn[NAME].Constructor = PushMenu\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return PushMenu._jQueryInterface\n }\n\n return PushMenu\n\n})(jQuery)\n\nconst Widget = (($) => {\n 'use strict'\n\n class Widget {\n\n constructor(element) {\n this._element = element\n }\n\n static _jQueryInterface(element) {\n let $this = $(element)\n $this.show()\n }\n }\n\n return Widget\n\n})(jQuery)\n\nconst ControlSidebar = (($) => {\n 'use strict'\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'ControlSidebar'\n const DATA_KEY = 'lte.control.sidebar'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const DATA_API_KEY = '.data-api'\n\n const Event = {\n CLICK_DATA_API: `click${EVENT_KEY}${DATA_API_KEY}`\n }\n\n const Selector = {\n CONTROL_SIDEBAR: '.control-sidebar',\n DATA_TOGGLE : '[data-widget=\"control-sidebar\"]'\n }\n\n const ClassName = {\n CONTROL_SIDEBAR_OPEN : 'control-sidebar-open',\n CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open'\n }\n\n const Default = {\n slide: true\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class ControlSidebar {\n\n constructor(element, config) {\n this._element = element\n this._config = this._getConfig(config);\n }\n\n // Public\n\n show() {\n // Show the control sidebar\n if (this._config.slide) {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n } else {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n }\n\n collapse() {\n // Collapse the control sidebar\n if (this._config.slide) {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n } else {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n }\n\n toggle() {\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {\n // Open the control sidebar\n this.show()\n } else {\n // Close the control sidebar\n this.collapse()\n }\n }\n\n // Private\n\n _getConfig(config) {\n return $.extend({}, Default, config)\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new ControlSidebar(this, $(this).data())\n $(this).data(DATA_KEY, data)\n }\n\n if(data[operation] === undefined) {\n throw new Error(`${operation} is not a function`)\n }\n\n data[operation]();\n })\n }\n }\n\n /**\n *\n * Data Api implementation\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_TOGGLE, function (event) {\n event.preventDefault()\n\n ControlSidebar._jQueryInterface.call($(this), 'toggle')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = ControlSidebar._jQueryInterface\n $.fn[NAME].Constructor = ControlSidebar\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ControlSidebar._jQueryInterface\n }\n\n return ControlSidebar\n\n})(jQuery)\n\nconst Search = (($) => {\n\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Search'\n const DATA_KEY = 'lte.search'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOAD_DATA_API: `load${EVENT_KEY}`\n }\n\n const Selector = {\n LI : '.nav-item',\n LINK : '.nav-link',\n OPEN : '.menu-open',\n ACTIVE : '.active',\n TREEVIEW_MENU: '[data-widget=\"treeview\"]',\n NAV_TREEVIEW : '.nav-treeview',\n NAV_HEADER : '.nav-header',\n DATA_WIDGET : '[data-widget=\"search\"]'\n }\n\n const ClassName = {\n LI : 'nav-item',\n LINK : 'nav-link',\n NAV_TREEVIEW: 'nav-treeview',\n OPEN : 'menu-open'\n }\n\n const Default = {\n target : '',\n case_sensitive: false\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n class Search {\n\n constructor(element, config) {\n this._config = config\n this._element = element\n this._open_menus = null\n }\n\n // Public\n\n init() {\n if (this._config.target === '') {\n this._config.target = this._element.closest(Selector.TREEVIEW_MENU)\n } else {\n this._config.target = $(this._config.target)\n }\n\n // Set treeview original state\n this._open_menus = this._config.target.find(Selector.OPEN)\n\n // Prevent form submission\n this._element.parents('form').first().submit((event) => {\n event.preventDefault()\n })\n\n // Setup search function\n this._element.keyup((event) => {\n event.preventDefault()\n\n let value = $(event.currentTarget).val()\n\n if (!this._config.case_sensitive) {\n value = value.toLowerCase()\n }\n\n this.search(value)\n })\n }\n\n search(value) {\n let items = this._config.target.find(Selector.LI)\n let headers = this._config.target.find(Selector.NAV_HEADER)\n\n // If the value is back to null\n if (!value) {\n // Show all headers\n headers.css('display', 'block')\n\n // Close all treeviews\n items.css('display', 'block')\n .removeClass(ClassName.OPEN)\n .find(Selector.NAV_TREEVIEW)\n .css('display', 'none')\n\n // Open the originally opened treeviews\n for (let menu of this._open_menus) {\n if (!$(menu).hasClass(ClassName.OPEN)) {\n $(menu).addClass(ClassName.OPEN).css('display', 'block')\n $(menu).children(Selector.NAV_TREEVIEW).css('display', 'block')\n }\n }\n\n return\n }\n\n // Hide all elements\n items.css('display', 'none')\n headers.css('display', 'none')\n\n // Search through the tree elements\n for (let item of items) {\n let text = $(item).children('a').text()\n\n if (!this._config.case_sensitive) {\n text = text.toLowerCase()\n }\n\n if (text.indexOf(value) != -1) {\n // Found the result\n // Make the parent LI visible\n $(item).parents(Selector.LI)\n .css('display', 'block')\n .addClass('menu-open')\n\n $(item).parents(Selector.NAV_TREEVIEW)\n .css('display', 'block')\n\n // If this is a treeview parent, make all of its children visible\n $(item).children(Selector.NAV_TREEVIEW)\n .css('display', 'block')\n .children(Selector.LI)\n .css('display', 'block')\n .addClass('menu-open')\n\n // Make this element visible\n $(item).css('display', 'block')\n }\n }\n }\n\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Search($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Search._jQueryInterface.call($(this), 'init')\n })\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Search._jQueryInterface\n $.fn[NAME].Constructor = Search\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Search._jQueryInterface\n }\n\n return Search\n\n})(jQuery)\n"]} \ No newline at end of file diff --git a/dist/js/adminlte.min.js b/dist/js/adminlte.min.js index 755404b68..b52b05e8b 100644 --- a/dist/js/adminlte.min.js +++ b/dist/js/adminlte.min.js @@ -1 +1 @@ -"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function a(a,b){for(var c=0;cb&&(b=a)}),b}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c);e||(e=new b(this),a(this).data(c,e)),d&&e[d]()})}}]),b}();return a.fn[b]=g._jQueryInterface,a.fn[b].Constructor=g,a.fn[b].noConflict=function(){return a.fn[b]=d,g._jQueryInterface},g}(jQuery),Treeview=function(a){var b="Treeview",c="lte.treeview",d="."+c,e=a.fn[b],f={SELECTED:"selected"+d,EXPANDED:"expanded"+d,COLLAPSED:"collapsed"+d,LOAD_DATA_API:"load"+d},g={LI:".nav-item",LINK:".nav-link",TREEVIEW_MENU:".nav-treeview",OPEN:".menu-open",DATA_WIDGET:'[data-widget="treeview"]'},h={LI:"nav-item",LINK:"nav-link",TREEVIEW_MENU:"nav-treeview",OPEN:"menu-open"},i={trigger:g.DATA_WIDGET+" "+g.LINK,animationSpeed:300,accordion:!0},j=function(){function b(a,c){_classCallCheck(this,b),this._config=c,this._element=a}return _createClass(b,[{key:"init",value:function(){this._setupListeners()}},{key:"expand",value:function(b,c){var d=this,e=a.Event(f.EXPANDED);if(this._config.accordion){var i=c.siblings(g.OPEN).first(),j=i.find(g.TREEVIEW_MENU).first();this.collapse(j,i)}b.slideDown(this._config.animationSpeed,function(){c.addClass(h.OPEN),a(d._element).trigger(e)})}},{key:"collapse",value:function(b,c){var d=this,e=a.Event(f.COLLAPSED);b.slideUp(this._config.animationSpeed,function(){c.removeClass(h.OPEN),a(d._element).trigger(e),b.find(g.OPEN+" > "+g.TREEVIEW_MENU).slideUp(),b.find(g.OPEN).removeClass(h.OPEN)})}},{key:"collapseAll",value:function(){}},{key:"expandAll",value:function(){}},{key:"toggle",value:function(b){var c=a(b.currentTarget),d=c.next();if(d.is(g.TREEVIEW_MENU)){b.preventDefault();var e=c.parents(g.LI).first(),f=e.hasClass(h.OPEN);f?this.collapse(a(d),e):this.expand(a(d),e)}}},{key:"_setupListeners",value:function(){var b=this;a(document).on("click",this._config.trigger,function(a){b.toggle(a)})}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c),f=a.extend({},i,a(this).data());e||(e=new b(a(this),f),a(this).data(c,e)),"init"===d&&e[d]()})}}]),b}();return a(window).on(f.LOAD_DATA_API,function(){a(g.DATA_WIDGET).each(function(){var b=a(this);j._jQueryInterface.call(b,"init")})}),a.fn[b]=j._jQueryInterface,a.fn[b].Constructor=j,a.fn[b].noConflict=function(){return a.fn[b]=e,j._jQueryInterface},j}(jQuery),PushMenu=function(a){var b="PushMenu",c="lte.pushmenu",d="."+c,e=a.fn[b],f={COLLAPSED:"collapsed"+d,SHOWN:"shown"+d},g={COLLAPSED:"sidebar-collapse",TOGGLE_BUTTON:'[data-widget="pushmenu"]'},h=function(){function b(c){_classCallCheck(this,b),this._element=c,this._isShown=!a("body").hasClass(g.COLLAPSED)||a("body").hasClass("sidebar-open")}return _createClass(b,[{key:"show",value:function(){a("body").addClass("sidebar-open").removeClass(g.COLLAPSED),this._isShown=!0;var b=a.Event(f.SHOWN);a(this._element).trigger(b)}},{key:"collapse",value:function(){a("body").removeClass("sidebar-open").addClass(g.COLLAPSED),this._isShown=!1;var b=a.Event(f.COLLAPSED);a(this._element).trigger(b)}},{key:"toggle",value:function(){"undefined"==typeof this._isShown&&(this._isShown=!a("body").hasClass(g.COLLAPSED)||a("body").hasClass("sidebar-open")),this._isShown?this.collapse():this.show()}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c);e||(e=new b(this),a(this).data(c,e)),d&&e[d]()})}}]),b}();return a(document).on("click",g.TOGGLE_BUTTON,function(b){b.preventDefault();var c=b.currentTarget;"pushmenu"!==a(c).data("widget")&&(c=a(c).closest(g.TOGGLE_BUTTON)),h._jQueryInterface.call(a(c),"toggle")}),a.fn[b]=h._jQueryInterface,a.fn[b].Constructor=h,a.fn[b].noConflict=function(){return a.fn[b]=e,h._jQueryInterface},h}(jQuery),Widget=function(a){var b=function(){function b(a){_classCallCheck(this,b),this._element=a}return _createClass(b,null,[{key:"_jQueryInterface",value:function(b){var c=a(b);c.show()}}]),b}();return b}(jQuery),ControlSidebar=function(a){var b="ControlSidebar",c="lte.control.sidebar",d=a.fn[b],e={CONTROL_SIDEBAR:".control-sidebar",DATA_TOGGLE:'[data-widget="control-sidebar"]'},f={CONTROL_SIDEBAR_OPEN:"control-sidebar-open",CONTROL_SIDEBAR_SLIDE:"control-sidebar-slide-open"},g={slide:!0},h=function(){function b(a,c){_classCallCheck(this,b),this._element=a,this._config=this._getConfig(c)}return _createClass(b,[{key:"show",value:function(){this._config.slide?a("body").removeClass(f.CONTROL_SIDEBAR_SLIDE):a("body").removeClass(f.CONTROL_SIDEBAR_OPEN)}},{key:"collapse",value:function(){this._config.slide?a("body").addClass(f.CONTROL_SIDEBAR_SLIDE):a("body").addClass(f.CONTROL_SIDEBAR_OPEN)}},{key:"toggle",value:function(){a("body").hasClass(f.CONTROL_SIDEBAR_OPEN)||a("body").hasClass(f.CONTROL_SIDEBAR_SLIDE)?this.show():this.collapse()}},{key:"_getConfig",value:function(b){return a.extend({},g,b)}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c);if(e||(e=new b(this,a(this).data()),a(this).data(c,e)),void 0===e[d])throw new Error(d+" is not a function");e[d]()})}}]),b}();return a(document).on("click",e.DATA_TOGGLE,function(b){b.preventDefault(),h._jQueryInterface.call(a(this),"toggle")}),a.fn[b]=h._jQueryInterface,a.fn[b].Constructor=h,a.fn[b].noConflict=function(){return a.fn[b]=d,h._jQueryInterface},h}(jQuery),Search=function(a){var b="Search",c="lte.search",d="."+c,e=a.fn[b],f={LOAD_DATA_API:"load"+d},g={LI:".nav-item",LINK:".nav-link",OPEN:".menu-open",ACTIVE:".active",TREEVIEW_MENU:'[data-widget="treeview"]',NAV_TREEVIEW:".nav-treeview",DATA_WIDGET:'[data-widget="search"]'},h={LI:"nav-item",LINK:"nav-link",NAV_TREEVIEW:"nav-treeview",OPEN:"menu-open"},i={target:"",case_sensitive:!1},j=function(){function b(a,c){_classCallCheck(this,b),this._config=c,this._element=a,this._open_menus=null}return _createClass(b,[{key:"init",value:function(){""===this._config.target?this._config.target=this._element.closest(g.TREEVIEW_MENU):this._config.target=a(this._config.target),this._open_menus=this._config.target.find(g.OPEN),this._element.parents("form").first().submit(function(a){a.preventDefault()}),this._element.keyup(function(b){b.preventDefault();var c=a(b.currentTarget).val();this._config.case_sensitive||(c=c.toLowerCase()),this.search(c)}.bind(this))}},{key:"search",value:function(b){var c=this;return b?void this._config.target.find(g.LI).each(function(){var d=a(this).children(g.LINK).first().text();c._config.case_sensitive||(d=d.toLowerCase()),d.search(b)==-1?a(this).css("display","none"):(a(this).parents(g.LI).css("display","block"),a(this).parents(g.NAV_TREEVIEW).addClass("menu-open").css("display","block"),a(this).css("display","block"))}):(this._config.target.find(g.LI).css("display","block").find(g.NAV_TREEVIEW).css("display","none"),this._config.target.find(g.OPEN).find(g.NAV_TREEVIEW).css("display","block"),void this._open_menus.each(function(){a(this).hasClass(h.OPEN)||(a(this).addClass(g.OPEN).css("display","block"),a(this).children(g.NAV_TREEVIEW).css("display","block"))}))}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c),f=a.extend({},i,a(this).data());e||(e=new b(a(this),f),a(this).data(c,e)),"init"===d&&e[d]()})}}]),b}();return a(window).on(f.LOAD_DATA_API,function(){a(g.DATA_WIDGET).each(function(){j._jQueryInterface.call(a(this),"init")})}),a.fn[b]=j._jQueryInterface,a.fn[b].Constructor=j,a.fn[b].noConflict=function(){return a.fn[b]=e,j._jQueryInterface},j}(jQuery); \ No newline at end of file +"use strict";function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function a(a,b){for(var c=0;cb&&(b=a)}),b}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c);e||(e=new b(this),a(this).data(c,e)),d&&e[d]()})}}]),b}();return a.fn[b]=g._jQueryInterface,a.fn[b].Constructor=g,a.fn[b].noConflict=function(){return a.fn[b]=d,g._jQueryInterface},g}(jQuery),Treeview=function(a){var b="Treeview",c="lte.treeview",d="."+c,e=a.fn[b],f={SELECTED:"selected"+d,EXPANDED:"expanded"+d,COLLAPSED:"collapsed"+d,LOAD_DATA_API:"load"+d},g={LI:".nav-item",LINK:".nav-link",TREEVIEW_MENU:".nav-treeview",OPEN:".menu-open",DATA_WIDGET:'[data-widget="treeview"]'},h={LI:"nav-item",LINK:"nav-link",TREEVIEW_MENU:"nav-treeview",OPEN:"menu-open"},i={trigger:g.DATA_WIDGET+" "+g.LINK,animationSpeed:300,accordion:!0},j=function(){function b(a,c){_classCallCheck(this,b),this._config=c,this._element=a}return _createClass(b,[{key:"init",value:function(){this._setupListeners()}},{key:"expand",value:function(b,c){var d=this,e=a.Event(f.EXPANDED);if(this._config.accordion){var i=c.siblings(g.OPEN).first(),j=i.find(g.TREEVIEW_MENU).first();this.collapse(j,i)}b.slideDown(this._config.animationSpeed,function(){c.addClass(h.OPEN),a(d._element).trigger(e)})}},{key:"collapse",value:function(b,c){var d=this,e=a.Event(f.COLLAPSED);b.slideUp(this._config.animationSpeed,function(){c.removeClass(h.OPEN),a(d._element).trigger(e),b.find(g.OPEN+" > "+g.TREEVIEW_MENU).slideUp(),b.find(g.OPEN).removeClass(h.OPEN)})}},{key:"collapseAll",value:function(){}},{key:"expandAll",value:function(){}},{key:"toggle",value:function(b){var c=a(b.currentTarget),d=c.next();if(d.is(g.TREEVIEW_MENU)){b.preventDefault();var e=c.parents(g.LI).first(),f=e.hasClass(h.OPEN);f?this.collapse(a(d),e):this.expand(a(d),e)}}},{key:"_setupListeners",value:function(){var b=this;a(document).on("click",this._config.trigger,function(a){b.toggle(a)})}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c),f=a.extend({},i,a(this).data());e||(e=new b(a(this),f),a(this).data(c,e)),"init"===d&&e[d]()})}}]),b}();return a(window).on(f.LOAD_DATA_API,function(){a(g.DATA_WIDGET).each(function(){var b=a(this);j._jQueryInterface.call(b,"init")})}),a.fn[b]=j._jQueryInterface,a.fn[b].Constructor=j,a.fn[b].noConflict=function(){return a.fn[b]=e,j._jQueryInterface},j}(jQuery),PushMenu=function(a){var b="PushMenu",c="lte.pushmenu",d="."+c,e=a.fn[b],f={COLLAPSED:"collapsed"+d,SHOWN:"shown"+d},g={COLLAPSED:"sidebar-collapse",TOGGLE_BUTTON:'[data-widget="pushmenu"]'},h=function(){function b(c){_classCallCheck(this,b),this._element=c,this._isShown=!a("body").hasClass(g.COLLAPSED)||a("body").hasClass("sidebar-open")}return _createClass(b,[{key:"show",value:function(){a("body").addClass("sidebar-open").removeClass(g.COLLAPSED),this._isShown=!0;var b=a.Event(f.SHOWN);a(this._element).trigger(b)}},{key:"collapse",value:function(){a("body").removeClass("sidebar-open").addClass(g.COLLAPSED),this._isShown=!1;var b=a.Event(f.COLLAPSED);a(this._element).trigger(b)}},{key:"toggle",value:function(){"undefined"==typeof this._isShown&&(this._isShown=!a("body").hasClass(g.COLLAPSED)||a("body").hasClass("sidebar-open")),this._isShown?this.collapse():this.show()}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c);e||(e=new b(this),a(this).data(c,e)),d&&e[d]()})}}]),b}();return a(document).on("click",g.TOGGLE_BUTTON,function(b){b.preventDefault();var c=b.currentTarget;"pushmenu"!==a(c).data("widget")&&(c=a(c).closest(g.TOGGLE_BUTTON)),h._jQueryInterface.call(a(c),"toggle")}),a.fn[b]=h._jQueryInterface,a.fn[b].Constructor=h,a.fn[b].noConflict=function(){return a.fn[b]=e,h._jQueryInterface},h}(jQuery),Widget=function(a){var b=function(){function b(a){_classCallCheck(this,b),this._element=a}return _createClass(b,null,[{key:"_jQueryInterface",value:function(b){var c=a(b);c.show()}}]),b}();return b}(jQuery),ControlSidebar=function(a){var b="ControlSidebar",c="lte.control.sidebar",d=a.fn[b],e={CONTROL_SIDEBAR:".control-sidebar",DATA_TOGGLE:'[data-widget="control-sidebar"]'},f={CONTROL_SIDEBAR_OPEN:"control-sidebar-open",CONTROL_SIDEBAR_SLIDE:"control-sidebar-slide-open"},g={slide:!0},h=function(){function b(a,c){_classCallCheck(this,b),this._element=a,this._config=this._getConfig(c)}return _createClass(b,[{key:"show",value:function(){this._config.slide?a("body").removeClass(f.CONTROL_SIDEBAR_SLIDE):a("body").removeClass(f.CONTROL_SIDEBAR_OPEN)}},{key:"collapse",value:function(){this._config.slide?a("body").addClass(f.CONTROL_SIDEBAR_SLIDE):a("body").addClass(f.CONTROL_SIDEBAR_OPEN)}},{key:"toggle",value:function(){a("body").hasClass(f.CONTROL_SIDEBAR_OPEN)||a("body").hasClass(f.CONTROL_SIDEBAR_SLIDE)?this.show():this.collapse()}},{key:"_getConfig",value:function(b){return a.extend({},g,b)}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c);if(e||(e=new b(this,a(this).data()),a(this).data(c,e)),void 0===e[d])throw new Error(d+" is not a function");e[d]()})}}]),b}();return a(document).on("click",e.DATA_TOGGLE,function(b){b.preventDefault(),h._jQueryInterface.call(a(this),"toggle")}),a.fn[b]=h._jQueryInterface,a.fn[b].Constructor=h,a.fn[b].noConflict=function(){return a.fn[b]=d,h._jQueryInterface},h}(jQuery),Search=function(a){var b="Search",c="lte.search",d="."+c,e=a.fn[b],f={LOAD_DATA_API:"load"+d},g={LI:".nav-item",LINK:".nav-link",OPEN:".menu-open",ACTIVE:".active",TREEVIEW_MENU:'[data-widget="treeview"]',NAV_TREEVIEW:".nav-treeview",NAV_HEADER:".nav-header",DATA_WIDGET:'[data-widget="search"]'},h={LI:"nav-item",LINK:"nav-link",NAV_TREEVIEW:"nav-treeview",OPEN:"menu-open"},i={target:"",case_sensitive:!1},j=function(){function b(a,c){_classCallCheck(this,b),this._config=c,this._element=a,this._open_menus=null}return _createClass(b,[{key:"init",value:function(){var b=this;""===this._config.target?this._config.target=this._element.closest(g.TREEVIEW_MENU):this._config.target=a(this._config.target),this._open_menus=this._config.target.find(g.OPEN),this._element.parents("form").first().submit(function(a){a.preventDefault()}),this._element.keyup(function(c){c.preventDefault();var d=a(c.currentTarget).val();b._config.case_sensitive||(d=d.toLowerCase()),b.search(d)})}},{key:"search",value:function(b){var c=this._config.target.find(g.LI),d=this._config.target.find(g.NAV_HEADER);if(b){c.css("display","none"),d.css("display","none");var e=!0,f=!1,i=void 0;try{for(var j,k=c[Symbol.iterator]();!(e=(j=k.next()).done);e=!0){var l=j.value,m=a(l).children("a").text();this._config.case_sensitive||(m=m.toLowerCase()),m.indexOf(b)!=-1&&(a(l).parents(g.LI).css("display","block").addClass("menu-open"),a(l).parents(g.NAV_TREEVIEW).css("display","block"),a(l).children(g.NAV_TREEVIEW).css("display","block").children(g.LI).css("display","block").addClass("menu-open"),a(l).css("display","block"))}}catch(a){f=!0,i=a}finally{try{!e&&k.return&&k.return()}finally{if(f)throw i}}}else{d.css("display","block"),c.css("display","block").removeClass(h.OPEN).find(g.NAV_TREEVIEW).css("display","none");var n=!0,o=!1,p=void 0;try{for(var q,r=this._open_menus[Symbol.iterator]();!(n=(q=r.next()).done);n=!0){var s=q.value;a(s).hasClass(h.OPEN)||(a(s).addClass(h.OPEN).css("display","block"),a(s).children(g.NAV_TREEVIEW).css("display","block"))}}catch(a){o=!0,p=a}finally{try{!n&&r.return&&r.return()}finally{if(o)throw p}}}}}],[{key:"_jQueryInterface",value:function(d){return this.each(function(){var e=a(this).data(c),f=a.extend({},i,a(this).data());e||(e=new b(a(this),f),a(this).data(c,e)),"init"===d&&e[d]()})}}]),b}();return a(window).on(f.LOAD_DATA_API,function(){a(g.DATA_WIDGET).each(function(){j._jQueryInterface.call(a(this),"init")})}),a.fn[b]=j._jQueryInterface,a.fn[b].Constructor=j,a.fn[b].noConflict=function(){return a.fn[b]=e,j._jQueryInterface},j}(jQuery); \ No newline at end of file diff --git a/index2.html b/index2.html index f437edaa8..9a1907aa4 100644 --- a/index2.html +++ b/index2.html @@ -1035,9 +1035,7 @@ to get the desired effect
Inventory 5,200 - - 50% Increase in 30 Days
@@ -1048,9 +1046,7 @@ to get the desired effect
Mentions 92,050 - - 20% Increase in 30 Days
@@ -1061,9 +1057,7 @@ to get the desired effect
Downloads 114,381 - - 70% Increase in 30 Days
@@ -1074,9 +1068,7 @@ to get the desired effect
Direct Messages 163,921 - - 40% Increase in 30 Days
diff --git a/starter.html b/starter.html index d72339406..47400a228 100644 --- a/starter.html +++ b/starter.html @@ -38,7 +38,7 @@ to get the desired effect | | sidebar-mini | |---------------------------------------------------------| --> - +