You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AdminLTE/dist/js/adminlte.js.map

1 line
86 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

{"version":3,"file":"adminlte.js","sources":["../../build/js/ControlSidebar.js","../../build/js/Layout.js","../../build/js/PushMenu.js","../../build/js/Treeview.js","../../build/js/DirectChat.js","../../build/js/TodoList.js","../../build/js/CardWidget.js","../../build/js/CardRefresh.js","../../build/js/Dropdown.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.controlsidebar'\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 COLLAPSED: `collapsed${EVENT_KEY}`,\n EXPANDED: `expanded${EVENT_KEY}`,\n }\n\n const Selector = {\n CONTROL_SIDEBAR: '.control-sidebar',\n CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content',\n DATA_TOGGLE: '[data-widget=\"control-sidebar\"]',\n CONTENT: '.content-wrapper',\n HEADER: '.main-header',\n FOOTER: '.main-footer',\n }\n\n const ClassName = {\n CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate',\n CONTROL_SIDEBAR_OPEN: 'control-sidebar-open',\n CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open',\n LAYOUT_FIXED: 'layout-fixed',\n NAVBAR_FIXED: 'layout-navbar-fixed',\n NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed',\n NAVBAR_MD_FIXED: 'layout-md-navbar-fixed',\n NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed',\n NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed',\n FOOTER_FIXED: 'layout-footer-fixed',\n FOOTER_SM_FIXED: 'layout-sm-footer-fixed',\n FOOTER_MD_FIXED: 'layout-md-footer-fixed',\n FOOTER_LG_FIXED: 'layout-lg-footer-fixed',\n FOOTER_XL_FIXED: 'layout-xl-footer-fixed',\n }\n\n const Default = {\n controlsidebarSlide: true,\n scrollbarTheme : 'os-theme-light',\n scrollbarAutoHide: 'l',\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class ControlSidebar {\n constructor(element, config) {\n this._element = element\n this._config = config\n\n this._init()\n }\n\n // Public\n\n show() {\n // Show the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $(Selector.CONTROL_SIDEBAR).hide()\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n } else {\n $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const expandedEvent = $.Event(Event.EXPANDED)\n $(this._element).trigger(expandedEvent)\n }\n\n collapse() {\n // Collapse the control sidebar\n if (this._config.controlsidebarSlide) {\n $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function(){\n $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function(){\n $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n $(this).dequeue()\n })\n } else {\n $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN)\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n toggle() {\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 _init() {\n this._fixHeight()\n this._fixScrollHeight()\n\n $(window).resize(() => {\n this._fixHeight()\n this._fixScrollHeight()\n })\n\n $(window).scroll(() => {\n if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) {\n this._fixScrollHeight()\n }\n })\n }\n\n _fixScrollHeight() {\n const heights = {\n scroll: $(document).height(),\n window: $(window).height(),\n header: $(Selector.HEADER).outerHeight(),\n footer: $(Selector.FOOTER).outerHeight(),\n }\n const positions = {\n bottom: Math.abs((heights.window + $(window).scrollTop()) - heights.scroll),\n top: $(window).scrollTop(),\n }\n\n let navbarFixed = false;\n let footerFixed = false;\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n if (\n $('body').hasClass(ClassName.NAVBAR_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_SM_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_MD_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_LG_FIXED)\n || $('body').hasClass(ClassName.NAVBAR_XL_FIXED)\n ) {\n if ($(Selector.HEADER).css(\"position\") === \"fixed\") {\n navbarFixed = true;\n }\n }\n if (\n $('body').hasClass(ClassName.FOOTER_FIXED)\n || $('body').hasClass(ClassName.FOOTER_SM_FIXED)\n || $('body').hasClass(ClassName.FOOTER_MD_FIXED)\n || $('body').hasClass(ClassName.FOOTER_LG_FIXED)\n || $('body').hasClass(ClassName.FOOTER_XL_FIXED)\n ) {\n if ($(Selector.FOOTER).css(\"position\") === \"fixed\") {\n footerFixed = true;\n }\n }\n\n if (positions.top === 0 && positions.bottom === 0) {\n $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer);\n $(Selector.CONTROL_SIDEBAR).css('top', heights.header);\n $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header + heights.footer))\n } else if (positions.bottom <= heights.footer) {\n if (footerFixed === false) { \n $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer - positions.bottom);\n $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.footer - positions.bottom))\n } else {\n $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer);\n }\n } else if (positions.top <= heights.header) {\n if (navbarFixed === false) {\n $(Selector.CONTROL_SIDEBAR).css('top', heights.header - positions.top);\n $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header - positions.top))\n } else {\n $(Selector.CONTROL_SIDEBAR).css('top', heights.header);\n }\n } else {\n if (navbarFixed === false) {\n $(Selector.CONTROL_SIDEBAR).css('top', 0);\n $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window)\n } else {\n $(Selector.CONTROL_SIDEBAR).css('top', heights.header);\n }\n }\n }\n }\n\n _fixHeight() {\n const heights = {\n window: $(window).height(),\n header: $(Selector.HEADER).outerHeight(),\n footer: $(Selector.FOOTER).outerHeight(),\n }\n\n if ($('body').hasClass(ClassName.LAYOUT_FIXED)) {\n let sidebarHeight = heights.window - heights.header;\n\n if (\n $('body').hasClass(ClassName.FOOTER_FIXED)\n || $('body').hasClass(ClassName.FOOTER_SM_FIXED)\n || $('body').hasClass(ClassName.FOOTER_MD_FIXED)\n || $('body').hasClass(ClassName.FOOTER_LG_FIXED)\n || $('body').hasClass(ClassName.FOOTER_XL_FIXED)\n ) {\n if ($(Selector.FOOTER).css(\"position\") === \"fixed\") {\n sidebarHeight = heights.window - heights.header - heights.footer;\n }\n }\n\n $(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', sidebarHeight)\n \n if (typeof $.fn.overlayScrollbars !== 'undefined') {\n $(Selector.CONTROL_SIDEBAR + ' ' + Selector.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 }\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 MAIN_SIDEBAR : '.main-sidebar',\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 CONTENT_FIXED : 'content-fixed',\n SIDEBAR_FOCUSED: 'sidebar-focused',\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 \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 }\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 }\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 $(Selector.SIDEBAR + ' a').on('focusin', () => {\n $(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED);\n })\n\n $(Selector.SIDEBAR + ' a').on('focusout', () => {\n $(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED);\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 * --------------------------------------------\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 autoCollapseSize: false,\n screenCollapseSize: 768,\n enableRemember: false,\n noTransitionAfterReload: true\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 this._init()\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 if(this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, ClassName.OPEN);\n }\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 if(this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, ClassName.COLLAPSED);\n }\n\n const collapsedEvent = $.Event(Event.COLLAPSED)\n $(this._element).trigger(collapsedEvent)\n }\n\n isShown() {\n if ($(window).width() >= this._options.screenCollapseSize) {\n return !$(Selector.BODY).hasClass(ClassName.COLLAPSED)\n } else {\n return $(Selector.BODY).hasClass(ClassName.OPEN)\n }\n }\n\n toggle() {\n if (this.isShown()) {\n this.collapse()\n } else {\n this.show()\n }\n }\n\n autoCollapse() {\n if (this._options.autoCollapseSize) {\n if ($(window).width() <= this._options.autoCollapseSize) {\n if (this.isShown()) {\n this.toggle()\n }\n } else {\n if (!this.isShown()) {\n this.toggle()\n }\n }\n }\n }\n\n remember() {\n if(this._options.enableRemember) {\n var toggleState = localStorage.getItem(`remember${EVENT_KEY}`);\n if (toggleState == ClassName.COLLAPSED){\n if (this._options.noTransitionAfterReload) {\n $(\"body\").addClass('hold-transition').addClass(ClassName.COLLAPSED).delay(10).queue(function() {\n $(this).removeClass('hold-transition');\n $(this).dequeue()\n });\n } else {\n $(\"body\").addClass(ClassName.COLLAPSED);\n }\n }\n }\n }\n\n // Private\n\n _init() {\n this.remember()\n this.autoCollapse()\n\n $(window).resize(() => {\n this.autoCollapse()\n })\n }\n\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 === 'toggle') {\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 $(window).on('load', () => {\n PushMenu._jQueryInterface.call($(Selector.TOGGLE_BUTTON))\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.stop().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.stop().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 * --------------------------------------------\n * AdminLTE DirectChat.js\n * License MIT\n * --------------------------------------------\n */\n\nconst DirectChat = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'DirectChat'\n const DATA_KEY = 'lte.directchat'\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 TOGGLED: `toggled{EVENT_KEY}`\n }\n\n const Selector = {\n DATA_TOGGLE: '[data-widget=\"chat-pane-toggle\"]',\n DIRECT_CHAT: '.direct-chat'\n };\n\n const ClassName = {\n DIRECT_CHAT_OPEN: 'direct-chat-contacts-open'\n };\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class DirectChat {\n constructor(element, config) {\n this._element = element\n }\n\n toggle() {\n $(this._element).parents(Selector.DIRECT_CHAT).first().toggleClass(ClassName.DIRECT_CHAT_OPEN);\n\n const toggledEvent = $.Event(Event.TOGGLED)\n $(this._element).trigger(toggledEvent)\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 DirectChat($(this))\n $(this).data(DATA_KEY, data)\n }\n\n data[config]()\n })\n }\n }\n\n /**\n *\n * Data Api implementation\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_TOGGLE, function (event) {\n if (event) event.preventDefault();\n DirectChat._jQueryInterface.call($(this), 'toggle');\n });\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = DirectChat._jQueryInterface\n $.fn[NAME].Constructor = DirectChat\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return DirectChat._jQueryInterface\n }\n\n return DirectChat\n})(jQuery)\n\nexport default DirectChat\n","/**\n * --------------------------------------------\n * AdminLTE TodoList.js\n * License MIT\n * --------------------------------------------\n */\n\nconst TodoList = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'TodoList'\n const DATA_KEY = 'lte.todolist'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DATA_TOGGLE: '[data-widget=\"todo-list\"]'\n }\n\n const ClassName = {\n TODO_LIST_DONE: 'done'\n }\n\n const Default = {\n onCheck: function (item) {\n return item;\n },\n onUnCheck: function (item) {\n return item;\n }\n }\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class TodoList {\n constructor(element, config) {\n this._config = config\n this._element = element\n\n this._init()\n }\n\n // Public\n\n toggle(item) {\n item.parents('li').toggleClass(ClassName.TODO_LIST_DONE);\n if (! $(item).prop('checked')) {\n this.unCheck($(item));\n return;\n }\n\n this.check(item);\n }\n\n check (item) {\n this._config.onCheck.call(item);\n }\n\n unCheck (item) {\n this._config.onUnCheck.call(item);\n }\n\n // Private\n\n _init() {\n var that = this\n $(Selector.DATA_TOGGLE).find('input:checkbox:checked').parents('li').toggleClass(ClassName.TODO_LIST_DONE)\n $(Selector.DATA_TOGGLE).on('change', 'input:checkbox', (event) => {\n that.toggle($(event.target))\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 TodoList($(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 TodoList._jQueryInterface.call($(Selector.DATA_TOGGLE))\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = TodoList._jQueryInterface\n $.fn[NAME].Constructor = TodoList\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return TodoList._jQueryInterface\n }\n\n return TodoList\n})(jQuery)\n\nexport default TodoList\n","/**\n * --------------------------------------------\n * AdminLTE CardWidget.js\n * License MIT\n * --------------------------------------------\n */\n\nconst CardWidget = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'CardWidget'\n const DATA_KEY = 'lte.cardwidget'\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 MAXIMIZED: `maximized${EVENT_KEY}`,\n MINIMIZED: `minimized${EVENT_KEY}`,\n REMOVED: `removed${EVENT_KEY}`\n }\n\n const ClassName = {\n CARD: 'card',\n COLLAPSED: 'collapsed-card',\n WAS_COLLAPSED: 'was-collapsed',\n MAXIMIZED: 'maximized-card',\n }\n\n const Selector = {\n DATA_REMOVE: '[data-card-widget=\"remove\"]',\n DATA_COLLAPSE: '[data-card-widget=\"collapse\"]',\n DATA_MAXIMIZE: '[data-card-widget=\"maximize\"]',\n CARD: `.${ClassName.CARD}`,\n CARD_HEADER: '.card-header',\n CARD_BODY: '.card-body',\n CARD_FOOTER: '.card-footer',\n COLLAPSED: `.${ClassName.COLLAPSED}`,\n }\n\n const Default = {\n animationSpeed: 'normal',\n collapseTrigger: Selector.DATA_COLLAPSE,\n removeTrigger: Selector.DATA_REMOVE,\n maximizeTrigger: Selector.DATA_MAXIMIZE,\n collapseIcon: 'fa-minus',\n expandIcon: 'fa-plus',\n maximizeIcon: 'fa-expand',\n minimizeIcon: 'fa-compress',\n }\n\n class CardWidget {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n\n if (element.hasClass(ClassName.CARD)) {\n this._parent = element\n }\n\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 this._parent.find(this._settings.collapseTrigger + ' .' + this._settings.collapseIcon)\n .addClass(this._settings.expandIcon)\n .removeClass(this._settings.collapseIcon)\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._parent.find(this._settings.collapseTrigger + ' .' + this._settings.expandIcon)\n .addClass(this._settings.collapseIcon)\n .removeClass(this._settings.expandIcon)\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 maximize() {\n this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon)\n .addClass(this._settings.minimizeIcon)\n .removeClass(this._settings.maximizeIcon)\n this._parent.css({\n 'height': this._parent.height(),\n 'width': this._parent.width(),\n 'transition': 'all .15s'\n }).delay(150).queue(function(){\n $(this).addClass(ClassName.MAXIMIZED)\n $('html').addClass(ClassName.MAXIMIZED)\n if ($(this).hasClass(ClassName.COLLAPSED)) {\n $(this).addClass(ClassName.WAS_COLLAPSED)\n }\n $(this).dequeue()\n })\n\n const maximized = $.Event(Event.MAXIMIZED)\n\n this._element.trigger(maximized, this._parent)\n }\n\n minimize() {\n this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon)\n .addClass(this._settings.maximizeIcon)\n .removeClass(this._settings.minimizeIcon)\n this._parent.css('cssText', 'height:' + this._parent[0].style.height + ' !important;' +\n 'width:' + this._parent[0].style.width + ' !important; transition: all .15s;'\n ).delay(10).queue(function(){\n $(this).removeClass(ClassName.MAXIMIZED)\n $('html').removeClass(ClassName.MAXIMIZED)\n $(this).css({\n 'height': 'inherit',\n 'width': 'inherit'\n })\n if ($(this).hasClass(ClassName.WAS_COLLAPSED)) {\n $(this).removeClass(ClassName.WAS_COLLAPSED)\n }\n $(this).dequeue()\n })\n\n const MINIMIZED = $.Event(Event.MINIMIZED)\n\n this._element.trigger(MINIMIZED, this._parent)\n }\n\n toggleMaximize() {\n if (this._parent.hasClass(ClassName.MAXIMIZED)) {\n this.minimize()\n return\n }\n\n this.maximize()\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.maximizeTrigger).click(() => {\n this.toggleMaximize()\n })\n\n $(this).find(this._settings.removeTrigger).click(() => {\n this.remove()\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = new CardWidget($(this), data)\n $(this).data(DATA_KEY, typeof config === 'string' ? data: config)\n }\n\n if (typeof config === 'string' && config.match(/collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/)) {\n data[config]()\n } else if (typeof config === 'object') {\n data._init($(this))\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 CardWidget._jQueryInterface.call($(this), 'toggle')\n })\n\n $(document).on('click', Selector.DATA_REMOVE, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n CardWidget._jQueryInterface.call($(this), 'remove')\n })\n\n $(document).on('click', Selector.DATA_MAXIMIZE, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n CardWidget._jQueryInterface.call($(this), 'toggleMaximize')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = CardWidget._jQueryInterface\n $.fn[NAME].Constructor = CardWidget\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return CardWidget._jQueryInterface\n }\n\n return CardWidget\n})(jQuery)\n\nexport default CardWidget\n","/**\n * --------------------------------------------\n * AdminLTE CardRefresh.js\n * License MIT\n * --------------------------------------------\n */\n\nconst CardRefresh = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'CardRefresh'\n const DATA_KEY = 'lte.cardrefresh'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Event = {\n LOADED: `loaded${EVENT_KEY}`,\n OVERLAY_ADDED: `overlay.added${EVENT_KEY}`,\n OVERLAY_REMOVED: `overlay.removed${EVENT_KEY}`,\n }\n\n const ClassName = {\n CARD: 'card',\n }\n\n const Selector = {\n CARD: `.${ClassName.CARD}`,\n DATA_REFRESH: '[data-card-widget=\"card-refresh\"]',\n }\n\n const Default = {\n source: '',\n sourceSelector: '',\n params: {},\n trigger: Selector.DATA_REFRESH,\n content: '.card-body',\n loadInContent: true,\n loadOnInit: true,\n responseType: '',\n overlayTemplate: '<div class=\"overlay\"><i class=\"fas fa-2x fa-sync-alt fa-spin\"></i></div>',\n onLoadStart: function () {\n },\n onLoadDone: function (response) {\n return response;\n }\n }\n\n class CardRefresh {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(Selector.CARD).first()\n this._settings = $.extend({}, Default, settings)\n this._overlay = $(this._settings.overlayTemplate)\n\n if (element.hasClass(ClassName.CARD)) {\n this._parent = element\n }\n\n if (this._settings.source === '') {\n throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.');\n }\n\n this._init();\n\n if (this._settings.loadOnInit) {\n this.load();\n }\n }\n\n load() {\n this._addOverlay()\n this._settings.onLoadStart.call($(this))\n\n $.get(this._settings.source, this._settings.params, function (response) {\n if (this._settings.loadInContent) {\n if (this._settings.sourceSelector != '') {\n response = $(response).find(this._settings.sourceSelector).html()\n }\n\n this._parent.find(this._settings.content).html(response)\n }\n\n this._settings.onLoadDone.call($(this), response)\n this._removeOverlay();\n }.bind(this), this._settings.responseType !== '' && this._settings.responseType)\n\n const loadedEvent = $.Event(Event.LOADED)\n $(this._element).trigger(loadedEvent)\n }\n\n _addOverlay() {\n this._parent.append(this._overlay)\n\n const overlayAddedEvent = $.Event(Event.OVERLAY_ADDED)\n $(this._element).trigger(overlayAddedEvent)\n };\n\n _removeOverlay() {\n this._parent.find(this._overlay).remove()\n\n const overlayRemovedEvent = $.Event(Event.OVERLAY_REMOVED)\n $(this._element).trigger(overlayRemovedEvent)\n };\n\n\n // Private\n\n _init(card) {\n $(this).find(this._settings.trigger).on('click', () => {\n this.load()\n })\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n let options = $(this).data()\n\n if (!data) {\n data = new CardRefresh($(this), options)\n $(this).data(DATA_KEY, typeof config === 'string' ? data: config)\n }\n\n if (typeof config === 'string' && config.match(/load/)) {\n data[config]()\n } else if (typeof config === 'object') {\n data._init($(this))\n }\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(document).on('click', Selector.DATA_REFRESH, function (event) {\n if (event) {\n event.preventDefault()\n }\n\n CardRefresh._jQueryInterface.call($(this), 'load')\n })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = CardRefresh._jQueryInterface\n $.fn[NAME].Constructor = CardRefresh\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return CardRefresh._jQueryInterface\n }\n\n return CardRefresh\n})(jQuery)\n\nexport default CardRefresh\n","/**\n * --------------------------------------------\n * AdminLTE Dropdown.js\n * License MIT\n * --------------------------------------------\n */\n\nconst Dropdown = (($) => {\n /**\n * Constants\n * ====================================================\n */\n\n const NAME = 'Dropdown'\n const DATA_KEY = 'lte.dropdown'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n\n const Selector = {\n DROPDOWN_MENU: 'ul.dropdown-menu',\n DROPDOWN_TOGGLE: '[data-toggle=\"dropdown\"]',\n }\n\n const ClassName = {\n DROPDOWN_HOVER: '.dropdown-hover'\n }\n\n const Default = {\n }\n\n\n /**\n * Class Definition\n * ====================================================\n */\n\n class Dropdown {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n toggleSubmenu() {\n this._element.siblings().show().toggleClass(\"show\");\n\n if (! this._element.next().hasClass('show')) {\n this._element.parents('.dropdown-menu').first().find('.show').removeClass(\"show\").hide();\n }\n\n this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function(e) {\n $('.dropdown-submenu .show').removeClass(\"show\").hide();\n });\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 Dropdown($(this), _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'toggleSubmenu') {\n data[config]()\n }\n })\n }\n }\n\n /**\n * Data API\n * ====================================================\n */\n\n $(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on(\"click\", function(event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($(this), 'toggleSubmenu')\n });\n\n // $(Selector.SIDEBAR + ' a').on('focusin', () => {\n // $(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED);\n // })\n\n // $(Selector.SIDEBAR + ' a').on('focusout', () => {\n // $(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED);\n // })\n\n /**\n * jQuery API\n * ====================================================\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface\n $.fn[NAME].Constructor = Dropdown\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n }\n\n return Dropdown\n})(jQuery)\n\nexport default Dropdown\n"],"names":["ControlSidebar","$","NAME","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","Event","COLLAPSED","EXPANDED","Selector","CONTROL_SIDEBAR","CONTROL_SIDEBAR_CONTENT","DATA_TOGGLE","CONTENT","HEADER","FOOTER","ClassName","CONTROL_SIDEBAR_ANIMATE","CONTROL_SIDEBAR_OPEN","CONTROL_SIDEBAR_SLIDE","LAYOUT_FIXED","NAVBAR_FIXED","NAVBAR_SM_FIXED","NAVBAR_MD_FIXED","NAVBAR_LG_FIXED","NAVBAR_XL_FIXED","FOOTER_FIXED","FOOTER_SM_FIXED","FOOTER_MD_FIXED","FOOTER_LG_FIXED","FOOTER_XL_FIXED","element","config","_element","_config","_init","show","controlsidebarSlide","addClass","removeClass","delay","queue","hide","dequeue","expandedEvent","trigger","collapse","collapsedEvent","toggle","shouldOpen","hasClass","_fixHeight","_fixScrollHeight","window","resize","scroll","heights","document","height","header","outerHeight","footer","positions","bottom","Math","abs","scrollTop","top","navbarFixed","footerFixed","css","sidebarHeight","overlayScrollbars","className","scrollbarTheme","sizeAutoCapable","scrollbars","autoHide","scrollbarAutoHide","clickScrolling","_jQueryInterface","operation","each","data","Error","on","event","preventDefault","call","Constructor","noConflict","jQuery","Layout","MAIN_SIDEBAR","SIDEBAR","BRAND","CONTENT_HEADER","WRAPPER","HOLD","CONTENT_FIXED","SIDEBAR_FOCUSED","Default","fixLayoutHeight","sidebar","max","_max","numbers","Object","keys","forEach","key","extend","PushMenu","SHOWN","autoCollapseSize","screenCollapseSize","enableRemember","noTransitionAfterReload","TOGGLE_BUTTON","SIDEBAR_MINI","SIDEBAR_COLLAPSED","BODY","OVERLAY","SIDEBAR_OPEN","OPEN","options","_options","length","_addOverlay","localStorage","setItem","shownEvent","isShown","width","autoCollapse","remember","toggleState","getItem","overlay","id","append","button","currentTarget","closest","Treeview","SELECTED","LOAD_DATA_API","LI","LINK","TREEVIEW_MENU","DATA_WIDGET","animationSpeed","accordion","init","_setupListeners","expand","treeviewMenu","parentLi","openMenuLi","siblings","first","openTreeview","find","stop","slideDown","slideUp","$relativeTarget","next","is","parents","isOpen","DirectChat","TOGGLED","DIRECT_CHAT","DIRECT_CHAT_OPEN","toggleClass","toggledEvent","TodoList","TODO_LIST_DONE","onCheck","item","onUnCheck","prop","unCheck","check","that","target","CardWidget","MAXIMIZED","MINIMIZED","REMOVED","CARD","WAS_COLLAPSED","DATA_REMOVE","DATA_COLLAPSE","DATA_MAXIMIZE","CARD_HEADER","CARD_BODY","CARD_FOOTER","collapseTrigger","removeTrigger","maximizeTrigger","collapseIcon","expandIcon","maximizeIcon","minimizeIcon","settings","_parent","_settings","children","collapsed","expanded","remove","removed","maximize","maximized","minimize","style","toggleMaximize","card","click","match","CardRefresh","LOADED","OVERLAY_ADDED","OVERLAY_REMOVED","DATA_REFRESH","source","sourceSelector","params","content","loadInContent","loadOnInit","responseType","overlayTemplate","onLoadStart","onLoadDone","response","_overlay","load","get","html","_removeOverlay","bind","loadedEvent","overlayAddedEvent","overlayRemovedEvent","Dropdown","DROPDOWN_MENU","DROPDOWN_TOGGLE","toggleSubmenu","e","stopPropagation"],"mappings":"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"}