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 = $('');
- toast.data('autohide', this._config.autohide);
- toast.data('animation', this._config.fade);
-
- if (this._config.class) {
- toast.addClass(this._config.class);
- }
-
- if (this._config.delay && this._config.delay != 500) {
- toast.data('delay', this._config.delay);
- }
-
- var toast_header = $('