AdminLTE/dist/js/adminlte.js.map
REJack 42568b9b8d
Road to v3.0.0-beta.1
- replaced slimScroll to overlayScrollbars
- added new layout types (fixed, navbar-fixed & footer-fixed)
- changed old default layout from "fixed" to non-fixed
- enhanced PushMenu.js to load options via data
- enhanced Layout.js new layout calcs, options via data for scrollbar
- fixed forms fontawesome icons
- added warning-feedback (without icon)
- added sidebar-mini-md
- updated index to use layout-fixed
- updated index2 to use layout-fixed, layout-navbar-fixed & layout-footer-fixed
2019-06-05 13:34:15 +02:00

1 line
35 KiB
Plaintext

{"version":3,"file":"adminlte.js","sources":["../../build/js/ControlSidebar.js","../../build/js/Layout.js","../../build/js/PushMenu.js","../../build/js/Treeview.js","../../build/js/Widget.js"],"sourcesContent":["/**\n * --------------------------------------------\n * AdminLTE ControlSidebar.js\n * License MIT\n * --------------------------------------------\n */\n\nconst ControlSidebar = (($) => {\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 MAIN_HEADER : '.main-header'\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 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 this._setMargin()\n\n const shouldOpen = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body')\n .hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)\n if (shouldOpen) {\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 _setMargin() {\n $(Selector.CONTROL_SIDEBAR).css({\n top: $(Selector.MAIN_HEADER).innerHeight()\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 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 $(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})(jQuery)\n\nexport default ControlSidebar\n","/**\n * --------------------------------------------\n * AdminLTE Layout.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Layout = (($) => {\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 HEADER : '.main-header',\n SIDEBAR : '.main-sidebar .sidebar',\n CONTENT : '.content-wrapper',\n BRAND : '.brand-link',\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 NAVBAR_FIXED: 'layout-navbar-fixed',\n FOOTER_FIXED: 'layout-footer-fixed',\n }\n\n const Default = {\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Layout {\n constructor(element, config) {\n this._config = config\n this._element = element\n\n this._init()\n }\n\n // Public\n\n fixLayoutHeight() {\n const heights = {\n window : $(window).height(),\n header : $(Selector.HEADER).outerHeight(),\n footer : $(Selector.FOOTER).outerHeight(),\n sidebar : $(Selector.SIDEBAR).height(),\n }\n\n const max = this._max(heights)\n\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n $(Selector.CONTENT).css('min-height', max - heights.header - heights.footer)\n // $(Selector.SIDEBAR).css('min-height', max - heights.header)\n $(Selector.CONTROL_SIDEBAR + ' .control-sidebar-content').css('height', max - heights.header)\n \n if (typeof $.fn.overlayScrollbars !== 'undefined') {\n $(Selector.SIDEBAR).overlayScrollbars({\n className : this._config.scrollbarTheme,\n sizeAutoCapable : true,\n scrollbars : {\n autoHide: this._config.scrollbarAutoHide, \n clickScrolling : true\n }\n })\n $(Selector.CONTROL_SIDEBAR + ' .control-sidebar-content').overlayScrollbars({\n className : this._config.scrollbarTheme,\n sizeAutoCapable : true,\n scrollbars : {\n autoHide: this._config.scrollbarAutoHide, \n clickScrolling : true\n }\n })\n }\n } else {\n if (heights.window > heights.sidebar) {\n $(Selector.CONTENT).css('min-height', heights.window - heights.header - heights.footer)\n } else {\n $(Selector.CONTENT).css('min-height', heights.sidebar - heights.header)\n }\n }\n if ($('body').hasClass(ClassName.NAVBAR_FIXED)) {\n $(Selector.BRAND).css('height', heights.header)\n $(Selector.SIDEBAR).css('margin-top', heights.header)\n $(Selector.SIDEBAR).css('margin-top', heights.header)\n }\n if ($('body').hasClass(ClassName.FOOTER_FIXED)) {\n $(Selector.CONTENT).css('margin-bottom', heights.footer)\n } \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)\n .on('collapsed.lte.treeview expanded.lte.treeview collapsed.lte.pushmenu expanded.lte.pushmenu', () => {\n this.fixLayoutHeight()\n })\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 Object.keys(numbers).forEach((key) => {\n if (numbers[key] > max) {\n max = numbers[key]\n }\n })\n\n return max\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new Layout($(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('load', () => {\n Layout._jQueryInterface.call($('body'))\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})(jQuery)\n\nexport default Layout","/**\n * --------------------------------------------\n * AdminLTE PushMenu.js\n * License MIT\n * --------------------------------------------\n */\n\nconst PushMenu = (($) => {\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 Default = {\n screenCollapseSize: 768\n }\n\n const Selector = {\n TOGGLE_BUTTON : '[data-widget=\"pushmenu\"]',\n SIDEBAR_MINI : '.sidebar-mini',\n SIDEBAR_COLLAPSED: '.sidebar-collapse',\n BODY : 'body',\n OVERLAY : '#sidebar-overlay',\n WRAPPER : '.wrapper'\n }\n\n const ClassName = {\n SIDEBAR_OPEN: 'sidebar-open',\n COLLAPSED : 'sidebar-collapse',\n OPEN : 'sidebar-open',\n SIDEBAR_MINI: 'sidebar-mini'\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class PushMenu {\n constructor(element, options) {\n this._element = element\n this._options = $.extend({}, Default, options)\n\n if (!$(Selector.OVERLAY).length) {\n this._addOverlay()\n }\n }\n\n // Public\n\n show() {\n $(Selector.BODY).addClass(ClassName.OPEN).removeClass(ClassName.COLLAPSED)\n\n const shownEvent = $.Event(Event.SHOWN)\n $(this._element).trigger(shownEvent)\n }\n\n collapse() {\n $(Selector.BODY).removeClass(ClassName.OPEN).addClass(ClassName.COLLAPSED)\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n toggle() {\n let isShown\n\n if ($(window).width() >= this._options.screenCollapseSize) {\n isShown = !$(Selector.BODY).hasClass(ClassName.COLLAPSED)\n } else {\n isShown = $(Selector.BODY).hasClass(ClassName.OPEN)\n }\n\n if (isShown) {\n this.collapse()\n } else {\n this.show()\n }\n }\n\n // Private\n _addOverlay() {\n const overlay = $('<div />', {\n id: 'sidebar-overlay'\n })\n\n overlay.on('click', () => {\n this.collapse()\n })\n\n $(Selector.WRAPPER).append(overlay)\n }\n\n // Static\n\n static _jQueryInterface(operation) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new PushMenu(this, _options)\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})(jQuery)\n\nexport default PushMenu\n","/**\n * --------------------------------------------\n * AdminLTE Treeview.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Treeview = (($) => {\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 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 const expandedEvent = $.Event(Event.EXPANDED)\n\n if (this._config.accordion) {\n const openMenuLi = parentLi.siblings(Selector.OPEN).first()\n const 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 const 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 toggle(event) {\n const $relativeTarget = $(event.currentTarget)\n const treeviewMenu = $relativeTarget.next()\n\n if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) {\n return\n }\n\n event.preventDefault()\n\n const parentLi = $relativeTarget.parents(Selector.LI).first()\n const 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 const _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 * Data API\n * ====================================================\n */\n\n $(window).on(Event.LOAD_DATA_API, () => {\n $(Selector.DATA_WIDGET).each(function () {\n Treeview._jQueryInterface.call($(this), '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})(jQuery)\n\nexport default Treeview","/**\n * --------------------------------------------\n * AdminLTE Widget.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Widget = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Widget'\n const DATA_KEY = 'lte.widget'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n EXPANDED : `expanded${EVENT_KEY}`,\n COLLAPSED: `collapsed${EVENT_KEY}`,\n REMOVED : `removed${EVENT_KEY}`\n }\n\n const Selector = {\n DATA_REMOVE : '[data-widget=\"remove\"]',\n DATA_COLLAPSE : '[data-widget=\"collapse\"]',\n CARD : '.card',\n CARD_HEADER : '.card-header',\n CARD_BODY : '.card-body',\n CARD_FOOTER : '.card-footer',\n COLLAPSED : '.collapsed-card',\n COLLAPSE_ICON : '.fa-minus',\n EXPAND_ICON : '.fa-plus'\n }\n\n const ClassName = {\n COLLAPSED : 'collapsed-card',\n COLLAPSE_ICON : 'fa-minus',\n EXPAND_ICON : 'fa-plus'\n }\n\n const Default = {\n animationSpeed : 'normal',\n collapseTrigger: Selector.DATA_COLLAPSE,\n removeTrigger : Selector.DATA_REMOVE\n }\n\n class Widget {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n this._settings = $.extend({}, Default, settings)\n }\n\n collapse() {\n this._parent.children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)\n .slideUp(this._settings.animationSpeed, () => {\n this._parent.addClass(ClassName.COLLAPSED)\n })\n\n this._element.children(Selector.COLLAPSE_ICON)\n .addClass(ClassName.EXPAND_ICON)\n .removeClass(ClassName.COLLAPSE_ICON)\n\n const collapsed = $.Event(Event.COLLAPSED)\n\n this._element.trigger(collapsed, this._parent)\n }\n\n expand() {\n this._parent.children(`${Selector.CARD_BODY}, ${Selector.CARD_FOOTER}`)\n .slideDown(this._settings.animationSpeed, () => {\n this._parent.removeClass(ClassName.COLLAPSED)\n })\n\n this._element.children(Selector.EXPAND_ICON)\n .addClass(ClassName.COLLAPSE_ICON)\n .removeClass(ClassName.EXPAND_ICON)\n\n const expanded = $.Event(Event.EXPANDED)\n\n this._element.trigger(expanded, this._parent)\n }\n\n remove() {\n this._parent.slideUp()\n\n const removed = $.Event(Event.REMOVED)\n\n this._element.trigger(removed, this._parent)\n }\n\n toggle() {\n if (this._parent.hasClass(ClassName.COLLAPSED)) {\n this.expand()\n return\n }\n\n this.collapse()\n }\n\n // Private\n\n _init(card) {\n this._parent = card\n\n $(this).find(this._settings.collapseTrigger).click(() => {\n this.toggle()\n })\n\n $(this).find(this._settings.removeTrigger).click(() => {\n this.remove()\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new Widget($(this), data)\n $(this).data(DATA_KEY, typeof config === 'string' ? data : config)\n }\n\n if (typeof config === 'string' && config.match(/remove|toggle/)) {\n data[config]()\n } else if (typeof config === 'object') {\n data._init($(this))\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_COLLAPSE, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n Widget._jQueryInterface.call($(this), 'toggle')\n })\n\n $(document).on('click', Selector.DATA_REMOVE, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n Widget._jQueryInterface.call($(this), 'remove')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Widget._jQueryInterface\n $.fn[NAME].Constructor = Widget\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Widget._jQueryInterface\n }\n\n return Widget\n})(jQuery)\n\nexport default Widget\n"],"names":["ControlSidebar","$","NAME","DATA_KEY","JQUERY_NO_CONFLICT","fn","Selector","ClassName","Default","element","config","_element","_config","_getConfig","show","slide","removeClass","CONTROL_SIDEBAR_SLIDE","CONTROL_SIDEBAR_OPEN","collapse","addClass","toggle","_setMargin","shouldOpen","hasClass","extend","CONTROL_SIDEBAR","css","MAIN_HEADER","innerHeight","_jQueryInterface","operation","each","data","Error","document","on","DATA_TOGGLE","event","preventDefault","call","Constructor","noConflict","jQuery","Layout","_init","fixLayoutHeight","heights","window","height","HEADER","outerHeight","FOOTER","SIDEBAR","max","_max","LAYOUT_FIXED","CONTENT","header","footer","overlayScrollbars","scrollbarTheme","scrollbarAutoHide","sidebar","NAVBAR_FIXED","BRAND","FOOTER_FIXED","HOLD","resize","numbers","keys","forEach","key","PushMenu","EVENT_KEY","Event","options","_options","OVERLAY","length","_addOverlay","BODY","OPEN","COLLAPSED","shownEvent","SHOWN","trigger","collapsedEvent","isShown","width","screenCollapseSize","overlay","WRAPPER","append","TOGGLE_BUTTON","button","currentTarget","closest","Treeview","DATA_WIDGET","LINK","init","_setupListeners","expand","treeviewMenu","parentLi","expandedEvent","EXPANDED","accordion","openMenuLi","siblings","first","openTreeview","find","TREEVIEW_MENU","slideDown","animationSpeed","slideUp","$relativeTarget","next","is","parents","LI","isOpen","LOAD_DATA_API","Widget","DATA_COLLAPSE","DATA_REMOVE","settings","_parent","CARD","_settings","children","CARD_BODY","CARD_FOOTER","COLLAPSE_ICON","EXPAND_ICON","collapsed","expanded","remove","removed","REMOVED","card","collapseTrigger","click","removeTrigger","match"],"mappings":"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"}