mirror of https://github.com/ColorlibHQ/AdminLTE
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.
1 lines
132 KiB
1 lines
132 KiB
{"version":3,"sources":["../../build/js/CardRefresh.js","../../build/js/CardWidget.js","../../build/js/ControlSidebar.js","../../build/js/DirectChat.js","../../build/js/Dropdown.js","../../build/js/ExpandableTable.js","../../build/js/Fullscreen.js","../../build/js/IFrame.js","../../build/js/Layout.js","../../build/js/PushMenu.js","../../build/js/SidebarSearch.js","../../build/js/NavbarSearch.js","../../build/js/Toasts.js","../../build/js/TodoList.js","../../build/js/Treeview.js"],"names":["NAME","DATA_KEY","JQUERY_NO_CONFLICT","$","fn","CLASS_NAME_CARD","SELECTOR_DATA_REFRESH","Default","source","sourceSelector","params","trigger","content","loadInContent","loadOnInit","loadErrorTemplate","responseType","overlayTemplate","errorTemplate","onLoadStart","onLoadDone","response","onLoadFail","_jqXHR","_textStatus","_errorThrown","CardRefresh","element","settings","this","_element","_parent","parents","first","_settings","extend","_overlay","hasClass","Error","load","_this","_addOverlay","call","get","find","html","_removeOverlay","fail","jqXHR","textStatus","errorThrown","msg","text","empty","append","Event","remove","_init","_this2","on","_jQueryInterface","config","data","_options","test","document","event","preventDefault","each","Constructor","noConflict","CLASS_NAME_COLLAPSED","CLASS_NAME_COLLAPSING","CLASS_NAME_EXPANDING","CLASS_NAME_WAS_COLLAPSED","CLASS_NAME_MAXIMIZED","SELECTOR_DATA_REMOVE","SELECTOR_DATA_COLLAPSE","SELECTOR_DATA_MAXIMIZE","animationSpeed","collapseTrigger","removeTrigger","maximizeTrigger","collapseIcon","expandIcon","maximizeIcon","minimizeIcon","CardWidget","collapse","addClass","children","SELECTOR_CARD_BODY","slideUp","removeClass","expand","slideDown","toggle","maximize","css","height","width","transition","delay","queue","$element","dequeue","minimize","style","toggleMaximize","card","_this3","click","SELECTOR_CONTROL_SIDEBAR","SELECTOR_CONTROL_SIDEBAR_CONTENT","SELECTOR_DATA_TOGGLE","SELECTOR_HEADER","SELECTOR_FOOTER","CLASS_NAME_CONTROL_SIDEBAR_ANIMATE","CLASS_NAME_CONTROL_SIDEBAR_OPEN","CLASS_NAME_CONTROL_SIDEBAR_SLIDE","CLASS_NAME_LAYOUT_FIXED","controlsidebarSlide","scrollbarTheme","scrollbarAutoHide","target","ControlSidebar","_config","$body","$html","hide","setTimeout","show","_fixHeight","_fixScrollHeight","notVisible","is","shouldClose","shouldToggle","not","window","resize","scroll","_isNavbarFixed","_isFooterFixed","$controlSidebar","heights","header","outerHeight","footer","positions","Math","abs","scrollTop","navbarFixed","footerFixed","$controlsidebarContent","bottom","top","sidebarHeight","overlayScrollbars","className","sizeAutoCapable","scrollbars","autoHide","clickScrolling","attr","operation","ready","DirectChat","toggleClass","SELECTOR_DROPDOWN_MENU","Dropdown","toggleSubmenu","siblings","next","fixPosition","length","left","right","offset","visiblePart","stopPropagation","SELECTOR_NAVBAR","parent","SELECTOR_EXPANDABLE_BODY","SELECTOR_ARIA_ATTR","ExpandableTable","options","init","_","$header","$type","toggleRow","nodeName","stop","SELECTOR_DATA_WIDGET","SELECTOR_ICON","Fullscreen","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","msFullscreenElement","windowed","fullscreen","toggleIcon","documentElement","requestFullscreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","webkitExitFullscreen","msExitFullscreen","plugin","SELECTOR_DATA_TOGGLE_FULLSCREEN","SELECTOR_CONTENT_WRAPPER","SELECTOR_CONTENT_IFRAME","SELECTOR_TAB_NAV","SELECTOR_TAB_NAVBAR_NAV","SELECTOR_TAB_NAVBAR_NAV_ITEM","SELECTOR_TAB_NAVBAR_NAV_LINK","SELECTOR_TAB_CONTENT","SELECTOR_TAB_EMPTY","SELECTOR_TAB_LOADING","SELECTOR_TAB_PANE","SELECTOR_SIDEBAR_MENU_ITEM","SELECTOR_HEADER_MENU_ITEM","SELECTOR_HEADER_DROPDOWN_ITEM","CLASS_NAME_IFRAME_MODE","CLASS_NAME_FULLSCREEN_MODE","onTabClick","item","onTabChanged","onTabCreated","autoIframeMode","autoItemActive","autoShowNewTab","autoDarkMode","allowDuplicates","allowReload","loadingScreen","useNavbarItems","scrollOffset","scrollBehaviorSwap","iconMaximize","iconMinimize","IFrame","createTab","title","link","uniqueName","autoOpen","tabId","navId","floor","random","newNavItem","unescape","escape","newTabItem","$loadingScreen","fadeIn","switchTab","fadeOut","openTabSidebar","$item","clone","undefined","replace","reload","tab","_setItemActive","removeActiveTab","type","$navClose","$navItem","$navItemParent","navItemIndex","index","prevNavItemIndex","eq","toggleFullscreen","usingDefTab","_setupListeners","$el","console","log","_initFrameElement","frameElement","_navScroll","leftPos","scrollLeft","animate","e","offsetParent","attributes","nodeValue","mousedown","mousedownInterval","clearInterval","setInterval","href","$headerMenuItem","$headerDropdownItem","$sidebarMenuItem","i","prevAll","tabEmpty","windowHeight","navbarHeight","contentWrapperHeight","parseFloat","localStorage","setItem","JSON","stringify","parse","getItem","SELECTOR_MAIN_SIDEBAR","SELECTOR_SIDEBAR","CLASS_NAME_SIDEBAR_FOCUSED","panelAutoHeight","panelAutoHeightMode","preloadDuration","loginRegisterAutoHeight","Layout","fixLayoutHeight","extra","controlSidebar","sidebar","max","_max","$contentSelector","fixLoginRegisterHeight","$selector","SELECTOR_LOGIN_BOX","boxHeight","parseInt","$preloader","numbers","Object","keys","forEach","key","EVENT_KEY","SELECTOR_TOGGLE_BUTTON","SELECTOR_BODY","CLASS_NAME_OPEN","CLASS_NAME_IS_OPENING","CLASS_NAME_CLOSED","autoCollapseSize","enableRemember","noTransitionAfterReload","PushMenu","$bodySelector","autoCollapse","remember","overlay","id","button","currentTarget","closest","CLASS_NAME_ICON_SEARCH","CLASS_NAME_ICON_CLOSE","CLASS_NAME_SEARCH_RESULTS","CLASS_NAME_LIST_GROUP","SELECTOR_SEARCH_INPUT","SELECTOR_SEARCH_BUTTON","SELECTOR_SEARCH_ICON","SELECTOR_SEARCH_RESULTS","SELECTOR_SEARCH_RESULTS_GROUP","arrowSign","minLength","maxResults","highlightName","highlightPath","highlightClass","notFoundText","SearchItems","SidebarSearch","items","after","class","_addNotFound","child","_parseItem","search","searchValue","val","toLowerCase","close","searchResults","filter","name","includes","endResults","slice","result","_renderItem","encodeURI","path","open","itemObject","navLink","navTreeview","end","_trimText","push","newPath","concat","trim","_this4","join","decodeURI","regExp","RegExp","str","groupItemElement","decodeURIComponent","searchTitleElement","searchPathElement","keyCode","last","focus","$focused","prev","resetOnClose","NavbarSearch","POSITION_TOP_RIGHT","POSITION_TOP_LEFT","POSITION_BOTTOM_RIGHT","POSITION_BOTTOM_LEFT","position","fixed","autohide","autoremove","fade","icon","image","imageAlt","imageHeight","subtitle","body","Toasts","_prepareContainer","create","toast","toastHeader","toastImage","toastClose","_getContainerId","prepend","container","option","CLASS_NAME_TODO_LIST_DONE","onCheck","onUnCheck","TodoList","prop","check","unCheck","$toggleSelector","SELECTOR_LI","SELECTOR_TREEVIEW_MENU","SELECTOR_OPEN","accordion","expandSidebar","sidebarButtonSelector","Treeview","treeviewMenu","parentLi","expandedEvent","openMenuLi","openTreeview","_expandSidebar","collapsedEvent","$relativeTarget","$parent","elementId"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------\n * AdminLTE CardRefresh.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'CardRefresh'\nconst DATA_KEY = 'lte.cardrefresh'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_LOADED = `loaded${EVENT_KEY}`\nconst EVENT_OVERLAY_ADDED = `overlay.added${EVENT_KEY}`\nconst EVENT_OVERLAY_REMOVED = `overlay.removed${EVENT_KEY}`\n\nconst CLASS_NAME_CARD = 'card'\n\nconst SELECTOR_CARD = `.${CLASS_NAME_CARD}`\nconst SELECTOR_DATA_REFRESH = '[data-card-widget=\"card-refresh\"]'\n\nconst Default = {\n source: '',\n sourceSelector: '',\n params: {},\n trigger: SELECTOR_DATA_REFRESH,\n content: '.card-body',\n loadInContent: true,\n loadOnInit: true,\n loadErrorTemplate: true,\n responseType: '',\n overlayTemplate: '<div class=\"overlay\"><i class=\"fas fa-2x fa-sync-alt fa-spin\"></i></div>',\n errorTemplate: '<span class=\"text-danger\"></span>',\n onLoadStart() {},\n onLoadDone(response) {\n return response\n },\n onLoadFail(_jqXHR, _textStatus, _errorThrown) {}\n}\n\nclass 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(CLASS_NAME_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\n load() {\n this._addOverlay()\n this._settings.onLoadStart.call($(this))\n\n $.get(this._settings.source, this._settings.params, 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 }, this._settings.responseType !== '' && this._settings.responseType)\n .fail((jqXHR, textStatus, errorThrown) => {\n this._removeOverlay()\n\n if (this._settings.loadErrorTemplate) {\n const msg = $(this._settings.errorTemplate).text(errorThrown)\n this._parent.find(this._settings.content).empty().append(msg)\n }\n\n this._settings.onLoadFail.call($(this), jqXHR, textStatus, errorThrown)\n })\n\n $(this._element).trigger($.Event(EVENT_LOADED))\n }\n\n _addOverlay() {\n this._parent.append(this._overlay)\n $(this._element).trigger($.Event(EVENT_OVERLAY_ADDED))\n }\n\n _removeOverlay() {\n this._parent.find(this._overlay).remove()\n $(this._element).trigger($.Event(EVENT_OVERLAY_REMOVED))\n }\n\n // Private\n\n _init() {\n $(this).find(this._settings.trigger).on('click', () => {\n this.load()\n })\n\n if (this._settings.loadOnInit) {\n this.load()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n const _options = $.extend({}, Default, $(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' && /load/.test(config)) {\n data[config]()\n } else {\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 $(SELECTOR_DATA_REFRESH).each(function () {\n CardRefresh._jQueryInterface.call($(this))\n })\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\nexport default CardRefresh\n","/**\n * --------------------------------------------\n * AdminLTE CardWidget.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'CardWidget'\nconst DATA_KEY = 'lte.cardwidget'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_EXPANDED = `expanded${EVENT_KEY}`\nconst EVENT_COLLAPSED = `collapsed${EVENT_KEY}`\nconst EVENT_MAXIMIZED = `maximized${EVENT_KEY}`\nconst EVENT_MINIMIZED = `minimized${EVENT_KEY}`\nconst EVENT_REMOVED = `removed${EVENT_KEY}`\n\nconst CLASS_NAME_CARD = 'card'\nconst CLASS_NAME_COLLAPSED = 'collapsed-card'\nconst CLASS_NAME_COLLAPSING = 'collapsing-card'\nconst CLASS_NAME_EXPANDING = 'expanding-card'\nconst CLASS_NAME_WAS_COLLAPSED = 'was-collapsed'\nconst CLASS_NAME_MAXIMIZED = 'maximized-card'\n\nconst SELECTOR_DATA_REMOVE = '[data-card-widget=\"remove\"]'\nconst SELECTOR_DATA_COLLAPSE = '[data-card-widget=\"collapse\"]'\nconst SELECTOR_DATA_MAXIMIZE = '[data-card-widget=\"maximize\"]'\nconst SELECTOR_CARD = `.${CLASS_NAME_CARD}`\nconst SELECTOR_CARD_HEADER = '.card-header'\nconst SELECTOR_CARD_BODY = '.card-body'\nconst SELECTOR_CARD_FOOTER = '.card-footer'\n\nconst 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\nclass CardWidget {\n constructor(element, settings) {\n this._element = element\n this._parent = element.parents(SELECTOR_CARD).first()\n\n if (element.hasClass(CLASS_NAME_CARD)) {\n this._parent = element\n }\n\n this._settings = $.extend({}, Default, settings)\n }\n\n collapse() {\n this._parent.addClass(CLASS_NAME_COLLAPSING).children(`${SELECTOR_CARD_BODY}, ${SELECTOR_CARD_FOOTER}`)\n .slideUp(this._settings.animationSpeed, () => {\n this._parent.addClass(CLASS_NAME_COLLAPSED).removeClass(CLASS_NAME_COLLAPSING)\n })\n\n this._parent.find(`> ${SELECTOR_CARD_HEADER} ${this._settings.collapseTrigger} .${this._settings.collapseIcon}`)\n .addClass(this._settings.expandIcon)\n .removeClass(this._settings.collapseIcon)\n\n this._element.trigger($.Event(EVENT_COLLAPSED), this._parent)\n }\n\n expand() {\n this._parent.addClass(CLASS_NAME_EXPANDING).children(`${SELECTOR_CARD_BODY}, ${SELECTOR_CARD_FOOTER}`)\n .slideDown(this._settings.animationSpeed, () => {\n this._parent.removeClass(CLASS_NAME_COLLAPSED).removeClass(CLASS_NAME_EXPANDING)\n })\n\n this._parent.find(`> ${SELECTOR_CARD_HEADER} ${this._settings.collapseTrigger} .${this._settings.expandIcon}`)\n .addClass(this._settings.collapseIcon)\n .removeClass(this._settings.expandIcon)\n\n this._element.trigger($.Event(EVENT_EXPANDED), this._parent)\n }\n\n remove() {\n this._parent.slideUp()\n this._element.trigger($.Event(EVENT_REMOVED), this._parent)\n }\n\n toggle() {\n if (this._parent.hasClass(CLASS_NAME_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 const $element = $(this)\n\n $element.addClass(CLASS_NAME_MAXIMIZED)\n $('html').addClass(CLASS_NAME_MAXIMIZED)\n if ($element.hasClass(CLASS_NAME_COLLAPSED)) {\n $element.addClass(CLASS_NAME_WAS_COLLAPSED)\n }\n\n $element.dequeue()\n })\n\n this._element.trigger($.Event(EVENT_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; width: ${this._parent[0].style.width} !important; transition: all .15s;`\n ).delay(10).queue(function () {\n const $element = $(this)\n\n $element.removeClass(CLASS_NAME_MAXIMIZED)\n $('html').removeClass(CLASS_NAME_MAXIMIZED)\n $element.css({\n height: 'inherit',\n width: 'inherit'\n })\n if ($element.hasClass(CLASS_NAME_WAS_COLLAPSED)) {\n $element.removeClass(CLASS_NAME_WAS_COLLAPSED)\n }\n\n $element.dequeue()\n })\n\n this._element.trigger($.Event(EVENT_MINIMIZED), this._parent)\n }\n\n toggleMaximize() {\n if (this._parent.hasClass(CLASS_NAME_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 const _options = $.extend({}, Default, $(this).data())\n\n if (!data) {\n data = new CardWidget($(this), _options)\n $(this).data(DATA_KEY, typeof config === 'string' ? data : config)\n }\n\n if (typeof config === 'string' && /collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/.test(config)) {\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\nexport default CardWidget\n","/**\n * --------------------------------------------\n * AdminLTE ControlSidebar.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'ControlSidebar'\nconst DATA_KEY = 'lte.controlsidebar'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_COLLAPSED = `collapsed${EVENT_KEY}`\nconst EVENT_COLLAPSED_DONE = `collapsed-done${EVENT_KEY}`\nconst EVENT_EXPANDED = `expanded${EVENT_KEY}`\n\nconst SELECTOR_CONTROL_SIDEBAR = '.control-sidebar'\nconst SELECTOR_CONTROL_SIDEBAR_CONTENT = '.control-sidebar-content'\nconst SELECTOR_DATA_TOGGLE = '[data-widget=\"control-sidebar\"]'\nconst SELECTOR_HEADER = '.main-header'\nconst SELECTOR_FOOTER = '.main-footer'\n\nconst CLASS_NAME_CONTROL_SIDEBAR_ANIMATE = 'control-sidebar-animate'\nconst CLASS_NAME_CONTROL_SIDEBAR_OPEN = 'control-sidebar-open'\nconst CLASS_NAME_CONTROL_SIDEBAR_SLIDE = 'control-sidebar-slide-open'\nconst CLASS_NAME_LAYOUT_FIXED = 'layout-fixed'\nconst CLASS_NAME_NAVBAR_FIXED = 'layout-navbar-fixed'\nconst CLASS_NAME_NAVBAR_SM_FIXED = 'layout-sm-navbar-fixed'\nconst CLASS_NAME_NAVBAR_MD_FIXED = 'layout-md-navbar-fixed'\nconst CLASS_NAME_NAVBAR_LG_FIXED = 'layout-lg-navbar-fixed'\nconst CLASS_NAME_NAVBAR_XL_FIXED = 'layout-xl-navbar-fixed'\nconst CLASS_NAME_FOOTER_FIXED = 'layout-footer-fixed'\nconst CLASS_NAME_FOOTER_SM_FIXED = 'layout-sm-footer-fixed'\nconst CLASS_NAME_FOOTER_MD_FIXED = 'layout-md-footer-fixed'\nconst CLASS_NAME_FOOTER_LG_FIXED = 'layout-lg-footer-fixed'\nconst CLASS_NAME_FOOTER_XL_FIXED = 'layout-xl-footer-fixed'\n\nconst Default = {\n controlsidebarSlide: true,\n scrollbarTheme: 'os-theme-light',\n scrollbarAutoHide: 'l',\n target: SELECTOR_CONTROL_SIDEBAR,\n animationSpeed: 300\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass ControlSidebar {\n constructor(element, config) {\n this._element = element\n this._config = config\n }\n\n // Public\n\n collapse() {\n const $body = $('body')\n const $html = $('html')\n\n // Show the control sidebar\n if (this._config.controlsidebarSlide) {\n $html.addClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)\n $body.removeClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () {\n $(SELECTOR_CONTROL_SIDEBAR).hide()\n $html.removeClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n } else {\n $body.removeClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN)\n }\n\n $(this._element).trigger($.Event(EVENT_COLLAPSED))\n\n setTimeout(() => {\n $(this._element).trigger($.Event(EVENT_COLLAPSED_DONE))\n }, this._config.animationSpeed)\n }\n\n show(toggle = false) {\n const $body = $('body')\n const $html = $('html')\n\n if (toggle) {\n $(SELECTOR_CONTROL_SIDEBAR).hide()\n }\n\n // Collapse the control sidebar\n if (this._config.controlsidebarSlide) {\n $html.addClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)\n $(this._config.target).show().delay(10).queue(function () {\n $body.addClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () {\n $html.removeClass(CLASS_NAME_CONTROL_SIDEBAR_ANIMATE)\n $(this).dequeue()\n })\n $(this).dequeue()\n })\n } else {\n $body.addClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN)\n }\n\n this._fixHeight()\n this._fixScrollHeight()\n\n $(this._element).trigger($.Event(EVENT_EXPANDED))\n }\n\n toggle() {\n const $body = $('body')\n const { target } = this._config\n\n const notVisible = !$(target).is(':visible')\n const shouldClose = ($body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||\n $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE))\n const shouldToggle = notVisible && ($body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||\n $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE))\n\n if (notVisible || shouldToggle) {\n // Open the control sidebar\n this.show(notVisible)\n } else if (shouldClose) {\n // Close the control sidebar\n this.collapse()\n }\n }\n\n // Private\n\n _init() {\n const $body = $('body')\n const shouldNotHideAll = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||\n $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE)\n\n if (shouldNotHideAll) {\n $(SELECTOR_CONTROL_SIDEBAR).not(this._config.target).hide()\n $(this._config.target).css('display', 'block')\n } else {\n $(SELECTOR_CONTROL_SIDEBAR).hide()\n }\n\n this._fixHeight()\n this._fixScrollHeight()\n\n $(window).resize(() => {\n this._fixHeight()\n this._fixScrollHeight()\n })\n\n $(window).scroll(() => {\n const $body = $('body')\n const shouldFixHeight = $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) ||\n $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE)\n\n if (shouldFixHeight) {\n this._fixScrollHeight()\n }\n })\n }\n\n _isNavbarFixed() {\n const $body = $('body')\n return (\n $body.hasClass(CLASS_NAME_NAVBAR_FIXED) ||\n $body.hasClass(CLASS_NAME_NAVBAR_SM_FIXED) ||\n $body.hasClass(CLASS_NAME_NAVBAR_MD_FIXED) ||\n $body.hasClass(CLASS_NAME_NAVBAR_LG_FIXED) ||\n $body.hasClass(CLASS_NAME_NAVBAR_XL_FIXED)\n )\n }\n\n _isFooterFixed() {\n const $body = $('body')\n return (\n $body.hasClass(CLASS_NAME_FOOTER_FIXED) ||\n $body.hasClass(CLASS_NAME_FOOTER_SM_FIXED) ||\n $body.hasClass(CLASS_NAME_FOOTER_MD_FIXED) ||\n $body.hasClass(CLASS_NAME_FOOTER_LG_FIXED) ||\n $body.hasClass(CLASS_NAME_FOOTER_XL_FIXED)\n )\n }\n\n _fixScrollHeight() {\n const $body = $('body')\n const $controlSidebar = $(this._config.target)\n\n if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) {\n return\n }\n\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 const navbarFixed = this._isNavbarFixed() && $(SELECTOR_HEADER).css('position') === 'fixed'\n\n const footerFixed = this._isFooterFixed() && $(SELECTOR_FOOTER).css('position') === 'fixed'\n\n const $controlsidebarContent = $(`${this._config.target}, ${this._config.target} ${SELECTOR_CONTROL_SIDEBAR_CONTENT}`)\n\n if (positions.top === 0 && positions.bottom === 0) {\n $controlSidebar.css({\n bottom: heights.footer,\n top: heights.header\n })\n $controlsidebarContent.css('height', heights.window - (heights.header + heights.footer))\n } else if (positions.bottom <= heights.footer) {\n if (footerFixed === false) {\n const top = heights.header - positions.top\n $controlSidebar.css('bottom', heights.footer - positions.bottom).css('top', top >= 0 ? top : 0)\n $controlsidebarContent.css('height', heights.window - (heights.footer - positions.bottom))\n } else {\n $controlSidebar.css('bottom', heights.footer)\n }\n } else if (positions.top <= heights.header) {\n if (navbarFixed === false) {\n $controlSidebar.css('top', heights.header - positions.top)\n $controlsidebarContent.css('height', heights.window - (heights.header - positions.top))\n } else {\n $controlSidebar.css('top', heights.header)\n }\n } else if (navbarFixed === false) {\n $controlSidebar.css('top', 0)\n $controlsidebarContent.css('height', heights.window)\n } else {\n $controlSidebar.css('top', heights.header)\n }\n\n if (footerFixed && navbarFixed) {\n $controlsidebarContent.css('height', '100%')\n $controlSidebar.css('height', '')\n } else if (footerFixed || navbarFixed) {\n $controlsidebarContent.css('height', '100%')\n $controlsidebarContent.css('height', '')\n }\n }\n\n _fixHeight() {\n const $body = $('body')\n const $controlSidebar = $(`${this._config.target} ${SELECTOR_CONTROL_SIDEBAR_CONTENT}`)\n\n if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) {\n $controlSidebar.attr('style', '')\n return\n }\n\n const heights = {\n window: $(window).height(),\n header: $(SELECTOR_HEADER).outerHeight(),\n footer: $(SELECTOR_FOOTER).outerHeight()\n }\n\n let sidebarHeight = heights.window - heights.header\n\n if (this._isFooterFixed() && $(SELECTOR_FOOTER).css('position') === 'fixed') {\n sidebarHeight = heights.window - heights.header - heights.footer\n }\n\n $controlSidebar.css('height', sidebarHeight)\n\n if (typeof $.fn.overlayScrollbars !== 'undefined') {\n $controlSidebar.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 // 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 ControlSidebar(this, _options)\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$(document).ready(() => {\n ControlSidebar._jQueryInterface.call($(SELECTOR_DATA_TOGGLE), '_init')\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\nexport default ControlSidebar\n","/**\n * --------------------------------------------\n * AdminLTE DirectChat.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'DirectChat'\nconst DATA_KEY = 'lte.directchat'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-widget=\"chat-pane-toggle\"]'\nconst SELECTOR_DIRECT_CHAT = '.direct-chat'\n\nconst CLASS_NAME_DIRECT_CHAT_OPEN = 'direct-chat-contacts-open'\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass DirectChat {\n constructor(element) {\n this._element = element\n }\n\n toggle() {\n $(this._element).parents(SELECTOR_DIRECT_CHAT).first().toggleClass(CLASS_NAME_DIRECT_CHAT_OPEN)\n $(this._element).trigger($.Event(EVENT_TOGGLED))\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) {\n event.preventDefault()\n }\n\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\nexport default DirectChat\n","/**\n * --------------------------------------------\n * AdminLTE Dropdown.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'Dropdown'\nconst DATA_KEY = 'lte.dropdown'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_NAVBAR = '.navbar'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst SELECTOR_DROPDOWN_MENU_ACTIVE = '.dropdown-menu.show'\nconst SELECTOR_DROPDOWN_TOGGLE = '[data-toggle=\"dropdown\"]'\n\nconst CLASS_NAME_DROPDOWN_RIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_DROPDOWN_SUBMENU = 'dropdown-submenu'\n\n// TODO: this is unused; should be removed along with the extend?\nconst Default = {}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass 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(SELECTOR_DROPDOWN_MENU).first().find('.show').removeClass('show').hide()\n }\n\n this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', () => {\n $('.dropdown-submenu .show').removeClass('show').hide()\n })\n }\n\n fixPosition() {\n const $element = $(SELECTOR_DROPDOWN_MENU_ACTIVE)\n\n if ($element.length === 0) {\n return\n }\n\n if ($element.hasClass(CLASS_NAME_DROPDOWN_RIGHT)) {\n $element.css({\n left: 'inherit',\n right: 0\n })\n } else {\n $element.css({\n left: 0,\n right: 'inherit'\n })\n }\n\n const offset = $element.offset()\n const width = $element.width()\n const visiblePart = $(window).width() - offset.left\n\n if (offset.left < 0) {\n $element.css({\n left: 'inherit',\n right: offset.left - 5\n })\n } else if (visiblePart < width) {\n $element.css({\n left: 'inherit',\n right: 0\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' || config === 'fixPosition') {\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_NAVBAR} ${SELECTOR_DROPDOWN_TOGGLE}`).on('click', event => {\n event.preventDefault()\n\n if ($(event.target).parent().hasClass(CLASS_NAME_DROPDOWN_SUBMENU)) {\n return\n }\n\n setTimeout(function () {\n Dropdown._jQueryInterface.call($(this), 'fixPosition')\n }, 1)\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\nexport default Dropdown\n","/**\n * --------------------------------------------\n * AdminLTE ExpandableTable.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'ExpandableTable'\nconst DATA_KEY = 'lte.expandableTable'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_EXPANDED = `expanded${EVENT_KEY}`\nconst EVENT_COLLAPSED = `collapsed${EVENT_KEY}`\n\nconst SELECTOR_TABLE = '.expandable-table'\nconst SELECTOR_EXPANDABLE_BODY = '.expandable-body'\nconst SELECTOR_DATA_TOGGLE = '[data-widget=\"expandable-table\"]'\nconst SELECTOR_ARIA_ATTR = 'aria-expanded'\n\n/**\n * Class Definition\n * ====================================================\n */\nclass ExpandableTable {\n constructor(element, options) {\n this._options = options\n this._element = element\n }\n\n // Public\n\n init() {\n $(SELECTOR_DATA_TOGGLE).each((_, $header) => {\n const $type = $($header).attr(SELECTOR_ARIA_ATTR)\n const $body = $($header).next(SELECTOR_EXPANDABLE_BODY).children().first().children()\n if ($type === 'true') {\n $body.show()\n } else if ($type === 'false') {\n $body.hide()\n $body.parent().parent().addClass('d-none')\n }\n })\n }\n\n toggleRow() {\n let $element = this._element\n\n if ($element[0].nodeName !== 'TR') {\n $element = $element.parent()\n if ($element[0].nodeName !== 'TR') {\n $element = $element.parent()\n }\n }\n\n const time = 500\n const $type = $element.attr(SELECTOR_ARIA_ATTR)\n const $body = $element.next(SELECTOR_EXPANDABLE_BODY).children().first().children()\n\n $body.stop()\n if ($type === 'true') {\n $body.slideUp(time, () => {\n $element.next(SELECTOR_EXPANDABLE_BODY).addClass('d-none')\n })\n $element.attr(SELECTOR_ARIA_ATTR, 'false')\n $element.trigger($.Event(EVENT_COLLAPSED))\n } else if ($type === 'false') {\n $element.next(SELECTOR_EXPANDABLE_BODY).removeClass('d-none')\n $body.slideDown(time)\n $element.attr(SELECTOR_ARIA_ATTR, 'true')\n $element.trigger($.Event(EVENT_EXPANDED))\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 ExpandableTable($(this))\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof operation === 'string' && /init|toggleRow/.test(operation)) {\n data[operation]()\n }\n })\n }\n}\n\n/**\n * Data API\n * ====================================================\n */\n$(SELECTOR_TABLE).ready(function () {\n ExpandableTable._jQueryInterface.call($(this), 'init')\n})\n\n$(document).on('click', SELECTOR_DATA_TOGGLE, function () {\n ExpandableTable._jQueryInterface.call($(this), 'toggleRow')\n})\n\n/**\n * jQuery API\n * ====================================================\n */\n\n$.fn[NAME] = ExpandableTable._jQueryInterface\n$.fn[NAME].Constructor = ExpandableTable\n$.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return ExpandableTable._jQueryInterface\n}\n\nexport default ExpandableTable\n","/**\n * --------------------------------------------\n * AdminLTE Fullscreen.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'Fullscreen'\nconst DATA_KEY = 'lte.fullscreen'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DATA_WIDGET = '[data-widget=\"fullscreen\"]'\nconst SELECTOR_ICON = `${SELECTOR_DATA_WIDGET} i`\n\nconst EVENT_FULLSCREEN_CHANGE = 'webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange'\n\nconst Default = {\n minimizeIcon: 'fa-compress-arrows-alt',\n maximizeIcon: 'fa-expand-arrows-alt'\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass Fullscreen {\n constructor(_element, _options) {\n this.element = _element\n this.options = $.extend({}, Default, _options)\n }\n\n // Public\n\n toggle() {\n if (document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement) {\n this.windowed()\n } else {\n this.fullscreen()\n }\n }\n\n toggleIcon() {\n if (document.fullscreenElement ||\n document.mozFullScreenElement ||\n document.webkitFullscreenElement ||\n document.msFullscreenElement) {\n $(SELECTOR_ICON).removeClass(this.options.maximizeIcon).addClass(this.options.minimizeIcon)\n } else {\n $(SELECTOR_ICON).removeClass(this.options.minimizeIcon).addClass(this.options.maximizeIcon)\n }\n }\n\n fullscreen() {\n if (document.documentElement.requestFullscreen) {\n document.documentElement.requestFullscreen()\n } else if (document.documentElement.webkitRequestFullscreen) {\n document.documentElement.webkitRequestFullscreen()\n } else if (document.documentElement.msRequestFullscreen) {\n document.documentElement.msRequestFullscreen()\n }\n }\n\n windowed() {\n if (document.exitFullscreen) {\n document.exitFullscreen()\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen()\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = $(this).data()\n }\n\n const _options = $.extend({}, Default, typeof config === 'object' ? config : data)\n const plugin = new Fullscreen($(this), _options)\n\n $(this).data(DATA_KEY, typeof config === 'object' ? config : data)\n\n if (typeof config === 'string' && /toggle|toggleIcon|fullscreen|windowed/.test(config)) {\n plugin[config]()\n } else {\n plugin.init()\n }\n }\n}\n\n/**\n * Data API\n * ====================================================\n */\n$(document).on('click', SELECTOR_DATA_WIDGET, function () {\n Fullscreen._jQueryInterface.call($(this), 'toggle')\n})\n\n$(document).on(EVENT_FULLSCREEN_CHANGE, () => {\n Fullscreen._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'toggleIcon')\n})\n\n/**\n * jQuery API\n * ====================================================\n */\n\n$.fn[NAME] = Fullscreen._jQueryInterface\n$.fn[NAME].Constructor = Fullscreen\n$.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Fullscreen._jQueryInterface\n}\n\nexport default Fullscreen\n","/**\n * --------------------------------------------\n * AdminLTE IFrame.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'IFrame'\nconst DATA_KEY = 'lte.iframe'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DATA_TOGGLE = '[data-widget=\"iframe\"]'\nconst SELECTOR_DATA_TOGGLE_CLOSE = '[data-widget=\"iframe-close\"]'\nconst SELECTOR_DATA_TOGGLE_SCROLL_LEFT = '[data-widget=\"iframe-scrollleft\"]'\nconst SELECTOR_DATA_TOGGLE_SCROLL_RIGHT = '[data-widget=\"iframe-scrollright\"]'\nconst SELECTOR_DATA_TOGGLE_FULLSCREEN = '[data-widget=\"iframe-fullscreen\"]'\nconst SELECTOR_CONTENT_WRAPPER = '.content-wrapper'\nconst SELECTOR_CONTENT_IFRAME = `${SELECTOR_CONTENT_WRAPPER} iframe`\nconst SELECTOR_TAB_NAV = `${SELECTOR_CONTENT_WRAPPER}.iframe-mode .nav`\nconst SELECTOR_TAB_NAVBAR_NAV = `${SELECTOR_CONTENT_WRAPPER}.iframe-mode .navbar-nav`\nconst SELECTOR_TAB_NAVBAR_NAV_ITEM = `${SELECTOR_TAB_NAVBAR_NAV} .nav-item`\nconst SELECTOR_TAB_NAVBAR_NAV_LINK = `${SELECTOR_TAB_NAVBAR_NAV} .nav-link`\nconst SELECTOR_TAB_CONTENT = `${SELECTOR_CONTENT_WRAPPER}.iframe-mode .tab-content`\nconst SELECTOR_TAB_EMPTY = `${SELECTOR_TAB_CONTENT} .tab-empty`\nconst SELECTOR_TAB_LOADING = `${SELECTOR_TAB_CONTENT} .tab-loading`\nconst SELECTOR_TAB_PANE = `${SELECTOR_TAB_CONTENT} .tab-pane`\nconst SELECTOR_SIDEBAR_MENU_ITEM = '.main-sidebar .nav-item > a.nav-link'\nconst SELECTOR_SIDEBAR_SEARCH_ITEM = '.sidebar-search-results .list-group-item'\nconst SELECTOR_HEADER_MENU_ITEM = '.main-header .nav-item a.nav-link'\nconst SELECTOR_HEADER_DROPDOWN_ITEM = '.main-header a.dropdown-item'\nconst CLASS_NAME_IFRAME_MODE = 'iframe-mode'\nconst CLASS_NAME_FULLSCREEN_MODE = 'iframe-mode-fullscreen'\n\nconst Default = {\n onTabClick(item) {\n return item\n },\n onTabChanged(item) {\n return item\n },\n onTabCreated(item) {\n return item\n },\n autoIframeMode: true,\n autoItemActive: true,\n autoShowNewTab: true,\n autoDarkMode: false,\n allowDuplicates: false,\n allowReload: true,\n loadingScreen: true,\n useNavbarItems: true,\n scrollOffset: 40,\n scrollBehaviorSwap: false,\n iconMaximize: 'fa-expand',\n iconMinimize: 'fa-compress'\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass IFrame {\n constructor(element, config) {\n this._config = config\n this._element = element\n this._init()\n }\n\n // Public\n\n onTabClick(item) {\n this._config.onTabClick(item)\n }\n\n onTabChanged(item) {\n this._config.onTabChanged(item)\n }\n\n onTabCreated(item) {\n this._config.onTabCreated(item)\n }\n\n createTab(title, link, uniqueName, autoOpen) {\n let tabId = `panel-${uniqueName}`\n let navId = `tab-${uniqueName}`\n\n if (this._config.allowDuplicates) {\n tabId += `-${Math.floor(Math.random() * 1000)}`\n navId += `-${Math.floor(Math.random() * 1000)}`\n }\n\n const newNavItem = `<li class=\"nav-item\" role=\"presentation\"><a href=\"#\" class=\"btn-iframe-close\" data-widget=\"iframe-close\" data-type=\"only-this\"><i class=\"fas fa-times\"></i></a><a class=\"nav-link\" data-toggle=\"row\" id=\"${navId}\" href=\"#${tabId}\" role=\"tab\" aria-controls=\"${tabId}\" aria-selected=\"false\">${title}</a></li>`\n $(SELECTOR_TAB_NAVBAR_NAV).append(unescape(escape(newNavItem)))\n\n const newTabItem = `<div class=\"tab-pane fade\" id=\"${tabId}\" role=\"tabpanel\" aria-labelledby=\"${navId}\"><iframe src=\"${link}\"></iframe></div>`\n $(SELECTOR_TAB_CONTENT).append(unescape(escape(newTabItem)))\n\n if (autoOpen) {\n if (this._config.loadingScreen) {\n const $loadingScreen = $(SELECTOR_TAB_LOADING)\n $loadingScreen.fadeIn()\n $(`${tabId} iframe`).ready(() => {\n if (typeof this._config.loadingScreen === 'number') {\n this.switchTab(`#${navId}`)\n setTimeout(() => {\n $loadingScreen.fadeOut()\n }, this._config.loadingScreen)\n } else {\n this.switchTab(`#${navId}`)\n $loadingScreen.fadeOut()\n }\n })\n } else {\n this.switchTab(`#${navId}`)\n }\n }\n\n this.onTabCreated($(`#${navId}`))\n }\n\n openTabSidebar(item, autoOpen = this._config.autoShowNewTab) {\n let $item = $(item).clone()\n if ($item.attr('href') === undefined) {\n $item = $(item).parent('a').clone()\n }\n\n $item.find('.right, .search-path').remove()\n let title = $item.find('p').text()\n if (title === '') {\n title = $item.text()\n }\n\n const link = $item.attr('href')\n if (link === '#' || link === '' || link === undefined) {\n return\n }\n\n const uniqueName = unescape(link).replace('./', '').replace(/[\"#&'./:=?[\\]]/gi, '-').replace(/(--)/gi, '')\n const navId = `tab-${uniqueName}`\n\n if (!this._config.allowDuplicates && $(`#${navId}`).length > 0) {\n return this.switchTab(`#${navId}`, this._config.allowReload)\n }\n\n if ((!this._config.allowDuplicates && $(`#${navId}`).length === 0) || this._config.allowDuplicates) {\n this.createTab(title, link, uniqueName, autoOpen)\n }\n }\n\n switchTab(item, reload = false) {\n const $item = $(item)\n const tabId = $item.attr('href')\n\n $(SELECTOR_TAB_EMPTY).hide()\n\n if (reload) {\n const $loadingScreen = $(SELECTOR_TAB_LOADING)\n if (this._config.loadingScreen) {\n $loadingScreen.show(0, () => {\n $(`${tabId} iframe`).attr('src', $(`${tabId} iframe`).attr('src')).ready(() => {\n if (this._config.loadingScreen) {\n if (typeof this._config.loadingScreen === 'number') {\n setTimeout(() => {\n $loadingScreen.fadeOut()\n }, this._config.loadingScreen)\n } else {\n $loadingScreen.fadeOut()\n }\n }\n })\n })\n } else {\n $(`${tabId} iframe`).attr('src', $(`${tabId} iframe`).attr('src'))\n }\n }\n\n $(`${SELECTOR_TAB_NAVBAR_NAV} .active`).tab('dispose').removeClass('active')\n\n this._fixHeight()\n\n $item.tab('show')\n $item.parents('li').addClass('active')\n this.onTabChanged($item)\n\n if (this._config.autoItemActive) {\n this._setItemActive($(`${tabId} iframe`).attr('src'))\n }\n }\n\n removeActiveTab(type, element) {\n if (type == 'all') {\n $(SELECTOR_TAB_NAVBAR_NAV_ITEM).remove()\n $(SELECTOR_TAB_PANE).remove()\n $(SELECTOR_TAB_EMPTY).show()\n } else if (type == 'all-other') {\n $(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}:not(.active)`).remove()\n $(`${SELECTOR_TAB_PANE}:not(.active)`).remove()\n } else if (type == 'only-this') {\n const $navClose = $(element)\n const $navItem = $navClose.parent('.nav-item')\n const $navItemParent = $navItem.parent()\n const navItemIndex = $navItem.index()\n const tabId = $navClose.siblings('.nav-link').attr('aria-controls')\n $navItem.remove()\n $(`#${tabId}`).remove()\n if ($(SELECTOR_TAB_CONTENT).children().length == $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).length) {\n $(SELECTOR_TAB_EMPTY).show()\n } else {\n const prevNavItemIndex = navItemIndex - 1\n this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a.nav-link'))\n }\n } else {\n const $navItem = $(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}.active`)\n const $navItemParent = $navItem.parent()\n const navItemIndex = $navItem.index()\n $navItem.remove()\n $(`${SELECTOR_TAB_PANE}.active`).remove()\n if ($(SELECTOR_TAB_CONTENT).children().length == $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).length) {\n $(SELECTOR_TAB_EMPTY).show()\n } else {\n const prevNavItemIndex = navItemIndex - 1\n this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a.nav-link'))\n }\n }\n }\n\n toggleFullscreen() {\n if ($('body').hasClass(CLASS_NAME_FULLSCREEN_MODE)) {\n $(`${SELECTOR_DATA_TOGGLE_FULLSCREEN} i`).removeClass(this._config.iconMinimize).addClass(this._config.iconMaximize)\n $('body').removeClass(CLASS_NAME_FULLSCREEN_MODE)\n $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).height('100%')\n $(SELECTOR_CONTENT_WRAPPER).height('100%')\n $(SELECTOR_CONTENT_IFRAME).height('100%')\n } else {\n $(`${SELECTOR_DATA_TOGGLE_FULLSCREEN} i`).removeClass(this._config.iconMaximize).addClass(this._config.iconMinimize)\n $('body').addClass(CLASS_NAME_FULLSCREEN_MODE)\n }\n\n $(window).trigger('resize')\n this._fixHeight(true)\n }\n\n // Private\n\n _init() {\n const usingDefTab = ($(SELECTOR_TAB_CONTENT).children().length > 2)\n\n this._setupListeners()\n this._fixHeight(true)\n\n if (usingDefTab) {\n const $el = $(`${SELECTOR_TAB_PANE}`).first()\n // eslint-disable-next-line no-console\n console.log($el)\n const uniqueName = $el.attr('id').replace('panel-', '')\n const navId = `#tab-${uniqueName}`\n\n this.switchTab(navId, true)\n }\n }\n\n _initFrameElement() {\n if (window.frameElement && this._config.autoIframeMode) {\n const $body = $('body')\n $body.addClass(CLASS_NAME_IFRAME_MODE)\n\n if (this._config.autoDarkMode) {\n $body.addClass('dark-mode')\n }\n }\n }\n\n _navScroll(offset) {\n const leftPos = $(SELECTOR_TAB_NAVBAR_NAV).scrollLeft()\n $(SELECTOR_TAB_NAVBAR_NAV).animate({ scrollLeft: (leftPos + offset) }, 250, 'linear')\n }\n\n _setupListeners() {\n $(window).on('resize', () => {\n setTimeout(() => {\n this._fixHeight()\n }, 1)\n })\n if ($(SELECTOR_CONTENT_WRAPPER).hasClass(CLASS_NAME_IFRAME_MODE)) {\n $(document).on('click', `${SELECTOR_SIDEBAR_MENU_ITEM}, ${SELECTOR_SIDEBAR_SEARCH_ITEM}`, e => {\n e.preventDefault()\n this.openTabSidebar(e.target)\n })\n if (this._config.useNavbarItems) {\n $(document).on('click', `${SELECTOR_HEADER_MENU_ITEM}, ${SELECTOR_HEADER_DROPDOWN_ITEM}`, e => {\n e.preventDefault()\n this.openTabSidebar(e.target)\n })\n }\n }\n\n $(document).on('click', SELECTOR_TAB_NAVBAR_NAV_LINK, e => {\n e.preventDefault()\n this.onTabClick(e.target)\n this.switchTab(e.target)\n })\n $(document).on('click', SELECTOR_TAB_NAVBAR_NAV_LINK, e => {\n e.preventDefault()\n this.onTabClick(e.target)\n this.switchTab(e.target)\n })\n $(document).on('click', SELECTOR_DATA_TOGGLE_CLOSE, e => {\n e.preventDefault()\n let { target } = e\n\n if (target.nodeName == 'I') {\n target = e.target.offsetParent\n }\n\n this.removeActiveTab(target.attributes['data-type'] ? target.attributes['data-type'].nodeValue : null, target)\n })\n $(document).on('click', SELECTOR_DATA_TOGGLE_FULLSCREEN, e => {\n e.preventDefault()\n this.toggleFullscreen()\n })\n let mousedown = false\n let mousedownInterval = null\n $(document).on('mousedown', SELECTOR_DATA_TOGGLE_SCROLL_LEFT, e => {\n e.preventDefault()\n clearInterval(mousedownInterval)\n\n let { scrollOffset } = this._config\n\n if (!this._config.scrollBehaviorSwap) {\n scrollOffset = -scrollOffset\n }\n\n mousedown = true\n this._navScroll(scrollOffset)\n\n mousedownInterval = setInterval(() => {\n this._navScroll(scrollOffset)\n }, 250)\n })\n $(document).on('mousedown', SELECTOR_DATA_TOGGLE_SCROLL_RIGHT, e => {\n e.preventDefault()\n clearInterval(mousedownInterval)\n\n let { scrollOffset } = this._config\n\n if (this._config.scrollBehaviorSwap) {\n scrollOffset = -scrollOffset\n }\n\n mousedown = true\n this._navScroll(scrollOffset)\n\n mousedownInterval = setInterval(() => {\n this._navScroll(scrollOffset)\n }, 250)\n })\n $(document).on('mouseup', () => {\n if (mousedown) {\n mousedown = false\n clearInterval(mousedownInterval)\n mousedownInterval = null\n }\n })\n }\n\n _setItemActive(href) {\n $(`${SELECTOR_SIDEBAR_MENU_ITEM}, ${SELECTOR_HEADER_DROPDOWN_ITEM}`).removeClass('active')\n $(SELECTOR_HEADER_MENU_ITEM).parent().removeClass('active')\n\n const $headerMenuItem = $(`${SELECTOR_HEADER_MENU_ITEM}[href$=\"${href}\"]`)\n const $headerDropdownItem = $(`${SELECTOR_HEADER_DROPDOWN_ITEM}[href$=\"${href}\"]`)\n const $sidebarMenuItem = $(`${SELECTOR_SIDEBAR_MENU_ITEM}[href$=\"${href}\"]`)\n\n $headerMenuItem.each((i, e) => {\n $(e).parent().addClass('active')\n })\n $headerDropdownItem.each((i, e) => {\n $(e).addClass('active')\n })\n $sidebarMenuItem.each((i, e) => {\n $(e).addClass('active')\n $(e).parents('.nav-treeview').prevAll('.nav-link').addClass('active')\n })\n }\n\n _fixHeight(tabEmpty = false) {\n if ($('body').hasClass(CLASS_NAME_FULLSCREEN_MODE)) {\n const windowHeight = $(window).height()\n const navbarHeight = $(SELECTOR_TAB_NAV).outerHeight()\n $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}, ${SELECTOR_CONTENT_IFRAME}`).height(windowHeight - navbarHeight)\n $(SELECTOR_CONTENT_WRAPPER).height(windowHeight)\n } else {\n const contentWrapperHeight = parseFloat($(SELECTOR_CONTENT_WRAPPER).css('height'))\n const navbarHeight = $(SELECTOR_TAB_NAV).outerHeight()\n if (tabEmpty == true) {\n setTimeout(() => {\n $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).height(contentWrapperHeight - navbarHeight)\n }, 50)\n } else {\n $(SELECTOR_CONTENT_IFRAME).height(contentWrapperHeight - navbarHeight)\n }\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n if ($(SELECTOR_DATA_TOGGLE).length > 0) {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = $(this).data()\n }\n\n const _options = $.extend({}, Default, typeof config === 'object' ? config : data)\n localStorage.setItem('AdminLTE:IFrame:Options', JSON.stringify(_options))\n\n const plugin = new IFrame($(this), _options)\n\n $(this).data(DATA_KEY, typeof config === 'object' ? config : data)\n\n if (typeof config === 'string' && /createTab|openTabSidebar|switchTab|removeActiveTab/.test(config)) {\n plugin[config]()\n }\n } else {\n new IFrame($(this), JSON.parse(localStorage.getItem('AdminLTE:IFrame:Options')))._initFrameElement()\n }\n }\n}\n\n/**\n * Data API\n * ====================================================\n */\n\n$(window).on('load', () => {\n IFrame._jQueryInterface.call($(SELECTOR_DATA_TOGGLE))\n})\n\n/**\n * jQuery API\n * ====================================================\n */\n\n$.fn[NAME] = IFrame._jQueryInterface\n$.fn[NAME].Constructor = IFrame\n$.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return IFrame._jQueryInterface\n}\n\nexport default IFrame\n","/**\n * --------------------------------------------\n * AdminLTE Layout.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'Layout'\nconst DATA_KEY = 'lte.layout'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_HEADER = '.main-header'\nconst SELECTOR_MAIN_SIDEBAR = '.main-sidebar'\nconst SELECTOR_SIDEBAR = '.main-sidebar .sidebar'\nconst SELECTOR_CONTENT = '.content-wrapper'\nconst SELECTOR_CONTROL_SIDEBAR_CONTENT = '.control-sidebar-content'\nconst SELECTOR_CONTROL_SIDEBAR_BTN = '[data-widget=\"control-sidebar\"]'\nconst SELECTOR_FOOTER = '.main-footer'\nconst SELECTOR_PUSHMENU_BTN = '[data-widget=\"pushmenu\"]'\nconst SELECTOR_LOGIN_BOX = '.login-box'\nconst SELECTOR_REGISTER_BOX = '.register-box'\nconst SELECTOR_PRELOADER = '.preloader'\n\nconst CLASS_NAME_SIDEBAR_COLLAPSED = 'sidebar-collapse'\nconst CLASS_NAME_SIDEBAR_FOCUSED = 'sidebar-focused'\nconst CLASS_NAME_LAYOUT_FIXED = 'layout-fixed'\nconst CLASS_NAME_CONTROL_SIDEBAR_SLIDE_OPEN = 'control-sidebar-slide-open'\nconst CLASS_NAME_CONTROL_SIDEBAR_OPEN = 'control-sidebar-open'\nconst CLASS_NAME_IFRAME_MODE = 'iframe-mode'\n\nconst Default = {\n scrollbarTheme: 'os-theme-light',\n scrollbarAutoHide: 'l',\n panelAutoHeight: true,\n panelAutoHeightMode: 'min-height',\n preloadDuration: 200,\n loginRegisterAutoHeight: true\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass Layout {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n fixLayoutHeight(extra = null) {\n const $body = $('body')\n let controlSidebar = 0\n\n if ($body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_SLIDE_OPEN) || $body.hasClass(CLASS_NAME_CONTROL_SIDEBAR_OPEN) || extra === 'control_sidebar') {\n controlSidebar = $(SELECTOR_CONTROL_SIDEBAR_CONTENT).outerHeight()\n }\n\n const heights = {\n window: $(window).height(),\n header: $(SELECTOR_HEADER).length > 0 ? $(SELECTOR_HEADER).outerHeight() : 0,\n footer: $(SELECTOR_FOOTER).length > 0 ? $(SELECTOR_FOOTER).outerHeight() : 0,\n sidebar: $(SELECTOR_SIDEBAR).length > 0 ? $(SELECTOR_SIDEBAR).height() : 0,\n controlSidebar\n }\n\n const max = this._max(heights)\n let offset = this._config.panelAutoHeight\n\n if (offset === true) {\n offset = 0\n }\n\n const $contentSelector = $(SELECTOR_CONTENT)\n\n if (offset !== false) {\n if (max === heights.controlSidebar) {\n $contentSelector.css(this._config.panelAutoHeightMode, (max + offset))\n } else if (max === heights.window) {\n $contentSelector.css(this._config.panelAutoHeightMode, (max + offset) - heights.header - heights.footer)\n } else {\n $contentSelector.css(this._config.panelAutoHeightMode, (max + offset) - heights.header)\n }\n\n if (this._isFooterFixed()) {\n $contentSelector.css(this._config.panelAutoHeightMode, parseFloat($contentSelector.css(this._config.panelAutoHeightMode)) + heights.footer)\n }\n }\n\n if (!$body.hasClass(CLASS_NAME_LAYOUT_FIXED)) {\n return\n }\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 } else {\n $(SELECTOR_SIDEBAR).css('overflow-y', 'auto')\n }\n }\n\n fixLoginRegisterHeight() {\n const $body = $('body')\n const $selector = $(`${SELECTOR_LOGIN_BOX}, ${SELECTOR_REGISTER_BOX}`)\n\n if ($body.hasClass(CLASS_NAME_IFRAME_MODE)) {\n $body.css('height', '100%')\n $('.wrapper').css('height', '100%')\n $('html').css('height', '100%')\n } else if ($selector.length === 0) {\n $body.css('height', 'auto')\n $('html').css('height', 'auto')\n } else {\n const boxHeight = $selector.height()\n\n if ($body.css(this._config.panelAutoHeightMode) !== boxHeight) {\n $body.css(this._config.panelAutoHeightMode, boxHeight)\n }\n }\n }\n\n // Private\n\n _init() {\n // Activate layout height watcher\n this.fixLayoutHeight()\n\n if (this._config.loginRegisterAutoHeight === true) {\n this.fixLoginRegisterHeight()\n } else if (this._config.loginRegisterAutoHeight === parseInt(this._config.loginRegisterAutoHeight, 10)) {\n setInterval(this.fixLoginRegisterHeight, this._config.loginRegisterAutoHeight)\n }\n\n $(SELECTOR_SIDEBAR)\n .on('collapsed.lte.treeview expanded.lte.treeview', () => {\n this.fixLayoutHeight()\n })\n\n $(SELECTOR_MAIN_SIDEBAR)\n .on('mouseenter mouseleave', () => {\n if ($('body').hasClass(CLASS_NAME_SIDEBAR_COLLAPSED)) {\n this.fixLayoutHeight()\n }\n })\n\n $(SELECTOR_PUSHMENU_BTN)\n .on('collapsed.lte.pushmenu shown.lte.pushmenu', () => {\n setTimeout(() => {\n this.fixLayoutHeight()\n }, 300)\n })\n\n $(SELECTOR_CONTROL_SIDEBAR_BTN)\n .on('collapsed.lte.controlsidebar', () => {\n this.fixLayoutHeight()\n })\n .on('expanded.lte.controlsidebar', () => {\n this.fixLayoutHeight('control_sidebar')\n })\n\n $(window).resize(() => {\n this.fixLayoutHeight()\n })\n\n setTimeout(() => {\n $('body.hold-transition').removeClass('hold-transition')\n }, 50)\n\n setTimeout(() => {\n const $preloader = $(SELECTOR_PRELOADER)\n if ($preloader) {\n $preloader.css('height', 0)\n setTimeout(() => {\n $preloader.children().hide()\n }, 200)\n }\n }, this._config.preloadDuration)\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 _isFooterFixed() {\n return $(SELECTOR_FOOTER).css('position') === 'fixed'\n }\n\n // Static\n\n static _jQueryInterface(config = '') {\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 Layout($(this), _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (config === 'init' || config === '') {\n data._init()\n } else if (config === 'fixLayoutHeight' || config === 'fixLoginRegisterHeight') {\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`)\n .on('focusin', () => {\n $(SELECTOR_MAIN_SIDEBAR).addClass(CLASS_NAME_SIDEBAR_FOCUSED)\n })\n .on('focusout', () => {\n $(SELECTOR_MAIN_SIDEBAR).removeClass(CLASS_NAME_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\nexport default Layout\n","/**\n * --------------------------------------------\n * AdminLTE PushMenu.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'PushMenu'\nconst DATA_KEY = 'lte.pushmenu'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_COLLAPSED = `collapsed${EVENT_KEY}`\nconst EVENT_COLLAPSED_DONE = `collapsed-done${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst SELECTOR_TOGGLE_BUTTON = '[data-widget=\"pushmenu\"]'\nconst SELECTOR_BODY = 'body'\nconst SELECTOR_OVERLAY = '#sidebar-overlay'\nconst SELECTOR_WRAPPER = '.wrapper'\n\nconst CLASS_NAME_COLLAPSED = 'sidebar-collapse'\nconst CLASS_NAME_OPEN = 'sidebar-open'\nconst CLASS_NAME_IS_OPENING = 'sidebar-is-opening'\nconst CLASS_NAME_CLOSED = 'sidebar-closed'\n\nconst Default = {\n autoCollapseSize: 992,\n enableRemember: false,\n noTransitionAfterReload: true,\n animationSpeed: 300\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass PushMenu {\n constructor(element, options) {\n this._element = element\n this._options = $.extend({}, Default, options)\n\n if ($(SELECTOR_OVERLAY).length === 0) {\n this._addOverlay()\n }\n\n this._init()\n }\n\n // Public\n\n expand() {\n const $bodySelector = $(SELECTOR_BODY)\n\n if (this._options.autoCollapseSize && $(window).width() <= this._options.autoCollapseSize) {\n $bodySelector.addClass(CLASS_NAME_OPEN)\n }\n\n $bodySelector.addClass(CLASS_NAME_IS_OPENING).removeClass(`${CLASS_NAME_COLLAPSED} ${CLASS_NAME_CLOSED}`).delay(50).queue(function () {\n $bodySelector.removeClass(CLASS_NAME_IS_OPENING)\n $(this).dequeue()\n })\n\n if (this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, CLASS_NAME_OPEN)\n }\n\n $(this._element).trigger($.Event(EVENT_SHOWN))\n }\n\n collapse() {\n const $bodySelector = $(SELECTOR_BODY)\n\n if (this._options.autoCollapseSize && $(window).width() <= this._options.autoCollapseSize) {\n $bodySelector.removeClass(CLASS_NAME_OPEN).addClass(CLASS_NAME_CLOSED)\n }\n\n $bodySelector.addClass(CLASS_NAME_COLLAPSED)\n\n if (this._options.enableRemember) {\n localStorage.setItem(`remember${EVENT_KEY}`, CLASS_NAME_COLLAPSED)\n }\n\n $(this._element).trigger($.Event(EVENT_COLLAPSED))\n\n setTimeout(() => {\n $(this._element).trigger($.Event(EVENT_COLLAPSED_DONE))\n }, this._options.animationSpeed)\n }\n\n toggle() {\n if ($(SELECTOR_BODY).hasClass(CLASS_NAME_COLLAPSED)) {\n this.expand()\n } else {\n this.collapse()\n }\n }\n\n autoCollapse(resize = false) {\n if (!this._options.autoCollapseSize) {\n return\n }\n\n const $bodySelector = $(SELECTOR_BODY)\n\n if ($(window).width() <= this._options.autoCollapseSize) {\n if (!$bodySelector.hasClass(CLASS_NAME_OPEN)) {\n this.collapse()\n }\n } else if (resize === true) {\n if ($bodySelector.hasClass(CLASS_NAME_OPEN)) {\n $bodySelector.removeClass(CLASS_NAME_OPEN)\n } else if ($bodySelector.hasClass(CLASS_NAME_CLOSED)) {\n this.expand()\n }\n }\n }\n\n remember() {\n if (!this._options.enableRemember) {\n return\n }\n\n const $body = $('body')\n const toggleState = localStorage.getItem(`remember${EVENT_KEY}`)\n\n if (toggleState === CLASS_NAME_COLLAPSED) {\n if (this._options.noTransitionAfterReload) {\n $body.addClass('hold-transition').addClass(CLASS_NAME_COLLAPSED).delay(50).queue(function () {\n $(this).removeClass('hold-transition')\n $(this).dequeue()\n })\n } else {\n $body.addClass(CLASS_NAME_COLLAPSED)\n }\n } else if (this._options.noTransitionAfterReload) {\n $body.addClass('hold-transition').removeClass(CLASS_NAME_COLLAPSED).delay(50).queue(function () {\n $(this).removeClass('hold-transition')\n $(this).dequeue()\n })\n } else {\n $body.removeClass(CLASS_NAME_COLLAPSED)\n }\n }\n\n // Private\n\n _init() {\n this.remember()\n this.autoCollapse()\n\n $(window).resize(() => {\n this.autoCollapse(true)\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 (typeof operation === 'string' && /collapse|expand|toggle/.test(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$(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\nexport default PushMenu\n","/**\n * --------------------------------------------\n * AdminLTE SidebarSearch.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $, { trim } from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'SidebarSearch'\nconst DATA_KEY = 'lte.sidebar-search'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_OPEN = 'sidebar-search-open'\nconst CLASS_NAME_ICON_SEARCH = 'fa-search'\nconst CLASS_NAME_ICON_CLOSE = 'fa-times'\nconst CLASS_NAME_HEADER = 'nav-header'\nconst CLASS_NAME_SEARCH_RESULTS = 'sidebar-search-results'\nconst CLASS_NAME_LIST_GROUP = 'list-group'\n\nconst SELECTOR_DATA_WIDGET = '[data-widget=\"sidebar-search\"]'\nconst SELECTOR_SIDEBAR = '.main-sidebar .nav-sidebar'\nconst SELECTOR_NAV_LINK = '.nav-link'\nconst SELECTOR_NAV_TREEVIEW = '.nav-treeview'\nconst SELECTOR_SEARCH_INPUT = `${SELECTOR_DATA_WIDGET} .form-control`\nconst SELECTOR_SEARCH_BUTTON = `${SELECTOR_DATA_WIDGET} .btn`\nconst SELECTOR_SEARCH_ICON = `${SELECTOR_SEARCH_BUTTON} i`\nconst SELECTOR_SEARCH_LIST_GROUP = `.${CLASS_NAME_LIST_GROUP}`\nconst SELECTOR_SEARCH_RESULTS = `.${CLASS_NAME_SEARCH_RESULTS}`\nconst SELECTOR_SEARCH_RESULTS_GROUP = `${SELECTOR_SEARCH_RESULTS} .${CLASS_NAME_LIST_GROUP}`\n\nconst Default = {\n arrowSign: '->',\n minLength: 3,\n maxResults: 7,\n highlightName: true,\n highlightPath: false,\n highlightClass: 'text-light',\n notFoundText: 'No element found!'\n}\n\nconst SearchItems = []\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass SidebarSearch {\n constructor(_element, _options) {\n this.element = _element\n this.options = $.extend({}, Default, _options)\n this.items = []\n }\n\n // Public\n\n init() {\n if ($(SELECTOR_DATA_WIDGET).length === 0) {\n return\n }\n\n if ($(SELECTOR_DATA_WIDGET).next(SELECTOR_SEARCH_RESULTS).length === 0) {\n $(SELECTOR_DATA_WIDGET).after(\n $('<div />', { class: CLASS_NAME_SEARCH_RESULTS })\n )\n }\n\n if ($(SELECTOR_SEARCH_RESULTS).children(SELECTOR_SEARCH_LIST_GROUP).length === 0) {\n $(SELECTOR_SEARCH_RESULTS).append(\n $('<div />', { class: CLASS_NAME_LIST_GROUP })\n )\n }\n\n this._addNotFound()\n\n $(SELECTOR_SIDEBAR).children().each((i, child) => {\n this._parseItem(child)\n })\n }\n\n search() {\n const searchValue = $(SELECTOR_SEARCH_INPUT).val().toLowerCase()\n if (searchValue.length < this.options.minLength) {\n $(SELECTOR_SEARCH_RESULTS_GROUP).empty()\n this._addNotFound()\n this.close()\n return\n }\n\n const searchResults = SearchItems.filter(item => (item.name).toLowerCase().includes(searchValue))\n const endResults = $(searchResults.slice(0, this.options.maxResults))\n $(SELECTOR_SEARCH_RESULTS_GROUP).empty()\n\n if (endResults.length === 0) {\n this._addNotFound()\n } else {\n endResults.each((i, result) => {\n $(SELECTOR_SEARCH_RESULTS_GROUP).append(this._renderItem(escape(result.name), encodeURI(result.link), result.path))\n })\n }\n\n this.open()\n }\n\n open() {\n $(SELECTOR_DATA_WIDGET).parent().addClass(CLASS_NAME_OPEN)\n $(SELECTOR_SEARCH_ICON).removeClass(CLASS_NAME_ICON_SEARCH).addClass(CLASS_NAME_ICON_CLOSE)\n }\n\n close() {\n $(SELECTOR_DATA_WIDGET).parent().removeClass(CLASS_NAME_OPEN)\n $(SELECTOR_SEARCH_ICON).removeClass(CLASS_NAME_ICON_CLOSE).addClass(CLASS_NAME_ICON_SEARCH)\n }\n\n toggle() {\n if ($(SELECTOR_DATA_WIDGET).parent().hasClass(CLASS_NAME_OPEN)) {\n this.close()\n } else {\n this.open()\n }\n }\n\n // Private\n\n _parseItem(item, path = []) {\n if ($(item).hasClass(CLASS_NAME_HEADER)) {\n return\n }\n\n const itemObject = {}\n const navLink = $(item).clone().find(`> ${SELECTOR_NAV_LINK}`)\n const navTreeview = $(item).clone().find(`> ${SELECTOR_NAV_TREEVIEW}`)\n\n const link = navLink.attr('href')\n const name = navLink.find('p').children().remove().end().text()\n\n itemObject.name = this._trimText(name)\n itemObject.link = link\n itemObject.path = path\n\n if (navTreeview.length === 0) {\n SearchItems.push(itemObject)\n } else {\n const newPath = itemObject.path.concat([itemObject.name])\n navTreeview.children().each((i, child) => {\n this._parseItem(child, newPath)\n })\n }\n }\n\n _trimText(text) {\n return trim(text.replace(/(\\r\\n|\\n|\\r)/gm, ' '))\n }\n\n _renderItem(name, link, path) {\n path = path.join(` ${this.options.arrowSign} `)\n name = unescape(name)\n link = decodeURI(link)\n\n if (this.options.highlightName || this.options.highlightPath) {\n const searchValue = $(SELECTOR_SEARCH_INPUT).val().toLowerCase()\n const regExp = new RegExp(searchValue, 'gi')\n\n if (this.options.highlightName) {\n name = name.replace(\n regExp,\n str => {\n return `<strong class=\"${this.options.highlightClass}\">${str}</strong>`\n }\n )\n }\n\n if (this.options.highlightPath) {\n path = path.replace(\n regExp,\n str => {\n return `<strong class=\"${this.options.highlightClass}\">${str}</strong>`\n }\n )\n }\n }\n\n const groupItemElement = $('<a/>', {\n href: decodeURIComponent(link),\n class: 'list-group-item'\n })\n const searchTitleElement = $('<div/>', {\n class: 'search-title'\n }).html(name)\n const searchPathElement = $('<div/>', {\n class: 'search-path'\n }).html(path)\n\n groupItemElement.append(searchTitleElement).append(searchPathElement)\n\n return groupItemElement\n }\n\n _addNotFound() {\n $(SELECTOR_SEARCH_RESULTS_GROUP).append(this._renderItem(this.options.notFoundText, '#', []))\n }\n\n // Static\n\n static _jQueryInterface(config) {\n let data = $(this).data(DATA_KEY)\n\n if (!data) {\n data = $(this).data()\n }\n\n const _options = $.extend({}, Default, typeof config === 'object' ? config : data)\n const plugin = new SidebarSearch($(this), _options)\n\n $(this).data(DATA_KEY, typeof config === 'object' ? config : data)\n\n if (typeof config === 'string' && /init|toggle|close|open|search/.test(config)) {\n plugin[config]()\n } else {\n plugin.init()\n }\n }\n}\n\n/**\n * Data API\n * ====================================================\n */\n$(document).on('click', SELECTOR_SEARCH_BUTTON, event => {\n event.preventDefault()\n\n SidebarSearch._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'toggle')\n})\n\n$(document).on('keyup', SELECTOR_SEARCH_INPUT, event => {\n if (event.keyCode == 38) {\n event.preventDefault()\n $(SELECTOR_SEARCH_RESULTS_GROUP).children().last().focus()\n return\n }\n\n if (event.keyCode == 40) {\n event.preventDefault()\n $(SELECTOR_SEARCH_RESULTS_GROUP).children().first().focus()\n return\n }\n\n setTimeout(() => {\n SidebarSearch._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'search')\n }, 100)\n})\n\n$(document).on('keydown', SELECTOR_SEARCH_RESULTS_GROUP, event => {\n const $focused = $(':focus')\n\n if (event.keyCode == 38) {\n event.preventDefault()\n\n if ($focused.is(':first-child')) {\n $focused.siblings().last().focus()\n } else {\n $focused.prev().focus()\n }\n }\n\n if (event.keyCode == 40) {\n event.preventDefault()\n\n if ($focused.is(':last-child')) {\n $focused.siblings().first().focus()\n } else {\n $focused.next().focus()\n }\n }\n})\n\n$(window).on('load', () => {\n SidebarSearch._jQueryInterface.call($(SELECTOR_DATA_WIDGET), 'init')\n})\n\n/**\n * jQuery API\n * ====================================================\n */\n\n$.fn[NAME] = SidebarSearch._jQueryInterface\n$.fn[NAME].Constructor = SidebarSearch\n$.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return SidebarSearch._jQueryInterface\n}\n\nexport default SidebarSearch\n","/**\n * --------------------------------------------\n * AdminLTE NavbarSearch.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'NavbarSearch'\nconst DATA_KEY = 'lte.navbar-search'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_TOGGLE_BUTTON = '[data-widget=\"navbar-search\"]'\nconst SELECTOR_SEARCH_BLOCK = '.navbar-search-block'\nconst SELECTOR_SEARCH_INPUT = '.form-control'\n\nconst CLASS_NAME_OPEN = 'navbar-search-open'\n\nconst Default = {\n resetOnClose: true,\n target: SELECTOR_SEARCH_BLOCK\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass NavbarSearch {\n constructor(_element, _options) {\n this._element = _element\n this._config = $.extend({}, Default, _options)\n }\n\n // Public\n\n open() {\n $(this._config.target).css('display', 'flex').hide().fadeIn().addClass(CLASS_NAME_OPEN)\n $(`${this._config.target} ${SELECTOR_SEARCH_INPUT}`).focus()\n }\n\n close() {\n $(this._config.target).fadeOut().removeClass(CLASS_NAME_OPEN)\n\n if (this._config.resetOnClose) {\n $(`${this._config.target} ${SELECTOR_SEARCH_INPUT}`).val('')\n }\n }\n\n toggle() {\n if ($(this._config.target).hasClass(CLASS_NAME_OPEN)) {\n this.close()\n } else {\n this.open()\n }\n }\n\n // Static\n\n static _jQueryInterface(options) {\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 NavbarSearch(this, _options)\n $(this).data(DATA_KEY, data)\n }\n\n if (!/toggle|close|open/.test(options)) {\n throw new Error(`Undefined method ${options}`)\n }\n\n data[options]()\n })\n }\n}\n\n/**\n * Data API\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') !== 'navbar-search') {\n button = button.closest(SELECTOR_TOGGLE_BUTTON)\n }\n\n NavbarSearch._jQueryInterface.call(button, 'toggle')\n})\n\n/**\n * jQuery API\n * ====================================================\n */\n\n$.fn[NAME] = NavbarSearch._jQueryInterface\n$.fn[NAME].Constructor = NavbarSearch\n$.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return NavbarSearch._jQueryInterface\n}\n\nexport default NavbarSearch\n","/**\n * --------------------------------------------\n * AdminLTE Toasts.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'Toasts'\nconst DATA_KEY = 'lte.toasts'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_INIT = `init${EVENT_KEY}`\nconst EVENT_CREATED = `created${EVENT_KEY}`\nconst EVENT_REMOVED = `removed${EVENT_KEY}`\n\nconst SELECTOR_CONTAINER_TOP_RIGHT = '#toastsContainerTopRight'\nconst SELECTOR_CONTAINER_TOP_LEFT = '#toastsContainerTopLeft'\nconst SELECTOR_CONTAINER_BOTTOM_RIGHT = '#toastsContainerBottomRight'\nconst SELECTOR_CONTAINER_BOTTOM_LEFT = '#toastsContainerBottomLeft'\n\nconst CLASS_NAME_TOP_RIGHT = 'toasts-top-right'\nconst CLASS_NAME_TOP_LEFT = 'toasts-top-left'\nconst CLASS_NAME_BOTTOM_RIGHT = 'toasts-bottom-right'\nconst CLASS_NAME_BOTTOM_LEFT = 'toasts-bottom-left'\n\nconst POSITION_TOP_RIGHT = 'topRight'\nconst POSITION_TOP_LEFT = 'topLeft'\nconst POSITION_BOTTOM_RIGHT = 'bottomRight'\nconst POSITION_BOTTOM_LEFT = 'bottomLeft'\n\nconst Default = {\n position: POSITION_TOP_RIGHT,\n fixed: true,\n autohide: false,\n autoremove: true,\n delay: 1000,\n fade: true,\n icon: null,\n image: null,\n imageAlt: null,\n imageHeight: '25px',\n title: null,\n subtitle: null,\n close: true,\n body: null,\n class: null\n}\n\n/**\n * Class Definition\n * ====================================================\n */\nclass Toasts {\n constructor(element, config) {\n this._config = config\n this._prepareContainer()\n\n $('body').trigger($.Event(EVENT_INIT))\n }\n\n // Public\n\n create() {\n const toast = $('<div class=\"toast\" role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\"/>')\n\n toast.data('autohide', this._config.autohide)\n toast.data('animation', this._config.fade)\n\n if (this._config.class) {\n toast.addClass(this._config.class)\n }\n\n if (this._config.delay && this._config.delay != 500) {\n toast.data('delay', this._config.delay)\n }\n\n const toastHeader = $('<div class=\"toast-header\">')\n\n if (this._config.image != null) {\n const toastImage = $('<img />').addClass('rounded mr-2').attr('src', this._config.image).attr('alt', this._config.imageAlt)\n\n if (this._config.imageHeight != null) {\n toastImage.height(this._config.imageHeight).width('auto')\n }\n\n toastHeader.append(toastImage)\n }\n\n if (this._config.icon != null) {\n toastHeader.append($('<i />').addClass('mr-2').addClass(this._config.icon))\n }\n\n if (this._config.title != null) {\n toastHeader.append($('<strong />').addClass('mr-auto').html(this._config.title))\n }\n\n if (this._config.subtitle != null) {\n toastHeader.append($('<small />').html(this._config.subtitle))\n }\n\n if (this._config.close == true) {\n const toastClose = $('<button data-dismiss=\"toast\" />').attr('type', 'button').addClass('ml-2 mb-1 close').attr('aria-label', 'Close').append('<span aria-hidden=\"true\">×</span>')\n\n if (this._config.title == null) {\n toastClose.toggleClass('ml-2 ml-auto')\n }\n\n toastHeader.append(toastClose)\n }\n\n toast.append(toastHeader)\n\n if (this._config.body != null) {\n toast.append($('<div class=\"toast-body\" />').html(this._config.body))\n }\n\n $(this._getContainerId()).prepend(toast)\n\n const $body = $('body')\n\n $body.trigger($.Event(EVENT_CREATED))\n toast.toast('show')\n\n if (this._config.autoremove) {\n toast.on('hidden.bs.toast', function () {\n $(this).delay(200).remove()\n $body.trigger($.Event(EVENT_REMOVED))\n })\n }\n }\n\n // Static\n\n _getContainerId() {\n if (this._config.position == POSITION_TOP_RIGHT) {\n return SELECTOR_CONTAINER_TOP_RIGHT\n }\n\n if (this._config.position == POSITION_TOP_LEFT) {\n return SELECTOR_CONTAINER_TOP_LEFT\n }\n\n if (this._config.position == POSITION_BOTTOM_RIGHT) {\n return SELECTOR_CONTAINER_BOTTOM_RIGHT\n }\n\n if (this._config.position == POSITION_BOTTOM_LEFT) {\n return SELECTOR_CONTAINER_BOTTOM_LEFT\n }\n }\n\n _prepareContainer() {\n if ($(this._getContainerId()).length === 0) {\n const container = $('<div />').attr('id', this._getContainerId().replace('#', ''))\n if (this._config.position == POSITION_TOP_RIGHT) {\n container.addClass(CLASS_NAME_TOP_RIGHT)\n } else if (this._config.position == POSITION_TOP_LEFT) {\n container.addClass(CLASS_NAME_TOP_LEFT)\n } else if (this._config.position == POSITION_BOTTOM_RIGHT) {\n container.addClass(CLASS_NAME_BOTTOM_RIGHT)\n } else if (this._config.position == POSITION_BOTTOM_LEFT) {\n container.addClass(CLASS_NAME_BOTTOM_LEFT)\n }\n\n $('body').append(container)\n }\n\n if (this._config.fixed) {\n $(this._getContainerId()).addClass('fixed')\n } else {\n $(this._getContainerId()).removeClass('fixed')\n }\n }\n\n // Static\n\n static _jQueryInterface(option, config) {\n return this.each(function () {\n const _options = $.extend({}, Default, config)\n const toast = new Toasts($(this), _options)\n\n if (option === 'create') {\n toast[option]()\n }\n })\n }\n}\n\n/**\n * jQuery API\n * ====================================================\n */\n\n$.fn[NAME] = Toasts._jQueryInterface\n$.fn[NAME].Constructor = Toasts\n$.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Toasts._jQueryInterface\n}\n\nexport default Toasts\n","/**\n * --------------------------------------------\n * AdminLTE TodoList.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'TodoList'\nconst DATA_KEY = 'lte.todolist'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DATA_TOGGLE = '[data-widget=\"todo-list\"]'\nconst CLASS_NAME_TODO_LIST_DONE = 'done'\n\nconst Default = {\n onCheck(item) {\n return item\n },\n onUnCheck(item) {\n return item\n }\n}\n\n/**\n * Class Definition\n * ====================================================\n */\n\nclass 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(CLASS_NAME_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 const $toggleSelector = this._element\n\n $toggleSelector.find('input:checkbox:checked').parents('li').toggleClass(CLASS_NAME_TODO_LIST_DONE)\n $toggleSelector.on('change', 'input:checkbox', event => {\n this.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\n if (!data) {\n data = $(this).data()\n }\n\n const _options = $.extend({}, Default, typeof config === 'object' ? config : data)\n const plugin = new TodoList($(this), _options)\n\n $(this).data(DATA_KEY, typeof config === 'object' ? config : data)\n\n if (config === 'init') {\n plugin[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\nexport default TodoList\n","/**\n * --------------------------------------------\n * AdminLTE Treeview.js\n * License MIT\n * --------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * Constants\n * ====================================================\n */\n\nconst NAME = 'Treeview'\nconst DATA_KEY = 'lte.treeview'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst EVENT_EXPANDED = `expanded${EVENT_KEY}`\nconst EVENT_COLLAPSED = `collapsed${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst SELECTOR_LI = '.nav-item'\nconst SELECTOR_LINK = '.nav-link'\nconst SELECTOR_TREEVIEW_MENU = '.nav-treeview'\nconst SELECTOR_OPEN = '.menu-open'\nconst SELECTOR_DATA_WIDGET = '[data-widget=\"treeview\"]'\n\nconst CLASS_NAME_OPEN = 'menu-open'\nconst CLASS_NAME_IS_OPENING = 'menu-is-opening'\nconst CLASS_NAME_SIDEBAR_COLLAPSED = 'sidebar-collapse'\n\nconst Default = {\n trigger: `${SELECTOR_DATA_WIDGET} ${SELECTOR_LINK}`,\n animationSpeed: 300,\n accordion: true,\n expandSidebar: false,\n sidebarButtonSelector: '[data-widget=\"pushmenu\"]'\n}\n\n/**\n * Class Definition\n * ====================================================\n */\nclass Treeview {\n constructor(element, config) {\n this._config = config\n this._element = element\n }\n\n // Public\n\n init() {\n $(`${SELECTOR_LI}${SELECTOR_OPEN} ${SELECTOR_TREEVIEW_MENU}${SELECTOR_OPEN}`).css('display', 'block')\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 parentLi.addClass(CLASS_NAME_IS_OPENING)\n treeviewMenu.stop().slideDown(this._config.animationSpeed, () => {\n parentLi.addClass(CLASS_NAME_OPEN)\n $(this._element).trigger(expandedEvent)\n })\n\n if (this._config.expandSidebar) {\n this._expandSidebar()\n }\n }\n\n collapse(treeviewMenu, parentLi) {\n const collapsedEvent = $.Event(EVENT_COLLAPSED)\n\n parentLi.removeClass(`${CLASS_NAME_IS_OPENING} ${CLASS_NAME_OPEN}`)\n treeviewMenu.stop().slideUp(this._config.animationSpeed, () => {\n $(this._element).trigger(collapsedEvent)\n treeviewMenu.find(`${SELECTOR_OPEN} > ${SELECTOR_TREEVIEW_MENU}`).slideUp()\n treeviewMenu.find(SELECTOR_OPEN).removeClass(`${CLASS_NAME_IS_OPENING} ${CLASS_NAME_OPEN}`)\n })\n }\n\n toggle(event) {\n const $relativeTarget = $(event.currentTarget)\n const $parent = $relativeTarget.parent()\n\n let treeviewMenu = $parent.find(`> ${SELECTOR_TREEVIEW_MENU}`)\n\n if (!treeviewMenu.is(SELECTOR_TREEVIEW_MENU)) {\n if (!$parent.is(SELECTOR_LI)) {\n treeviewMenu = $parent.parent().find(`> ${SELECTOR_TREEVIEW_MENU}`)\n }\n\n if (!treeviewMenu.is(SELECTOR_TREEVIEW_MENU)) {\n return\n }\n }\n\n event.preventDefault()\n\n const parentLi = $relativeTarget.parents(SELECTOR_LI).first()\n const isOpen = parentLi.hasClass(CLASS_NAME_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 const elementId = this._element.attr('id') !== undefined ? `#${this._element.attr('id')}` : ''\n $(document).on('click', `${elementId}${this._config.trigger}`, event => {\n this.toggle(event)\n })\n }\n\n _expandSidebar() {\n if ($('body').hasClass(CLASS_NAME_SIDEBAR_COLLAPSED)) {\n $(this._config.sidebarButtonSelector).PushMenu('expand')\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\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 Treeview($(this), _options)\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\nexport default Treeview\n"]} |