raise-common-lib 0.0.15 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/bundles/raise-common-lib.umd.js +785 -71
  2. package/bundles/raise-common-lib.umd.js.map +1 -1
  3. package/bundles/raise-common-lib.umd.min.js +2 -2
  4. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/lib/layout/grid-box/index.component.js +68 -0
  6. package/esm2015/lib/layout/main-container/index.component.js +10 -5
  7. package/esm2015/lib/layout/multi-tab/index.component.js +310 -0
  8. package/esm2015/lib/layout/page-list/index.component.js +69 -0
  9. package/esm2015/lib/layout/page-tab/index.component.js +58 -0
  10. package/esm2015/lib/layout/rs-aside/index.component.js +4 -4
  11. package/esm2015/lib/layout/rs-header/index.component.js +3 -3
  12. package/esm2015/lib/raise-common-lib.module.js +23 -8
  13. package/esm2015/lib/service/common-function.service.js +55 -1
  14. package/esm2015/lib/service/icon-loader.service.js +19 -10
  15. package/esm2015/lib/service/keep-alive.service.js +92 -0
  16. package/esm2015/public-api.js +6 -2
  17. package/esm2015/raise-common-lib.js +2 -2
  18. package/esm5/lib/layout/grid-box/index.component.js +80 -0
  19. package/esm5/lib/layout/main-container/index.component.js +11 -6
  20. package/esm5/lib/layout/multi-tab/index.component.js +356 -0
  21. package/esm5/lib/layout/page-list/index.component.js +81 -0
  22. package/esm5/lib/layout/page-tab/index.component.js +67 -0
  23. package/esm5/lib/layout/rs-aside/index.component.js +4 -4
  24. package/esm5/lib/layout/rs-header/index.component.js +3 -3
  25. package/esm5/lib/raise-common-lib.module.js +23 -8
  26. package/esm5/lib/service/common-function.service.js +67 -1
  27. package/esm5/lib/service/icon-loader.service.js +18 -9
  28. package/esm5/lib/service/keep-alive.service.js +133 -0
  29. package/esm5/public-api.js +6 -2
  30. package/esm5/raise-common-lib.js +2 -2
  31. package/fesm2015/raise-common-lib.js +659 -62
  32. package/fesm2015/raise-common-lib.js.map +1 -1
  33. package/fesm5/raise-common-lib.js +784 -72
  34. package/fesm5/raise-common-lib.js.map +1 -1
  35. package/lib/layout/{common-list → grid-box}/index.component.d.ts +1 -1
  36. package/lib/layout/main-container/index.component.d.ts +1 -0
  37. package/lib/layout/multi-tab/index.component.d.ts +38 -0
  38. package/lib/layout/page-list/index.component.d.ts +12 -0
  39. package/lib/layout/page-tab/index.component.d.ts +11 -0
  40. package/lib/service/common-function.service.d.ts +2 -0
  41. package/lib/service/icon-loader.service.d.ts +5 -3
  42. package/lib/service/keep-alive.service.d.ts +11 -0
  43. package/package.json +1 -1
  44. package/public-api.d.ts +5 -1
  45. package/raise-common-lib.metadata.json +1 -1
  46. package/src/assets/img/close-url.svg +10 -0
  47. package/src/assets/img/desktop-refresh-btn.svg +6 -0
  48. package/src/assets/img/icon-more-active.svg +7 -0
  49. package/src/assets/img/icon-more.svg +7 -0
  50. package/src/assets/img/split-button-arrow.svg +3 -0
  51. package/src/assets/style/reset/button.scss +38 -3
  52. package/esm2015/lib/layout/common-list/index.component.js +0 -69
  53. package/esm5/lib/layout/common-list/index.component.js +0 -81
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@syncfusion/ej2-angular-grids'), require('lodash'), require('@angular/router'), require('angular-svg-icon'), require('@angular/material/snack-bar'), require('@angular/material/dialog'), require('@angular/forms'), require('@angular/common/http'), require('@angular/common'), require('@syncfusion/ej2-angular-buttons'), require('@syncfusion/ej2-angular-diagrams'), require('@syncfusion/ej2-angular-popups'), require('@syncfusion/ej2-angular-calendars'), require('@syncfusion/ej2-angular-inputs'), require('@syncfusion/ej2-angular-dropdowns'), require('@syncfusion/ej2-angular-pivotview'), require('@syncfusion/ej2-angular-charts'), require('@syncfusion/ej2-angular-layouts'), require('@syncfusion/ej2-angular-navigations'), require('@syncfusion/ej2-angular-pdfviewer'), require('@syncfusion/ej2-angular-splitbuttons'), require('@syncfusion/ej2-angular-richtexteditor')) :
3
- typeof define === 'function' && define.amd ? define('raise-common-lib', ['exports', '@angular/core', '@syncfusion/ej2-angular-grids', 'lodash', '@angular/router', 'angular-svg-icon', '@angular/material/snack-bar', '@angular/material/dialog', '@angular/forms', '@angular/common/http', '@angular/common', '@syncfusion/ej2-angular-buttons', '@syncfusion/ej2-angular-diagrams', '@syncfusion/ej2-angular-popups', '@syncfusion/ej2-angular-calendars', '@syncfusion/ej2-angular-inputs', '@syncfusion/ej2-angular-dropdowns', '@syncfusion/ej2-angular-pivotview', '@syncfusion/ej2-angular-charts', '@syncfusion/ej2-angular-layouts', '@syncfusion/ej2-angular-navigations', '@syncfusion/ej2-angular-pdfviewer', '@syncfusion/ej2-angular-splitbuttons', '@syncfusion/ej2-angular-richtexteditor'], factory) :
4
- (global = global || self, factory(global['raise-common-lib'] = {}, global.ng.core, global.ej2AngularGrids, global.lodash, global.ng.router, global.angularSvgIcon, global.ng.material['snack-bar'], global.ng.material.dialog, global.ng.forms, global.ng.common.http, global.ng.common, global.ej2AngularButtons, global.ej2AngularDiagrams, global.ej2AngularPopups, global.ej2AngularCalendars, global.ej2AngularInputs, global.ej2AngularDropdowns, global.ej2AngularPivotview, global.ej2AngularCharts, global.ej2AngularLayouts, global.ej2AngularNavigations, global.ej2AngularPdfviewer, global.ej2AngularSplitbuttons, global.ej2AngularRichtexteditor));
5
- }(this, (function (exports, core, ej2AngularGrids, lodash, router, angularSvgIcon, snackBar, dialog, forms, http, common, ej2AngularButtons, ej2AngularDiagrams, ej2AngularPopups, ej2AngularCalendars, ej2AngularInputs, ej2AngularDropdowns, ej2AngularPivotview, ej2AngularCharts, ej2AngularLayouts, ej2AngularNavigations, ej2AngularPdfviewer, ej2AngularSplitbuttons, ej2AngularRichtexteditor) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@syncfusion/ej2-angular-grids'), require('lodash'), require('@angular/router'), require('rxjs/operators'), require('@angular/material/icon'), require('@angular/platform-browser'), require('@angular/material/snack-bar'), require('@angular/material/dialog'), require('@angular/forms'), require('@angular/common/http'), require('@angular/common'), require('@syncfusion/ej2-angular-buttons'), require('@syncfusion/ej2-angular-diagrams'), require('@syncfusion/ej2-angular-popups'), require('@syncfusion/ej2-angular-calendars'), require('@syncfusion/ej2-angular-inputs'), require('@syncfusion/ej2-angular-dropdowns'), require('@syncfusion/ej2-angular-pivotview'), require('@syncfusion/ej2-angular-charts'), require('@syncfusion/ej2-angular-layouts'), require('@syncfusion/ej2-angular-navigations'), require('@syncfusion/ej2-angular-pdfviewer'), require('@syncfusion/ej2-angular-splitbuttons'), require('@syncfusion/ej2-angular-richtexteditor')) :
3
+ typeof define === 'function' && define.amd ? define('raise-common-lib', ['exports', '@angular/core', '@syncfusion/ej2-angular-grids', 'lodash', '@angular/router', 'rxjs/operators', '@angular/material/icon', '@angular/platform-browser', '@angular/material/snack-bar', '@angular/material/dialog', '@angular/forms', '@angular/common/http', '@angular/common', '@syncfusion/ej2-angular-buttons', '@syncfusion/ej2-angular-diagrams', '@syncfusion/ej2-angular-popups', '@syncfusion/ej2-angular-calendars', '@syncfusion/ej2-angular-inputs', '@syncfusion/ej2-angular-dropdowns', '@syncfusion/ej2-angular-pivotview', '@syncfusion/ej2-angular-charts', '@syncfusion/ej2-angular-layouts', '@syncfusion/ej2-angular-navigations', '@syncfusion/ej2-angular-pdfviewer', '@syncfusion/ej2-angular-splitbuttons', '@syncfusion/ej2-angular-richtexteditor'], factory) :
4
+ (global = global || self, factory(global['raise-common-lib'] = {}, global.ng.core, global.ej2AngularGrids, global.lodash, global.ng.router, global.rxjs.operators, global.ng.material.icon, global.ng.platformBrowser, global.ng.material['snack-bar'], global.ng.material.dialog, global.ng.forms, global.ng.common.http, global.ng.common, global.ej2AngularButtons, global.ej2AngularDiagrams, global.ej2AngularPopups, global.ej2AngularCalendars, global.ej2AngularInputs, global.ej2AngularDropdowns, global.ej2AngularPivotview, global.ej2AngularCharts, global.ej2AngularLayouts, global.ej2AngularNavigations, global.ej2AngularPdfviewer, global.ej2AngularSplitbuttons, global.ej2AngularRichtexteditor));
5
+ }(this, (function (exports, core, ej2AngularGrids, lodash, router, operators, icon, platformBrowser, snackBar, dialog, forms, http, common, ej2AngularButtons, ej2AngularDiagrams, ej2AngularPopups, ej2AngularCalendars, ej2AngularInputs, ej2AngularDropdowns, ej2AngularPivotview, ej2AngularCharts, ej2AngularLayouts, ej2AngularNavigations, ej2AngularPdfviewer, ej2AngularSplitbuttons, ej2AngularRichtexteditor) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -1420,18 +1420,18 @@
1420
1420
 
1421
1421
  /**
1422
1422
  * @fileoverview added by tsickle
1423
- * Generated from: lib/layout/common-list/index.component.ts
1423
+ * Generated from: lib/layout/page-list/index.component.ts
1424
1424
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1425
1425
  */
1426
- var CommonListComponent = /** @class */ (function () {
1427
- function CommonListComponent() {
1426
+ var RsPageListComponent = /** @class */ (function () {
1427
+ function RsPageListComponent() {
1428
1428
  this.customPageTitle = false;
1429
1429
  this.isInner = false;
1430
1430
  }
1431
1431
  /**
1432
1432
  * @return {?}
1433
1433
  */
1434
- CommonListComponent.prototype.ngOnInit = /**
1434
+ RsPageListComponent.prototype.ngOnInit = /**
1435
1435
  * @return {?}
1436
1436
  */
1437
1437
  function () {
@@ -1446,7 +1446,7 @@
1446
1446
  /**
1447
1447
  * @return {?}
1448
1448
  */
1449
- CommonListComponent.prototype.onSeach = /**
1449
+ RsPageListComponent.prototype.onSeach = /**
1450
1450
  * @return {?}
1451
1451
  */
1452
1452
  function () {
@@ -1455,43 +1455,757 @@
1455
1455
  /**
1456
1456
  * @return {?}
1457
1457
  */
1458
- CommonListComponent.prototype.onInput = /**
1458
+ RsPageListComponent.prototype.onInput = /**
1459
1459
  * @return {?}
1460
1460
  */
1461
1461
  function () {
1462
1462
  this.debouncedInput();
1463
1463
  };
1464
- CommonListComponent.decorators = [
1464
+ RsPageListComponent.decorators = [
1465
1465
  { type: core.Component, args: [{
1466
- selector: 'rs-common-list',
1467
- template: "<div class=\"rs-page-list-wrap\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n <ng-content select=\"[titleSlot]\"></ng-content>\r\n </ng-container>\r\n <ng-template #defaultTitle>\r\n <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n </ng-template>\r\n <div class=\"rs-content-wrap\">\r\n <ng-content select=\"[tabSlot]\"></ng-content>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-left-col\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <div class=\"rs-search-input\">\r\n <ejs-textbox\r\n type=\"text\"\r\n class=\"e-input\"\r\n [(ngModel)]=\"searchValue\"\r\n (input)=\"onInput()\"\r\n placeholder=\"Search all fields\"\r\n [showClearButton]=\"true\"\r\n autocomplete=\"off\"\r\n ></ejs-textbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
1468
- styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-content-wrap{display:flex;flex-direction:column;flex:1;height:0}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-left-col,.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-right-col{display:flex;gap:12px}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:28px}.rs-page-list-wrap .rs-content-wrap .rs-grid-wrap{flex:1;height:0}.rs-page-list-wrap.is-not-inner .rs-content-wrap{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px 0 rgba(0,0,0,.1)}.rs-page-list-wrap .rs-search-input{width:240px}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group{border-radius:14px!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group.e-input-focus,.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group:hover{box-shadow:0 0 3px 0 rgba(31,123,255,.4)!important;border-color:var(--rs-input-hover-border-color)!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group.e-input-focus input.e-input,.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group:hover input.e-input{box-shadow:none!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group input.e-input{width:calc(100% - 50px);height:26px}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group::before{content:\"\"!important;margin:6px 0 0 8px;display:block;width:16px;height:16px;background-image:url(/assets/img/search.svg);background-size:cover;background-position:center}"]
1466
+ selector: 'rs-page-list',
1467
+ template: "<div class=\"rs-page-list-wrap\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n <ng-content select=\"[titleSlot]\"></ng-content>\r\n </ng-container>\r\n <ng-template #defaultTitle>\r\n <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n </ng-template>\r\n <div class=\"rs-content-wrap\">\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-left-col\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <div class=\"rs-search-input\">\r\n <ejs-textbox\r\n type=\"text\"\r\n class=\"e-input\"\r\n [(ngModel)]=\"searchValue\"\r\n (input)=\"onInput()\"\r\n placeholder=\"Search all fields\"\r\n [showClearButton]=\"true\"\r\n autocomplete=\"off\"\r\n ></ejs-textbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
1468
+ styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-content-wrap{display:flex;flex-direction:column;flex:1;height:0}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-left-col,.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-right-col{display:flex;gap:12px}.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-page-list-wrap .rs-content-wrap .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:28px}.rs-page-list-wrap .rs-content-wrap .rs-grid-wrap{flex:1;height:0}.rs-page-list-wrap.is-not-inner .rs-content-wrap{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px 0 rgba(0,0,0,.1)}.rs-page-list-wrap .rs-search-input{width:240px}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group{border-radius:14px!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group.e-input-focus,.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group:hover{box-shadow:0 0 3px 0 rgba(31,123,255,.4)!important;border-color:var(--rs-input-hover-border-color)!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group.e-input-focus input.e-input,.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group:hover input.e-input{box-shadow:none!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group input.e-input{width:calc(100% - 50px);height:26px}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group input.e-input:hover{box-shadow:none!important}.rs-page-list-wrap .rs-search-input ::ng-deep .e-input-group::before{content:\"\"!important;margin:6px 0 0 8px;display:block;width:16px;height:16px;background-image:url(/assets/img/search.svg);background-size:cover;background-position:center}"]
1469
1469
  }] }
1470
1470
  ];
1471
- CommonListComponent.propDecorators = {
1471
+ RsPageListComponent.propDecorators = {
1472
1472
  gridContent: [{ type: core.ContentChild, args: [CommonGridComponent, { static: true },] }],
1473
1473
  pageTitle: [{ type: core.Input }],
1474
1474
  customPageTitle: [{ type: core.Input }],
1475
1475
  isInner: [{ type: core.Input }]
1476
1476
  };
1477
- return CommonListComponent;
1477
+ return RsPageListComponent;
1478
1478
  }());
1479
1479
  if (false) {
1480
1480
  /** @type {?} */
1481
- CommonListComponent.prototype.gridContent;
1481
+ RsPageListComponent.prototype.gridContent;
1482
1482
  /** @type {?} */
1483
- CommonListComponent.prototype.pageTitle;
1483
+ RsPageListComponent.prototype.pageTitle;
1484
1484
  /** @type {?} */
1485
- CommonListComponent.prototype.customPageTitle;
1485
+ RsPageListComponent.prototype.customPageTitle;
1486
1486
  /** @type {?} */
1487
- CommonListComponent.prototype.isInner;
1487
+ RsPageListComponent.prototype.isInner;
1488
1488
  /**
1489
1489
  * @type {?}
1490
1490
  * @private
1491
1491
  */
1492
- CommonListComponent.prototype.debouncedInput;
1492
+ RsPageListComponent.prototype.debouncedInput;
1493
1493
  /** @type {?} */
1494
- CommonListComponent.prototype.searchValue;
1494
+ RsPageListComponent.prototype.searchValue;
1495
+ }
1496
+
1497
+ /**
1498
+ * @fileoverview added by tsickle
1499
+ * Generated from: lib/layout/page-tab/index.component.ts
1500
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1501
+ */
1502
+ var RsPageTabComponent = /** @class */ (function () {
1503
+ function RsPageTabComponent() {
1504
+ this.customPageTitle = false;
1505
+ this.tabList = [];
1506
+ this.tabChange = new core.EventEmitter();
1507
+ this.animation = {
1508
+ previous: { effect: "", duration: 0, easing: "" },
1509
+ next: { effect: "", duration: 0, easing: "" },
1510
+ };
1511
+ }
1512
+ /**
1513
+ * @return {?}
1514
+ */
1515
+ RsPageTabComponent.prototype.ngOnInit = /**
1516
+ * @return {?}
1517
+ */
1518
+ function () { };
1519
+ /**
1520
+ * @param {?} e
1521
+ * @return {?}
1522
+ */
1523
+ RsPageTabComponent.prototype.onTabClick = /**
1524
+ * @param {?} e
1525
+ * @return {?}
1526
+ */
1527
+ function (e) {
1528
+ this.tabChange.emit(this.tabList[e.selectedIndex]);
1529
+ };
1530
+ RsPageTabComponent.decorators = [
1531
+ { type: core.Component, args: [{
1532
+ selector: "rs-page-tab",
1533
+ template: "<div class=\"rs-page-list-wrap\">\r\n <ng-container *ngIf=\"customPageTitle; else defaultTitle\">\r\n <ng-content select=\"[titleSlot]\"></ng-content>\r\n </ng-container>\r\n <ng-template #defaultTitle>\r\n <div class=\"rs-page-title\" *ngIf=\"pageTitle\">{{ pageTitle }}</div>\r\n </ng-template>\r\n <ejs-tab\r\n class=\"rs-tab\"\r\n (selected)=\"onTabClick($event)\"\r\n [animation]=\"animation\"\r\n\toverflowMode=\"Popup\"\r\n heightAdjustMode=\"None\"\r\n >\r\n <e-tabitems>\r\n <e-tabitem *ngFor=\"let item of tabList\">\r\n <ng-template #headerText>\r\n <div>{{ item.title }}</div>\r\n </ng-template>\r\n </e-tabitem>\r\n </e-tabitems>\r\n </ejs-tab>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[tabContentSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n",
1534
+ styles: [".rs-page-list-wrap{height:100%;display:flex;flex-direction:column;position:relative;margin:0 auto;max-width:1885px}.rs-page-list-wrap .rs-page-title{font-family:var(--rs-font-family);font-size:var(--rs-page-title-font-size);font-weight:700;text-align:left;color:var(--rs-page-title-color);display:flex;align-items:center;padding:16px 8px 12px 20px}.rs-page-list-wrap .rs-tab{padding:0 20px}.rs-page-list-wrap .rs-tab .e-tab-header::before{display:none}.rs-page-list-wrap .rs-tab .e-toolbar-items{gap:32px;min-height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item{border:0}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap{padding:0;border:0;position:relative;height:36px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-wrap::before{content:\" \";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:transparent}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item .e-tab-text{color:#5f6f81;font-family:Arial;font-size:13px;font-style:normal;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-wrap::before{background-color:#1f7bff}.rs-page-list-wrap .rs-tab .e-toolbar-items .e-toolbar-item.e-active .e-tab-text{color:#44566c}.rs-page-list-wrap .rs-tab .e-hor-nav{width:24px;height:24px;min-height:24px;top:3px;border-radius:4px;background-color:transparent!important;border:1px solid #eaedf0!important}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons{box-shadow:none;background-color:transparent!important;border-color:transparent!important;background-image:url(../../assets/img/icon-more.svg);background-size:14px 3px;background-repeat:no-repeat;background-position:4px 14px}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons::before{display:none}.rs-page-list-wrap .rs-tab .e-hor-nav .e-icons:hover{background-color:#eff5fb!important;border-color:#b1d0fc!important;background-image:url(../../assets/img/icon-more-active.svg)}.rs-page-list-wrap .rs-tab .e-toolbar-pop{min-width:160px;border-radius:10px;background:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.25);padding:8px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap{padding:0 8px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap .e-tab-text{color:#44566c;font-family:Arial;font-size:13px;font-weight:400;line-height:16px}.rs-page-list-wrap .rs-tab .e-toolbar-pop .e-toolbar-item .e-tab-wrap:hover{border-radius:6px;background:rgba(31,123,255,.05)}.rs-page-list-wrap .rs-grid-wrap{flex:1;height:0}"]
1535
+ }] }
1536
+ ];
1537
+ RsPageTabComponent.propDecorators = {
1538
+ pageTitle: [{ type: core.Input }],
1539
+ customPageTitle: [{ type: core.Input }],
1540
+ tabList: [{ type: core.Input }],
1541
+ currentTab: [{ type: core.Input }],
1542
+ tabChange: [{ type: core.Output }]
1543
+ };
1544
+ return RsPageTabComponent;
1545
+ }());
1546
+ if (false) {
1547
+ /** @type {?} */
1548
+ RsPageTabComponent.prototype.pageTitle;
1549
+ /** @type {?} */
1550
+ RsPageTabComponent.prototype.customPageTitle;
1551
+ /** @type {?} */
1552
+ RsPageTabComponent.prototype.tabList;
1553
+ /** @type {?} */
1554
+ RsPageTabComponent.prototype.currentTab;
1555
+ /** @type {?} */
1556
+ RsPageTabComponent.prototype.tabChange;
1557
+ /** @type {?} */
1558
+ RsPageTabComponent.prototype.animation;
1559
+ }
1560
+
1561
+ /**
1562
+ * @fileoverview added by tsickle
1563
+ * Generated from: lib/layout/grid-box/index.component.ts
1564
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1565
+ */
1566
+ var GridBoxComponent = /** @class */ (function () {
1567
+ function GridBoxComponent() {
1568
+ this.customPageTitle = false;
1569
+ this.isInner = false;
1570
+ }
1571
+ /**
1572
+ * @return {?}
1573
+ */
1574
+ GridBoxComponent.prototype.ngOnInit = /**
1575
+ * @return {?}
1576
+ */
1577
+ function () {
1578
+ var _this = this;
1579
+ this.debouncedInput = lodash.debounce((/**
1580
+ * @return {?}
1581
+ */
1582
+ function () {
1583
+ _this.onSeach();
1584
+ }), 300);
1585
+ };
1586
+ /**
1587
+ * @return {?}
1588
+ */
1589
+ GridBoxComponent.prototype.onSeach = /**
1590
+ * @return {?}
1591
+ */
1592
+ function () {
1593
+ this.gridContent.grid.search(this.searchValue);
1594
+ };
1595
+ /**
1596
+ * @return {?}
1597
+ */
1598
+ GridBoxComponent.prototype.onInput = /**
1599
+ * @return {?}
1600
+ */
1601
+ function () {
1602
+ this.debouncedInput();
1603
+ };
1604
+ GridBoxComponent.decorators = [
1605
+ { type: core.Component, args: [{
1606
+ selector: 'rs-grid-box',
1607
+ template: "<div class=\"rs-grid-box\" [ngClass]=\"{ 'is-not-inner': !isInner }\">\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"rs-left-col\">\r\n <ng-content select=\"[leftToolbarBtnSlot]\"></ng-content>\r\n </div>\r\n <div class=\"rs-right-col\">\r\n <ng-content select=\"[rightToolbarBtnSlot]\"></ng-content>\r\n <div class=\"rs-search-input\">\r\n <ejs-textbox\r\n type=\"text\"\r\n class=\"e-input\"\r\n [(ngModel)]=\"searchValue\"\r\n (input)=\"onInput()\"\r\n placeholder=\"Search all fields\"\r\n [showClearButton]=\"true\"\r\n autocomplete=\"off\"\r\n ></ejs-textbox>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rs-grid-wrap\">\r\n <ng-content select=\"[gridSlot]\"></ng-content>\r\n </div>\r\n</div>\r\n",
1608
+ styles: [":host{height:100%}.rs-grid-box{display:flex;flex-direction:column;height:100%}.rs-grid-box.is-not-inner{border-radius:15px;padding:12px 20px;background:#fff;border:1px solid var(--rs-border-color);box-shadow:0 0 4px 0 rgba(0,0,0,.1)}.rs-grid-box .rs-toolbar-wrap{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.rs-grid-box .rs-toolbar-wrap .rs-left-col,.rs-grid-box .rs-toolbar-wrap .rs-right-col{display:flex;gap:12px}.rs-grid-box .rs-toolbar-wrap .rs-left-col ::ng-deep .e-btn,.rs-grid-box .rs-toolbar-wrap .rs-right-col ::ng-deep .e-btn{height:28px}.rs-grid-box .rs-grid-wrap{flex:1;height:0}.rs-grid-box .rs-search-input{width:240px}.rs-grid-box .rs-search-input ::ng-deep .e-input-group{border-radius:14px!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group.e-input-focus,.rs-grid-box .rs-search-input ::ng-deep .e-input-group:hover{box-shadow:0 0 3px 0 rgba(31,123,255,.4)!important;border-color:var(--rs-input-hover-border-color)!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group.e-input-focus input.e-input,.rs-grid-box .rs-search-input ::ng-deep .e-input-group:hover input.e-input{box-shadow:none!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group input.e-input{width:calc(100% - 50px);height:26px}.rs-grid-box .rs-search-input ::ng-deep .e-input-group input.e-input:hover{box-shadow:none!important}.rs-grid-box .rs-search-input ::ng-deep .e-input-group::before{content:\"\"!important;margin:6px 0 0 8px;display:block;width:16px;height:16px;background-image:url(/assets/img/search.svg);background-size:cover;background-position:center}"]
1609
+ }] }
1610
+ ];
1611
+ GridBoxComponent.propDecorators = {
1612
+ gridContent: [{ type: core.ContentChild, args: [core.TemplateRef, { static: true },] }],
1613
+ pageTitle: [{ type: core.Input }],
1614
+ customPageTitle: [{ type: core.Input }],
1615
+ isInner: [{ type: core.Input }]
1616
+ };
1617
+ return GridBoxComponent;
1618
+ }());
1619
+ if (false) {
1620
+ /** @type {?} */
1621
+ GridBoxComponent.prototype.gridContent;
1622
+ /** @type {?} */
1623
+ GridBoxComponent.prototype.pageTitle;
1624
+ /** @type {?} */
1625
+ GridBoxComponent.prototype.customPageTitle;
1626
+ /** @type {?} */
1627
+ GridBoxComponent.prototype.isInner;
1628
+ /**
1629
+ * @type {?}
1630
+ * @private
1631
+ */
1632
+ GridBoxComponent.prototype.debouncedInput;
1633
+ /** @type {?} */
1634
+ GridBoxComponent.prototype.searchValue;
1635
+ }
1636
+
1637
+ /**
1638
+ * @fileoverview added by tsickle
1639
+ * Generated from: lib/service/common-function.service.ts
1640
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1641
+ */
1642
+ var CommonFunctionService = /** @class */ (function () {
1643
+ function CommonFunctionService() {
1644
+ }
1645
+ /**
1646
+ * @return {?}
1647
+ */
1648
+ CommonFunctionService.prototype.testMethod = /**
1649
+ * @return {?}
1650
+ */
1651
+ function () {
1652
+ return "test1111";
1653
+ };
1654
+ /**
1655
+ * @param {?} text
1656
+ * @param {?=} maxWidth
1657
+ * @param {?=} fontSize
1658
+ * @return {?}
1659
+ */
1660
+ CommonFunctionService.prototype.setMiddleEllipsis = /**
1661
+ * @param {?} text
1662
+ * @param {?=} maxWidth
1663
+ * @param {?=} fontSize
1664
+ * @return {?}
1665
+ */
1666
+ function (text, maxWidth, fontSize) {
1667
+ if (maxWidth === void 0) { maxWidth = 150; }
1668
+ if (fontSize === void 0) { fontSize = 13; }
1669
+ /** @type {?} */
1670
+ var canvas = document.createElement("canvas");
1671
+ /** @type {?} */
1672
+ var context = canvas.getContext("2d");
1673
+ context.font = fontSize + "px Arial";
1674
+ /** @type {?} */
1675
+ var width = context.measureText(text).width;
1676
+ if (width <= maxWidth) {
1677
+ return text;
1678
+ }
1679
+ maxWidth = Math.floor(maxWidth - context.measureText("...").width);
1680
+ /** @type {?} */
1681
+ var firstPart = "";
1682
+ /** @type {?} */
1683
+ var secondPart = "";
1684
+ /** @type {?} */
1685
+ var half = Math.floor(maxWidth / 2);
1686
+ for (var i = 0; i < text.length; i++) {
1687
+ firstPart += text[i];
1688
+ width = context.measureText(firstPart).width;
1689
+ if (width > half) {
1690
+ break;
1691
+ }
1692
+ }
1693
+ for (var i = text.length - 1; i >= 0; i--) {
1694
+ secondPart = text[i] + secondPart;
1695
+ width = context.measureText(secondPart).width;
1696
+ if (width > half) {
1697
+ break;
1698
+ }
1699
+ }
1700
+ return firstPart + "..." + secondPart;
1701
+ };
1702
+ /**
1703
+ * @param {?} url
1704
+ * @return {?}
1705
+ */
1706
+ CommonFunctionService.prototype.getPureUrl = /**
1707
+ * @param {?} url
1708
+ * @return {?}
1709
+ */
1710
+ function (url) {
1711
+ if (url) {
1712
+ // 如果params的value 携带查询参数, 则截取前面部分
1713
+ url = decodeURIComponent(url);
1714
+ if (url.includes("?")) {
1715
+ url = url.split("?")[0];
1716
+ }
1717
+ }
1718
+ return url;
1719
+ };
1720
+ CommonFunctionService.decorators = [
1721
+ { type: core.Injectable, args: [{
1722
+ providedIn: "root",
1723
+ },] }
1724
+ ];
1725
+ /** @nocollapse */
1726
+ CommonFunctionService.ctorParameters = function () { return []; };
1727
+ /** @nocollapse */ CommonFunctionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function CommonFunctionService_Factory() { return new CommonFunctionService(); }, token: CommonFunctionService, providedIn: "root" });
1728
+ return CommonFunctionService;
1729
+ }());
1730
+
1731
+ /**
1732
+ * @fileoverview added by tsickle
1733
+ * Generated from: lib/service/keep-alive.service.ts
1734
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1735
+ */
1736
+ /** @type {?} */
1737
+ var storedRoutes = {};
1738
+ /** @type {?} */
1739
+ var toBeDeleteUrl;
1740
+ /** @type {?} */
1741
+ var excludeRoutes = [];
1742
+ // 不需要缓存的url
1743
+ var
1744
+ // 不需要缓存的url
1745
+ KeepAliveService = /** @class */ (function () {
1746
+ function KeepAliveService() {
1747
+ }
1748
+ /**
1749
+ * @param {?} routes
1750
+ * @return {?}
1751
+ */
1752
+ KeepAliveService.prototype.setExcludeRoutes = /**
1753
+ * @param {?} routes
1754
+ * @return {?}
1755
+ */
1756
+ function (routes) {
1757
+ excludeRoutes = routes; // 设置不缓存的路由
1758
+ };
1759
+ /**
1760
+ * @param {?} route
1761
+ * @return {?}
1762
+ */
1763
+ KeepAliveService.prototype.shouldDetach = /**
1764
+ * @param {?} route
1765
+ * @return {?}
1766
+ */
1767
+ function (route) {
1768
+ if (toBeDeleteUrl === this.getRoutePath(route)) {
1769
+ // 对于新开的又即将关闭的tab,不缓存
1770
+ toBeDeleteUrl = "";
1771
+ return false;
1772
+ }
1773
+ return !excludeRoutes.includes(route.routeConfig.path);
1774
+ };
1775
+ /**
1776
+ * @param {?} route
1777
+ * @param {?} handle
1778
+ * @return {?}
1779
+ */
1780
+ KeepAliveService.prototype.store = /**
1781
+ * @param {?} route
1782
+ * @param {?} handle
1783
+ * @return {?}
1784
+ */
1785
+ function (route, handle) {
1786
+ // console.log("store", this.getRoutePath(route));
1787
+ // console.log("store", storedRoutes);
1788
+ storedRoutes[this.getRoutePath(route)] = handle;
1789
+ };
1790
+ /**
1791
+ * @param {?} route
1792
+ * @return {?}
1793
+ */
1794
+ KeepAliveService.prototype.shouldAttach = /**
1795
+ * @param {?} route
1796
+ * @return {?}
1797
+ */
1798
+ function (route) {
1799
+ return !!storedRoutes[this.getRoutePath(route)];
1800
+ };
1801
+ /**
1802
+ * @param {?} route
1803
+ * @return {?}
1804
+ */
1805
+ KeepAliveService.prototype.retrieve = /**
1806
+ * @param {?} route
1807
+ * @return {?}
1808
+ */
1809
+ function (route) {
1810
+ if (!route.routeConfig)
1811
+ return null;
1812
+ if (route.routeConfig.loadChildren)
1813
+ return null;
1814
+ return storedRoutes[this.getRoutePath(route)];
1815
+ };
1816
+ /**
1817
+ * @param {?} future
1818
+ * @param {?} curr
1819
+ * @return {?}
1820
+ */
1821
+ KeepAliveService.prototype.shouldReuseRoute = /**
1822
+ * @param {?} future
1823
+ * @param {?} curr
1824
+ * @return {?}
1825
+ */
1826
+ function (future, curr) {
1827
+ // console.log("shouldReuseRoute");
1828
+ return this.getRoutePath(future) === this.getRoutePath(curr); // 复用相同的路由
1829
+ };
1830
+ /**
1831
+ * @param {?} route
1832
+ * @return {?}
1833
+ */
1834
+ KeepAliveService.prototype.getRoutePath = /**
1835
+ * @param {?} route
1836
+ * @return {?}
1837
+ */
1838
+ function (route) {
1839
+ if (route.routeConfig) {
1840
+ // const pathParams = JSON.stringify(route.params);
1841
+ /** @type {?} */
1842
+ var queryParams = new URLSearchParams(route.queryParams).toString();
1843
+ return route._routerState.url + (queryParams ? "?" + queryParams : "");
1844
+ }
1845
+ return "";
1846
+ };
1847
+ /**
1848
+ * @param {?} path
1849
+ * @return {?}
1850
+ */
1851
+ KeepAliveService.prototype.clearCache = /**
1852
+ * @param {?} path
1853
+ * @return {?}
1854
+ */
1855
+ function (path) {
1856
+ toBeDeleteUrl = path;
1857
+ delete storedRoutes[path]; // 清除指定路径的缓存
1858
+ };
1859
+ return KeepAliveService;
1860
+ }());
1861
+
1862
+ /**
1863
+ * @fileoverview added by tsickle
1864
+ * Generated from: lib/layout/multi-tab/index.component.ts
1865
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1866
+ */
1867
+ var MultiTabComponent = /** @class */ (function () {
1868
+ function MultiTabComponent(router, cf, activatedRoute, keepAlive, ref) {
1869
+ this.router = router;
1870
+ this.cf = cf;
1871
+ this.activatedRoute = activatedRoute;
1872
+ this.keepAlive = keepAlive;
1873
+ this.ref = ref;
1874
+ this.singleReuseUrls = []; //只能单个缓存的url
1875
+ //只能单个缓存的url
1876
+ this.TAB_WIDTH = 164;
1877
+ this.GAP_NORMAL = 54;
1878
+ this.GAP_SMALL = 30;
1879
+ this.tabList = [];
1880
+ this.selectedTab = 0;
1881
+ this.maxTabs = 10;
1882
+ this.screenWidth = window.innerWidth; // 初始化屏幕宽度
1883
+ }
1884
+ // 初始化屏幕宽度
1885
+ /**
1886
+ * @param {?} event
1887
+ * @return {?}
1888
+ */
1889
+ MultiTabComponent.prototype.onResize =
1890
+ // 初始化屏幕宽度
1891
+ /**
1892
+ * @param {?} event
1893
+ * @return {?}
1894
+ */
1895
+ function (event) {
1896
+ this.screenWidth = window.innerWidth; // 更新屏幕宽度
1897
+ this.setEllipsisTitle();
1898
+ };
1899
+ /**
1900
+ * @return {?}
1901
+ */
1902
+ MultiTabComponent.prototype.ngOnInit = /**
1903
+ * @return {?}
1904
+ */
1905
+ function () {
1906
+ var _this = this;
1907
+ this.initTab();
1908
+ this.router.events
1909
+ .pipe(operators.filter((/**
1910
+ * @param {?} event
1911
+ * @return {?}
1912
+ */
1913
+ function (event) { return event instanceof router.NavigationEnd; })))
1914
+ .subscribe((/**
1915
+ * @return {?}
1916
+ */
1917
+ function () {
1918
+ /** @type {?} */
1919
+ var navigation = _this.router.getCurrentNavigation();
1920
+ if (navigation) {
1921
+ /** @type {?} */
1922
+ var state = navigation.extras.state;
1923
+ // 获取传递的 state
1924
+ /** @type {?} */
1925
+ var currentRoute = _this.router.routerState.root.firstChild;
1926
+ if (currentRoute) {
1927
+ _this.setTab(_this.router.url, currentRoute.snapshot.routeConfig.path, state && state.title);
1928
+ }
1929
+ }
1930
+ }));
1931
+ this.setEllipsisTitle();
1932
+ };
1933
+ /**
1934
+ * @param {?=} title
1935
+ * @return {?}
1936
+ */
1937
+ MultiTabComponent.prototype.setEllipsisTitle = /**
1938
+ * @param {?=} title
1939
+ * @return {?}
1940
+ */
1941
+ function (title) {
1942
+ var _this = this;
1943
+ this.textGap = this.GAP_NORMAL;
1944
+ if (this.screenWidth <= 1100) {
1945
+ this.textGap = this.GAP_SMALL;
1946
+ }
1947
+ var _a = this.calcTabWidth(), allWidth = _a.allWidth, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
1948
+ /** @type {?} */
1949
+ var width = Math.floor((allWidth - rightWidth) / (this.tabList && this.tabList.length));
1950
+ if (title) {
1951
+ return this.cf.setMiddleEllipsis(title, width > this.TAB_WIDTH
1952
+ ? this.TAB_WIDTH - this.textGap
1953
+ : width - this.textGap, 12);
1954
+ }
1955
+ else {
1956
+ this.tabList.forEach((/**
1957
+ * @param {?} ele
1958
+ * @param {?} idx
1959
+ * @return {?}
1960
+ */
1961
+ function (ele, idx) {
1962
+ ele.displayTitle = _this.cf.setMiddleEllipsis(ele.title, width > _this.TAB_WIDTH
1963
+ ? _this.TAB_WIDTH - _this.textGap
1964
+ : width - _this.textGap, 12);
1965
+ }));
1966
+ }
1967
+ };
1968
+ /**
1969
+ * @return {?}
1970
+ */
1971
+ MultiTabComponent.prototype.calcTabWidth = /**
1972
+ * @return {?}
1973
+ */
1974
+ function () {
1975
+ /** @type {?} */
1976
+ var wrap = document.querySelector(".rs-multi-tab");
1977
+ /** @type {?} */
1978
+ var ulElement = document.querySelector(".rs-multi-tab > ul");
1979
+ /** @type {?} */
1980
+ var refreshTabDiv = document.querySelector(".rs-multi-tab .refresh-tab");
1981
+ /** @type {?} */
1982
+ var allWidth;
1983
+ /** @type {?} */
1984
+ var leftWidth;
1985
+ /** @type {?} */
1986
+ var rightWidth;
1987
+ if (wrap && ulElement && refreshTabDiv) {
1988
+ // 获取元素的位置信息
1989
+ /** @type {?} */
1990
+ var wrapRect = wrap.getBoundingClientRect();
1991
+ /** @type {?} */
1992
+ var ulRect = ulElement.getBoundingClientRect();
1993
+ /** @type {?} */
1994
+ var refreshTabRect = refreshTabDiv.getBoundingClientRect();
1995
+ allWidth = wrapRect.width;
1996
+ leftWidth = ulRect.width;
1997
+ rightWidth = refreshTabRect.width;
1998
+ }
1999
+ return {
2000
+ allWidth: allWidth,
2001
+ leftWidth: leftWidth,
2002
+ rightWidth: rightWidth,
2003
+ };
2004
+ };
2005
+ /**
2006
+ * @return {?}
2007
+ */
2008
+ MultiTabComponent.prototype.initTab = /**
2009
+ * @return {?}
2010
+ */
2011
+ function () {
2012
+ /** @type {?} */
2013
+ var TabCache = JSON.parse(sessionStorage.getItem("TabCache"));
2014
+ this.tabList = TabCache || [];
2015
+ };
2016
+ /**
2017
+ * @param {?} tab
2018
+ * @param {?} idx
2019
+ * @return {?}
2020
+ */
2021
+ MultiTabComponent.prototype.closeTab = /**
2022
+ * @param {?} tab
2023
+ * @param {?} idx
2024
+ * @return {?}
2025
+ */
2026
+ function (tab, idx) {
2027
+ this.tabList = this.tabList.filter((/**
2028
+ * @param {?} ele
2029
+ * @return {?}
2030
+ */
2031
+ function (ele) { return ele.url !== tab.url; }));
2032
+ this.clearCache(tab.url);
2033
+ if (this.selectedTab === idx) {
2034
+ /** @type {?} */
2035
+ var targetIdx = Math.max(0, idx - 1);
2036
+ this.changeTab(this.tabList[targetIdx], targetIdx);
2037
+ }
2038
+ this.setEllipsisTitle();
2039
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
2040
+ this.ref.markForCheck();
2041
+ };
2042
+ /**
2043
+ * @param {?} tab
2044
+ * @param {?} idx
2045
+ * @return {?}
2046
+ */
2047
+ MultiTabComponent.prototype.changeTab = /**
2048
+ * @param {?} tab
2049
+ * @param {?} idx
2050
+ * @return {?}
2051
+ */
2052
+ function (tab, idx) {
2053
+ this.router.navigateByUrl(tab.url);
2054
+ this.selectedTab = idx;
2055
+ this.ref.markForCheck();
2056
+ };
2057
+ /**
2058
+ * @param {?} url
2059
+ * @param {?} title
2060
+ * @return {?}
2061
+ */
2062
+ MultiTabComponent.prototype.addTab = /**
2063
+ * @param {?} url
2064
+ * @param {?} title
2065
+ * @return {?}
2066
+ */
2067
+ function (url, title) {
2068
+ if (this.tabList.length >= this.maxTabs) {
2069
+ this.closeTab(this.tabList[0], 0); // 删除第一个
2070
+ }
2071
+ this.tabList.push({
2072
+ url: url,
2073
+ title: title || "default",
2074
+ displayTitle: this.setEllipsisTitle(title || "default"),
2075
+ });
2076
+ this.selectedTab = this.tabList.length - 1;
2077
+ this.setEllipsisTitle();
2078
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
2079
+ this.ref.markForCheck();
2080
+ };
2081
+ /**
2082
+ * @param {?} url
2083
+ * @param {?} pureUrl
2084
+ * @param {?} title
2085
+ * @return {?}
2086
+ */
2087
+ MultiTabComponent.prototype.setTab = /**
2088
+ * @param {?} url
2089
+ * @param {?} pureUrl
2090
+ * @param {?} title
2091
+ * @return {?}
2092
+ */
2093
+ function (url, pureUrl, title) {
2094
+ var _this = this;
2095
+ /** @type {?} */
2096
+ var isExistIdx = this.tabList.findIndex((/**
2097
+ * @param {?} ele
2098
+ * @return {?}
2099
+ */
2100
+ function (ele) { return ele.url === url; }));
2101
+ if (isExistIdx === -1) {
2102
+ /** @type {?} */
2103
+ var singleIdx_1 = this.singleReuseUrls.findIndex((/**
2104
+ * @param {?} ele
2105
+ * @return {?}
2106
+ */
2107
+ function (ele) { return ele === pureUrl; }));
2108
+ if (singleIdx_1 !== -1) {
2109
+ this.tabList = this.tabList.filter((/**
2110
+ * @param {?} ele
2111
+ * @return {?}
2112
+ */
2113
+ function (ele) { return !ele.url.includes(_this.singleReuseUrls[singleIdx_1]); }));
2114
+ this.keepAlive.clearCache(url);
2115
+ }
2116
+ this.addTab(url, title);
2117
+ }
2118
+ else {
2119
+ this.selectedTab = isExistIdx;
2120
+ this.ref.markForCheck();
2121
+ }
2122
+ };
2123
+ /**
2124
+ * @return {?}
2125
+ */
2126
+ MultiTabComponent.prototype.refreshTab = /**
2127
+ * @return {?}
2128
+ */
2129
+ function () {
2130
+ var _this = this;
2131
+ this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
2132
+ /** @type {?} */
2133
+ var currentUrl = this.router.url;
2134
+ this.router.navigateByUrl("/", { skipLocationChange: true }).then((/**
2135
+ * @return {?}
2136
+ */
2137
+ function () {
2138
+ _this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
2139
+ }));
2140
+ };
2141
+ /**
2142
+ * @param {?} url
2143
+ * @return {?}
2144
+ */
2145
+ MultiTabComponent.prototype.clearCache = /**
2146
+ * @param {?} url
2147
+ * @return {?}
2148
+ */
2149
+ function (url) {
2150
+ this.keepAlive.clearCache(url); // 调用自定义策略的清除缓存方法
2151
+ };
2152
+ MultiTabComponent.decorators = [
2153
+ { type: core.Component, args: [{
2154
+ selector: "rs-multi-tab",
2155
+ template: "<div class=\"rs-multi-tab\">\r\n <ul>\r\n <ng-container *ngFor=\"let tab of tabList; let i = index\">\r\n <li\r\n [ngClass]=\"selectedTab === i ? 'isSelect' : 'notSelect'\"\r\n (click)=\"changeTab(tab, i)\"\r\n >\r\n <ejs-tooltip\r\n id=\"notSelectTooltip\"\r\n [showTipPointer]=\"false\"\r\n [openDelay]=\"500\"\r\n *ngIf=\"tab.displayTitle !== tab.title; else originText\"\r\n style=\"height: 27px\"\r\n >\r\n <ng-template #content>\r\n <div class=\"tooltip-content\">\r\n {{ tab.title }}\r\n </div>\r\n </ng-template>\r\n <span class=\"tabTitle\">{{ tab.displayTitle }}</span>\r\n </ejs-tooltip>\r\n <ng-template #originText>\r\n <span class=\"tabTitle\">\r\n {{ tab.displayTitle }}\r\n </span>\r\n </ng-template>\r\n <span class=\"img-block\" *ngIf=\"selectedTab !== i\"></span>\r\n <img\r\n *ngIf=\"tabList.length !== 1\"\r\n src=\"../../../assets/img/close-url.svg\"\r\n (click)=\"closeTab(tab, i)\"\r\n />\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <div class=\"refresh-tab\" (click)=\"refreshTab()\">\r\n <img\r\n id=\"loadingIcon\"\r\n alt\r\n class=\"refresh-btn\"\r\n src=\"../../../assets/img/desktop-refresh-btn.svg\"\r\n />\r\n <span>Refresh Current Tab</span>\r\n </div>\r\n</div>\r\n",
2156
+ styles: [".rs-multi-tab{border-bottom:1px solid #e5eaef;height:28px;width:100%;display:flex;justify-content:space-between}.rs-multi-tab ul{display:flex;margin:0 8px;padding:0;overflow:hidden;height:100%}.rs-multi-tab ul li{max-width:164px;padding:0 12px;display:flex;align-items:center;flex:auto;border:1px solid #e5eaef;border-bottom:none;color:#5f6f81;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:28px;height:100%;background:#f8fafb;vertical-align:top;position:relative;cursor:default}.rs-multi-tab ul li .tabTitle{display:inline-block;white-space:nowrap;font-size:11px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px;transition:width .3s}.rs-multi-tab ul li img{border-radius:4px;padding:4px;margin-left:6px;margin-top:1px;vertical-align:top;cursor:pointer}.rs-multi-tab ul li img:hover{background:#dce8f6}.rs-multi-tab ul li:not(:last-child){border-right:none}.rs-multi-tab ul li:first-of-type{border-top-left-radius:8px}.rs-multi-tab ul li:last-child{border-top-right-radius:8px}.rs-multi-tab ul .isSelect{color:#1f3f5c;background:#fff}.rs-multi-tab ul .notSelect img{display:none}.rs-multi-tab ul .notSelect .img-block{display:inline-block;width:22px}.rs-multi-tab ul .notSelect:hover{color:#1f3f5c;background-color:rgba(31,123,255,.04)}.rs-multi-tab ul .notSelect:hover .img-block{display:none}.rs-multi-tab ul .notSelect:hover img{display:inline-block}.rs-multi-tab .refresh-tab{cursor:pointer;text-align:right;color:#6c7c90;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:28px;padding-right:12px}.rs-multi-tab .refresh-tab img{vertical-align:middle;margin-right:4px}.refresh-tab-loading{-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.tooltip-content{padding:4px;color:#f8fafb;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:14px}@media (max-width:1400px){.refresh-tab{padding-right:0!important}.refresh-tab span{display:none!important}}@media (max-width:1100px){.rs-multi-tab ul li img{position:absolute;right:3px;background-color:#fff}.notSelect:hover img{position:absolute;right:3px;background-color:#eff5fb}.img-block{display:none!important}}@media (max-width:600px){.rs-multi-tab ul li{padding:0 8px}.rs-multi-tab ul .notSelect .img-block{width:0!important}}"]
2157
+ }] }
2158
+ ];
2159
+ /** @nocollapse */
2160
+ MultiTabComponent.ctorParameters = function () { return [
2161
+ { type: router.Router },
2162
+ { type: CommonFunctionService },
2163
+ { type: router.ActivatedRoute },
2164
+ { type: KeepAliveService },
2165
+ { type: core.ChangeDetectorRef }
2166
+ ]; };
2167
+ MultiTabComponent.propDecorators = {
2168
+ singleReuseUrls: [{ type: core.Input }],
2169
+ onResize: [{ type: core.HostListener, args: ["window:resize", ["$event"],] }]
2170
+ };
2171
+ return MultiTabComponent;
2172
+ }());
2173
+ if (false) {
2174
+ /** @type {?} */
2175
+ MultiTabComponent.prototype.singleReuseUrls;
2176
+ /** @type {?} */
2177
+ MultiTabComponent.prototype.TAB_WIDTH;
2178
+ /** @type {?} */
2179
+ MultiTabComponent.prototype.GAP_NORMAL;
2180
+ /** @type {?} */
2181
+ MultiTabComponent.prototype.GAP_SMALL;
2182
+ /** @type {?} */
2183
+ MultiTabComponent.prototype.textGap;
2184
+ /** @type {?} */
2185
+ MultiTabComponent.prototype.foo;
2186
+ /** @type {?} */
2187
+ MultiTabComponent.prototype.comRef;
2188
+ /** @type {?} */
2189
+ MultiTabComponent.prototype.tabList;
2190
+ /** @type {?} */
2191
+ MultiTabComponent.prototype.selectedTab;
2192
+ /** @type {?} */
2193
+ MultiTabComponent.prototype.maxTabs;
2194
+ /** @type {?} */
2195
+ MultiTabComponent.prototype.screenWidth;
2196
+ /** @type {?} */
2197
+ MultiTabComponent.prototype.router;
2198
+ /** @type {?} */
2199
+ MultiTabComponent.prototype.cf;
2200
+ /** @type {?} */
2201
+ MultiTabComponent.prototype.activatedRoute;
2202
+ /** @type {?} */
2203
+ MultiTabComponent.prototype.keepAlive;
2204
+ /**
2205
+ * @type {?}
2206
+ * @private
2207
+ */
2208
+ MultiTabComponent.prototype.ref;
1495
2209
  }
1496
2210
 
1497
2211
  /**
@@ -1502,13 +2216,15 @@
1502
2216
  var MainContainerComponent = /** @class */ (function () {
1503
2217
  function MainContainerComponent() {
1504
2218
  this.isCollapsed = false; // 接收输入属性
2219
+ // 接收输入属性
2220
+ this.singleReuseUrls = []; //只能单个缓存的url
1505
2221
  }
1506
- // 接收输入属性
2222
+ //只能单个缓存的url
1507
2223
  /**
1508
2224
  * @return {?}
1509
2225
  */
1510
2226
  MainContainerComponent.prototype.ngOnInit =
1511
- // 接收输入属性
2227
+ //只能单个缓存的url
1512
2228
  /**
1513
2229
  * @return {?}
1514
2230
  */
@@ -1516,18 +2232,21 @@
1516
2232
  MainContainerComponent.decorators = [
1517
2233
  { type: core.Component, args: [{
1518
2234
  selector: "rs-main-container",
1519
- template: "<div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\r\n <div class=\"left-aside\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n </div>\r\n <div class=\"right-aside\">\r\n <!-- <div class=\"multi-tab\"></div> -->\r\n <div class=\"router-content\">\r\n <ng-content select=\"[routerSlot]\"></ng-content>\r\n </div>\r\n <rs-footer></rs-footer>\r\n </div>\r\n </div>\r\n</div>\r\n",
1520
- styles: [".app-main-container{display:flex;flex-direction:column;height:100vh}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{width:240px;height:100%;padding-right:16px;will-change:width;transition:width .3s}.app-main-container .left-aside.isCollapsed{width:64px;padding-right:0}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .multi-tab{height:40px;background-color:#efefef}.app-main-container .right-aside .router-content{flex:1;overflow:auto}"]
2235
+ template: "<div class=\"app-main-container\">\r\n <ng-content select=\"[headerSlot]\"></ng-content>\r\n <div class=\"main-page\">\r\n <div class=\"left-aside\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[leftAsideSlot]\"></ng-content>\r\n </div>\r\n <div class=\"right-aside\">\r\n <ng-content select=\"[multiTabSlot]\"></ng-content>\r\n <!-- <rs-multi-tab [singleReuseUrls]=\"singleReuseUrls\"></rs-multi-tab> -->\r\n <div class=\"router-content\">\r\n <ng-content select=\"[routerSlot]\"></ng-content>\r\n </div>\r\n <rs-footer></rs-footer>\r\n </div>\r\n </div>\r\n</div>\r\n",
2236
+ styles: [".app-main-container{display:flex;flex-direction:column;height:100vh}.app-main-container .main-page{flex:1;height:0;display:flex;background-color:var(--rs-container-bg)}.app-main-container .left-aside{width:240px;height:100%;padding-right:16px;will-change:width;transition:width .3s}.app-main-container .left-aside.isCollapsed{width:64px;padding-right:0}.app-main-container .right-aside{width:0;flex:1;display:flex;flex-direction:column;padding-right:12px}.app-main-container .right-aside .router-content{flex:1;overflow:auto}"]
1521
2237
  }] }
1522
2238
  ];
1523
2239
  MainContainerComponent.propDecorators = {
1524
- isCollapsed: [{ type: core.Input }]
2240
+ isCollapsed: [{ type: core.Input }],
2241
+ singleReuseUrls: [{ type: core.Input }]
1525
2242
  };
1526
2243
  return MainContainerComponent;
1527
2244
  }());
1528
2245
  if (false) {
1529
2246
  /** @type {?} */
1530
2247
  MainContainerComponent.prototype.isCollapsed;
2248
+ /** @type {?} */
2249
+ MainContainerComponent.prototype.singleReuseUrls;
1531
2250
  }
1532
2251
 
1533
2252
  /**
@@ -1593,8 +2312,8 @@
1593
2312
  RSHeaderComponent.decorators = [
1594
2313
  { type: core.Component, args: [{
1595
2314
  selector: "rs-header",
1596
- template: "<div class=\"rs-header\">\r\n <div class=\"logo-wrap\">\r\n <div class=\"toggle-menu-wrap\">\r\n <img\r\n class=\"toggle-menu\"\r\n src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n (click)=\"onToggleMenu()\"\r\n />\r\n </div>\r\n <img\r\n class=\"logo\"\r\n src=\"../../../assets/img/raise_logo_main.svg\"\r\n alt=\"logo\"\r\n />\r\n </div>\r\n <div class=\"bread-crumbs-wrap\">\r\n <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"group\">\r\n <ng-content select=\"[toolbar]\"></ng-content>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"langulage-wrap\">\r\n <button\r\n class=\"e-btn text\"\r\n ejs-dropdownbutton\r\n [items]=\"langOptions\"\r\n (select)=\"selectLanguage($event)\"\r\n >\r\n {{currentLang.text}}\r\n </button>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"last-login-wrap\">\r\n {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"user-info-wrap\">\r\n <ng-content select=\"[userInfo]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
1597
- styles: [".rs-header{height:50px;background-color:var(--rs-container-bg);display:flex;justify-content:space-between}.rs-header .logo-wrap{width:240px;display:flex;padding:12px 0 0 20px}.rs-header .logo-wrap .toggle-menu-wrap{cursor:pointer;margin-right:8px}.rs-header .logo-wrap .logo{width:77px;height:32px}.rs-header .rs-toolbar-wrap{display:flex;align-items:center}.rs-header .rs-toolbar-wrap .line{width:1px;height:24px;background-color:var(--rs-border-color)}.rs-header .rs-toolbar-wrap .langulage-wrap{padding:0 16px}.rs-header .rs-toolbar-wrap .last-login-wrap{padding:0 16px;color:var(--rs-labels-color);font-size:11px;font-weight:400;line-height:1}.rs-header .rs-toolbar-wrap .user-info-wrap{padding:0 20px 0 16px}"]
2315
+ template: "<div class=\"rs-header\">\r\n <div class=\"logo-wrap\">\r\n <div class=\"toggle-menu-wrap\">\r\n <img\r\n class=\"toggle-menu\"\r\n src=\"../../../assets/img/toggle-menu-icon.svg\"\r\n (click)=\"onToggleMenu()\"\r\n />\r\n </div>\r\n <img\r\n class=\"logo\"\r\n src=\"../../../assets/img/raise_logo_main.svg\"\r\n alt=\"logo\"\r\n />\r\n </div>\r\n <div class=\"bread-crumbs-wrap\">\r\n <ng-content select=\"[breadCrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"rs-toolbar-wrap\">\r\n <div class=\"quick-icon-group\">\r\n <ng-content select=\"[toolbar]\"></ng-content>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"langulage-wrap\">\r\n <button\r\n class=\"e-btn text\"\r\n ejs-dropdownbutton\r\n [items]=\"langOptions\"\r\n (select)=\"selectLanguage($event)\"\r\n >\r\n {{currentLang.text}}\r\n </button>\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"last-login-wrap\">\r\n {{ translation?.LAST_LOGIN || \"Last Login\" }}:\r\n {{ lastLoginTime | date : \"dd MMM yy h:mm a\" }}\r\n </div>\r\n <div class=\"line\"></div>\r\n <div class=\"user-info-wrap\">\r\n <ng-content select=\"[userInfo]\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n",
2316
+ styles: [".rs-header{height:50px;background-color:var(--rs-container-bg);display:flex;justify-content:space-between}.rs-header .logo-wrap{width:240px;display:flex;padding:12px 0 0 20px}.rs-header .logo-wrap .toggle-menu-wrap{cursor:pointer;margin-right:8px}.rs-header .logo-wrap .logo{width:77px;height:32px}.rs-header .rs-toolbar-wrap,.rs-header .rs-toolbar-wrap .quick-icon-group{display:flex;align-items:center}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;margin-right:24px;cursor:pointer}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover{border-radius:4px;background:rgba(31,123,255,.04)}.rs-header .rs-toolbar-wrap .quick-icon-group ::ng-deep .header-icon:hover svg{color:#1f7bff;stroke:#1f7bff}.rs-header .rs-toolbar-wrap .line{width:1px;height:24px;background-color:var(--rs-border-color)}.rs-header .rs-toolbar-wrap .langulage-wrap{padding:0 16px}.rs-header .rs-toolbar-wrap .last-login-wrap{padding:0 16px;color:var(--rs-labels-color);font-size:11px;font-weight:400;line-height:1}.rs-header .rs-toolbar-wrap .user-info-wrap{padding:0 20px 0 16px}"]
1598
2317
  }] }
1599
2318
  ];
1600
2319
  RSHeaderComponent.propDecorators = {
@@ -1679,13 +2398,13 @@
1679
2398
  */
1680
2399
  function (item) {
1681
2400
  this.currentNav = item.title;
1682
- this.router.navigate([item.url]);
2401
+ this.router.navigate([item.url], { state: { title: item.title } });
1683
2402
  };
1684
2403
  RSAsideComponent.decorators = [
1685
2404
  { type: core.Component, args: [{
1686
2405
  selector: "rs-aside",
1687
- template: "<div class=\"rs-aside\">\r\n <div class=\"nav-list\">\r\n <div\r\n class=\"nav-item\"\r\n [ngClass]=\"{ isCurrent: currentNav === nav.title }\"\r\n *ngFor=\"let nav of navList\"\r\n (click)=\"onNavClick(nav)\"\r\n >\r\n <div class=\"nav-item-inner\">\r\n <div\r\n class=\"icon-wrap\"\r\n [ngStyle]=\"{\r\n stroke: currentNav === nav.title ? '#44566c' : '#6c7c90',\r\n fill: currentNav === nav.title ? '#44566c' : '#6c7c90'\r\n }\"\r\n >\r\n <svg-icon\r\n [name]=\"nav.icon\"\r\n [svgStyle]=\"{\r\n 'width.px': 16,\r\n 'height.px': 16\r\n }\"\r\n ></svg-icon>\r\n </div>\r\n <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n nav.title\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n",
1688
- styles: [".rs-aside{display:flex;flex-direction:column;height:100%}.rs-aside .nav-list{padding-top:12px;flex:1;overflow:auto;height:0}.rs-aside .nav-list .nav-item{height:32px;cursor:pointer;padding-left:11px}.rs-aside .nav-list .nav-item .nav-item-inner{display:flex;align-items:center;padding:8px 8px 8px 12px}.rs-aside .nav-list .nav-item:hover .nav-item-inner{border-radius:6px;background:rgba(31,123,255,.04)}.rs-aside .nav-list .nav-item .icon-wrap{width:33px;height:16px}.rs-aside .nav-list .nav-item .nav-text{color:#5f6f81;font-family:Arial;font-size:12px;font-weight:400;line-height:16px;transition:.3s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;top:1px}.rs-aside .nav-list .nav-item .nav-text.isCollapsed{opacity:0;width:0}.rs-aside .nav-list .nav-item.isCurrent{position:relative}.rs-aside .nav-list .nav-item.isCurrent .nav-text{color:#44566c;font-weight:700}.rs-aside .nav-list .nav-item.isCurrent::before{content:\"\";position:absolute;left:4px;top:8px;width:3px;height:16px;background-color:#1364b3;border-radius:2px}.rs-aside .bottom-iconbox{padding:12px 20px;height:48px;display:flex;gap:12px}.rs-aside .bottom-iconbox ::ng-deep .icon-wrap{width:24px;height:24px;border-radius:12px;border:1px solid #eaedf0;display:flex;justify-content:center;align-items:center;background-color:#fff;stroke:#6c7c90;fill:#6c7c90}.rs-aside .bottom-iconbox ::ng-deep .icon-wrap:not(.disabled){cursor:pointer}.rs-aside .bottom-iconbox ::ng-deep .icon-wrap:not(.disabled):hover{stroke:var(--rs-active-color);fill:var(--rs-active-color)}.rs-aside .bottom-iconbox.isCollapsed{flex-direction:column;height:auto}"]
2406
+ template: "<div class=\"rs-aside\">\r\n <div class=\"nav-list\">\r\n <div\r\n class=\"nav-item\"\r\n [ngClass]=\"{ isCurrent: currentNav === nav.title }\"\r\n *ngFor=\"let nav of navList\"\r\n (click)=\"onNavClick(nav)\"\r\n >\r\n <div class=\"nav-item-inner\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"nav.icon\"></mat-icon>\r\n <span class=\"nav-text\" [ngClass]=\"{ isCollapsed: isCollapsed }\">{{\r\n nav.title\r\n }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"bottom-iconbox\" [ngClass]=\"{ isCollapsed: isCollapsed }\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n",
2407
+ styles: [".rs-aside{display:flex;flex-direction:column;height:100%}.rs-aside .nav-list{padding-top:12px;flex:1;overflow:auto;height:0}.rs-aside .nav-list .nav-item{height:32px;cursor:pointer;padding-left:11px}.rs-aside .nav-list .nav-item .nav-item-inner{display:flex;align-items:center;padding:8px 8px 8px 12px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon{width:33px;height:16px}.rs-aside .nav-list .nav-item .nav-item-inner ::ng-deep .menu-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .nav-list .nav-item:hover .nav-item-inner{border-radius:6px;background:rgba(31,123,255,.04)}.rs-aside .nav-list .nav-item:hover .nav-item-inner ::ng-deep .menu-icon svg{color:#44566c;stroke:#44566c}.rs-aside .nav-list .nav-item .nav-text{color:#5f6f81;font-family:Arial;font-size:12px;font-weight:400;line-height:16px;transition:.3s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;position:relative;top:1px}.rs-aside .nav-list .nav-item .nav-text.isCollapsed{opacity:0;width:0}.rs-aside .nav-list .nav-item.isCurrent{position:relative}.rs-aside .nav-list .nav-item.isCurrent .nav-text{color:#44566c;font-weight:700}.rs-aside .nav-list .nav-item.isCurrent::before{content:\"\";position:absolute;left:4px;top:8px;width:3px;height:16px;background-color:#1364b3;border-radius:2px}.rs-aside .bottom-iconbox{padding:12px 20px;height:48px;display:flex;gap:12px}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;border:1px solid #eaedf0;border-radius:24px;cursor:pointer}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon svg{width:16px;height:16px;color:#6c7c90;stroke:#6c7c90}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon.disabled{cursor:default;opacity:.5}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover{background-color:#fff}.rs-aside .bottom-iconbox ::ng-deep .menu-bottom-icon:not(.disabled):hover svg{color:#1f7bff;stroke:#1f7bff}.rs-aside .bottom-iconbox.isCollapsed{flex-direction:column;height:auto}"]
1689
2408
  }] }
1690
2409
  ];
1691
2410
  /** @nocollapse */
@@ -2078,42 +2797,15 @@
2078
2797
  SwitchInputComponent.prototype.valueChange;
2079
2798
  }
2080
2799
 
2081
- /**
2082
- * @fileoverview added by tsickle
2083
- * Generated from: lib/service/common-function.service.ts
2084
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2085
- */
2086
- var CommonFunctionService = /** @class */ (function () {
2087
- function CommonFunctionService() {
2088
- }
2089
- /**
2090
- * @return {?}
2091
- */
2092
- CommonFunctionService.prototype.testMethod = /**
2093
- * @return {?}
2094
- */
2095
- function () {
2096
- return "test1111";
2097
- };
2098
- CommonFunctionService.decorators = [
2099
- { type: core.Injectable, args: [{
2100
- providedIn: "root",
2101
- },] }
2102
- ];
2103
- /** @nocollapse */
2104
- CommonFunctionService.ctorParameters = function () { return []; };
2105
- /** @nocollapse */ CommonFunctionService.ngInjectableDef = core.ɵɵdefineInjectable({ factory: function CommonFunctionService_Factory() { return new CommonFunctionService(); }, token: CommonFunctionService, providedIn: "root" });
2106
- return CommonFunctionService;
2107
- }());
2108
-
2109
2800
  /**
2110
2801
  * @fileoverview added by tsickle
2111
2802
  * Generated from: lib/service/icon-loader.service.ts
2112
2803
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2113
2804
  */
2114
2805
  var IconLoaderService = /** @class */ (function () {
2115
- function IconLoaderService(iconReg) {
2116
- this.iconReg = iconReg;
2806
+ function IconLoaderService(registry, domSanitizer) {
2807
+ this.registry = registry;
2808
+ this.domSanitizer = domSanitizer;
2117
2809
  }
2118
2810
  /**
2119
2811
  * @param {?} list
@@ -2126,11 +2818,12 @@
2126
2818
  function (list) {
2127
2819
  var _this = this;
2128
2820
  list.forEach((/**
2129
- * @param {?} item
2821
+ * @param {?} __0
2130
2822
  * @return {?}
2131
2823
  */
2132
- function (item) {
2133
- _this.iconReg.loadSvg(item.url, item.name).subscribe();
2824
+ function (_a) {
2825
+ var name = _a.name, path = _a.path;
2826
+ _this.registry.addSvgIcon(name, _this.domSanitizer.bypassSecurityTrustResourceUrl(path));
2134
2827
  }));
2135
2828
  };
2136
2829
  IconLoaderService.decorators = [
@@ -2138,7 +2831,8 @@
2138
2831
  ];
2139
2832
  /** @nocollapse */
2140
2833
  IconLoaderService.ctorParameters = function () { return [
2141
- { type: angularSvgIcon.SvgIconRegistryService }
2834
+ { type: icon.MatIconRegistry },
2835
+ { type: platformBrowser.DomSanitizer }
2142
2836
  ]; };
2143
2837
  return IconLoaderService;
2144
2838
  }());
@@ -2147,7 +2841,12 @@
2147
2841
  * @type {?}
2148
2842
  * @private
2149
2843
  */
2150
- IconLoaderService.prototype.iconReg;
2844
+ IconLoaderService.prototype.registry;
2845
+ /**
2846
+ * @type {?}
2847
+ * @private
2848
+ */
2849
+ IconLoaderService.prototype.domSanitizer;
2151
2850
  }
2152
2851
 
2153
2852
  /**
@@ -2766,10 +3465,13 @@
2766
3465
  declarations: [
2767
3466
  CommonGridComponent,
2768
3467
  FloatBoxComponent,
2769
- CommonListComponent,
3468
+ RsPageListComponent,
3469
+ RsPageTabComponent,
3470
+ GridBoxComponent,
2770
3471
  RSHeaderComponent,
2771
3472
  RSFooterComponent,
2772
3473
  RSAsideComponent,
3474
+ MultiTabComponent,
2773
3475
  MainContainerComponent,
2774
3476
  TagInputComponent,
2775
3477
  RadioGroupComponent,
@@ -2786,6 +3488,7 @@
2786
3488
  forms.FormsModule,
2787
3489
  snackBar.MatSnackBarModule,
2788
3490
  dialog.MatDialogModule,
3491
+ icon.MatIconModule,
2789
3492
  ej2AngularGrids.GridModule,
2790
3493
  ej2AngularGrids.PagerModule,
2791
3494
  ej2AngularGrids.GridAllModule,
@@ -2817,10 +3520,11 @@
2817
3520
  ej2AngularLayouts.DashboardLayoutModule,
2818
3521
  ej2AngularNavigations.CarouselAllModule,
2819
3522
  ej2AngularNavigations.ToolbarModule,
3523
+ ej2AngularNavigations.TabModule,
2820
3524
  ej2AngularPdfviewer.PdfViewerModule,
2821
3525
  ej2AngularSplitbuttons.DropDownButtonModule,
3526
+ ej2AngularSplitbuttons.SplitButtonModule,
2822
3527
  ej2AngularRichtexteditor.RichTextEditorAllModule,
2823
- angularSvgIcon.AngularSvgIconModule.forRoot(),
2824
3528
  ],
2825
3529
  providers: [
2826
3530
  ej2AngularGrids.PageService,
@@ -2855,6 +3559,7 @@
2855
3559
  CommonFunctionService,
2856
3560
  IconLoaderService,
2857
3561
  DialogService,
3562
+ KeepAliveService,
2858
3563
  ],
2859
3564
  exports: [
2860
3565
  common.CommonModule,
@@ -2894,15 +3599,20 @@
2894
3599
  ej2AngularLayouts.DashboardLayoutModule,
2895
3600
  ej2AngularNavigations.CarouselAllModule,
2896
3601
  ej2AngularNavigations.ToolbarModule,
3602
+ ej2AngularNavigations.TabModule,
2897
3603
  ej2AngularPdfviewer.PdfViewerModule,
2898
3604
  ej2AngularSplitbuttons.DropDownButtonModule,
3605
+ ej2AngularSplitbuttons.SplitButtonModule,
2899
3606
  ej2AngularRichtexteditor.RichTextEditorAllModule,
2900
3607
  CommonGridComponent,
2901
3608
  FloatBoxComponent,
2902
- CommonListComponent,
3609
+ RsPageListComponent,
3610
+ RsPageTabComponent,
3611
+ GridBoxComponent,
2903
3612
  RSHeaderComponent,
2904
3613
  RSFooterComponent,
2905
3614
  RSAsideComponent,
3615
+ MultiTabComponent,
2906
3616
  MainContainerComponent,
2907
3617
  TagInputComponent,
2908
3618
  RadioGroupComponent,
@@ -2922,17 +3632,21 @@
2922
3632
  exports.CheckboxGroupComponent = CheckboxGroupComponent;
2923
3633
  exports.CommonFunctionService = CommonFunctionService;
2924
3634
  exports.CommonGridComponent = CommonGridComponent;
2925
- exports.CommonListComponent = CommonListComponent;
2926
3635
  exports.DialogService = DialogService;
2927
3636
  exports.FloatBoxComponent = FloatBoxComponent;
3637
+ exports.GridBoxComponent = GridBoxComponent;
2928
3638
  exports.IconLoaderService = IconLoaderService;
3639
+ exports.KeepAliveService = KeepAliveService;
2929
3640
  exports.MainContainerComponent = MainContainerComponent;
2930
3641
  exports.MessageType = MessageType;
3642
+ exports.MultiTabComponent = MultiTabComponent;
2931
3643
  exports.RSAsideComponent = RSAsideComponent;
2932
3644
  exports.RSFooterComponent = RSFooterComponent;
2933
3645
  exports.RSHeaderComponent = RSHeaderComponent;
2934
3646
  exports.RadioGroupComponent = RadioGroupComponent;
2935
3647
  exports.RaiseCommonLibModule = RaiseCommonLibModule;
3648
+ exports.RsPageListComponent = RsPageListComponent;
3649
+ exports.RsPageTabComponent = RsPageTabComponent;
2936
3650
  exports.SwitchInputComponent = SwitchInputComponent;
2937
3651
  exports.TagInputComponent = TagInputComponent;
2938
3652
  exports.ɵa = NewActionNotificationComponent;