1/*! 2 * AdminLTE v3.0.2 (https://adminlte.io) 3 * Copyright 2014-2020 Colorlib <http://colorlib.com> 4 * Licensed under MIT (https://github.com/ColorlibHQ/AdminLTE/blob/master/LICENSE) 5 */ 6(function (global, factory) { 7 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 8 typeof define === 'function' && define.amd ? define(['exports'], factory) : 9 (global = global || self, factory(global.adminlte = {})); 10}(this, (function (exports) { 'use strict'; 11 12 /** 13 * -------------------------------------------- 14 * AdminLTE ControlSidebar.js 15 * License MIT 16 * -------------------------------------------- 17 */ 18 var ControlSidebar = function ($) { 19 /** 20 * Constants 21 * ==================================================== 22 */ 23 var NAME = 'ControlSidebar'; 24 var DATA_KEY = 'lte.controlsidebar'; 25 var EVENT_KEY = "." + DATA_KEY; 26 var JQUERY_NO_CONFLICT = $.fn[NAME]; 27 var Event = { 28 COLLAPSED: "collapsed" + EVENT_KEY, 29 EXPANDED: "expanded" + EVENT_KEY 30 }; 31 var Selector = { 32 CONTROL_SIDEBAR: '.control-sidebar', 33 CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content', 34 DATA_TOGGLE: '[data-widget="control-sidebar"]', 35 CONTENT: '.content-wrapper', 36 HEADER: '.main-header', 37 FOOTER: '.main-footer' 38 }; 39 var ClassName = { 40 CONTROL_SIDEBAR_ANIMATE: 'control-sidebar-animate', 41 CONTROL_SIDEBAR_OPEN: 'control-sidebar-open', 42 CONTROL_SIDEBAR_SLIDE: 'control-sidebar-slide-open', 43 LAYOUT_FIXED: 'layout-fixed', 44 NAVBAR_FIXED: 'layout-navbar-fixed', 45 NAVBAR_SM_FIXED: 'layout-sm-navbar-fixed', 46 NAVBAR_MD_FIXED: 'layout-md-navbar-fixed', 47 NAVBAR_LG_FIXED: 'layout-lg-navbar-fixed', 48 NAVBAR_XL_FIXED: 'layout-xl-navbar-fixed', 49 FOOTER_FIXED: 'layout-footer-fixed', 50 FOOTER_SM_FIXED: 'layout-sm-footer-fixed', 51 FOOTER_MD_FIXED: 'layout-md-footer-fixed', 52 FOOTER_LG_FIXED: 'layout-lg-footer-fixed', 53 FOOTER_XL_FIXED: 'layout-xl-footer-fixed' 54 }; 55 var Default = { 56 controlsidebarSlide: true, 57 scrollbarTheme: 'os-theme-light', 58 scrollbarAutoHide: 'l' 59 }; 60 /** 61 * Class Definition 62 * ==================================================== 63 */ 64 65 var ControlSidebar = 66 /*#__PURE__*/ 67 function () { 68 function ControlSidebar(element, config) { 69 this._element = element; 70 this._config = config; 71 72 this._init(); 73 } // Public 74 75 76 var _proto = ControlSidebar.prototype; 77 78 _proto.collapse = function collapse() { 79 // Show the control sidebar 80 if (this._config.controlsidebarSlide) { 81 $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE); 82 $('body').removeClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () { 83 $(Selector.CONTROL_SIDEBAR).hide(); 84 $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE); 85 $(this).dequeue(); 86 }); 87 } else { 88 $('body').removeClass(ClassName.CONTROL_SIDEBAR_OPEN); 89 } 90 91 var collapsedEvent = $.Event(Event.COLLAPSED); 92 $(this._element).trigger(collapsedEvent); 93 }; 94 95 _proto.show = function show() { 96 // Collapse the control sidebar 97 if (this._config.controlsidebarSlide) { 98 $('html').addClass(ClassName.CONTROL_SIDEBAR_ANIMATE); 99 $(Selector.CONTROL_SIDEBAR).show().delay(10).queue(function () { 100 $('body').addClass(ClassName.CONTROL_SIDEBAR_SLIDE).delay(300).queue(function () { 101 $('html').removeClass(ClassName.CONTROL_SIDEBAR_ANIMATE); 102 $(this).dequeue(); 103 }); 104 $(this).dequeue(); 105 }); 106 } else { 107 $('body').addClass(ClassName.CONTROL_SIDEBAR_OPEN); 108 } 109 110 var expandedEvent = $.Event(Event.EXPANDED); 111 $(this._element).trigger(expandedEvent); 112 }; 113 114 _proto.toggle = function toggle() { 115 var shouldClose = $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE); 116 117 if (shouldClose) { 118 // Close the control sidebar 119 this.collapse(); 120 } else { 121 // Open the control sidebar 122 this.show(); 123 } 124 } // Private 125 ; 126 127 _proto._init = function _init() { 128 var _this = this; 129 130 this._fixHeight(); 131 132 this._fixScrollHeight(); 133 134 $(window).resize(function () { 135 _this._fixHeight(); 136 137 _this._fixScrollHeight(); 138 }); 139 $(window).scroll(function () { 140 if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE)) { 141 _this._fixScrollHeight(); 142 } 143 }); 144 }; 145 146 _proto._fixScrollHeight = function _fixScrollHeight() { 147 var heights = { 148 scroll: $(document).height(), 149 window: $(window).height(), 150 header: $(Selector.HEADER).outerHeight(), 151 footer: $(Selector.FOOTER).outerHeight() 152 }; 153 var positions = { 154 bottom: Math.abs(heights.window + $(window).scrollTop() - heights.scroll), 155 top: $(window).scrollTop() 156 }; 157 var navbarFixed = false;
158 var footerFixed = false; 159 160 if ($('body').hasClass(ClassName.LAYOUT_FIXED)) { 161 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)) { 162 if ($(Selector.HEADER).css("position") === "fixed") { 163 navbarFixed = true; 164 } 165 } 166 167 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)) { 168 if ($(Selector.FOOTER).css("position") === "fixed") { 169 footerFixed = true; 170 } 171 } 172 173 if (positions.top === 0 && positions.bottom === 0) { 174 $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer); 175 $(Selector.CONTROL_SIDEBAR).css('top', heights.header); 176 $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header + heights.footer)); 177 } else if (positions.bottom <= heights.footer) { 178 if (footerFixed === false) { 179 $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer - positions.bottom); 180 $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.footer - positions.bottom)); 181 } else { 182 $(Selector.CONTROL_SIDEBAR).css('bottom', heights.footer); 183 } 184 } else if (positions.top <= heights.header) { 185 if (navbarFixed === false) { 186 $(Selector.CONTROL_SIDEBAR).css('top', heights.header - positions.top); 187 $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window - (heights.header - positions.top)); 188 } else { 189 $(Selector.CONTROL_SIDEBAR).css('top', heights.header); 190 } 191 } else { 192 if (navbarFixed === false) { 193 $(Selector.CONTROL_SIDEBAR).css('top', 0); 194 $(Selector.CONTROL_SIDEBAR + ', ' + Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', heights.window); 195 } else { 196 $(Selector.CONTROL_SIDEBAR).css('top', heights.header); 197 } 198 } 199 } 200 }; 201 202 _proto._fixHeight = function _fixHeight() { 203 var heights = { 204 window: $(window).height(), 205 header: $(Selector.HEADER).outerHeight(), 206 footer: $(Selector.FOOTER).outerHeight() 207 }; 208 209 if ($('body').hasClass(ClassName.LAYOUT_FIXED)) { 210 var sidebarHeight = heights.window - heights.header; 211 212 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)) { 213 if ($(Selector.FOOTER).css("position") === "fixed") { 214 sidebarHeight = heights.window - heights.header - heights.footer; 215 } 216 } 217 218 $(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).css('height', sidebarHeight); 219 220 if (typeof $.fn.overlayScrollbars !== 'undefined') { 221 $(Selector.CONTROL_SIDEBAR + ' ' + Selector.CONTROL_SIDEBAR_CONTENT).overlayScrollbars({ 222 className: this._config.scrollbarTheme, 223 sizeAutoCapable: true, 224 scrollbars: { 225 autoHide: this._config.scrollbarAutoHide, 226 clickScrolling: true 227 } 228 }); 229 } 230 } 231 } // Static 232 ; 233 234 ControlSidebar._jQueryInterface = function _jQueryInterface(operation) { 235 return this.each(function () { 236 var data = $(this).data(DATA_KEY); 237 238 var _options = $.extend({}, Default, $(this).data()); 239 240 if (!data) { 241 data = new ControlSidebar(this, _options); 242 $(this).data(DATA_KEY, data); 243 } 244 245 if (data[operation] === 'undefined') { 246 throw new Error(operation + " is not a function"); 247 } 248 249 data[operation](); 250 }); 251 }; 252 253 return ControlSidebar; 254 }(); 255 /** 256 * 257 * Data Api implementation 258 * ==================================================== 259 */ 260 261 262 $(document).on('click', Selector.DATA_TOGGLE, function (event) { 263 event.preventDefault(); 264 265 ControlSidebar._jQueryInterface.call($(this), 'toggle'); 266 }); 267 /** 268 * jQuery API 269 * ==================================================== 270 */ 271 272 $.fn[NAME] = ControlSidebar._jQueryInterface; 273 $.fn[NAME].Constructor = ControlSidebar; 274 275 $.fn[NAME].noConflict = function () { 276 $.fn[NAME] = JQUERY_NO_CONFLICT; 277 return ControlSidebar._jQueryInterface; 278 }; 279 280 return ControlSidebar; 281 }(jQuery); 282 283 /** 284 * -------------------------------------------- 285 * AdminLTE Layout.js 286 * License MIT 287 * -------------------------------------------- 288 */ 289 var Layout = function ($) { 290 /** 291 * Constants 292 * ==================================================== 293 */ 294 var NAME = 'Layout'; 295 var DATA_KEY = 'lte.layout'; 296 var JQUERY_NO_CONFLICT = $.fn[NAME]; 297 var Selector = { 298 HEADER: '.main-header', 299 MAIN_SIDEBAR: '.main-sidebar', 300 SIDEBAR: '.main-sidebar .sidebar', 301 CONTENT: '.content-wrapper', 302 BRAND: '.brand-link', 303 CONTENT_HEADER: '.content-header', 304 WRAPPER: '.wrapper', 305 CONTROL_SIDEBAR: '.control-sidebar', 306 CONTROL_SIDEBAR_CONTENT: '.control-sidebar-content', 307 CONTROL_SIDEBAR_BTN: '[data-widget="control-sidebar"]', 308 LAYOUT_FIXED: '.layout-fixed', 309 FOOTER: '.main-footer', 310 PUSHMENU_BTN: '[data-widget="pushmenu"]', 311 LOGIN_BOX: '.login-box', 312 REGISTER_BOX: '.register-box' 313 }; 314 var ClassName = { 315 HOLD: 'hold-transition', 316 SIDEBAR: 'main-sidebar', 317 CONTENT_FIXED: 'content-fixed', 318 SIDEBAR_FOCUSED: 'sidebar-focused', 319 LAYOUT_FIXED: 'layout-fixed', 320 NAVBAR_FIXED: 'layout-navbar-fixed', 321 FOOTER_FIXED: 'layout-footer-fixed', 322 LOGIN_PAGE: 'login-page', 323 REGISTER_PAGE: 'register-page', 324 CONTROL_SIDEBAR_SLIDE_OPEN: 'control-sidebar-slide-open', 325 CONTROL_SIDEBAR_OPEN: 'control-sidebar-open' 326 }; 327 var Default = { 328 scrollbarTheme: 'os-theme-light', 329 scrollbarAutoHide: 'l' 330 }; 331 /** 332 * Class Definition 333 * ==================================================== 334 */ 335 336 var Layout = 337 /*#__PURE__*/ 338 function () { 339 function Layout(element, config) { 340 this._config = config; 341 this._element = element; 342 343 this._init(); 344 } // Public 345 346 347 var _proto = Layout.prototype; 348 349 _proto.fixLayoutHeight = function fixLayoutHeight(extra) { 350 if (extra === void 0) { 351 extra = null; 352 } 353 354 var control_sidebar = 0; 355 356 if ($('body').hasClass(ClassName.CONTROL_SIDEBAR_SLIDE_OPEN) || $('body').hasClass(ClassName.CONTROL_SIDEBAR_OPEN) || extra == 'control_sidebar') { 357 control_sidebar = $(Selector.CONTROL_SIDEBAR_CONTENT).height(); 358 } 359 360 var heights = { 361 window: $(window).height(), 362 header: $(Selector.HEADER).length !== 0 ? $(Selector.HEADER).outerHeight() : 0, 363 footer: $(Selector.FOOTER).length !== 0 ? $(Selector.FOOTER).outerHeight() : 0, 364 sidebar: $(Selector.SIDEBAR).length !== 0 ? $(Selector.SIDEBAR).height() : 0, 365 control_sidebar: control_sidebar 366 }; 367 368 var max = this._max(heights); 369 370 if (max == heights.control_sidebar) { 371 $(Selector.CONTENT).css('min-height', max); 372 } else if (max == heights.window) { 373 $(Selector.CONTENT).css('min-height', max - heights.header - heights.footer); 374 } else { 375 $(Selector.CONTENT).css('min-height', max - heights.header); 376 } 377 378 if ($('body').hasClass(ClassName.LAYOUT_FIXED)) { 379 $(Selector.CONTENT).css('min-height', max - heights.header - heights.footer); 380 381 if (typeof $.fn.overlayScrollbars !== 'undefined') { 382 $(Selector.SIDEBAR).overlayScrollbars({ 383 className: this._config.scrollbarTheme, 384 sizeAutoCapable: true, 385 scrollbars: { 386 autoHide: this._config.scrollbarAutoHide, 387 clickScrolling: true 388 } 389 }); 390 } 391 } 392 } // Private 393 ; 394 395 _proto._init = function _init() { 396 var _this = this; 397 398 // Activate layout height watcher 399 this.fixLayoutHeight(); 400 $(Selector.SIDEBAR).on('collapsed.lte.treeview expanded.lte.treeview', function () { 401 _this.fixLayoutHeight(); 402 }); 403 $(Selector.PUSHMENU_BTN).on('collapsed.lte.pushmenu shown.lte.pushmenu', function () { 404 _this.fixLayoutHeight(); 405 }); 406 $(Selector.CONTROL_SIDEBAR_BTN).on('collapsed.lte.controlsidebar', function () { 407 _this.fixLayoutHeight(); 408 }).on('expanded.lte.controlsidebar', function () {
409 _this.fixLayoutHeight('control_sidebar'); 410 }); 411 $(window).resize(function () { 412 _this.fixLayoutHeight(); 413 }); 414 415 if (!$('body').hasClass(ClassName.LOGIN_PAGE) && !$('body').hasClass(ClassName.REGISTER_PAGE)) { 416 $('body, html').css('height', 'auto'); 417 } else if ($('body').hasClass(ClassName.LOGIN_PAGE) || $('body').hasClass(ClassName.REGISTER_PAGE)) { 418 var box_height = $(Selector.LOGIN_BOX + ', ' + Selector.REGISTER_BOX).height(); 419 $('body').css('min-height', box_height); 420 } 421 422 $('body.hold-transition').removeClass('hold-transition'); 423 }; 424 425 _proto._max = function _max(numbers) { 426 // Calculate the maximum number in a list 427 var max = 0; 428 Object.keys(numbers).forEach(function (key) { 429 if (numbers[key] > max) { 430 max = numbers[key]; 431 } 432 }); 433 return max; 434 } // Static 435 ; 436 437 Layout._jQueryInterface = function _jQueryInterface(config) { 438 if (config === void 0) { 439 config = ''; 440 } 441 442 return this.each(function () { 443 var data = $(this).data(DATA_KEY); 444 445 var _options = $.extend({}, Default, $(this).data()); 446 447 if (!data) { 448 data = new Layout($(this), _options); 449 $(this).data(DATA_KEY, data); 450 } 451 452 if (config === 'init' || config === '') { 453 data['_init'](); 454 } 455 }); 456 }; 457 458 return Layout; 459 }(); 460 /** 461 * Data API 462 * ==================================================== 463 */ 464 465 466 $(window).on('load', function () { 467 Layout._jQueryInterface.call($('body')); 468 }); 469 $(Selector.SIDEBAR + ' a').on('focusin', function () { 470 $(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED); 471 }); 472 $(Selector.SIDEBAR + ' a').on('focusout', function () { 473 $(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED); 474 }); 475 /** 476 * jQuery API 477 * ==================================================== 478 */ 479 480 $.fn[NAME] = Layout._jQueryInterface; 481 $.fn[NAME].Constructor = Layout; 482 483 $.fn[NAME].noConflict = function () { 484 $.fn[NAME] = JQUERY_NO_CONFLICT; 485 return Layout._jQueryInterface; 486 }; 487 488 return Layout; 489 }(jQuery); 490 491 /** 492 * -------------------------------------------- 493 * AdminLTE PushMenu.js 494 * License MIT 495 * -------------------------------------------- 496 */ 497 var PushMenu = function ($) { 498 /** 499 * Constants 500 * ==================================================== 501 */ 502 var NAME = 'PushMenu'; 503 var DATA_KEY = 'lte.pushmenu'; 504 var EVENT_KEY = "." + DATA_KEY; 505 var JQUERY_NO_CONFLICT = $.fn[NAME]; 506 var Event = { 507 COLLAPSED: "collapsed" + EVENT_KEY, 508 SHOWN: "shown" + EVENT_KEY 509 }; 510 var Default = { 511 autoCollapseSize: 992, 512 enableRemember: false, 513 noTransitionAfterReload: true 514 }; 515 var Selector = { 516 TOGGLE_BUTTON: '[data-widget="pushmenu"]', 517 SIDEBAR_MINI: '.sidebar-mini', 518 SIDEBAR_COLLAPSED: '.sidebar-collapse', 519 BODY: 'body', 520 OVERLAY: '#sidebar-overlay', 521 WRAPPER: '.wrapper' 522 }; 523 var ClassName = { 524 SIDEBAR_OPEN: 'sidebar-open', 525 COLLAPSED: 'sidebar-collapse', 526 OPEN: 'sidebar-open' 527 }; 528 /** 529 * Class Definition 530 * ==================================================== 531 */ 532 533 var PushMenu = 534 /*#__PURE__*/ 535 function () { 536 function PushMenu(element, options) { 537 this._element = element; 538 this._options = $.extend({}, Default, options); 539 540 if (!$(Selector.OVERLAY).length) { 541 this._addOverlay(); 542 } 543 544 this._init(); 545 } // Public 546 547 548 var _proto = PushMenu.prototype; 549 550 _proto.expand = function expand() { 551 if (this._options.autoCollapseSize) { 552 if ($(window).width() <= this._options.autoCollapseSize) { 553 $(Selector.BODY).addClass(ClassName.OPEN); 554 } 555 } 556 557 $(Selector.BODY).removeClass(ClassName.COLLAPSED); 558 559 if (this._options.enableRemember) { 560 localStorage.setItem("remember" + EVENT_KEY, ClassName.OPEN); 561 } 562 563 var shownEvent = $.Event(Event.SHOWN); 564 $(this._element).trigger(shownEvent); 565 }; 566 567 _proto.collapse = function collapse() { 568 if (this._options.autoCollapseSize) { 569 if ($(window).width() <= this._options.autoCollapseSize) { 570 $(Selector.BODY).removeClass(ClassName.OPEN); 571 } 572 } 573 574 $(Selector.BODY).addClass(ClassName.COLLAPSED); 575 576 if (this._options.enableRemember) { 577 localStorage.setItem("remember" + EVENT_KEY, ClassName.COLLAPSED); 578 } 579 580 var collapsedEvent = $.Event(Event.COLLAPSED); 581 $(this._element).trigger(collapsedEvent); 582 }; 583
584 _proto.toggle = function toggle() { 585 if (!$(Selector.BODY).hasClass(ClassName.COLLAPSED)) { 586 this.collapse(); 587 } else { 588 this.expand(); 589 } 590 }; 591 592 _proto.autoCollapse = function autoCollapse(resize) { 593 if (resize === void 0) { 594 resize = false; 595 } 596 597 if (this._options.autoCollapseSize) { 598 if ($(window).width() <= this._options.autoCollapseSize) { 599 if (!$(Selector.BODY).hasClass(ClassName.OPEN)) { 600 this.collapse(); 601 } 602 } else if (resize == true) { 603 if ($(Selector.BODY).hasClass(ClassName.OPEN)) { 604 $(Selector.BODY).removeClass(ClassName.OPEN); 605 } 606 } 607 } 608 }; 609 610 _proto.remember = function remember() { 611 if (this._options.enableRemember) { 612 var toggleState = localStorage.getItem("remember" + EVENT_KEY); 613 614 if (toggleState == ClassName.COLLAPSED) { 615 if (this._options.noTransitionAfterReload) { 616 $("body").addClass('hold-transition').addClass(ClassName.COLLAPSED).delay(50).queue(function () { 617 $(this).removeClass('hold-transition'); 618 $(this).dequeue(); 619 }); 620 } else { 621 $("body").addClass(ClassName.COLLAPSED); 622 } 623 } else { 624 if (this._options.noTransitionAfterReload) { 625 $("body").addClass('hold-transition').removeClass(ClassName.COLLAPSED).delay(50).queue(function () { 626 $(this).removeClass('hold-transition'); 627 $(this).dequeue(); 628 }); 629 } else { 630 $("body").removeClass(ClassName.COLLAPSED); 631 } 632 } 633 } 634 } // Private 635 ; 636 637 _proto._init = function _init() { 638 var _this = this; 639 640 this.remember(); 641 this.autoCollapse(); 642 $(window).resize(function () { 643 _this.autoCollapse(true); 644 }); 645 }; 646 647 _proto._addOverlay = function _addOverlay() { 648 var _this2 = this; 649 650 var overlay = $('<div />', { 651 id: 'sidebar-overlay' 652 }); 653 overlay.on('click', function () { 654 _this2.collapse(); 655 }); 656 $(Selector.WRAPPER).append(overlay); 657 } // Static 658 ; 659 660 PushMenu._jQueryInterface = function _jQueryInterface(operation) { 661 return this.each(function () { 662 var data = $(this).data(DATA_KEY); 663 664 var _options = $.extend({}, Default, $(this).data()); 665 666 if (!data) { 667 data = new PushMenu(this, _options); 668 $(this).data(DATA_KEY, data); 669 } 670 671 if (typeof operation === 'string' && operation.match(/collapse|expand|toggle/)) { 672 data[operation](); 673 } 674 }); 675 }; 676 677 return PushMenu; 678 }(); 679 /** 680 * Data API 681 * ==================================================== 682 */ 683 684 685 $(document).on('click', Selector.TOGGLE_BUTTON, function (event) { 686 event.preventDefault(); 687 var button = event.currentTarget; 688 689 if ($(button).data('widget') !== 'pushmenu') { 690 button = $(button).closest(Selector.TOGGLE_BUTTON); 691 } 692 693 PushMenu._jQueryInterface.call($(button), 'toggle'); 694 }); 695 $(window).on('load', function () { 696 PushMenu._jQueryInterface.call($(Selector.TOGGLE_BUTTON)); 697 }); 698 /** 699 * jQuery API 700 * ==================================================== 701 */ 702 703 $.fn[NAME] = PushMenu._jQueryInterface; 704 $.fn[NAME].Constructor = PushMenu; 705 706 $.fn[NAME].noConflict = function () { 707 $.fn[NAME] = JQUERY_NO_CONFLICT; 708 return PushMenu._jQueryInterface; 709 }; 710 711 return PushMenu; 712 }(jQuery); 713 714 /** 715 * -------------------------------------------- 716 * AdminLTE Treeview.js 717 * License MIT 718 * -------------------------------------------- 719 */ 720 var Treeview = function ($) { 721 /** 722 * Constants 723 * ==================================================== 724 */ 725 var NAME = 'Treeview'; 726 var DATA_KEY = 'lte.treeview'; 727 var EVENT_KEY = "." + DATA_KEY; 728 var JQUERY_NO_CONFLICT = $.fn[NAME]; 729 var Event = { 730 SELECTED: "selected" + EVENT_KEY, 731 EXPANDED: "expanded" + EVENT_KEY, 732 COLLAPSED: "collapsed" + EVENT_KEY, 733 LOAD_DATA_API: "load" + EVENT_KEY 734 }; 735 var Selector = { 736 LI: '.nav-item', 737 LINK: '.nav-link', 738 TREEVIEW_MENU: '.nav-treeview', 739 OPEN: '.menu-open', 740 DATA_WIDGET: '[data-widget="treeview"]' 741 }; 742 var ClassName = { 743 LI: 'nav-item', 744 LINK: 'nav-link', 745 TREEVIEW_MENU: 'nav-treeview', 746 OPEN: 'menu-open', 747 SIDEBAR_COLLAPSED: 'sidebar-collapse' 748 }; 749 var Default = { 750 trigger: Selector.DATA_WIDGET + " " + Selector.LINK, 751 animationSpeed: 300, 752 accordion: true, 753 expandSidebar: false, 754 sidebarButtonSelector: '[data-widget="pushmenu"]' 755 }; 756 /** 757 * Class Definition 758 * ==================================================== 759 */ 760 761 var Treeview = 762 /*#__PURE__*/ 763 function () { 764 function Treeview(element, config) { 765 this._config = config; 766 this._element = element; 767 } // Public 768 769 770 var _proto = Treeview.prototype; 771
772 _proto.init = function init() { 773 this._setupListeners(); 774 }; 775 776 _proto.expand = function expand(treeviewMenu, parentLi) { 777 var _this = this; 778 779 var expandedEvent = $.Event(Event.EXPANDED); 780 781 if (this._config.accordion) { 782 var openMenuLi = parentLi.siblings(Selector.OPEN).first(); 783 var openTreeview = openMenuLi.find(Selector.TREEVIEW_MENU).first(); 784 this.collapse(openTreeview, openMenuLi); 785 } 786 787 treeviewMenu.stop().slideDown(this._config.animationSpeed, function () { 788 parentLi.addClass(ClassName.OPEN); 789 $(_this._element).trigger(expandedEvent); 790 }); 791 792 if (this._config.expandSidebar) { 793 this._expandSidebar(); 794 } 795 }; 796 797 _proto.collapse = function collapse(treeviewMenu, parentLi) { 798 var _this2 = this; 799 800 var collapsedEvent = $.Event(Event.COLLAPSED); 801 treeviewMenu.stop().slideUp(this._config.animationSpeed, function () { 802 parentLi.removeClass(ClassName.OPEN); 803 $(_this2._element).trigger(collapsedEvent); 804 treeviewMenu.find(Selector.OPEN + " > " + Selector.TREEVIEW_MENU).slideUp(); 805 treeviewMenu.find(Selector.OPEN).removeClass(ClassName.OPEN); 806 }); 807 }; 808 809 _proto.toggle = function toggle(event) { 810 var $relativeTarget = $(event.currentTarget); 811 var $parent = $relativeTarget.parent(); 812 var treeviewMenu = $parent.find('> ' + Selector.TREEVIEW_MENU); 813 814 if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) { 815 if (!$parent.is(Selector.LI)) { 816 treeviewMenu = $parent.parent().find('> ' + Selector.TREEVIEW_MENU); 817 } 818 819 if (!treeviewMenu.is(Selector.TREEVIEW_MENU)) { 820 return; 821 } 822 } 823 824 event.preventDefault(); 825 var parentLi = $relativeTarget.parents(Selector.LI).first(); 826 var isOpen = parentLi.hasClass(ClassName.OPEN); 827 828 if (isOpen) { 829 this.collapse($(treeviewMenu), parentLi); 830 } else { 831 this.expand($(treeviewMenu), parentLi); 832 } 833 } // Private 834 ; 835 836 _proto._setupListeners = function _setupListeners() { 837 var _this3 = this; 838 839 $(document).on('click', this._config.trigger, function (event) { 840 _this3.toggle(event); 841 }); 842 }; 843 844 _proto._expandSidebar = function _expandSidebar() { 845 if ($('body').hasClass(ClassName.SIDEBAR_COLLAPSED)) { 846 $(this._config.sidebarButtonSelector).PushMenu('expand'); 847 } 848 } // Static 849 ; 850 851 Treeview._jQueryInterface = function _jQueryInterface(config) { 852 return this.each(function () { 853 var data = $(this).data(DATA_KEY); 854 855 var _options = $.extend({}, Default, $(this).data()); 856 857 if (!data) { 858 data = new Treeview($(this), _options); 859 $(this).data(DATA_KEY, data); 860 } 861 862 if (config === 'init') { 863 data[config](); 864 } 865 }); 866 }; 867 868 return Treeview; 869 }(); 870 /** 871 * Data API 872 * ==================================================== 873 */ 874 875 876 $(window).on(Event.LOAD_DATA_API, function () { 877 $(Selector.DATA_WIDGET).each(function () { 878 Treeview._jQueryInterface.call($(this), 'init'); 879 }); 880 }); 881 /** 882 * jQuery API 883 * ==================================================== 884 */ 885 886 $.fn[NAME] = Treeview._jQueryInterface; 887 $.fn[NAME].Constructor = Treeview; 888 889 $.fn[NAME].noConflict = function () { 890 $.fn[NAME] = JQUERY_NO_CONFLICT; 891 return Treeview._jQueryInterface; 892 }; 893 894 return Treeview; 895 }(jQuery); 896 897 /** 898 * -------------------------------------------- 899 * AdminLTE DirectChat.js 900 * License MIT 901 * -------------------------------------------- 902 */ 903 var DirectChat = function ($) { 904 /** 905 * Constants 906 * ==================================================== 907 */ 908 var NAME = 'DirectChat'; 909 var DATA_KEY = 'lte.directchat'; 910 var JQUERY_NO_CONFLICT = $.fn[NAME]; 911 var Event = { 912 TOGGLED: "toggled{EVENT_KEY}" 913 }; 914 var Selector = { 915 DATA_TOGGLE: '[data-widget="chat-pane-toggle"]', 916 DIRECT_CHAT: '.direct-chat' 917 }; 918 var ClassName = { 919 DIRECT_CHAT_OPEN: 'direct-chat-contacts-open' 920 }; 921 /** 922 * Class Definition 923 * ==================================================== 924 */ 925 926 var DirectChat = 927 /*#__PURE__*/ 928 function () { 929 function DirectChat(element, config) { 930 this._element = element; 931 } 932 933 var _proto = DirectChat.prototype; 934
935 _proto.toggle = function toggle() { 936 $(this._element).parents(Selector.DIRECT_CHAT).first().toggleClass(ClassName.DIRECT_CHAT_OPEN); 937 var toggledEvent = $.Event(Event.TOGGLED); 938 $(this._element).trigger(toggledEvent); 939 } // Static 940 ; 941 942 DirectChat._jQueryInterface = function _jQueryInterface(config) { 943 return this.each(function () { 944 var data = $(this).data(DATA_KEY); 945 946 if (!data) { 947 data = new DirectChat($(this)); 948 $(this).data(DATA_KEY, data); 949 } 950 951 data[config](); 952 }); 953 }; 954 955 return DirectChat; 956 }(); 957 /** 958 * 959 * Data Api implementation 960 * ==================================================== 961 */ 962 963 964 $(document).on('click', Selector.DATA_TOGGLE, function (event) { 965 if (event) event.preventDefault(); 966 967 DirectChat._jQueryInterface.call($(this), 'toggle'); 968 }); 969 /** 970 * jQuery API 971 * ==================================================== 972 */ 973 974 $.fn[NAME] = DirectChat._jQueryInterface; 975 $.fn[NAME].Constructor = DirectChat; 976 977 $.fn[NAME].noConflict = function () { 978 $.fn[NAME] = JQUERY_NO_CONFLICT; 979 return DirectChat._jQueryInterface; 980 }; 981 982 return DirectChat; 983 }(jQuery); 984 985 /** 986 * -------------------------------------------- 987 * AdminLTE TodoList.js 988 * License MIT 989 * -------------------------------------------- 990 */ 991 var TodoList = function ($) { 992 /** 993 * Constants 994 * ==================================================== 995 */ 996 var NAME = 'TodoList'; 997 var DATA_KEY = 'lte.todolist'; 998 var JQUERY_NO_CONFLICT = $.fn[NAME]; 999 var Selector = { 1000 DATA_TOGGLE: '[data-widget="todo-list"]' 1001 }; 1002 var ClassName = { 1003 TODO_LIST_DONE: 'done' 1004 }; 1005 var Default = { 1006 onCheck: function onCheck(item) { 1007 return item; 1008 }, 1009 onUnCheck: function onUnCheck(item) { 1010 return item; 1011 } 1012 }; 1013 /** 1014 * Class Definition 1015 * ==================================================== 1016 */ 1017 1018 var TodoList = 1019 /*#__PURE__*/ 1020 function () { 1021 function TodoList(element, config) { 1022 this._config = config; 1023 this._element = element; 1024 1025 this._init(); 1026 } // Public 1027 1028 1029 var _proto = TodoList.prototype; 1030 1031 _proto.toggle = function toggle(item) { 1032 item.parents('li').toggleClass(ClassName.TODO_LIST_DONE); 1033 1034 if (!$(item).prop('checked')) { 1035 this.unCheck($(item)); 1036 return; 1037 } 1038 1039 this.check(item); 1040 }; 1041 1042 _proto.check = function check(item) { 1043 this._config.onCheck.call(item); 1044 }; 1045 1046 _proto.unCheck = function unCheck(item) { 1047 this._config.onUnCheck.call(item); 1048 } // Private 1049 ; 1050 1051 _proto._init = function _init() { 1052 var that = this; 1053 $(Selector.DATA_TOGGLE).find('input:checkbox:checked').parents('li').toggleClass(ClassName.TODO_LIST_DONE); 1054 $(Selector.DATA_TOGGLE).on('change', 'input:checkbox', function (event) { 1055 that.toggle($(event.target)); 1056 }); 1057 } // Static 1058 ; 1059 1060 TodoList._jQueryInterface = function _jQueryInterface(config) { 1061 return this.each(function () { 1062 var data = $(this).data(DATA_KEY); 1063 1064 var _options = $.extend({}, Default, $(this).data()); 1065 1066 if (!data) { 1067 data = new TodoList($(this), _options); 1068 $(this).data(DATA_KEY, data); 1069 } 1070 1071 if (config === 'init') { 1072 data[config](); 1073 } 1074 }); 1075 }; 1076 1077 return TodoList; 1078 }(); 1079 /** 1080 * Data API 1081 * ==================================================== 1082 */ 1083 1084 1085 $(window).on('load', function () { 1086 TodoList._jQueryInterface.call($(Selector.DATA_TOGGLE)); 1087 }); 1088 /** 1089 * jQuery API 1090 * ==================================================== 1091 */ 1092 1093 $.fn[NAME] = TodoList._jQueryInterface; 1094 $.fn[NAME].Constructor = TodoList; 1095 1096 $.fn[NAME].noConflict = function () { 1097 $.fn[NAME] = JQUERY_NO_CONFLICT; 1098 return TodoList._jQueryInterface; 1099 }; 1100 1101 return TodoList; 1102 }(jQuery); 1103 1104 /** 1105 * -------------------------------------------- 1106 * AdminLTE CardWidget.js 1107 * License MIT 1108 * -------------------------------------------- 1109 */ 1110 var CardWidget = function ($) { 1111 /** 1112 * Constants 1113 * ==================================================== 1114 */ 1115 var NAME = 'CardWidget'; 1116 var DATA_KEY = 'lte.cardwidget'; 1117 var EVENT_KEY = "." + DATA_KEY; 1118 var JQUERY_NO_CONFLICT = $.fn[NAME]; 1119 var Event = { 1120 EXPANDED: "expanded" + EVENT_KEY, 1121 COLLAPSED: "collapsed" + EVENT_KEY, 1122 MAXIMIZED: "maximized" + EVENT_KEY, 1123 MINIMIZED: "minimized" + EVENT_KEY, 1124 REMOVED: "removed" + EVENT_KEY 1125 }; 1126 var ClassName = { 1127 CARD: 'card', 1128 COLLAPSED: 'collapsed-card', 1129 WAS_COLLAPSED: 'was-collapsed', 1130 MAXIMIZED: 'maximized-card' 1131 }; 1132 var Selector = { 1133 DATA_REMOVE: '[data-card-widget="remove"]', 1134 DATA_COLLAPSE: '[data-card-widget="collapse"]', 1135 DATA_MAXIMIZE: '[data-card-widget="maximize"]', 1136 CARD: "." + ClassName.CARD, 1137 CARD_HEADER: '.card-header', 1138 CARD_BODY: '.card-body', 1139 CARD_FOOTER: '.card-footer', 1140 COLLAPSED: "." + ClassName.COLLAPSED 1141 }; 1142 var Default = { 1143 animationSpeed: 'normal', 1144 collapseTrigger: Selector.DATA_COLLAPSE, 1145 removeTrigger: Selector.DATA_REMOVE, 1146 maximizeTrigger: Selector.DATA_MAXIMIZE, 1147 collapseIcon: 'fa-minus', 1148 expandIcon: 'fa-plus', 1149 maximizeIcon: 'fa-expand', 1150 minimizeIcon: 'fa-compress' 1151 }; 1152 1153 var CardWidget = 1154 /*#__PURE__*/ 1155 function () { 1156 function CardWidget(element, settings) { 1157 this._element = element; 1158 this._parent = element.parents(Selector.CARD).first(); 1159 1160 if (element.hasClass(ClassName.CARD)) { 1161 this._parent = element; 1162 } 1163 1164 this._settings = $.extend({}, Default, settings); 1165 } 1166 1167 var _proto = CardWidget.prototype; 1168 1169 _proto.collapse = function collapse() { 1170 var _this = this; 1171 1172 this._parent.children(Selector.CARD_BODY + ", " + Selector.CARD_FOOTER).slideUp(this._settings.animationSpeed, function () { 1173 _this._parent.addClass(ClassName.COLLAPSED); 1174 }); 1175 1176 this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.collapseIcon).addClass(this._settings.expandIcon).removeClass(this._settings.collapseIcon); 1177 1178 var collapsed = $.Event(Event.COLLAPSED); 1179 1180 this._element.trigger(collapsed, this._parent); 1181 }; 1182
1183 _proto.expand = function expand() { 1184 var _this2 = this; 1185 1186 this._parent.children(Selector.CARD_BODY + ", " + Selector.CARD_FOOTER).slideDown(this._settings.animationSpeed, function () { 1187 _this2._parent.removeClass(ClassName.COLLAPSED); 1188 }); 1189 1190 this._parent.find('> ' + Selector.CARD_HEADER + ' ' + this._settings.collapseTrigger + ' .' + this._settings.expandIcon).addClass(this._settings.collapseIcon).removeClass(this._settings.expandIcon); 1191 1192 var expanded = $.Event(Event.EXPANDED); 1193 1194 this._element.trigger(expanded, this._parent); 1195 }; 1196 1197 _proto.remove = function remove() { 1198 this._parent.slideUp(); 1199 1200 var removed = $.Event(Event.REMOVED); 1201 1202 this._element.trigger(removed, this._parent); 1203 }; 1204 1205 _proto.toggle = function toggle() { 1206 if (this._parent.hasClass(ClassName.COLLAPSED)) { 1207 this.expand(); 1208 return; 1209 } 1210 1211 this.collapse(); 1212 }; 1213 1214 _proto.maximize = function maximize() { 1215 this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.maximizeIcon).addClass(this._settings.minimizeIcon).removeClass(this._settings.maximizeIcon); 1216 1217 this._parent.css({ 1218 'height': this._parent.height(), 1219 'width': this._parent.width(), 1220 'transition': 'all .15s' 1221 }).delay(150).queue(function () { 1222 $(this).addClass(ClassName.MAXIMIZED); 1223 $('html').addClass(ClassName.MAXIMIZED); 1224 1225 if ($(this).hasClass(ClassName.COLLAPSED)) { 1226 $(this).addClass(ClassName.WAS_COLLAPSED); 1227 } 1228 1229 $(this).dequeue(); 1230 }); 1231 1232 var maximized = $.Event(Event.MAXIMIZED); 1233 1234 this._element.trigger(maximized, this._parent); 1235 }; 1236 1237 _proto.minimize = function minimize() { 1238 this._parent.find(this._settings.maximizeTrigger + ' .' + this._settings.minimizeIcon).addClass(this._settings.maximizeIcon).removeClass(this._settings.minimizeIcon); 1239 1240 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 () { 1241 $(this).removeClass(ClassName.MAXIMIZED); 1242 $('html').removeClass(ClassName.MAXIMIZED); 1243 $(this).css({ 1244 'height': 'inherit', 1245 'width': 'inherit' 1246 }); 1247 1248 if ($(this).hasClass(ClassName.WAS_COLLAPSED)) { 1249 $(this).removeClass(ClassName.WAS_COLLAPSED); 1250 } 1251 1252 $(this).dequeue(); 1253 }); 1254 1255 var MINIMIZED = $.Event(Event.MINIMIZED); 1256 1257 this._element.trigger(MINIMIZED, this._parent); 1258 }; 1259 1260 _proto.toggleMaximize = function toggleMaximize() { 1261 if (this._parent.hasClass(ClassName.MAXIMIZED)) { 1262 this.minimize(); 1263 return; 1264 } 1265 1266 this.maximize(); 1267 } // Private 1268 ; 1269 1270 _proto._init = function _init(card) { 1271 var _this3 = this; 1272 1273 this._parent = card; 1274 $(this).find(this._settings.collapseTrigger).click(function () {
1275 _this3.toggle(); 1276 }); 1277 $(this).find(this._settings.maximizeTrigger).click(function () { 1278 _this3.toggleMaximize(); 1279 }); 1280 $(this).find(this._settings.removeTrigger).click(function () { 1281 _this3.remove(); 1282 }); 1283 } // Static 1284 ; 1285 1286 CardWidget._jQueryInterface = function _jQueryInterface(config) { 1287 var data = $(this).data(DATA_KEY); 1288 1289 var _options = $.extend({}, Default, $(this).data()); 1290 1291 if (!data) { 1292 data = new CardWidget($(this), _options); 1293 $(this).data(DATA_KEY, typeof config === 'string' ? data : config); 1294 } 1295 1296 if (typeof config === 'string' && config.match(/collapse|expand|remove|toggle|maximize|minimize|toggleMaximize/)) { 1297 data[config](); 1298 } else if (typeof config === 'object') { 1299 data._init($(this)); 1300 } 1301 }; 1302 1303 return CardWidget; 1304 }(); 1305 /** 1306 * Data API 1307 * ==================================================== 1308 */ 1309 1310 1311 $(document).on('click', Selector.DATA_COLLAPSE, function (event) { 1312 if (event) { 1313 event.preventDefault(); 1314 } 1315 1316 CardWidget._jQueryInterface.call($(this), 'toggle'); 1317 }); 1318 $(document).on('click', Selector.DATA_REMOVE, function (event) { 1319 if (event) { 1320 event.preventDefault(); 1321 } 1322 1323 CardWidget._jQueryInterface.call($(this), 'remove'); 1324 }); 1325 $(document).on('click', Selector.DATA_MAXIMIZE, function (event) { 1326 if (event) { 1327 event.preventDefault(); 1328 } 1329 1330 CardWidget._jQueryInterface.call($(this), 'toggleMaximize'); 1331 }); 1332 /** 1333 * jQuery API 1334 * ==================================================== 1335 */ 1336 1337 $.fn[NAME] = CardWidget._jQueryInterface; 1338 $.fn[NAME].Constructor = CardWidget; 1339 1340 $.fn[NAME].noConflict = function () { 1341 $.fn[NAME] = JQUERY_NO_CONFLICT; 1342 return CardWidget._jQueryInterface; 1343 }; 1344 1345 return CardWidget; 1346 }(jQuery); 1347 1348 /** 1349 * -------------------------------------------- 1350 * AdminLTE CardRefresh.js 1351 * License MIT 1352 * -------------------------------------------- 1353 */ 1354 var CardRefresh = function ($) { 1355 /** 1356 * Constants 1357 * ==================================================== 1358 */ 1359 var NAME = 'CardRefresh'; 1360 var DATA_KEY = 'lte.cardrefresh'; 1361 var EVENT_KEY = "." + DATA_KEY; 1362 var JQUERY_NO_CONFLICT = $.fn[NAME]; 1363 var Event = { 1364 LOADED: "loaded" + EVENT_KEY, 1365 OVERLAY_ADDED: "overlay.added" + EVENT_KEY, 1366 OVERLAY_REMOVED: "overlay.removed" + EVENT_KEY 1367 }; 1368 var ClassName = { 1369 CARD: 'card' 1370 }; 1371 var Selector = { 1372 CARD: "." + ClassName.CARD, 1373 DATA_REFRESH: '[data-card-widget="card-refresh"]' 1374 }; 1375 var Default = { 1376 source: '', 1377 sourceSelector: '', 1378 params: {}, 1379 trigger: Selector.DATA_REFRESH, 1380 content: '.card-body', 1381 loadInContent: true, 1382 loadOnInit: true, 1383 responseType: '', 1384 overlayTemplate: '<div class="overlay"><i class="fas fa-2x fa-sync-alt fa-spin"></i></div>', 1385 onLoadStart: function onLoadStart() {}, 1386 onLoadDone: function onLoadDone(response) { 1387 return response; 1388 } 1389 }; 1390 1391 var CardRefresh = 1392 /*#__PURE__*/ 1393 function () { 1394 function CardRefresh(element, settings) { 1395 this._element = element; 1396 this._parent = element.parents(Selector.CARD).first(); 1397 this._settings = $.extend({}, Default, settings); 1398 this._overlay = $(this._settings.overlayTemplate); 1399 1400 if (element.hasClass(ClassName.CARD)) { 1401 this._parent = element; 1402 } 1403 1404 if (this._settings.source === '') { 1405 throw new Error('Source url was not defined. Please specify a url in your CardRefresh source option.'); 1406 } 1407 1408 this._init(); 1409 1410 if (this._settings.loadOnInit) { 1411 this.load(); 1412 } 1413 } 1414 1415 var _proto = CardRefresh.prototype; 1416 1417 _proto.load = function load() { 1418 this._addOverlay(); 1419 1420 this._settings.onLoadStart.call($(this)); 1421 1422 $.get(this._settings.source, this._settings.params, function (response) { 1423 if (this._settings.loadInContent) { 1424 if (this._settings.sourceSelector != '') { 1425 response = $(response).find(this._settings.sourceSelector).html(); 1426 } 1427 1428 this._parent.find(this._settings.content).html(response); 1429 } 1430
1431 this._settings.onLoadDone.call($(this), response); 1432 1433 this._removeOverlay(); 1434 }.bind(this), this._settings.responseType !== '' && this._settings.responseType); 1435 var loadedEvent = $.Event(Event.LOADED); 1436 $(this._element).trigger(loadedEvent); 1437 }; 1438 1439 _proto._addOverlay = function _addOverlay() { 1440 this._parent.append(this._overlay); 1441 1442 var overlayAddedEvent = $.Event(Event.OVERLAY_ADDED); 1443 $(this._element).trigger(overlayAddedEvent); 1444 }; 1445 1446 _proto._removeOverlay = function _removeOverlay() { 1447 this._parent.find(this._overlay).remove(); 1448 1449 var overlayRemovedEvent = $.Event(Event.OVERLAY_REMOVED); 1450 $(this._element).trigger(overlayRemovedEvent); 1451 }; 1452 1453 // Private 1454 _proto._init = function _init(card) { 1455 var _this = this; 1456 1457 $(this).find(this._settings.trigger).on('click', function () { 1458 _this.load(); 1459 }); 1460 } // Static 1461 ; 1462 1463 CardRefresh._jQueryInterface = function _jQueryInterface(config) { 1464 var data = $(this).data(DATA_KEY); 1465 1466 var _options = $.extend({}, Default, $(this).data()); 1467 1468 if (!data) { 1469 data = new CardRefresh($(this), _options); 1470 $(this).data(DATA_KEY, typeof config === 'string' ? data : config); 1471 } 1472 1473 if (typeof config === 'string' && config.match(/load/)) { 1474 data[config](); 1475 } else if (typeof config === 'object') { 1476 data._init($(this)); 1477 } 1478 }; 1479 1480 return CardRefresh; 1481 }(); 1482 /** 1483 * Data API 1484 * ==================================================== 1485 */ 1486 1487 1488 $(document).on('click', Selector.DATA_REFRESH, function (event) { 1489 if (event) { 1490 event.preventDefault(); 1491 } 1492 1493 CardRefresh._jQueryInterface.call($(this), 'load'); 1494 }); 1495 /** 1496 * jQuery API 1497 * ==================================================== 1498 */ 1499 1500 $.fn[NAME] = CardRefresh._jQueryInterface; 1501 $.fn[NAME].Constructor = CardRefresh; 1502 1503 $.fn[NAME].noConflict = function () { 1504 $.fn[NAME] = JQUERY_NO_CONFLICT; 1505 return CardRefresh._jQueryInterface; 1506 }; 1507 1508 return CardRefresh; 1509 }(jQuery); 1510 1511 /** 1512 * -------------------------------------------- 1513 * AdminLTE Dropdown.js 1514 * License MIT 1515 * -------------------------------------------- 1516 */ 1517 var Dropdown = function ($) { 1518 /** 1519 * Constants 1520 * ==================================================== 1521 */ 1522 var NAME = 'Dropdown'; 1523 var DATA_KEY = 'lte.dropdown'; 1524 var JQUERY_NO_CONFLICT = $.fn[NAME]; 1525 var Selector = { 1526 DROPDOWN_MENU: 'ul.dropdown-menu', 1527 DROPDOWN_TOGGLE: '[data-toggle="dropdown"]' 1528 }; 1529 var Default = {}; 1530 /** 1531 * Class Definition 1532 * ==================================================== 1533 */ 1534 1535 var Dropdown = 1536 /*#__PURE__*/ 1537 function () { 1538 function Dropdown(element, config) { 1539 this._config = config; 1540 this._element = element; 1541 } // Public 1542 1543 1544 var _proto = Dropdown.prototype; 1545 1546 _proto.toggleSubmenu = function toggleSubmenu() { 1547 this._element.siblings().show().toggleClass("show"); 1548 1549 if (!this._element.next().hasClass('show')) { 1550 this._element.parents('.dropdown-menu').first().find('.show').removeClass("show").hide(); 1551 } 1552 1553 this._element.parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) { 1554 $('.dropdown-submenu .show').removeClass("show").hide(); 1555 }); 1556 } // Static 1557 ; 1558 1559 Dropdown._jQueryInterface = function _jQueryInterface(config) { 1560 return this.each(function () { 1561 var data = $(this).data(DATA_KEY); 1562 1563 var _config = $.extend({}, Default, $(this).data()); 1564 1565 if (!data) { 1566 data = new Dropdown($(this), _config); 1567 $(this).data(DATA_KEY, data); 1568 } 1569 1570 if (config === 'toggleSubmenu') { 1571 data[config](); 1572 } 1573 }); 1574 }; 1575 1576 return Dropdown; 1577 }(); 1578 /** 1579 * Data API 1580 * ==================================================== 1581 */ 1582 1583 1584 $(Selector.DROPDOWN_MENU + ' ' + Selector.DROPDOWN_TOGGLE).on("click", function (event) { 1585 event.preventDefault(); 1586 event.stopPropagation(); 1587 1588 Dropdown._jQueryInterface.call($(this), 'toggleSubmenu'); 1589 }); // $(Selector.SIDEBAR + ' a').on('focusin', () => { 1590 // $(Selector.MAIN_SIDEBAR).addClass(ClassName.SIDEBAR_FOCUSED); 1591 // }) 1592 // $(Selector.SIDEBAR + ' a').on('focusout', () => { 1593 // $(Selector.MAIN_SIDEBAR).removeClass(ClassName.SIDEBAR_FOCUSED); 1594 // }) 1595 1596 /** 1597 * jQuery API 1598 * ==================================================== 1599 */ 1600 1601 $.fn[NAME] = Dropdown._jQueryInterface; 1602 $.fn[NAME].Constructor = Dropdown; 1603 1604 $.fn[NAME].noConflict = function () { 1605 $.fn[NAME] = JQUERY_NO_CONFLICT; 1606 return Dropdown._jQueryInterface; 1607 }; 1608 1609 return Dropdown; 1610 }(jQuery); 1611 1612 /** 1613 * -------------------------------------------- 1614 * AdminLTE Toasts.js 1615 * License MIT 1616 * -------------------------------------------- 1617 */ 1618 var Toasts = function ($) { 1619 /** 1620 * Constants 1621 * ==================================================== 1622 */ 1623 var NAME = 'Toasts'; 1624 var DATA_KEY = 'lte.toasts'; 1625 var EVENT_KEY = "." + DATA_KEY; 1626 var JQUERY_NO_CONFLICT = $.fn[NAME]; 1627 var Event = { 1628 INIT: "init" + EVENT_KEY,
1629 CREATED: "created" + EVENT_KEY, 1630 REMOVED: "removed" + EVENT_KEY 1631 }; 1632 var Selector = { 1633 BODY: 'toast-body', 1634 CONTAINER_TOP_RIGHT: '#toastsContainerTopRight', 1635 CONTAINER_TOP_LEFT: '#toastsContainerTopLeft', 1636 CONTAINER_BOTTOM_RIGHT: '#toastsContainerBottomRight', 1637 CONTAINER_BOTTOM_LEFT: '#toastsContainerBottomLeft' 1638 }; 1639 var ClassName = { 1640 TOP_RIGHT: 'toasts-top-right', 1641 TOP_LEFT: 'toasts-top-left', 1642 BOTTOM_RIGHT: 'toasts-bottom-right', 1643 BOTTOM_LEFT: 'toasts-bottom-left', 1644 FADE: 'fade' 1645 }; 1646 var Position = { 1647 TOP_RIGHT: 'topRight', 1648 TOP_LEFT: 'topLeft', 1649 BOTTOM_RIGHT: 'bottomRight', 1650 BOTTOM_LEFT: 'bottomLeft' 1651 }; 1652 var Default = { 1653 position: Position.TOP_RIGHT, 1654 fixed: true, 1655 autohide: false, 1656 autoremove: true, 1657 delay: 1000, 1658 fade: true, 1659 icon: null, 1660 image: null, 1661 imageAlt: null, 1662 imageHeight: '25px', 1663 title: null, 1664 subtitle: null, 1665 close: true, 1666 body: null, 1667 class: null 1668 }; 1669 /** 1670 * Class Definition 1671 * ==================================================== 1672 */ 1673 1674 var Toasts = 1675 /*#__PURE__*/ 1676 function () { 1677 function Toasts(element, config) { 1678 this._config = config; 1679 1680 this._prepareContainer(); 1681 1682 var initEvent = $.Event(Event.INIT); 1683 $('body').trigger(initEvent); 1684 } // Public 1685 1686 1687 var _proto = Toasts.prototype; 1688 1689 _proto.create = function create() { 1690 var toast = $('<div class="toast" role="alert" aria-live="assertive" aria-atomic="true"/>'); 1691 toast.data('autohide', this._config.autohide); 1692 toast.data('animation', this._config.fade); 1693 1694 if (this._config.class) { 1695 toast.addClass(this._config.class); 1696 } 1697 1698 if (this._config.delay && this._config.delay != 500) { 1699 toast.data('delay', this._config.delay); 1700 } 1701 1702 var toast_header = $('<div class="toast-header">'); 1703 1704 if (this._config.image != null) { 1705 var toast_image = $('<img />').addClass('rounded mr-2').attr('src', this._config.image).attr('alt', this._config.imageAlt); 1706 1707 if (this._config.imageHeight != null) { 1708 toast_image.height(this._config.imageHeight).width('auto'); 1709 } 1710 1711 toast_header.append(toast_image); 1712 } 1713 1714 if (this._config.icon != null) { 1715 toast_header.append($('<i />').addClass('mr-2').addClass(this._config.icon)); 1716 } 1717 1718 if (this._config.title != null) { 1719 toast_header.append($('<strong />').addClass('mr-auto').html(this._config.title)); 1720 } 1721 1722 if (this._config.subtitle != null) { 1723 toast_header.append($('<small />').html(this._config.subtitle)); 1724 } 1725 1726 if (this._config.close == true) { 1727 var toast_close = $('<button data-dismiss="toast" />').attr('type', 'button').addClass('ml-2 mb-1 close').attr('aria-label', 'Close').append('<span aria-hidden="true">×</span>'); 1728 1729 if (this._config.title == null) { 1730 toast_close.toggleClass('ml-2 ml-auto'); 1731 } 1732 1733 toast_header.append(toast_close); 1734 } 1735 1736 toast.append(toast_header); 1737 1738 if (this._config.body != null) { 1739 toast.append($('<div class="toast-body" />').html(this._config.body)); 1740 } 1741 1742 $(this._getContainerId()).prepend(toast); 1743 var createdEvent = $.Event(Event.CREATED); 1744 $('body').trigger(createdEvent); 1745 toast.toast('show'); 1746 1747 if (this._config.autoremove) { 1748 toast.on('hidden.bs.toast', function () { 1749 $(this).delay(200).remove(); 1750 var removedEvent = $.Event(Event.REMOVED); 1751 $('body').trigger(removedEvent); 1752 }); 1753 } 1754 } // Static 1755 ; 1756 1757 _proto._getContainerId = function _getContainerId() { 1758 if (this._config.position == Position.TOP_RIGHT) { 1759 return Selector.CONTAINER_TOP_RIGHT; 1760 } else if (this._config.position == Position.TOP_LEFT) { 1761 return Selector.CONTAINER_TOP_LEFT; 1762 } else if (this._config.position == Position.BOTTOM_RIGHT) { 1763 return Selector.CONTAINER_BOTTOM_RIGHT; 1764 } else if (this._config.position == Position.BOTTOM_LEFT) { 1765 return Selector.CONTAINER_BOTTOM_LEFT; 1766 } 1767 }; 1768 1769 _proto._prepareContainer = function _prepareContainer() { 1770 if ($(this._getContainerId()).length === 0) {
1771 var container = $('<div />').attr('id', this._getContainerId().replace('#', '')); 1772 1773 if (this._config.position == Position.TOP_RIGHT) { 1774 container.addClass(ClassName.TOP_RIGHT); 1775 } else if (this._config.position == Position.TOP_LEFT) { 1776 container.addClass(ClassName.TOP_LEFT); 1777 } else if (this._config.position == Position.BOTTOM_RIGHT) { 1778 container.addClass(ClassName.BOTTOM_RIGHT); 1779 } else if (this._config.position == Position.BOTTOM_LEFT) { 1780 container.addClass(ClassName.BOTTOM_LEFT); 1781 } 1782 1783 $('body').append(container); 1784 } 1785 1786 if (this._config.fixed) { 1787 $(this._getContainerId()).addClass('fixed'); 1788 } else { 1789 $(this._getContainerId()).removeClass('fixed'); 1790 } 1791 } // Static 1792 ; 1793 1794 Toasts._jQueryInterface = function _jQueryInterface(option, config) { 1795 return this.each(function () { 1796 var _options = $.extend({}, Default, config); 1797 1798 var toast = new Toasts($(this), _options); 1799 1800 if (option === 'create') { 1801 toast[option](); 1802 } 1803 }); 1804 }; 1805 1806 return Toasts; 1807 }(); 1808 /** 1809 * jQuery API 1810 * ==================================================== 1811 */ 1812 1813 1814 $.fn[NAME] = Toasts._jQueryInterface; 1815 $.fn[NAME].Constructor = Toasts; 1816 1817 $.fn[NAME].noConflict = function () { 1818 $.fn[NAME] = JQUERY_NO_CONFLICT; 1819 return Toasts._jQueryInterface; 1820 }; 1821 1822 return Toasts; 1823 }(jQuery); 1824 1825 exports.CardRefresh = CardRefresh; 1826 exports.CardWidget = CardWidget; 1827 exports.ControlSidebar = ControlSidebar; 1828 exports.DirectChat = DirectChat; 1829 exports.Dropdown = Dropdown; 1830 exports.Layout = Layout; 1831 exports.PushMenu = PushMenu; 1832 exports.Toasts = Toasts; 1833 exports.TodoList = TodoList; 1834 exports.Treeview = Treeview; 1835 1836 Object.defineProperty(exports, '__esModule', { value: true }); 1837 1838}))); 1839//# sourceMappingURL=adminlte.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.