diff --git a/composer.lock b/composer.lock index 28b8acdada..aee2883698 100644 --- a/composer.lock +++ b/composer.lock @@ -7275,16 +7275,16 @@ }, { "name": "barryvdh/laravel-ide-helper", - "version": "v2.9.1", + "version": "v2.9.2", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "8d8302ff6adb55f8b844c798b8b1ffdee142f7e5" + "reference": "c8ebf563a003e41becf9cfe30a7ff69e15e45c23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/8d8302ff6adb55f8b844c798b8b1ffdee142f7e5", - "reference": "8d8302ff6adb55f8b844c798b8b1ffdee142f7e5", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/c8ebf563a003e41becf9cfe30a7ff69e15e45c23", + "reference": "c8ebf563a003e41becf9cfe30a7ff69e15e45c23", "shasum": "" }, "require": { @@ -7353,7 +7353,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.9.1" + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.9.2" }, "funding": [ { @@ -7361,7 +7361,7 @@ "type": "github" } ], - "time": "2021-03-15T19:22:08+00:00" + "time": "2021-04-01T18:56:14+00:00" }, { "name": "barryvdh/reflection-docblock", @@ -7493,16 +7493,16 @@ }, { "name": "composer/composer", - "version": "2.0.11", + "version": "2.0.12", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "a5a5632da0b1c2d6fa9a3b65f1f4e90d1f04abb9" + "reference": "6c12ce263da71641903e399c3ce8ecb08fd375fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/a5a5632da0b1c2d6fa9a3b65f1f4e90d1f04abb9", - "reference": "a5a5632da0b1c2d6fa9a3b65f1f4e90d1f04abb9", + "url": "https://api.github.com/repos/composer/composer/zipball/6c12ce263da71641903e399c3ce8ecb08fd375fb", + "reference": "6c12ce263da71641903e399c3ce8ecb08fd375fb", "shasum": "" }, "require": { @@ -7570,7 +7570,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.0.11" + "source": "https://github.com/composer/composer/tree/2.0.12" }, "funding": [ { @@ -7586,7 +7586,7 @@ "type": "tidelift" } ], - "time": "2021-02-24T13:57:23+00:00" + "time": "2021-04-01T08:14:59+00:00" }, { "name": "composer/semver", diff --git a/frontend/mix-manifest.json b/frontend/mix-manifest.json index cd0708d869..fad8133e30 100644 --- a/frontend/mix-manifest.json +++ b/frontend/mix-manifest.json @@ -1,24 +1,25 @@ { - "/public/js/manifest.js": "/public/js/manifest.js", - "/public/js/manifest.js.map": "/public/js/manifest.js.map", - "/public/js/vendor.js": "/public/js/vendor.js", - "/public/js/vendor.js.map": "/public/js/vendor.js.map", - "/public/js/accounts/index.js": "/public/js/accounts/index.js", - "/public/js/accounts/index.js.map": "/public/js/accounts/index.js.map", - "/public/js/accounts/show.js": "/public/js/accounts/show.js", - "/public/js/accounts/show.js.map": "/public/js/accounts/show.js.map", "/public/js/dashboard.js": "/public/js/dashboard.js", - "/public/css/app.css": "/public/css/app.css", - "/public/js/dashboard.js.map": "/public/js/dashboard.js.map", - "/public/css/app.css.map": "/public/css/app.css.map", - "/public/js/empty.js": "/public/js/empty.js", - "/public/js/empty.js.map": "/public/js/empty.js.map", - "/public/js/new-user/index.js": "/public/js/new-user/index.js", - "/public/js/new-user/index.js.map": "/public/js/new-user/index.js.map", - "/public/js/register.js": "/public/js/register.js", - "/public/js/register.js.map": "/public/js/register.js.map", + "/public/js/accounts/index.js": "/public/js/accounts/index.js", + "/public/js/accounts/show.js": "/public/js/accounts/show.js", "/public/js/transactions/create.js": "/public/js/transactions/create.js", - "/public/js/transactions/create.js.map": "/public/js/transactions/create.js.map", "/public/js/transactions/edit.js": "/public/js/transactions/edit.js", - "/public/js/transactions/edit.js.map": "/public/js/transactions/edit.js.map" + "/public/js/empty.js": "/public/js/empty.js", + "/public/js/register.js": "/public/js/register.js", + "/public/js/manifest.js": "/public/js/manifest.js", + "/public/css/app.css": "/public/css/app.css", + "/public/js/vendor.js": "/public/js/vendor.js", + "/public/v2/js/dashboard.js": "/public/v2/js/dashboard.js", + "/public/v2/js/dashboard.js.map": "/public/v2/js/dashboard.js.map", + "/public/v2/js/empty.js": "/public/v2/js/empty.js", + "/public/v2/js/empty.js.map": "/public/v2/js/empty.js.map", + "/public/v2/js/manifest.js": "/public/v2/js/manifest.js", + "/public/v2/js/manifest.js.map": "/public/v2/js/manifest.js.map", + "/public/v2/js/register.js": "/public/v2/js/register.js", + "/public/v2/js/register.js.map": "/public/v2/js/register.js.map", + "/public/v2/js/vendor.js": "/public/v2/js/vendor.js", + "/public/v2/js/vendor.js.LICENSE.txt": "/public/v2/js/vendor.js.LICENSE.txt", + "/public/v2/js/vendor.js.map": "/public/v2/js/vendor.js.map", + "/public/v2/css/app.css": "/public/v2/css/app.css", + "/public/v2/css/app.css.map": "/public/v2/css/app.css.map" } diff --git a/frontend/package.json b/frontend/package.json index b43c4b45ee..18c3c97c61 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -2,50 +2,41 @@ "private": true, "scripts": { "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "npm run development -- --watch", - "watch-poll": "npm run watch -- --watch-poll", - "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js", + "development": "mix", + "watch": "mix watch", + "watch-poll": "mix watch -- --watch-options-poll=1000", + "hot": "mix watch --hot", "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + "production": "mix --production" }, "devDependencies": { - "admin-lte": "^3.0", "axios": "^0.21", - "cross-env": "^7.0", - "laravel-mix": "^5.0.9", - "laravel-mix-bundle-analyzer": "^1.0.5", - "lodash": "^4.17.21", + "laravel-mix": "^6.0.6", + "lodash": "^4.17.19", "lodash.clonedeep": "^4.5.0", - "node-forge": ">=0.10.0", + "postcss": "^8.1.14", "resolve-url-loader": "^3.1.2", "sass": "^1.32.8", - "sass-loader": "^10.1.1", - "sortablejs": "^1.13.0", - "vue": "^2.6.12", - "vue-chartjs": "^3.5.1", - "vue-i18n": "^8.22.2", - "vue-router": "^3.4.9", - "vue-simple-suggest": "^1.10.3", + "sass-loader": "^11.0.1", + "vue-i18n": "^8.24.2", + "vue-loader": "^15.9.5", "vue-template-compiler": "^2.6.12", - "vue-typeahead-bootstrap": "^2.5.5", - "vue2-leaflet": "^2.6.0", - "vuex": "^3.6.0" + "vuex": "^3.6.2", + "webpack": "^5.30.0" }, "dependencies": { - "@fortawesome/fontawesome-free": "^5.15.1", - "@johmun/vue-tags-input": "^2.1.0", - "@popperjs/core": "^2.8.6", + "@fortawesome/fontawesome-free": "^5.15.3", + "admin-lte": "^3.1.0", "bootstrap": "^4.6.0", "bootstrap-vue": "^2.21.2", - "chart.js": "^2.9.4", "icheck-bootstrap": "^3.0.1", - "jquery": "^3.5.1", "jquery-ui": "^1.12.1", "leaflet": "^1.7.1", "overlayscrollbars": "^1.13.1", - "popper.js": "^1.16.1", - "tempusdominus": "^5.16.0", - "v-calendar": "^2.2.4" + "sortablejs": "^1.13.0", + "v-calendar": "^2.3.0", + "vue-chartjs": "^3.5.1", + "vue-typeahead-bootstrap": "^2.8.0", + "vue2-leaflet": "^2.7.0" } } diff --git a/frontend/src/app.scss b/frontend/src/app.scss index 0c32344241..5dfc89ce09 100644 --- a/frontend/src/app.scss +++ b/frontend/src/app.scss @@ -1,6 +1,6 @@ /*! * app.scss - * Copyright (c) 2020 james@firefly-iii.org + * Copyright (c) 2021 james@firefly-iii.org * * This file is part of Firefly III (https://github.com/firefly-iii). * @@ -18,8 +18,12 @@ * along with this program. If not, see . */ + // Firefly III colors (?) -@import 'scss/variables'; +$blue: #1E6581; +$green: #64B624; +$red: #CD5029; + // Fonts @@ -40,7 +44,7 @@ @import '~admin-lte/build/scss/bootstrap-variables'; @import '~bootstrap/scss/bootstrap'; -@import '~bootstrap-vue/src/index.scss'; +@import '~bootstrap-vue/src/index'; // Variables and Mixins // --------------------------------------------------- @@ -74,7 +78,7 @@ //@import '../social-widgets'; // admin LTE pages (unused) - @import '~admin-lte/build/scss/parts/pages'; +@import '~admin-lte/build/scss/parts/pages'; // admin LTE plugins (unused) // @import 'parts/plugins'; diff --git a/frontend/src/bootstrap.js b/frontend/src/bootstrap.js index 41ff54d6cd..5a3c0f6605 100644 --- a/frontend/src/bootstrap.js +++ b/frontend/src/bootstrap.js @@ -1,6 +1,6 @@ /* * bootstrap.js - * Copyright (c) 2020 james@firefly-iii.org + * Copyright (c) 2021 james@firefly-iii.org * * This file is part of Firefly III (https://github.com/firefly-iii). * @@ -52,7 +52,7 @@ if (localeToken) { require('jquery-ui'); require('bootstrap'); // bootstrap CSS? -require('./dist/js/adminlte'); +require('admin-lte/dist/js/adminlte'); require('overlayscrollbars'); diff --git a/frontend/src/classic/adminlte.js b/frontend/src/classic/adminlte.js deleted file mode 100644 index 120f6d9e83..0000000000 --- a/frontend/src/classic/adminlte.js +++ /dev/null @@ -1,1887 +0,0 @@ -/* - * adminlte.js - * Copyright (c) 2021 james@firefly-iii.org - * - * This file is part of Firefly III (https://github.com/firefly-iii). - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -/*! - * AdminLTE v3.0.5 (https://adminlte.io) - * Copyright 2014-2020 Colorlib - * Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE) - */ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = global || self, factory(global.adminlte = {})); -}(this, (function (exports) { 'use strict'; - - /** - * -------------------------------------------- - * AdminLTE ControlSidebar.js - * License MIT - * -------------------------------------------- - */ - var ControlSidebar = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'ControlSidebar'; - var DATA_KEY = 'lte.controlsidebar'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - COLLAPSED: "collapsed" + EVENT_KEY, - EXPANDED: "expanded" + EVENT_KEY - }; - var Selector = { - CONTROL_SIDEBAR: '.control-sidebar', - CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content', - DATA_TOGGLE: '[data-widget="control-sidebar"]', - CONTENT: '.content-wrapper', - HEADER: '.main-header', - FOOTER: '.main-footer' - }; - var ClassName = { - CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate', - CONTROL_SIDEBAR_OPEN: 'control-sidebar-open', - CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open', - LAYOUT_FIXED: 'layout-fixed', - NAVBAR_FIXED: 'layout-navbar-fixed', - NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed', - NAVBAR_MD_FIXED: 'layout-md-navbar-fixed', - NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed', - NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed', - FOOTER_FIXED: 'layout-footer-fixed', - FOOTER_SM_FIXED: 'layout-sm-footer-fixed', - FOOTER_MD_FIXED: 'layout-md-footer-fixed', - FOOTER_LG_FIXED: 'layout-lg-footer-fixed', - FOOTER_XL_FIXED: 'layout-xl-footer-fixed' - }; - var Default = { - controlsidebarSlide: true, - scrollbarTheme: 'os-theme-light', - scrollbarAutoHide: 'l' - }; - /** - * Class Definition - * ==================================================== - */ - - var ControlSidebar = /*#__PURE__*/function () { - function ControlSidebar(element, config) { - this._element = element; - this._config = config; - - this._init(); - } // Public - - - var _proto = ControlSidebar.prototype; - - _proto.collapse = function collapse() { - // Show the control sidebar - if (this._config.controlsidebarSlide) { - $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE); - $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () { - $(Selector.CONTROL_SIDEBAR).hide(); - $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE); - $(this).dequeue(); - }); - } else { - $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN); - } - - var collapsedEvent = $.Event(Event.COLLAPSED); - $(this._element).trigger(collapsedEvent); - }; - - _proto.show = function show() { - // Collapse the control sidebar - if (this._config.controlsidebarSlide) { - $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE); - $(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function () { - $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () { - $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE); - $(this).dequeue(); - }); - $(this).dequeue(); - }); - } else { - $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN); - } - - var expandedEvent = $.Event(Event.EXPANDED); - $(this._element).trigger(expandedEvent); - }; - - _proto.toggle = function toggle() { - var shouldClose = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE); - - if (shouldClose) { - // Close the control sidebar - this.collapse(); - } else { - // Open the control sidebar - this.show(); - } - } // Private - ; - - _proto._init = function _init() { - var _this = this; - - this._fixHeight(); - - this._fixScrollHeight(); - - $(window).resize(function () { - _this._fixHeight(); - - _this._fixScrollHeight(); - }); - $(window).scroll(function () { - if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) { - _this._fixScrollHeight(); - } - }); - }; - - _proto._fixScrollHeight = function _fixScrollHeight() { - var heights = { - scroll: $(document).height(), - window: $(window).height(), - header: $(Selector.HEADER).outerHeight(), - footer: $(Selector.FOOTER).outerHeight() - }; - var positions = { - bottom: Math.abs(heights.window + $(window).scrollTop() - heights.scroll), - top: $(window).scrollTop() - }; - var navbarFixed = false; - var footerFixed = false; - - if ($('body').hasClass(ClassName.LAYOUT_FIXED)) { - if ($('body').hasClass(ClassName.NAVBAR_FIXED) || $('body').hasClass(ClassName.NAVBAR_SM_FIXED) || $('body').hasClass(ClassName.NAVBAR_MD_FIXED) || $('body').hasClass(ClassName.NAVBAR_LG_FIXED) || $('body').hasClass(ClassName.NAVBAR_XL_FIXED)) { - if ($(Selector.HEADER).css("position") === "fixed") { - navbarFixed = true; - } - } - - if ($('body').hasClass(ClassName.FOOTER_FIXED) || $('body').hasClass(ClassName.FOOTER_SM_FIXED) || $('body').hasClass(ClassName.FOOTER_MD_FIXED) || $('body').hasClass(ClassName.FOOTER_LG_FIXED) || $('body').hasClass(ClassName.FOOTER_XL_FIXED)) { - if ($(Selector.FOOTER).css("position") === "fixed") { - footerFixed = true; - } - } - - if (positions.top === 0 && positions.bottom === 0) { - $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer); - $(Selector.CONTROL_SIDEBAR).css('top', heights.header); - $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header + heights.footer)); - } else if (positions.bottom <= heights.footer) { - if (footerFixed === false) { - $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer - positions.bottom); - $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.footer - positions.bottom)); - } else { - $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer); - } - } else if (positions.top <= heights.header) { - if (navbarFixed === false) { - $(Selector.CONTROL_SIDEBAR).css('top', heights.header - positions.top); - $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header - positions.top)); - } else { - $(Selector.CONTROL_SIDEBAR).css('top', heights.header); - } - } else { - if (navbarFixed === false) { - $(Selector.CONTROL_SIDEBAR).css('top', 0); - $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window); - } else { - $(Selector.CONTROL_SIDEBAR).css('top', heights.header); - } - } - } - }; - - _proto._fixHeight = function _fixHeight() { - var heights = { - window: $(window).height(), - header: $(Selector.HEADER).outerHeight(), - footer: $(Selector.FOOTER).outerHeight() - }; - - if ($('body').hasClass(ClassName.LAYOUT_FIXED)) { - var sidebarHeight = heights.window - heights.header; - - if ($('body').hasClass(ClassName.FOOTER_FIXED) || $('body').hasClass(ClassName.FOOTER_SM_FIXED) || $('body').hasClass(ClassName.FOOTER_MD_FIXED) || $('body').hasClass(ClassName.FOOTER_LG_FIXED) || $('body').hasClass(ClassName.FOOTER_XL_FIXED)) { - if ($(Selector.FOOTER).css("position") === "fixed") { - sidebarHeight = heights.window - heights.header - heights.footer; - } - } - - $(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', sidebarHeight); - - if (typeof $.fn.overlayScrollbars !== 'undefined') { - $(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).overlayScrollbars({ - className: this._config.scrollbarTheme, - sizeAutoCapable: true, - scrollbars: { - autoHide: this._config.scrollbarAutoHide, - clickScrolling: true - } - }); - } - } - } // Static - ; - - ControlSidebar._jQueryInterface = function _jQueryInterface(operation) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new ControlSidebar(this, _options); - $(this).data(DATA_KEY, data); - } - - if (data[operation] === 'undefined') { - throw new Error(operation + " is not a function"); - } - - data[operation](); - }); - }; - - return ControlSidebar; - }(); - /** - * - * Data Api implementation - * ==================================================== - */ - - - $(document).on('click', Selector.DATA_TOGGLE, function (event) { - event.preventDefault(); - - ControlSidebar._jQueryInterface.call($(this), 'toggle'); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = ControlSidebar._jQueryInterface; - $.fn[NAME].Constructor = ControlSidebar; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return ControlSidebar._jQueryInterface; - }; - - return ControlSidebar; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE Layout.js - * License MIT - * -------------------------------------------- - */ - var Layout = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'Layout'; - var DATA_KEY = 'lte.layout'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Selector = { - HEADER: '.main-header', - MAIN_SIDEBAR: '.main-sidebar', - SIDEBAR: '.main-sidebar .sidebar', - CONTENT: '.content-wrapper', - BRAND: '.brand-link', - CONTENT_HEADER: '.content-header', - WRAPPER: '.wrapper', - CONTROL_SIDEBAR: '.control-sidebar', - CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content', - CONTROL_SIDEBAR_BTN: '[data-widget="control-sidebar"]', - LAYOUT_FIXED: '.layout-fixed', - FOOTER: '.main-footer', - PUSHMENU_BTN: '[data-widget="pushmenu"]', - LOGIN_BOX: '.login-box', - REGISTER_BOX: '.register-box' - }; - var ClassName = { - HOLD: 'hold-transition', - SIDEBAR: 'main-sidebar', - CONTENT_FIXED: 'content-fixed', - SIDEBAR_FOCUSED: 'sidebar-focused', - LAYOUT_FIXED: 'layout-fixed', - NAVBAR_FIXED: 'layout-navbar-fixed', - FOOTER_FIXED: 'layout-footer-fixed', - LOGIN_PAGE: 'login-page', - REGISTER_PAGE: 'register-page', - CONTROL_SIDEBAR_SLIDE_OPEN: 'control-sidebar-slide-open', - CONTROL_SIDEBAR_OPEN: 'control-sidebar-open' - }; - var Default = { - scrollbarTheme: 'os-theme-light', - scrollbarAutoHide: 'l', - panelAutoHeight: true, - loginRegisterAutoHeight: true - }; - /** - * Class Definition - * ==================================================== - */ - - var Layout = /*#__PURE__*/function () { - function Layout(element, config) { - this._config = config; - this._element = element; - - this._init(); - } // Public - - - var _proto = Layout.prototype; - - _proto.fixLayoutHeight = function fixLayoutHeight(extra) { - if (extra === void 0) { - extra = null; - } - - var control_sidebar = 0; - - if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || extra == 'control_sidebar') { - control_sidebar = $(Selector.CONTROL_SIDEBAR_CONTENT).height(); - } - - var heights = { - window: $(window).height(), - header: $(Selector.HEADER).length !== 0 ? $(Selector.HEADER).outerHeight() : 0, - footer: $(Selector.FOOTER).length !== 0 ? $(Selector.FOOTER).outerHeight() : 0, - sidebar: $(Selector.SIDEBAR).length !== 0 ? $(Selector.SIDEBAR).height() : 0, - control_sidebar: control_sidebar - }; - - var max = this._max(heights); - - var offset = this._config.panelAutoHeight; - - if (offset === true) { - offset = 0; - } - - if (offset !== false) { - if (max == heights.control_sidebar) { - $(Selector.CONTENT).css('min-height', max + offset); - } else if (max == heights.window) { - $(Selector.CONTENT).css('min-height', max + offset - heights.header - heights.footer); - } else { - $(Selector.CONTENT).css('min-height', max + offset - heights.header); - } - - if (this._isFooterFixed()) { - $(Selector.CONTENT).css('min-height', parseFloat($(Selector.CONTENT).css('min-height')) + heights.footer); - } - } - - if ($('body').hasClass(ClassName.LAYOUT_FIXED)) { - if (offset !== false) { - $(Selector.CONTENT).css('min-height', max + offset - heights.header - heights.footer); - } - - if (typeof $.fn.overlayScrollbars !== 'undefined') { - $(Selector.SIDEBAR).overlayScrollbars({ - className: this._config.scrollbarTheme, - sizeAutoCapable: true, - scrollbars: { - autoHide: this._config.scrollbarAutoHide, - clickScrolling: true - } - }); - } - } - }; - - _proto.fixLoginRegisterHeight = function fixLoginRegisterHeight() { - if ($(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).length === 0) { - $('body, html').css('height', 'auto'); - } else if ($(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).length !== 0) { - var box_height = $(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).height(); - - if ($('body').css('min-height') !== box_height) { - $('body').css('min-height', box_height); - } - } - } // Private - ; - - _proto._init = function _init() { - var _this = this; - - // Activate layout height watcher - this.fixLayoutHeight(); - - if (this._config.loginRegisterAutoHeight === true) { - this.fixLoginRegisterHeight(); - } else if (Number.isInteger(this._config.loginRegisterAutoHeight)) { - setInterval(this.fixLoginRegisterHeight, this._config.loginRegisterAutoHeight); - } - - $(Selector.SIDEBAR).on('collapsed.lte.treeview expanded.lte.treeview', function () { - _this.fixLayoutHeight(); - }); - $(Selector.PUSHMENU_BTN).on('collapsed.lte.pushmenu shown.lte.pushmenu', function () { - _this.fixLayoutHeight(); - }); - $(Selector.CONTROL_SIDEBAR_BTN).on('collapsed.lte.controlsidebar', function () { - _this.fixLayoutHeight(); - }).on('expanded.lte.controlsidebar', function () { - _this.fixLayoutHeight('control_sidebar'); - }); - $(window).resize(function () { - _this.fixLayoutHeight(); - }); - setTimeout(function () { - $('body.hold-transition').removeClass('hold-transition'); - }, 50); - }; - - _proto._max = function _max(numbers) { - // Calculate the maximum number in a list - var max = 0; - Object.keys(numbers).forEach(function (key) { - if (numbers[key] > max) { - max = numbers[key]; - } - }); - return max; - }; - - _proto._isFooterFixed = function _isFooterFixed() { - return $('.main-footer').css('position') === 'fixed'; - } // Static - ; - - Layout._jQueryInterface = function _jQueryInterface(config) { - if (config === void 0) { - config = ''; - } - - return this.each(function () { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new Layout($(this), _options); - $(this).data(DATA_KEY, data); - } - - if (config === 'init' || config === '') { - data['_init'](); - } else if (config === 'fixLayoutHeight' || config === 'fixLoginRegisterHeight') { - data[config](); - } - }); - }; - - return Layout; - }(); - /** - * Data API - * ==================================================== - */ - - - $(window).on('load', function () { - Layout._jQueryInterface.call($('body')); - }); - $(Selector.SIDEBAR + ' a').on('focusin', function () { - $(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED); - }); - $(Selector.SIDEBAR + ' a').on('focusout', function () { - $(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = Layout._jQueryInterface; - $.fn[NAME].Constructor = Layout; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Layout._jQueryInterface; - }; - - return Layout; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE PushMenu.js - * License MIT - * -------------------------------------------- - */ - var PushMenu = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'PushMenu'; - var DATA_KEY = 'lte.pushmenu'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - COLLAPSED: "collapsed" + EVENT_KEY, - SHOWN: "shown" + EVENT_KEY - }; - var Default = { - autoCollapseSize: 992, - enableRemember: false, - noTransitionAfterReload: true - }; - var Selector = { - TOGGLE_BUTTON: '[data-widget="pushmenu"]', - SIDEBAR_MINI: '.sidebar-mini', - SIDEBAR_COLLAPSED: '.sidebar-collapse', - BODY: 'body', - OVERLAY: '#sidebar-overlay', - WRAPPER: '.wrapper' - }; - var ClassName = { - COLLAPSED: 'sidebar-collapse', - OPEN: 'sidebar-open', - CLOSED: 'sidebar-closed' - }; - /** - * Class Definition - * ==================================================== - */ - - var PushMenu = /*#__PURE__*/function () { - function PushMenu(element, options) { - this._element = element; - this._options = $.extend({}, Default, options); - - if (!$(Selector.OVERLAY).length) { - this._addOverlay(); - } - - this._init(); - } // Public - - - var _proto = PushMenu.prototype; - - _proto.expand = function expand() { - if (this._options.autoCollapseSize) { - if ($(window).width() <= this._options.autoCollapseSize) { - $(Selector.BODY).addClass(ClassName.OPEN); - } - } - - $(Selector.BODY).removeClass(ClassName.COLLAPSED).removeClass(ClassName.CLOSED); - - if (this._options.enableRemember) { - localStorage.setItem("remember" + EVENT_KEY, ClassName.OPEN); - } - - var shownEvent = $.Event(Event.SHOWN); - $(this._element).trigger(shownEvent); - }; - - _proto.collapse = function collapse() { - if (this._options.autoCollapseSize) { - if ($(window).width() <= this._options.autoCollapseSize) { - $(Selector.BODY).removeClass(ClassName.OPEN).addClass(ClassName.CLOSED); - } - } - - $(Selector.BODY).addClass(ClassName.COLLAPSED); - - if (this._options.enableRemember) { - localStorage.setItem("remember" + EVENT_KEY, ClassName.COLLAPSED); - } - - var collapsedEvent = $.Event(Event.COLLAPSED); - $(this._element).trigger(collapsedEvent); - }; - - _proto.toggle = function toggle() { - if (!$(Selector.BODY).hasClass(ClassName.COLLAPSED)) { - this.collapse(); - } else { - this.expand(); - } - }; - - _proto.autoCollapse = function autoCollapse(resize) { - if (resize === void 0) { - resize = false; - } - - if (this._options.autoCollapseSize) { - if ($(window).width() <= this._options.autoCollapseSize) { - if (!$(Selector.BODY).hasClass(ClassName.OPEN)) { - this.collapse(); - } - } else if (resize == true) { - if ($(Selector.BODY).hasClass(ClassName.OPEN)) { - $(Selector.BODY).removeClass(ClassName.OPEN); - } else if ($(Selector.BODY).hasClass(ClassName.CLOSED)) { - this.expand(); - } - } - } - }; - - _proto.remember = function remember() { - if (this._options.enableRemember) { - var toggleState = localStorage.getItem("remember" + EVENT_KEY); - - if (toggleState == ClassName.COLLAPSED) { - if (this._options.noTransitionAfterReload) { - $("body").addClass('hold-transition').addClass(ClassName.COLLAPSED).delay(50).queue(function () { - $(this).removeClass('hold-transition'); - $(this).dequeue(); - }); - } else { - $("body").addClass(ClassName.COLLAPSED); - } - } else { - if (this._options.noTransitionAfterReload) { - $("body").addClass('hold-transition').removeClass(ClassName.COLLAPSED).delay(50).queue(function () { - $(this).removeClass('hold-transition'); - $(this).dequeue(); - }); - } else { - $("body").removeClass(ClassName.COLLAPSED); - } - } - } - } // Private - ; - - _proto._init = function _init() { - var _this = this; - - this.remember(); - this.autoCollapse(); - $(window).resize(function () { - _this.autoCollapse(true); - }); - }; - - _proto._addOverlay = function _addOverlay() { - var _this2 = this; - - var overlay = $('
', { - id: 'sidebar-overlay' - }); - overlay.on('click', function () { - _this2.collapse(); - }); - $(Selector.WRAPPER).append(overlay); - } // Static - ; - - PushMenu._jQueryInterface = function _jQueryInterface(operation) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new PushMenu(this, _options); - $(this).data(DATA_KEY, data); - } - - if (typeof operation === 'string' && operation.match(/collapse|expand|toggle/)) { - data[operation](); - } - }); - }; - - return PushMenu; - }(); - /** - * Data API - * ==================================================== - */ - - - $(document).on('click', Selector.TOGGLE_BUTTON, function (event) { - event.preventDefault(); - var button = event.currentTarget; - - if ($(button).data('widget') !== 'pushmenu') { - button = $(button).closest(Selector.TOGGLE_BUTTON); - } - - PushMenu._jQueryInterface.call($(button), 'toggle'); - }); - $(window).on('load', function () { - PushMenu._jQueryInterface.call($(Selector.TOGGLE_BUTTON)); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = PushMenu._jQueryInterface; - $.fn[NAME].Constructor = PushMenu; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return PushMenu._jQueryInterface; - }; - - return PushMenu; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE Treeview.js - * License MIT - * -------------------------------------------- - */ - var Treeview = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'Treeview'; - var DATA_KEY = 'lte.treeview'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - SELECTED: "selected" + EVENT_KEY, - EXPANDED: "expanded" + EVENT_KEY, - COLLAPSED: "collapsed" + EVENT_KEY, - LOAD_DATA_API: "load" + EVENT_KEY - }; - var Selector = { - LI: '.nav-item', - LINK: '.nav-link', - TREEVIEW_MENU: '.nav-treeview', - OPEN: '.menu-open', - DATA_WIDGET: '[data-widget="treeview"]' - }; - var ClassName = { - LI: 'nav-item', - LINK: 'nav-link', - TREEVIEW_MENU: 'nav-treeview', - OPEN: 'menu-open', - SIDEBAR_COLLAPSED: 'sidebar-collapse' - }; - var Default = { - trigger: Selector.DATA_WIDGET + " " + Selector.LINK, - animationSpeed: 300, - accordion: true, - expandSidebar: false, - sidebarButtonSelector: '[data-widget="pushmenu"]' - }; - /** - * Class Definition - * ==================================================== - */ - - var Treeview = /*#__PURE__*/function () { - function Treeview(element, config) { - this._config = config; - this._element = element; - } // Public - - - var _proto = Treeview.prototype; - - _proto.init = function init() { - this._setupListeners(); - }; - - _proto.expand = function expand(treeviewMenu, parentLi) { - var _this = this; - - var expandedEvent = $.Event(Event.EXPANDED); - - if (this._config.accordion) { - var openMenuLi = parentLi.siblings(Selector.OPEN).first(); - var openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first(); - this.collapse(openTreeview, openMenuLi); - } - - treeviewMenu.stop().slideDown(this._config.animationSpeed, function () { - parentLi.addClass(ClassName.OPEN); - $(_this._element).trigger(expandedEvent); - }); - - if (this._config.expandSidebar) { - this._expandSidebar(); - } - }; - - _proto.collapse = function collapse(treeviewMenu, parentLi) { - var _this2 = this; - - var collapsedEvent = $.Event(Event.COLLAPSED); - treeviewMenu.stop().slideUp(this._config.animationSpeed, function () { - parentLi.removeClass(ClassName.OPEN); - $(_this2._element).trigger(collapsedEvent); - treeviewMenu.find(Selector.OPEN + " > " + Selector.TREEVIEW_MENU).slideUp(); - treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN); - }); - }; - - _proto.toggle = function toggle(event) { - var $relativeTarget = $(event.currentTarget); - var $parent = $relativeTarget.parent(); - var treeviewMenu = $parent.find('> ' + Selector.TREEVIEW_MENU); - - if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) { - if (!$parent.is(Selector.LI)) { - treeviewMenu = $parent.parent().find('> ' + Selector.TREEVIEW_MENU); - } - - if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) { - return; - } - } - - event.preventDefault(); - var parentLi = $relativeTarget.parents(Selector.LI).first(); - var isOpen = parentLi.hasClass(ClassName.OPEN); - - if (isOpen) { - this.collapse($(treeviewMenu), parentLi); - } else { - this.expand($(treeviewMenu), parentLi); - } - } // Private - ; - - _proto._setupListeners = function _setupListeners() { - var _this3 = this; - - $(document).on('click', this._config.trigger, function (event) { - _this3.toggle(event); - }); - }; - - _proto._expandSidebar = function _expandSidebar() { - if ($('body').hasClass(ClassName.SIDEBAR_COLLAPSED)) { - $(this._config.sidebarButtonSelector).PushMenu('expand'); - } - } // Static - ; - - Treeview._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new Treeview($(this), _options); - $(this).data(DATA_KEY, data); - } - - if (config === 'init') { - data[config](); - } - }); - }; - - return Treeview; - }(); - /** - * Data API - * ==================================================== - */ - - - $(window).on(Event.LOAD_DATA_API, function () { - $(Selector.DATA_WIDGET).each(function () { - Treeview._jQueryInterface.call($(this), 'init'); - }); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = Treeview._jQueryInterface; - $.fn[NAME].Constructor = Treeview; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Treeview._jQueryInterface; - }; - - return Treeview; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE DirectChat.js - * License MIT - * -------------------------------------------- - */ - var DirectChat = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'DirectChat'; - var DATA_KEY = 'lte.directchat'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - TOGGLED: "toggled{EVENT_KEY}" - }; - var Selector = { - DATA_TOGGLE: '[data-widget="chat-pane-toggle"]', - DIRECT_CHAT: '.direct-chat' - }; - var ClassName = { - DIRECT_CHAT_OPEN: 'direct-chat-contacts-open' - }; - /** - * Class Definition - * ==================================================== - */ - - /** - * - * Data Api implementation - * ==================================================== - */ - - - $(document).on('click', Selector.DATA_TOGGLE, function (event) { - if (event) event.preventDefault(); - - DirectChat._jQueryInterface.call($(this), 'toggle'); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = DirectChat._jQueryInterface; - $.fn[NAME].Constructor = DirectChat; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return DirectChat._jQueryInterface; - }; - - return DirectChat; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE TodoList.js - * License MIT - * -------------------------------------------- - */ - var TodoList = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'TodoList'; - var DATA_KEY = 'lte.todolist'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Selector = { - DATA_TOGGLE: '[data-widget="todo-list"]' - }; - var ClassName = { - TODO_LIST_DONE: 'done' - }; - var Default = { - onCheck: function onCheck(item) { - return item; - }, - onUnCheck: function onUnCheck(item) { - return item; - } - }; - /** - * Class Definition - * ==================================================== - */ - - var TodoList = /*#__PURE__*/function () { - function TodoList(element, config) { - this._config = config; - this._element = element; - - this._init(); - } // Public - - - var _proto = TodoList.prototype; - - _proto.toggle = function toggle(item) { - item.parents('li').toggleClass(ClassName.TODO_LIST_DONE); - - if (!$(item).prop('checked')) { - this.unCheck($(item)); - return; - } - - this.check(item); - }; - - _proto.check = function check(item) { - this._config.onCheck.call(item); - }; - - _proto.unCheck = function unCheck(item) { - this._config.onUnCheck.call(item); - } // Private - ; - - _proto._init = function _init() { - var that = this; - $(Selector.DATA_TOGGLE).find('input:checkbox:checked').parents('li').toggleClass(ClassName.TODO_LIST_DONE); - $(Selector.DATA_TOGGLE).on('change', 'input:checkbox', function (event) { - that.toggle($(event.target)); - }); - } // Static - ; - - TodoList._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new TodoList($(this), _options); - $(this).data(DATA_KEY, data); - } - - if (config === 'init') { - data[config](); - } - }); - }; - - return TodoList; - }(); - /** - * Data API - * ==================================================== - */ - - - $(window).on('load', function () { - TodoList._jQueryInterface.call($(Selector.DATA_TOGGLE)); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = TodoList._jQueryInterface; - $.fn[NAME].Constructor = TodoList; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return TodoList._jQueryInterface; - }; - - return TodoList; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE CardWidget.js - * License MIT - * -------------------------------------------- - */ - var CardWidget = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'CardWidget'; - var DATA_KEY = 'lte.cardwidget'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - EXPANDED: "expanded" + EVENT_KEY, - COLLAPSED: "collapsed" + EVENT_KEY, - MAXIMIZED: "maximized" + EVENT_KEY, - MINIMIZED: "minimized" + EVENT_KEY, - REMOVED: "removed" + EVENT_KEY - }; - var ClassName = { - CARD: 'card', - COLLAPSED: 'collapsed-card', - COLLAPSING: 'collapsing-card', - EXPANDING: 'expanding-card', - WAS_COLLAPSED: 'was-collapsed', - MAXIMIZED: 'maximized-card' - }; - var Selector = { - DATA_REMOVE: '[data-card-widget="remove"]', - DATA_COLLAPSE: '[data-card-widget="collapse"]', - DATA_MAXIMIZE: '[data-card-widget="maximize"]', - CARD: "." + ClassName.CARD, - CARD_HEADER: '.card-header', - CARD_BODY: '.card-body', - CARD_FOOTER: '.card-footer', - COLLAPSED: "." + ClassName.COLLAPSED - }; - var Default = { - animationSpeed: 'normal', - collapseTrigger: Selector.DATA_COLLAPSE, - removeTrigger: Selector.DATA_REMOVE, - maximizeTrigger: Selector.DATA_MAXIMIZE, - collapseIcon: 'fa-minus', - expandIcon: 'fa-plus', - maximizeIcon: 'fa-expand', - minimizeIcon: 'fa-compress' - }; - - var CardWidget = /*#__PURE__*/function () { - function CardWidget(element, settings) { - this._element = element; - this._parent = element.parents(Selector.CARD).first(); - - if (element.hasClass(ClassName.CARD)) { - this._parent = element; - } - - this._settings = $.extend({}, Default, settings); - } - - var _proto = CardWidget.prototype; - - _proto.collapse = function collapse() { - var _this = this; - - this._parent.addClass(ClassName.COLLAPSING).children(Selector.CARD_BODY + ", " + Selector.CARD_FOOTER).slideUp(this._settings.animationSpeed, function () { - _this._parent.addClass(ClassName.COLLAPSED).removeClass(ClassName.COLLAPSING); - }); - - this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.collapseIcon).addClass(this._settings.expandIcon).removeClass(this._settings.collapseIcon); - - var collapsed = $.Event(Event.COLLAPSED); - - this._element.trigger(collapsed, this._parent); - }; - - _proto.expand = function expand() { - var _this2 = this; - - this._parent.addClass(ClassName.EXPANDING).children(Selector.CARD_BODY + ", " + Selector.CARD_FOOTER).slideDown(this._settings.animationSpeed, function () { - _this2._parent.removeClass(ClassName.COLLAPSED).removeClass(ClassName.EXPANDING); - }); - - this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.expandIcon).addClass(this._settings.collapseIcon).removeClass(this._settings.expandIcon); - - var expanded = $.Event(Event.EXPANDED); - - this._element.trigger(expanded, this._parent); - }; - - _proto.remove = function remove() { - this._parent.slideUp(); - - var removed = $.Event(Event.REMOVED); - - this._element.trigger(removed, this._parent); - }; - - _proto.toggle = function toggle() { - if (this._parent.hasClass(ClassName.COLLAPSED)) { - this.expand(); - return; - } - - this.collapse(); - }; - - _proto.maximize = function maximize() { - this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon).addClass(this._settings.minimizeIcon).removeClass(this._settings.maximizeIcon); - - this._parent.css({ - 'height': this._parent.height(), - 'width': this._parent.width(), - 'transition': 'all .15s' - }).delay(150).queue(function () { - $(this).addClass(ClassName.MAXIMIZED); - $('html').addClass(ClassName.MAXIMIZED); - - if ($(this).hasClass(ClassName.COLLAPSED)) { - $(this).addClass(ClassName.WAS_COLLAPSED); - } - - $(this).dequeue(); - }); - - var maximized = $.Event(Event.MAXIMIZED); - - this._element.trigger(maximized, this._parent); - }; - - _proto.minimize = function minimize() { - this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon).addClass(this._settings.maximizeIcon).removeClass(this._settings.minimizeIcon); - - this._parent.css('cssText', 'height:' + this._parent[0].style.height + ' !important;' + 'width:' + this._parent[0].style.width + ' !important; transition: all .15s;').delay(10).queue(function () { - $(this).removeClass(ClassName.MAXIMIZED); - $('html').removeClass(ClassName.MAXIMIZED); - $(this).css({ - 'height': 'inherit', - 'width': 'inherit' - }); - - if ($(this).hasClass(ClassName.WAS_COLLAPSED)) { - $(this).removeClass(ClassName.WAS_COLLAPSED); - } - - $(this).dequeue(); - }); - - var MINIMIZED = $.Event(Event.MINIMIZED); - - this._element.trigger(MINIMIZED, this._parent); - }; - - _proto.toggleMaximize = function toggleMaximize() { - if (this._parent.hasClass(ClassName.MAXIMIZED)) { - this.minimize(); - return; - } - - this.maximize(); - } // Private - ; - - _proto._init = function _init(card) { - var _this3 = this; - - this._parent = card; - $(this).find(this._settings.collapseTrigger).click(function () { - _this3.toggle(); - }); - $(this).find(this._settings.maximizeTrigger).click(function () { - _this3.toggleMaximize(); - }); - $(this).find(this._settings.removeTrigger).click(function () { - _this3.remove(); - }); - } // Static - ; - - CardWidget._jQueryInterface = function _jQueryInterface(config) { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new CardWidget($(this), _options); - $(this).data(DATA_KEY, typeof config === 'string' ? data : config); - } - - if (typeof config === 'string' && config.match(/collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/)) { - data[config](); - } else if (typeof config === 'object') { - data._init($(this)); - } - }; - - return CardWidget; - }(); - /** - * Data API - * ==================================================== - */ - - - $(document).on('click', Selector.DATA_COLLAPSE, function (event) { - if (event) { - event.preventDefault(); - } - - CardWidget._jQueryInterface.call($(this), 'toggle'); - }); - $(document).on('click', Selector.DATA_REMOVE, function (event) { - if (event) { - event.preventDefault(); - } - - CardWidget._jQueryInterface.call($(this), 'remove'); - }); - $(document).on('click', Selector.DATA_MAXIMIZE, function (event) { - if (event) { - event.preventDefault(); - } - - CardWidget._jQueryInterface.call($(this), 'toggleMaximize'); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = CardWidget._jQueryInterface; - $.fn[NAME].Constructor = CardWidget; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return CardWidget._jQueryInterface; - }; - - return CardWidget; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE CardRefresh.js - * License MIT - * -------------------------------------------- - */ - var CardRefresh = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'CardRefresh'; - var DATA_KEY = 'lte.cardrefresh'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - LOADED: "loaded" + EVENT_KEY, - OVERLAY_ADDED: "overlay.added" + EVENT_KEY, - OVERLAY_REMOVED: "overlay.removed" + EVENT_KEY - }; - var ClassName = { - CARD: 'card' - }; - var Selector = { - CARD: "." + ClassName.CARD, - DATA_REFRESH: '[data-card-widget="card-refresh"]' - }; - var Default = { - source: '', - sourceSelector: '', - params: {}, - trigger: Selector.DATA_REFRESH, - content: '.card-body', - loadInContent: true, - loadOnInit: true, - responseType: '', - overlayTemplate: '
', - onLoadStart: function onLoadStart() {}, - onLoadDone: function onLoadDone(response) { - return response; - } - }; - - var CardRefresh = /*#__PURE__*/function () { - function CardRefresh(element, settings) { - this._element = element; - this._parent = element.parents(Selector.CARD).first(); - this._settings = $.extend({}, Default, settings); - this._overlay = $(this._settings.overlayTemplate); - - if (element.hasClass(ClassName.CARD)) { - this._parent = element; - } - - if (this._settings.source === '') { - throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.'); - } - } - - var _proto = CardRefresh.prototype; - - _proto.load = function load() { - this._addOverlay(); - - this._settings.onLoadStart.call($(this)); - - $.get(this._settings.source, this._settings.params, function (response) { - if (this._settings.loadInContent) { - if (this._settings.sourceSelector != '') { - response = $(response).find(this._settings.sourceSelector).html(); - } - - this._parent.find(this._settings.content).html(response); - } - - this._settings.onLoadDone.call($(this), response); - - this._removeOverlay(); - }.bind(this), this._settings.responseType !== '' && this._settings.responseType); - var loadedEvent = $.Event(Event.LOADED); - $(this._element).trigger(loadedEvent); - }; - - _proto._addOverlay = function _addOverlay() { - this._parent.append(this._overlay); - - var overlayAddedEvent = $.Event(Event.OVERLAY_ADDED); - $(this._element).trigger(overlayAddedEvent); - }; - - _proto._removeOverlay = function _removeOverlay() { - this._parent.find(this._overlay).remove(); - - var overlayRemovedEvent = $.Event(Event.OVERLAY_REMOVED); - $(this._element).trigger(overlayRemovedEvent); - }; - - // Private - _proto._init = function _init(card) { - var _this = this; - - $(this).find(this._settings.trigger).on('click', function () { - _this.load(); - }); - - if (this._settings.loadOnInit) { - this.load(); - } - } // Static - ; - - CardRefresh._jQueryInterface = function _jQueryInterface(config) { - var data = $(this).data(DATA_KEY); - - var _options = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new CardRefresh($(this), _options); - $(this).data(DATA_KEY, typeof config === 'string' ? data : config); - } - - if (typeof config === 'string' && config.match(/load/)) { - data[config](); - } else { - data._init($(this)); - } - }; - - return CardRefresh; - }(); - /** - * Data API - * ==================================================== - */ - - - $(document).on('click', Selector.DATA_REFRESH, function (event) { - if (event) { - event.preventDefault(); - } - - CardRefresh._jQueryInterface.call($(this), 'load'); - }); - $(document).ready(function () { - $(Selector.DATA_REFRESH).each(function () { - CardRefresh._jQueryInterface.call($(this)); - }); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = CardRefresh._jQueryInterface; - $.fn[NAME].Constructor = CardRefresh; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return CardRefresh._jQueryInterface; - }; - - return CardRefresh; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE Dropdown.js - * License MIT - * -------------------------------------------- - */ - var Dropdown = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'Dropdown'; - var DATA_KEY = 'lte.dropdown'; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Selector = { - NAVBAR: '.navbar', - DROPDOWN_MENU: '.dropdown-menu', - DROPDOWN_MENU_ACTIVE: '.dropdown-menu.show', - DROPDOWN_TOGGLE: '[data-toggle="dropdown"]' - }; - var ClassName = { - DROPDOWN_HOVER: 'dropdown-hover', - DROPDOWN_RIGHT: 'dropdown-menu-right' - }; - var Default = {}; - /** - * Class Definition - * ==================================================== - */ - - var Dropdown = /*#__PURE__*/function () { - function Dropdown(element, config) { - this._config = config; - this._element = element; - } // Public - - - var _proto = Dropdown.prototype; - - _proto.toggleSubmenu = function toggleSubmenu() { - this._element.siblings().show().toggleClass("show"); - - if (!this._element.next().hasClass('show')) { - this._element.parents('.dropdown-menu').first().find('.show').removeClass("show").hide(); - } - - this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) { - $('.dropdown-submenu .show').removeClass("show").hide(); - }); - }; - - _proto.fixPosition = function fixPosition() { - var elm = $(Selector.DROPDOWN_MENU_ACTIVE); - - if (elm.length !== 0) { - if (elm.hasClass(ClassName.DROPDOWN_RIGHT)) { - elm.css('left', 'inherit'); - elm.css('right', 0); - } else { - elm.css('left', 0); - elm.css('right', 'inherit'); - } - - var offset = elm.offset(); - var width = elm.width(); - var windowWidth = $(window).width(); - var visiblePart = windowWidth - offset.left; - - if (offset.left < 0) { - elm.css('left', 'inherit'); - elm.css('right', offset.left - 5); - } else { - if (visiblePart < width) { - elm.css('left', 'inherit'); - elm.css('right', 0); - } - } - } - } // Static - ; - - Dropdown._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - - var _config = $.extend({}, Default, $(this).data()); - - if (!data) { - data = new Dropdown($(this), _config); - $(this).data(DATA_KEY, data); - } - - if (config === 'toggleSubmenu' || config == 'fixPosition') { - data[config](); - } - }); - }; - - return Dropdown; - }(); - /** - * Data API - * ==================================================== - */ - - - $(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on("click", function (event) { - event.preventDefault(); - event.stopPropagation(); - - Dropdown._jQueryInterface.call($(this), 'toggleSubmenu'); - }); - $(Selector.NAVBAR + ' ' + Selector.DROPDOWN_TOGGLE).on("click", function (event) { - event.preventDefault(); - setTimeout(function () { - Dropdown._jQueryInterface.call($(this), 'fixPosition'); - }, 1); - }); - /** - * jQuery API - * ==================================================== - */ - - $.fn[NAME] = Dropdown._jQueryInterface; - $.fn[NAME].Constructor = Dropdown; - - $.fn[NAME].noConflict = function () { - $.fn[NAME] = JQUERY_NO_CONFLICT; - return Dropdown._jQueryInterface; - }; - - return Dropdown; - }(jQuery); - - /** - * -------------------------------------------- - * AdminLTE Toasts.js - * License MIT - * -------------------------------------------- - */ - var Toasts = function ($) { - /** - * Constants - * ==================================================== - */ - var NAME = 'Toasts'; - var DATA_KEY = 'lte.toasts'; - var EVENT_KEY = "." + DATA_KEY; - var JQUERY_NO_CONFLICT = $.fn[NAME]; - var Event = { - INIT: "init" + EVENT_KEY, - CREATED: "created" + EVENT_KEY, - REMOVED: "removed" + EVENT_KEY - }; - var Selector = { - BODY: 'toast-body', - CONTAINER_TOP_RIGHT: '#toastsContainerTopRight', - CONTAINER_TOP_LEFT: '#toastsContainerTopLeft', - CONTAINER_BOTTOM_RIGHT: '#toastsContainerBottomRight', - CONTAINER_BOTTOM_LEFT: '#toastsContainerBottomLeft' - }; - var ClassName = { - TOP_RIGHT: 'toasts-top-right', - TOP_LEFT: 'toasts-top-left', - BOTTOM_RIGHT: 'toasts-bottom-right', - BOTTOM_LEFT: 'toasts-bottom-left', - FADE: 'fade' - }; - var Position = { - TOP_RIGHT: 'topRight', - TOP_LEFT: 'topLeft', - BOTTOM_RIGHT: 'bottomRight', - BOTTOM_LEFT: 'bottomLeft' - }; - var Default = { - position: Position.TOP_RIGHT, - fixed: true, - autohide: false, - autoremove: true, - delay: 1000, - fade: true, - icon: null, - image: null, - imageAlt: null, - imageHeight: '25px', - title: null, - subtitle: null, - close: true, - body: null, - class: null - }; - /** - * Class Definition - * ==================================================== - */ - - var Toasts = /*#__PURE__*/function () { - function Toasts(element, config) { - this._config = config; - - this._prepareContainer(); - - var initEvent = $.Event(Event.INIT); - $('body').trigger(initEvent); - } // Public - - - var _proto = Toasts.prototype; - - _proto.create = function create() { - var toast = $('