raise-common-lib 0.0.14 → 0.0.20

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 (58) hide show
  1. package/bundles/raise-common-lib.umd.js +772 -161
  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 +298 -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 -16
  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 +88 -0
  16. package/esm2015/public-api.js +6 -2
  17. package/esm2015/raise-common-lib.js +2 -3
  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 +347 -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 -16
  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 +129 -0
  29. package/esm5/public-api.js +6 -2
  30. package/esm5/raise-common-lib.js +2 -3
  31. package/fesm2015/raise-common-lib.js +643 -141
  32. package/fesm2015/raise-common-lib.js.map +1 -1
  33. package/fesm5/raise-common-lib.js +771 -162
  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 +37 -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.d.ts +0 -1
  46. package/raise-common-lib.metadata.json +1 -1
  47. package/src/assets/img/close-url.svg +10 -0
  48. package/src/assets/img/desktop-refresh-btn.svg +6 -0
  49. package/src/assets/img/icon-more-active.svg +7 -0
  50. package/src/assets/img/icon-more.svg +7 -0
  51. package/src/assets/img/split-button-arrow copy.svg +3 -0
  52. package/src/assets/img/split-button-arrow.svg +3 -0
  53. package/src/assets/style/reset/button.scss +38 -3
  54. package/esm2015/lib/demo/map/index.component.js +0 -73
  55. package/esm2015/lib/layout/common-list/index.component.js +0 -69
  56. package/esm5/lib/demo/map/index.component.js +0 -85
  57. package/esm5/lib/layout/common-list/index.component.js +0 -81
  58. package/lib/demo/map/index.component.d.ts +0 -12
@@ -1,9 +1,11 @@
1
1
  import { __assign, __spread } from 'tslib';
2
- import { EventEmitter, Component, ChangeDetectorRef, ViewChild, Input, Output, ContentChild, Injectable, ɵɵdefineInjectable, Inject, ɵɵinject, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectorRef, ViewChild, Input, Output, ContentChild, TemplateRef, Injectable, ɵɵdefineInjectable, HostListener, Inject, ɵɵinject, NgModule } from '@angular/core';
3
3
  import { GridModule, PagerModule, GridAllModule, PageService, SortService, FilterService, ExcelExportService, EditService, ResizeService, ToolbarService, ColumnChooserService, AggregateService, ColumnMenuService, DetailRowService, SelectionService, GroupService } from '@syncfusion/ej2-angular-grids';
4
4
  import { debounce } from 'lodash';
5
- import { Router } from '@angular/router';
6
- import { SvgIconRegistryService, AngularSvgIconModule } from 'angular-svg-icon';
5
+ import { NavigationEnd, Router, ActivatedRoute } from '@angular/router';
6
+ import { filter } from 'rxjs/operators';
7
+ import { MatIconRegistry, MatIconModule } from '@angular/material/icon';
8
+ import { DomSanitizer } from '@angular/platform-browser';
7
9
  import { MAT_SNACK_BAR_DATA, MatSnackBar, MatSnackBarModule } from '@angular/material/snack-bar';
8
10
  import { MAT_DIALOG_DATA, MatDialogRef, MatDialog, MatDialogModule } from '@angular/material/dialog';
9
11
  import { ReactiveFormsModule, FormsModule } from '@angular/forms';
@@ -18,11 +20,10 @@ import { DropDownListModule, DropDownTreeModule, MultiSelectAllModule, AutoCompl
18
20
  import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview';
19
21
  import { ChartAllModule, AccumulationChartAllModule, RangeNavigatorAllModule, AccumulationChartModule, PieSeriesService, AccumulationLegendService, AccumulationTooltipService, AccumulationAnnotationService, AccumulationDataLabelService } from '@syncfusion/ej2-angular-charts';
20
22
  import { DashboardLayoutModule } from '@syncfusion/ej2-angular-layouts';
21
- import { CarouselAllModule, ToolbarModule } from '@syncfusion/ej2-angular-navigations';
23
+ import { CarouselAllModule, ToolbarModule, TabModule } from '@syncfusion/ej2-angular-navigations';
22
24
  import { PdfViewerModule, LinkAnnotationService, BookmarkViewService, MagnificationService, ThumbnailViewService, ToolbarService as ToolbarService$1, NavigationService, TextSearchService, TextSelectionService, PrintService } from '@syncfusion/ej2-angular-pdfviewer';
23
- import { DropDownButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
25
+ import { DropDownButtonModule, SplitButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
24
26
  import { RichTextEditorAllModule, HtmlEditorService, ToolbarService as ToolbarService$2 } from '@syncfusion/ej2-angular-richtexteditor';
25
- import { AgmCoreModule } from '@agm/core';
26
27
 
27
28
  /**
28
29
  * @fileoverview added by tsickle
@@ -1221,18 +1222,18 @@ if (false) {
1221
1222
 
1222
1223
  /**
1223
1224
  * @fileoverview added by tsickle
1224
- * Generated from: lib/layout/common-list/index.component.ts
1225
+ * Generated from: lib/layout/page-list/index.component.ts
1225
1226
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1226
1227
  */
1227
- var CommonListComponent = /** @class */ (function () {
1228
- function CommonListComponent() {
1228
+ var RsPageListComponent = /** @class */ (function () {
1229
+ function RsPageListComponent() {
1229
1230
  this.customPageTitle = false;
1230
1231
  this.isInner = false;
1231
1232
  }
1232
1233
  /**
1233
1234
  * @return {?}
1234
1235
  */
1235
- CommonListComponent.prototype.ngOnInit = /**
1236
+ RsPageListComponent.prototype.ngOnInit = /**
1236
1237
  * @return {?}
1237
1238
  */
1238
1239
  function () {
@@ -1247,7 +1248,7 @@ var CommonListComponent = /** @class */ (function () {
1247
1248
  /**
1248
1249
  * @return {?}
1249
1250
  */
1250
- CommonListComponent.prototype.onSeach = /**
1251
+ RsPageListComponent.prototype.onSeach = /**
1251
1252
  * @return {?}
1252
1253
  */
1253
1254
  function () {
@@ -1256,43 +1257,744 @@ var CommonListComponent = /** @class */ (function () {
1256
1257
  /**
1257
1258
  * @return {?}
1258
1259
  */
1259
- CommonListComponent.prototype.onInput = /**
1260
+ RsPageListComponent.prototype.onInput = /**
1260
1261
  * @return {?}
1261
1262
  */
1262
1263
  function () {
1263
1264
  this.debouncedInput();
1264
1265
  };
1265
- CommonListComponent.decorators = [
1266
+ RsPageListComponent.decorators = [
1266
1267
  { type: Component, args: [{
1267
- selector: 'rs-common-list',
1268
- 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",
1269
- 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}"]
1268
+ selector: 'rs-page-list',
1269
+ 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",
1270
+ 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}"]
1270
1271
  }] }
1271
1272
  ];
1272
- CommonListComponent.propDecorators = {
1273
+ RsPageListComponent.propDecorators = {
1273
1274
  gridContent: [{ type: ContentChild, args: [CommonGridComponent, { static: true },] }],
1274
1275
  pageTitle: [{ type: Input }],
1275
1276
  customPageTitle: [{ type: Input }],
1276
1277
  isInner: [{ type: Input }]
1277
1278
  };
1278
- return CommonListComponent;
1279
+ return RsPageListComponent;
1279
1280
  }());
1280
1281
  if (false) {
1281
1282
  /** @type {?} */
1282
- CommonListComponent.prototype.gridContent;
1283
+ RsPageListComponent.prototype.gridContent;
1283
1284
  /** @type {?} */
1284
- CommonListComponent.prototype.pageTitle;
1285
+ RsPageListComponent.prototype.pageTitle;
1285
1286
  /** @type {?} */
1286
- CommonListComponent.prototype.customPageTitle;
1287
+ RsPageListComponent.prototype.customPageTitle;
1287
1288
  /** @type {?} */
1288
- CommonListComponent.prototype.isInner;
1289
+ RsPageListComponent.prototype.isInner;
1289
1290
  /**
1290
1291
  * @type {?}
1291
1292
  * @private
1292
1293
  */
1293
- CommonListComponent.prototype.debouncedInput;
1294
+ RsPageListComponent.prototype.debouncedInput;
1294
1295
  /** @type {?} */
1295
- CommonListComponent.prototype.searchValue;
1296
+ RsPageListComponent.prototype.searchValue;
1297
+ }
1298
+
1299
+ /**
1300
+ * @fileoverview added by tsickle
1301
+ * Generated from: lib/layout/page-tab/index.component.ts
1302
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1303
+ */
1304
+ var RsPageTabComponent = /** @class */ (function () {
1305
+ function RsPageTabComponent() {
1306
+ this.customPageTitle = false;
1307
+ this.tabList = [];
1308
+ this.tabChange = new EventEmitter();
1309
+ this.animation = {
1310
+ previous: { effect: "", duration: 0, easing: "" },
1311
+ next: { effect: "", duration: 0, easing: "" },
1312
+ };
1313
+ }
1314
+ /**
1315
+ * @return {?}
1316
+ */
1317
+ RsPageTabComponent.prototype.ngOnInit = /**
1318
+ * @return {?}
1319
+ */
1320
+ function () { };
1321
+ /**
1322
+ * @param {?} e
1323
+ * @return {?}
1324
+ */
1325
+ RsPageTabComponent.prototype.onTabClick = /**
1326
+ * @param {?} e
1327
+ * @return {?}
1328
+ */
1329
+ function (e) {
1330
+ this.tabChange.emit(this.tabList[e.selectedIndex]);
1331
+ };
1332
+ RsPageTabComponent.decorators = [
1333
+ { type: Component, args: [{
1334
+ selector: "rs-page-tab",
1335
+ 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",
1336
+ 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}"]
1337
+ }] }
1338
+ ];
1339
+ RsPageTabComponent.propDecorators = {
1340
+ pageTitle: [{ type: Input }],
1341
+ customPageTitle: [{ type: Input }],
1342
+ tabList: [{ type: Input }],
1343
+ currentTab: [{ type: Input }],
1344
+ tabChange: [{ type: Output }]
1345
+ };
1346
+ return RsPageTabComponent;
1347
+ }());
1348
+ if (false) {
1349
+ /** @type {?} */
1350
+ RsPageTabComponent.prototype.pageTitle;
1351
+ /** @type {?} */
1352
+ RsPageTabComponent.prototype.customPageTitle;
1353
+ /** @type {?} */
1354
+ RsPageTabComponent.prototype.tabList;
1355
+ /** @type {?} */
1356
+ RsPageTabComponent.prototype.currentTab;
1357
+ /** @type {?} */
1358
+ RsPageTabComponent.prototype.tabChange;
1359
+ /** @type {?} */
1360
+ RsPageTabComponent.prototype.animation;
1361
+ }
1362
+
1363
+ /**
1364
+ * @fileoverview added by tsickle
1365
+ * Generated from: lib/layout/grid-box/index.component.ts
1366
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1367
+ */
1368
+ var GridBoxComponent = /** @class */ (function () {
1369
+ function GridBoxComponent() {
1370
+ this.customPageTitle = false;
1371
+ this.isInner = false;
1372
+ }
1373
+ /**
1374
+ * @return {?}
1375
+ */
1376
+ GridBoxComponent.prototype.ngOnInit = /**
1377
+ * @return {?}
1378
+ */
1379
+ function () {
1380
+ var _this = this;
1381
+ this.debouncedInput = debounce((/**
1382
+ * @return {?}
1383
+ */
1384
+ function () {
1385
+ _this.onSeach();
1386
+ }), 300);
1387
+ };
1388
+ /**
1389
+ * @return {?}
1390
+ */
1391
+ GridBoxComponent.prototype.onSeach = /**
1392
+ * @return {?}
1393
+ */
1394
+ function () {
1395
+ this.gridContent.grid.search(this.searchValue);
1396
+ };
1397
+ /**
1398
+ * @return {?}
1399
+ */
1400
+ GridBoxComponent.prototype.onInput = /**
1401
+ * @return {?}
1402
+ */
1403
+ function () {
1404
+ this.debouncedInput();
1405
+ };
1406
+ GridBoxComponent.decorators = [
1407
+ { type: Component, args: [{
1408
+ selector: 'rs-grid-box',
1409
+ 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",
1410
+ 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}"]
1411
+ }] }
1412
+ ];
1413
+ GridBoxComponent.propDecorators = {
1414
+ gridContent: [{ type: ContentChild, args: [TemplateRef, { static: true },] }],
1415
+ pageTitle: [{ type: Input }],
1416
+ customPageTitle: [{ type: Input }],
1417
+ isInner: [{ type: Input }]
1418
+ };
1419
+ return GridBoxComponent;
1420
+ }());
1421
+ if (false) {
1422
+ /** @type {?} */
1423
+ GridBoxComponent.prototype.gridContent;
1424
+ /** @type {?} */
1425
+ GridBoxComponent.prototype.pageTitle;
1426
+ /** @type {?} */
1427
+ GridBoxComponent.prototype.customPageTitle;
1428
+ /** @type {?} */
1429
+ GridBoxComponent.prototype.isInner;
1430
+ /**
1431
+ * @type {?}
1432
+ * @private
1433
+ */
1434
+ GridBoxComponent.prototype.debouncedInput;
1435
+ /** @type {?} */
1436
+ GridBoxComponent.prototype.searchValue;
1437
+ }
1438
+
1439
+ /**
1440
+ * @fileoverview added by tsickle
1441
+ * Generated from: lib/service/common-function.service.ts
1442
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1443
+ */
1444
+ var CommonFunctionService = /** @class */ (function () {
1445
+ function CommonFunctionService() {
1446
+ }
1447
+ /**
1448
+ * @return {?}
1449
+ */
1450
+ CommonFunctionService.prototype.testMethod = /**
1451
+ * @return {?}
1452
+ */
1453
+ function () {
1454
+ return "test1111";
1455
+ };
1456
+ /**
1457
+ * @param {?} text
1458
+ * @param {?=} maxWidth
1459
+ * @param {?=} fontSize
1460
+ * @return {?}
1461
+ */
1462
+ CommonFunctionService.prototype.setMiddleEllipsis = /**
1463
+ * @param {?} text
1464
+ * @param {?=} maxWidth
1465
+ * @param {?=} fontSize
1466
+ * @return {?}
1467
+ */
1468
+ function (text, maxWidth, fontSize) {
1469
+ if (maxWidth === void 0) { maxWidth = 150; }
1470
+ if (fontSize === void 0) { fontSize = 13; }
1471
+ /** @type {?} */
1472
+ var canvas = document.createElement("canvas");
1473
+ /** @type {?} */
1474
+ var context = canvas.getContext("2d");
1475
+ context.font = fontSize + "px Arial";
1476
+ /** @type {?} */
1477
+ var width = context.measureText(text).width;
1478
+ if (width <= maxWidth) {
1479
+ return text;
1480
+ }
1481
+ maxWidth = Math.floor(maxWidth - context.measureText("...").width);
1482
+ /** @type {?} */
1483
+ var firstPart = "";
1484
+ /** @type {?} */
1485
+ var secondPart = "";
1486
+ /** @type {?} */
1487
+ var half = Math.floor(maxWidth / 2);
1488
+ for (var i = 0; i < text.length; i++) {
1489
+ firstPart += text[i];
1490
+ width = context.measureText(firstPart).width;
1491
+ if (width > half) {
1492
+ break;
1493
+ }
1494
+ }
1495
+ for (var i = text.length - 1; i >= 0; i--) {
1496
+ secondPart = text[i] + secondPart;
1497
+ width = context.measureText(secondPart).width;
1498
+ if (width > half) {
1499
+ break;
1500
+ }
1501
+ }
1502
+ return firstPart + "..." + secondPart;
1503
+ };
1504
+ /**
1505
+ * @param {?} url
1506
+ * @return {?}
1507
+ */
1508
+ CommonFunctionService.prototype.getPureUrl = /**
1509
+ * @param {?} url
1510
+ * @return {?}
1511
+ */
1512
+ function (url) {
1513
+ if (url) {
1514
+ // 如果params的value 携带查询参数, 则截取前面部分
1515
+ url = decodeURIComponent(url);
1516
+ if (url.includes("?")) {
1517
+ url = url.split("?")[0];
1518
+ }
1519
+ }
1520
+ return url;
1521
+ };
1522
+ CommonFunctionService.decorators = [
1523
+ { type: Injectable, args: [{
1524
+ providedIn: "root",
1525
+ },] }
1526
+ ];
1527
+ /** @nocollapse */
1528
+ CommonFunctionService.ctorParameters = function () { return []; };
1529
+ /** @nocollapse */ CommonFunctionService.ngInjectableDef = ɵɵdefineInjectable({ factory: function CommonFunctionService_Factory() { return new CommonFunctionService(); }, token: CommonFunctionService, providedIn: "root" });
1530
+ return CommonFunctionService;
1531
+ }());
1532
+
1533
+ /**
1534
+ * @fileoverview added by tsickle
1535
+ * Generated from: lib/service/keep-alive.service.ts
1536
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1537
+ */
1538
+ /** @type {?} */
1539
+ var storedRoutes = {};
1540
+ /** @type {?} */
1541
+ var toBeDeleteUrl;
1542
+ /** @type {?} */
1543
+ var excludeRoutes = [];
1544
+ // 不需要缓存的url
1545
+ var
1546
+ // 不需要缓存的url
1547
+ KeepAliveService = /** @class */ (function () {
1548
+ function KeepAliveService() {
1549
+ }
1550
+ /**
1551
+ * @param {?} routes
1552
+ * @return {?}
1553
+ */
1554
+ KeepAliveService.prototype.setExcludeRoutes = /**
1555
+ * @param {?} routes
1556
+ * @return {?}
1557
+ */
1558
+ function (routes) {
1559
+ excludeRoutes = routes; // 设置不缓存的路由
1560
+ };
1561
+ /**
1562
+ * @param {?} route
1563
+ * @return {?}
1564
+ */
1565
+ KeepAliveService.prototype.shouldDetach = /**
1566
+ * @param {?} route
1567
+ * @return {?}
1568
+ */
1569
+ function (route) {
1570
+ if (toBeDeleteUrl === this.getRoutePath(route)) {
1571
+ // 对于新开的又即将关闭的tab,不缓存
1572
+ toBeDeleteUrl = "";
1573
+ return false;
1574
+ }
1575
+ return !excludeRoutes.includes(route.routeConfig.path);
1576
+ };
1577
+ /**
1578
+ * @param {?} route
1579
+ * @param {?} handle
1580
+ * @return {?}
1581
+ */
1582
+ KeepAliveService.prototype.store = /**
1583
+ * @param {?} route
1584
+ * @param {?} handle
1585
+ * @return {?}
1586
+ */
1587
+ function (route, handle) {
1588
+ // console.log("store", this.getRoutePath(route));
1589
+ // console.log("store", storedRoutes);
1590
+ storedRoutes[this.getRoutePath(route)] = handle;
1591
+ };
1592
+ /**
1593
+ * @param {?} route
1594
+ * @return {?}
1595
+ */
1596
+ KeepAliveService.prototype.shouldAttach = /**
1597
+ * @param {?} route
1598
+ * @return {?}
1599
+ */
1600
+ function (route) {
1601
+ return !!storedRoutes[this.getRoutePath(route)];
1602
+ };
1603
+ /**
1604
+ * @param {?} route
1605
+ * @return {?}
1606
+ */
1607
+ KeepAliveService.prototype.retrieve = /**
1608
+ * @param {?} route
1609
+ * @return {?}
1610
+ */
1611
+ function (route) {
1612
+ return storedRoutes[this.getRoutePath(route)];
1613
+ };
1614
+ /**
1615
+ * @param {?} future
1616
+ * @param {?} curr
1617
+ * @return {?}
1618
+ */
1619
+ KeepAliveService.prototype.shouldReuseRoute = /**
1620
+ * @param {?} future
1621
+ * @param {?} curr
1622
+ * @return {?}
1623
+ */
1624
+ function (future, curr) {
1625
+ // console.log("shouldReuseRoute");
1626
+ return this.getRoutePath(future) === this.getRoutePath(curr); // 复用相同的路由
1627
+ };
1628
+ /**
1629
+ * @param {?} route
1630
+ * @return {?}
1631
+ */
1632
+ KeepAliveService.prototype.getRoutePath = /**
1633
+ * @param {?} route
1634
+ * @return {?}
1635
+ */
1636
+ function (route) {
1637
+ if (route.routeConfig) {
1638
+ // const pathParams = JSON.stringify(route.params);
1639
+ /** @type {?} */
1640
+ var queryParams = new URLSearchParams(route.queryParams).toString();
1641
+ return route._routerState.url + (queryParams ? "?" + queryParams : "");
1642
+ }
1643
+ return "";
1644
+ };
1645
+ /**
1646
+ * @param {?} path
1647
+ * @return {?}
1648
+ */
1649
+ KeepAliveService.prototype.clearCache = /**
1650
+ * @param {?} path
1651
+ * @return {?}
1652
+ */
1653
+ function (path) {
1654
+ toBeDeleteUrl = path;
1655
+ delete storedRoutes[path]; // 清除指定路径的缓存
1656
+ };
1657
+ return KeepAliveService;
1658
+ }());
1659
+
1660
+ /**
1661
+ * @fileoverview added by tsickle
1662
+ * Generated from: lib/layout/multi-tab/index.component.ts
1663
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1664
+ */
1665
+ var MultiTabComponent = /** @class */ (function () {
1666
+ function MultiTabComponent(router, cf, activatedRoute, keepAlive) {
1667
+ this.router = router;
1668
+ this.cf = cf;
1669
+ this.activatedRoute = activatedRoute;
1670
+ this.keepAlive = keepAlive;
1671
+ this.singleReuseUrls = []; //只能单个缓存的url
1672
+ //只能单个缓存的url
1673
+ this.TAB_WIDTH = 164;
1674
+ this.GAP_NORMAL = 54;
1675
+ this.GAP_SMALL = 30;
1676
+ this.tabList = [];
1677
+ this.selectedTab = 0;
1678
+ this.maxTabs = 10;
1679
+ this.screenWidth = window.innerWidth; // 初始化屏幕宽度
1680
+ }
1681
+ // 初始化屏幕宽度
1682
+ /**
1683
+ * @param {?} event
1684
+ * @return {?}
1685
+ */
1686
+ MultiTabComponent.prototype.onResize =
1687
+ // 初始化屏幕宽度
1688
+ /**
1689
+ * @param {?} event
1690
+ * @return {?}
1691
+ */
1692
+ function (event) {
1693
+ this.screenWidth = window.innerWidth; // 更新屏幕宽度
1694
+ this.setEllipsisTitle();
1695
+ };
1696
+ /**
1697
+ * @return {?}
1698
+ */
1699
+ MultiTabComponent.prototype.ngOnInit = /**
1700
+ * @return {?}
1701
+ */
1702
+ function () {
1703
+ var _this = this;
1704
+ this.initTab();
1705
+ this.router.events
1706
+ .pipe(filter((/**
1707
+ * @param {?} event
1708
+ * @return {?}
1709
+ */
1710
+ function (event) { return event instanceof NavigationEnd; })))
1711
+ .subscribe((/**
1712
+ * @return {?}
1713
+ */
1714
+ function () {
1715
+ /** @type {?} */
1716
+ var navigation = _this.router.getCurrentNavigation();
1717
+ if (navigation) {
1718
+ /** @type {?} */
1719
+ var state = navigation.extras.state;
1720
+ // 获取传递的 state
1721
+ /** @type {?} */
1722
+ var currentRoute = _this.router.routerState.root.firstChild;
1723
+ if (currentRoute) {
1724
+ _this.setTab(_this.router.url, currentRoute.snapshot.routeConfig.path, state && state.title);
1725
+ }
1726
+ }
1727
+ }));
1728
+ this.setEllipsisTitle();
1729
+ };
1730
+ /**
1731
+ * @param {?=} title
1732
+ * @return {?}
1733
+ */
1734
+ MultiTabComponent.prototype.setEllipsisTitle = /**
1735
+ * @param {?=} title
1736
+ * @return {?}
1737
+ */
1738
+ function (title) {
1739
+ var _this = this;
1740
+ this.textGap = this.GAP_NORMAL;
1741
+ if (this.screenWidth <= 1100) {
1742
+ this.textGap = this.GAP_SMALL;
1743
+ }
1744
+ var _a = this.calcTabWidth(), allWidth = _a.allWidth, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
1745
+ /** @type {?} */
1746
+ var width = Math.floor((allWidth - rightWidth) / (this.tabList && this.tabList.length));
1747
+ if (title) {
1748
+ return this.cf.setMiddleEllipsis(title, width > this.TAB_WIDTH
1749
+ ? this.TAB_WIDTH - this.textGap
1750
+ : width - this.textGap, 12);
1751
+ }
1752
+ else {
1753
+ this.tabList.forEach((/**
1754
+ * @param {?} ele
1755
+ * @param {?} idx
1756
+ * @return {?}
1757
+ */
1758
+ function (ele, idx) {
1759
+ ele.displayTitle = _this.cf.setMiddleEllipsis(ele.title, width > _this.TAB_WIDTH
1760
+ ? _this.TAB_WIDTH - _this.textGap
1761
+ : width - _this.textGap, 12);
1762
+ }));
1763
+ }
1764
+ };
1765
+ /**
1766
+ * @return {?}
1767
+ */
1768
+ MultiTabComponent.prototype.calcTabWidth = /**
1769
+ * @return {?}
1770
+ */
1771
+ function () {
1772
+ /** @type {?} */
1773
+ var wrap = document.querySelector(".rs-multi-tab");
1774
+ /** @type {?} */
1775
+ var ulElement = document.querySelector(".rs-multi-tab > ul");
1776
+ /** @type {?} */
1777
+ var refreshTabDiv = document.querySelector(".rs-multi-tab .refresh-tab");
1778
+ /** @type {?} */
1779
+ var allWidth;
1780
+ /** @type {?} */
1781
+ var leftWidth;
1782
+ /** @type {?} */
1783
+ var rightWidth;
1784
+ if (wrap && ulElement && refreshTabDiv) {
1785
+ // 获取元素的位置信息
1786
+ /** @type {?} */
1787
+ var wrapRect = wrap.getBoundingClientRect();
1788
+ /** @type {?} */
1789
+ var ulRect = ulElement.getBoundingClientRect();
1790
+ /** @type {?} */
1791
+ var refreshTabRect = refreshTabDiv.getBoundingClientRect();
1792
+ allWidth = wrapRect.width;
1793
+ leftWidth = ulRect.width;
1794
+ rightWidth = refreshTabRect.width;
1795
+ }
1796
+ return {
1797
+ allWidth: allWidth,
1798
+ leftWidth: leftWidth,
1799
+ rightWidth: rightWidth,
1800
+ };
1801
+ };
1802
+ /**
1803
+ * @return {?}
1804
+ */
1805
+ MultiTabComponent.prototype.initTab = /**
1806
+ * @return {?}
1807
+ */
1808
+ function () {
1809
+ /** @type {?} */
1810
+ var TabCache = JSON.parse(sessionStorage.getItem("TabCache"));
1811
+ this.tabList = TabCache || [];
1812
+ };
1813
+ /**
1814
+ * @param {?} tab
1815
+ * @param {?} idx
1816
+ * @return {?}
1817
+ */
1818
+ MultiTabComponent.prototype.closeTab = /**
1819
+ * @param {?} tab
1820
+ * @param {?} idx
1821
+ * @return {?}
1822
+ */
1823
+ function (tab, idx) {
1824
+ this.tabList = this.tabList.filter((/**
1825
+ * @param {?} ele
1826
+ * @return {?}
1827
+ */
1828
+ function (ele) { return ele.url !== tab.url; }));
1829
+ this.clearCache(tab.url);
1830
+ if (this.selectedTab === idx) {
1831
+ /** @type {?} */
1832
+ var targetIdx = Math.max(0, idx - 1);
1833
+ this.changeTab(this.tabList[targetIdx], targetIdx);
1834
+ }
1835
+ this.setEllipsisTitle();
1836
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
1837
+ };
1838
+ /**
1839
+ * @param {?} tab
1840
+ * @param {?} idx
1841
+ * @return {?}
1842
+ */
1843
+ MultiTabComponent.prototype.changeTab = /**
1844
+ * @param {?} tab
1845
+ * @param {?} idx
1846
+ * @return {?}
1847
+ */
1848
+ function (tab, idx) {
1849
+ this.router.navigateByUrl(tab.url);
1850
+ this.selectedTab = idx;
1851
+ };
1852
+ /**
1853
+ * @param {?} url
1854
+ * @param {?} title
1855
+ * @return {?}
1856
+ */
1857
+ MultiTabComponent.prototype.addTab = /**
1858
+ * @param {?} url
1859
+ * @param {?} title
1860
+ * @return {?}
1861
+ */
1862
+ function (url, title) {
1863
+ if (this.tabList.length >= this.maxTabs) {
1864
+ this.closeTab(this.tabList[0], 0); // 删除第一个
1865
+ }
1866
+ this.tabList.push({
1867
+ url: url,
1868
+ title: title || "default",
1869
+ displayTitle: this.setEllipsisTitle(title || "default"),
1870
+ });
1871
+ this.selectedTab = this.tabList.length - 1;
1872
+ this.setEllipsisTitle();
1873
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
1874
+ };
1875
+ /**
1876
+ * @param {?} url
1877
+ * @param {?} pureUrl
1878
+ * @param {?} title
1879
+ * @return {?}
1880
+ */
1881
+ MultiTabComponent.prototype.setTab = /**
1882
+ * @param {?} url
1883
+ * @param {?} pureUrl
1884
+ * @param {?} title
1885
+ * @return {?}
1886
+ */
1887
+ function (url, pureUrl, title) {
1888
+ var _this = this;
1889
+ /** @type {?} */
1890
+ var isExistIdx = this.tabList.findIndex((/**
1891
+ * @param {?} ele
1892
+ * @return {?}
1893
+ */
1894
+ function (ele) { return ele.url === url; }));
1895
+ if (isExistIdx === -1) {
1896
+ /** @type {?} */
1897
+ var singleIdx_1 = this.singleReuseUrls.findIndex((/**
1898
+ * @param {?} ele
1899
+ * @return {?}
1900
+ */
1901
+ function (ele) { return ele === pureUrl; }));
1902
+ if (singleIdx_1 !== -1) {
1903
+ this.tabList = this.tabList.filter((/**
1904
+ * @param {?} ele
1905
+ * @return {?}
1906
+ */
1907
+ function (ele) {
1908
+ return !ele.url.includes(_this.singleReuseUrls[singleIdx_1]);
1909
+ }));
1910
+ this.keepAlive.clearCache(url);
1911
+ }
1912
+ this.addTab(url, title);
1913
+ }
1914
+ else {
1915
+ this.selectedTab = isExistIdx;
1916
+ }
1917
+ };
1918
+ /**
1919
+ * @return {?}
1920
+ */
1921
+ MultiTabComponent.prototype.refreshTab = /**
1922
+ * @return {?}
1923
+ */
1924
+ function () {
1925
+ var _this = this;
1926
+ this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
1927
+ /** @type {?} */
1928
+ var currentUrl = this.router.url;
1929
+ this.router.navigateByUrl("/", { skipLocationChange: true }).then((/**
1930
+ * @return {?}
1931
+ */
1932
+ function () {
1933
+ _this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
1934
+ }));
1935
+ };
1936
+ /**
1937
+ * @param {?} url
1938
+ * @return {?}
1939
+ */
1940
+ MultiTabComponent.prototype.clearCache = /**
1941
+ * @param {?} url
1942
+ * @return {?}
1943
+ */
1944
+ function (url) {
1945
+ this.keepAlive.clearCache(url); // 调用自定义策略的清除缓存方法
1946
+ };
1947
+ MultiTabComponent.decorators = [
1948
+ { type: Component, args: [{
1949
+ selector: "rs-multi-tab",
1950
+ 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",
1951
+ 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}}"]
1952
+ }] }
1953
+ ];
1954
+ /** @nocollapse */
1955
+ MultiTabComponent.ctorParameters = function () { return [
1956
+ { type: Router },
1957
+ { type: CommonFunctionService },
1958
+ { type: ActivatedRoute },
1959
+ { type: KeepAliveService }
1960
+ ]; };
1961
+ MultiTabComponent.propDecorators = {
1962
+ singleReuseUrls: [{ type: Input }],
1963
+ onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
1964
+ };
1965
+ return MultiTabComponent;
1966
+ }());
1967
+ if (false) {
1968
+ /** @type {?} */
1969
+ MultiTabComponent.prototype.singleReuseUrls;
1970
+ /** @type {?} */
1971
+ MultiTabComponent.prototype.TAB_WIDTH;
1972
+ /** @type {?} */
1973
+ MultiTabComponent.prototype.GAP_NORMAL;
1974
+ /** @type {?} */
1975
+ MultiTabComponent.prototype.GAP_SMALL;
1976
+ /** @type {?} */
1977
+ MultiTabComponent.prototype.textGap;
1978
+ /** @type {?} */
1979
+ MultiTabComponent.prototype.foo;
1980
+ /** @type {?} */
1981
+ MultiTabComponent.prototype.comRef;
1982
+ /** @type {?} */
1983
+ MultiTabComponent.prototype.tabList;
1984
+ /** @type {?} */
1985
+ MultiTabComponent.prototype.selectedTab;
1986
+ /** @type {?} */
1987
+ MultiTabComponent.prototype.maxTabs;
1988
+ /** @type {?} */
1989
+ MultiTabComponent.prototype.screenWidth;
1990
+ /** @type {?} */
1991
+ MultiTabComponent.prototype.router;
1992
+ /** @type {?} */
1993
+ MultiTabComponent.prototype.cf;
1994
+ /** @type {?} */
1995
+ MultiTabComponent.prototype.activatedRoute;
1996
+ /** @type {?} */
1997
+ MultiTabComponent.prototype.keepAlive;
1296
1998
  }
1297
1999
 
1298
2000
  /**
@@ -1303,13 +2005,15 @@ if (false) {
1303
2005
  var MainContainerComponent = /** @class */ (function () {
1304
2006
  function MainContainerComponent() {
1305
2007
  this.isCollapsed = false; // 接收输入属性
2008
+ // 接收输入属性
2009
+ this.singleReuseUrls = []; //只能单个缓存的url
1306
2010
  }
1307
- // 接收输入属性
2011
+ //只能单个缓存的url
1308
2012
  /**
1309
2013
  * @return {?}
1310
2014
  */
1311
2015
  MainContainerComponent.prototype.ngOnInit =
1312
- // 接收输入属性
2016
+ //只能单个缓存的url
1313
2017
  /**
1314
2018
  * @return {?}
1315
2019
  */
@@ -1317,18 +2021,21 @@ var MainContainerComponent = /** @class */ (function () {
1317
2021
  MainContainerComponent.decorators = [
1318
2022
  { type: Component, args: [{
1319
2023
  selector: "rs-main-container",
1320
- 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",
1321
- 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}"]
2024
+ 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 <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",
2025
+ 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}"]
1322
2026
  }] }
1323
2027
  ];
1324
2028
  MainContainerComponent.propDecorators = {
1325
- isCollapsed: [{ type: Input }]
2029
+ isCollapsed: [{ type: Input }],
2030
+ singleReuseUrls: [{ type: Input }]
1326
2031
  };
1327
2032
  return MainContainerComponent;
1328
2033
  }());
1329
2034
  if (false) {
1330
2035
  /** @type {?} */
1331
2036
  MainContainerComponent.prototype.isCollapsed;
2037
+ /** @type {?} */
2038
+ MainContainerComponent.prototype.singleReuseUrls;
1332
2039
  }
1333
2040
 
1334
2041
  /**
@@ -1394,8 +2101,8 @@ var RSHeaderComponent = /** @class */ (function () {
1394
2101
  RSHeaderComponent.decorators = [
1395
2102
  { type: Component, args: [{
1396
2103
  selector: "rs-header",
1397
- 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",
1398
- 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}"]
2104
+ 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",
2105
+ 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}"]
1399
2106
  }] }
1400
2107
  ];
1401
2108
  RSHeaderComponent.propDecorators = {
@@ -1480,13 +2187,13 @@ var RSAsideComponent = /** @class */ (function () {
1480
2187
  */
1481
2188
  function (item) {
1482
2189
  this.currentNav = item.title;
1483
- this.router.navigate([item.url]);
2190
+ this.router.navigate([item.url], { state: { title: item.title } });
1484
2191
  };
1485
2192
  RSAsideComponent.decorators = [
1486
2193
  { type: Component, args: [{
1487
2194
  selector: "rs-aside",
1488
- 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",
1489
- 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}"]
2195
+ 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",
2196
+ 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}"]
1490
2197
  }] }
1491
2198
  ];
1492
2199
  /** @nocollapse */
@@ -1879,42 +2586,15 @@ if (false) {
1879
2586
  SwitchInputComponent.prototype.valueChange;
1880
2587
  }
1881
2588
 
1882
- /**
1883
- * @fileoverview added by tsickle
1884
- * Generated from: lib/service/common-function.service.ts
1885
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1886
- */
1887
- var CommonFunctionService = /** @class */ (function () {
1888
- function CommonFunctionService() {
1889
- }
1890
- /**
1891
- * @return {?}
1892
- */
1893
- CommonFunctionService.prototype.testMethod = /**
1894
- * @return {?}
1895
- */
1896
- function () {
1897
- return "test1111";
1898
- };
1899
- CommonFunctionService.decorators = [
1900
- { type: Injectable, args: [{
1901
- providedIn: "root",
1902
- },] }
1903
- ];
1904
- /** @nocollapse */
1905
- CommonFunctionService.ctorParameters = function () { return []; };
1906
- /** @nocollapse */ CommonFunctionService.ngInjectableDef = ɵɵdefineInjectable({ factory: function CommonFunctionService_Factory() { return new CommonFunctionService(); }, token: CommonFunctionService, providedIn: "root" });
1907
- return CommonFunctionService;
1908
- }());
1909
-
1910
2589
  /**
1911
2590
  * @fileoverview added by tsickle
1912
2591
  * Generated from: lib/service/icon-loader.service.ts
1913
2592
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1914
2593
  */
1915
2594
  var IconLoaderService = /** @class */ (function () {
1916
- function IconLoaderService(iconReg) {
1917
- this.iconReg = iconReg;
2595
+ function IconLoaderService(registry, domSanitizer) {
2596
+ this.registry = registry;
2597
+ this.domSanitizer = domSanitizer;
1918
2598
  }
1919
2599
  /**
1920
2600
  * @param {?} list
@@ -1927,11 +2607,12 @@ var IconLoaderService = /** @class */ (function () {
1927
2607
  function (list) {
1928
2608
  var _this = this;
1929
2609
  list.forEach((/**
1930
- * @param {?} item
2610
+ * @param {?} __0
1931
2611
  * @return {?}
1932
2612
  */
1933
- function (item) {
1934
- _this.iconReg.loadSvg(item.url, item.name).subscribe();
2613
+ function (_a) {
2614
+ var name = _a.name, path = _a.path;
2615
+ _this.registry.addSvgIcon(name, _this.domSanitizer.bypassSecurityTrustResourceUrl(path));
1935
2616
  }));
1936
2617
  };
1937
2618
  IconLoaderService.decorators = [
@@ -1939,7 +2620,8 @@ var IconLoaderService = /** @class */ (function () {
1939
2620
  ];
1940
2621
  /** @nocollapse */
1941
2622
  IconLoaderService.ctorParameters = function () { return [
1942
- { type: SvgIconRegistryService }
2623
+ { type: MatIconRegistry },
2624
+ { type: DomSanitizer }
1943
2625
  ]; };
1944
2626
  return IconLoaderService;
1945
2627
  }());
@@ -1948,7 +2630,12 @@ if (false) {
1948
2630
  * @type {?}
1949
2631
  * @private
1950
2632
  */
1951
- IconLoaderService.prototype.iconReg;
2633
+ IconLoaderService.prototype.registry;
2634
+ /**
2635
+ * @type {?}
2636
+ * @private
2637
+ */
2638
+ IconLoaderService.prototype.domSanitizer;
1952
2639
  }
1953
2640
 
1954
2641
  /**
@@ -2554,89 +3241,6 @@ if (false) {
2554
3241
  CommonDialogComponent.prototype.dialogRef;
2555
3242
  }
2556
3243
 
2557
- /**
2558
- * @fileoverview added by tsickle
2559
- * Generated from: lib/demo/map/index.component.ts
2560
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2561
- */
2562
- var DemoMapComponent = /** @class */ (function () {
2563
- function DemoMapComponent() {
2564
- this.lat = 0;
2565
- this.lng = 0;
2566
- this.zoom = 2;
2567
- this.markers = [];
2568
- }
2569
- /**
2570
- * @return {?}
2571
- */
2572
- DemoMapComponent.prototype.ngAfterContentInit = /**
2573
- * @return {?}
2574
- */
2575
- function () { };
2576
- /**
2577
- * @private
2578
- * @return {?}
2579
- */
2580
- DemoMapComponent.prototype.getInfo = /**
2581
- * @private
2582
- * @return {?}
2583
- */
2584
- function () {
2585
- this.translation = JSON.parse(localStorage.getItem("translation"));
2586
- };
2587
- /**
2588
- * @return {?}
2589
- */
2590
- DemoMapComponent.prototype.ngOnInit = /**
2591
- * @return {?}
2592
- */
2593
- function () {
2594
- this.getInfo();
2595
- this.markers.push({
2596
- position: {
2597
- lat: 40.4381311,
2598
- lng: -3.8196233,
2599
- },
2600
- label: {
2601
- color: "black",
2602
- text: "Madrid",
2603
- },
2604
- });
2605
- this.markers.push({
2606
- position: {
2607
- lat: 48.8615515,
2608
- lng: 2.3112233,
2609
- },
2610
- label: {
2611
- color: "black",
2612
- text: "Paris",
2613
- },
2614
- });
2615
- };
2616
- DemoMapComponent.decorators = [
2617
- { type: Component, args: [{
2618
- selector: "kt-map",
2619
- template: "<div class=\"map-container\">\r\n <agm-map [latitude]=\"lat\" [longitude]=\"lng\" [zoom]=\"zoom\">\r\n <agm-marker\r\n *ngFor=\"let marker of markers\"\r\n [latitude]=\"marker.position.lat\"\r\n [longitude]=\"marker.position.lng\"\r\n [label]=\"marker.label\"\r\n >\r\n </agm-marker>\r\n </agm-map>\r\n</div>\r\n",
2620
- styles: [":host::ng-deep .map-container{max-width:450px;height:450px}:host::ng-deep .map-container agm-map{width:100%;height:450px}"]
2621
- }] }
2622
- ];
2623
- /** @nocollapse */
2624
- DemoMapComponent.ctorParameters = function () { return []; };
2625
- return DemoMapComponent;
2626
- }());
2627
- if (false) {
2628
- /** @type {?} */
2629
- DemoMapComponent.prototype.translation;
2630
- /** @type {?} */
2631
- DemoMapComponent.prototype.markers;
2632
- /** @type {?} */
2633
- DemoMapComponent.prototype.lat;
2634
- /** @type {?} */
2635
- DemoMapComponent.prototype.lng;
2636
- /** @type {?} */
2637
- DemoMapComponent.prototype.zoom;
2638
- }
2639
-
2640
3244
  /**
2641
3245
  * @fileoverview added by tsickle
2642
3246
  * Generated from: lib/raise-common-lib.module.ts
@@ -2650,10 +3254,13 @@ var RaiseCommonLibModule = /** @class */ (function () {
2650
3254
  declarations: [
2651
3255
  CommonGridComponent,
2652
3256
  FloatBoxComponent,
2653
- CommonListComponent,
3257
+ RsPageListComponent,
3258
+ RsPageTabComponent,
3259
+ GridBoxComponent,
2654
3260
  RSHeaderComponent,
2655
3261
  RSFooterComponent,
2656
3262
  RSAsideComponent,
3263
+ MultiTabComponent,
2657
3264
  MainContainerComponent,
2658
3265
  TagInputComponent,
2659
3266
  RadioGroupComponent,
@@ -2662,19 +3269,15 @@ var RaiseCommonLibModule = /** @class */ (function () {
2662
3269
  NewActionNotificationComponent,
2663
3270
  CommonDialogComponent,
2664
3271
  CommonDeleteComponent,
2665
- DemoMapComponent,
2666
3272
  ],
2667
3273
  imports: [
2668
- // Samson provide google map api key
2669
- AgmCoreModule.forRoot({
2670
- apiKey: "AIzaSyDs0Fy2m93CBJ39-zS6BkYN_IDqyexqlAU",
2671
- }),
2672
3274
  CommonModule,
2673
3275
  HttpClientModule,
2674
3276
  ReactiveFormsModule,
2675
3277
  FormsModule,
2676
3278
  MatSnackBarModule,
2677
3279
  MatDialogModule,
3280
+ MatIconModule,
2678
3281
  GridModule,
2679
3282
  PagerModule,
2680
3283
  GridAllModule,
@@ -2706,10 +3309,11 @@ var RaiseCommonLibModule = /** @class */ (function () {
2706
3309
  DashboardLayoutModule,
2707
3310
  CarouselAllModule,
2708
3311
  ToolbarModule,
3312
+ TabModule,
2709
3313
  PdfViewerModule,
2710
3314
  DropDownButtonModule,
3315
+ SplitButtonModule,
2711
3316
  RichTextEditorAllModule,
2712
- AngularSvgIconModule.forRoot(),
2713
3317
  ],
2714
3318
  providers: [
2715
3319
  PageService,
@@ -2744,6 +3348,7 @@ var RaiseCommonLibModule = /** @class */ (function () {
2744
3348
  CommonFunctionService,
2745
3349
  IconLoaderService,
2746
3350
  DialogService,
3351
+ KeepAliveService,
2747
3352
  ],
2748
3353
  exports: [
2749
3354
  CommonModule,
@@ -2783,21 +3388,25 @@ var RaiseCommonLibModule = /** @class */ (function () {
2783
3388
  DashboardLayoutModule,
2784
3389
  CarouselAllModule,
2785
3390
  ToolbarModule,
3391
+ TabModule,
2786
3392
  PdfViewerModule,
2787
3393
  DropDownButtonModule,
3394
+ SplitButtonModule,
2788
3395
  RichTextEditorAllModule,
2789
3396
  CommonGridComponent,
2790
3397
  FloatBoxComponent,
2791
- CommonListComponent,
3398
+ RsPageListComponent,
3399
+ RsPageTabComponent,
3400
+ GridBoxComponent,
2792
3401
  RSHeaderComponent,
2793
3402
  RSFooterComponent,
2794
3403
  RSAsideComponent,
3404
+ MultiTabComponent,
2795
3405
  MainContainerComponent,
2796
3406
  TagInputComponent,
2797
3407
  RadioGroupComponent,
2798
3408
  CheckboxGroupComponent,
2799
3409
  SwitchInputComponent,
2800
- DemoMapComponent,
2801
3410
  ],
2802
3411
  entryComponents: [
2803
3412
  NewActionNotificationComponent,
@@ -2821,5 +3430,5 @@ var RaiseCommonLibModule = /** @class */ (function () {
2821
3430
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2822
3431
  */
2823
3432
 
2824
- export { CheckboxGroupComponent, CommonFunctionService, CommonGridComponent, CommonListComponent, DialogService, FloatBoxComponent, IconLoaderService, MainContainerComponent, MessageType, RSAsideComponent, RSFooterComponent, RSHeaderComponent, RadioGroupComponent, RaiseCommonLibModule, SwitchInputComponent, TagInputComponent, NewActionNotificationComponent as ɵa, CommonDialogComponent as ɵb, CommonDeleteComponent as ɵc, DemoMapComponent as ɵd };
3433
+ export { CheckboxGroupComponent, CommonFunctionService, CommonGridComponent, DialogService, FloatBoxComponent, GridBoxComponent, IconLoaderService, KeepAliveService, MainContainerComponent, MessageType, MultiTabComponent, RSAsideComponent, RSFooterComponent, RSHeaderComponent, RadioGroupComponent, RaiseCommonLibModule, RsPageListComponent, RsPageTabComponent, SwitchInputComponent, TagInputComponent, NewActionNotificationComponent as ɵa, CommonDialogComponent as ɵb, CommonDeleteComponent as ɵc };
2825
3434
  //# sourceMappingURL=raise-common-lib.js.map