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,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,9 +20,9 @@ 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
27
 
26
28
  /**
@@ -1220,18 +1222,18 @@ if (false) {
1220
1222
 
1221
1223
  /**
1222
1224
  * @fileoverview added by tsickle
1223
- * Generated from: lib/layout/common-list/index.component.ts
1225
+ * Generated from: lib/layout/page-list/index.component.ts
1224
1226
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1225
1227
  */
1226
- var CommonListComponent = /** @class */ (function () {
1227
- function CommonListComponent() {
1228
+ var RsPageListComponent = /** @class */ (function () {
1229
+ function RsPageListComponent() {
1228
1230
  this.customPageTitle = false;
1229
1231
  this.isInner = false;
1230
1232
  }
1231
1233
  /**
1232
1234
  * @return {?}
1233
1235
  */
1234
- CommonListComponent.prototype.ngOnInit = /**
1236
+ RsPageListComponent.prototype.ngOnInit = /**
1235
1237
  * @return {?}
1236
1238
  */
1237
1239
  function () {
@@ -1246,7 +1248,7 @@ var CommonListComponent = /** @class */ (function () {
1246
1248
  /**
1247
1249
  * @return {?}
1248
1250
  */
1249
- CommonListComponent.prototype.onSeach = /**
1251
+ RsPageListComponent.prototype.onSeach = /**
1250
1252
  * @return {?}
1251
1253
  */
1252
1254
  function () {
@@ -1255,43 +1257,757 @@ var CommonListComponent = /** @class */ (function () {
1255
1257
  /**
1256
1258
  * @return {?}
1257
1259
  */
1258
- CommonListComponent.prototype.onInput = /**
1260
+ RsPageListComponent.prototype.onInput = /**
1259
1261
  * @return {?}
1260
1262
  */
1261
1263
  function () {
1262
1264
  this.debouncedInput();
1263
1265
  };
1264
- CommonListComponent.decorators = [
1266
+ RsPageListComponent.decorators = [
1265
1267
  { type: Component, args: [{
1266
- selector: 'rs-common-list',
1267
- 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",
1268
- 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}"]
1269
1271
  }] }
1270
1272
  ];
1271
- CommonListComponent.propDecorators = {
1273
+ RsPageListComponent.propDecorators = {
1272
1274
  gridContent: [{ type: ContentChild, args: [CommonGridComponent, { static: true },] }],
1273
1275
  pageTitle: [{ type: Input }],
1274
1276
  customPageTitle: [{ type: Input }],
1275
1277
  isInner: [{ type: Input }]
1276
1278
  };
1277
- return CommonListComponent;
1279
+ return RsPageListComponent;
1278
1280
  }());
1279
1281
  if (false) {
1280
1282
  /** @type {?} */
1281
- CommonListComponent.prototype.gridContent;
1283
+ RsPageListComponent.prototype.gridContent;
1282
1284
  /** @type {?} */
1283
- CommonListComponent.prototype.pageTitle;
1285
+ RsPageListComponent.prototype.pageTitle;
1284
1286
  /** @type {?} */
1285
- CommonListComponent.prototype.customPageTitle;
1287
+ RsPageListComponent.prototype.customPageTitle;
1286
1288
  /** @type {?} */
1287
- CommonListComponent.prototype.isInner;
1289
+ RsPageListComponent.prototype.isInner;
1288
1290
  /**
1289
1291
  * @type {?}
1290
1292
  * @private
1291
1293
  */
1292
- CommonListComponent.prototype.debouncedInput;
1294
+ RsPageListComponent.prototype.debouncedInput;
1293
1295
  /** @type {?} */
1294
- 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
+ if (!route.routeConfig)
1613
+ return null;
1614
+ if (route.routeConfig.loadChildren)
1615
+ return null;
1616
+ return storedRoutes[this.getRoutePath(route)];
1617
+ };
1618
+ /**
1619
+ * @param {?} future
1620
+ * @param {?} curr
1621
+ * @return {?}
1622
+ */
1623
+ KeepAliveService.prototype.shouldReuseRoute = /**
1624
+ * @param {?} future
1625
+ * @param {?} curr
1626
+ * @return {?}
1627
+ */
1628
+ function (future, curr) {
1629
+ // console.log("shouldReuseRoute");
1630
+ return this.getRoutePath(future) === this.getRoutePath(curr); // 复用相同的路由
1631
+ };
1632
+ /**
1633
+ * @param {?} route
1634
+ * @return {?}
1635
+ */
1636
+ KeepAliveService.prototype.getRoutePath = /**
1637
+ * @param {?} route
1638
+ * @return {?}
1639
+ */
1640
+ function (route) {
1641
+ if (route.routeConfig) {
1642
+ // const pathParams = JSON.stringify(route.params);
1643
+ /** @type {?} */
1644
+ var queryParams = new URLSearchParams(route.queryParams).toString();
1645
+ return route._routerState.url + (queryParams ? "?" + queryParams : "");
1646
+ }
1647
+ return "";
1648
+ };
1649
+ /**
1650
+ * @param {?} path
1651
+ * @return {?}
1652
+ */
1653
+ KeepAliveService.prototype.clearCache = /**
1654
+ * @param {?} path
1655
+ * @return {?}
1656
+ */
1657
+ function (path) {
1658
+ toBeDeleteUrl = path;
1659
+ delete storedRoutes[path]; // 清除指定路径的缓存
1660
+ };
1661
+ return KeepAliveService;
1662
+ }());
1663
+
1664
+ /**
1665
+ * @fileoverview added by tsickle
1666
+ * Generated from: lib/layout/multi-tab/index.component.ts
1667
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1668
+ */
1669
+ var MultiTabComponent = /** @class */ (function () {
1670
+ function MultiTabComponent(router, cf, activatedRoute, keepAlive, ref) {
1671
+ this.router = router;
1672
+ this.cf = cf;
1673
+ this.activatedRoute = activatedRoute;
1674
+ this.keepAlive = keepAlive;
1675
+ this.ref = ref;
1676
+ this.singleReuseUrls = []; //只能单个缓存的url
1677
+ //只能单个缓存的url
1678
+ this.TAB_WIDTH = 164;
1679
+ this.GAP_NORMAL = 54;
1680
+ this.GAP_SMALL = 30;
1681
+ this.tabList = [];
1682
+ this.selectedTab = 0;
1683
+ this.maxTabs = 10;
1684
+ this.screenWidth = window.innerWidth; // 初始化屏幕宽度
1685
+ }
1686
+ // 初始化屏幕宽度
1687
+ /**
1688
+ * @param {?} event
1689
+ * @return {?}
1690
+ */
1691
+ MultiTabComponent.prototype.onResize =
1692
+ // 初始化屏幕宽度
1693
+ /**
1694
+ * @param {?} event
1695
+ * @return {?}
1696
+ */
1697
+ function (event) {
1698
+ this.screenWidth = window.innerWidth; // 更新屏幕宽度
1699
+ this.setEllipsisTitle();
1700
+ };
1701
+ /**
1702
+ * @return {?}
1703
+ */
1704
+ MultiTabComponent.prototype.ngOnInit = /**
1705
+ * @return {?}
1706
+ */
1707
+ function () {
1708
+ var _this = this;
1709
+ this.initTab();
1710
+ this.router.events
1711
+ .pipe(filter((/**
1712
+ * @param {?} event
1713
+ * @return {?}
1714
+ */
1715
+ function (event) { return event instanceof NavigationEnd; })))
1716
+ .subscribe((/**
1717
+ * @return {?}
1718
+ */
1719
+ function () {
1720
+ /** @type {?} */
1721
+ var navigation = _this.router.getCurrentNavigation();
1722
+ if (navigation) {
1723
+ /** @type {?} */
1724
+ var state = navigation.extras.state;
1725
+ // 获取传递的 state
1726
+ /** @type {?} */
1727
+ var currentRoute = _this.router.routerState.root.firstChild;
1728
+ if (currentRoute) {
1729
+ _this.setTab(_this.router.url, currentRoute.snapshot.routeConfig.path, state && state.title);
1730
+ }
1731
+ }
1732
+ }));
1733
+ this.setEllipsisTitle();
1734
+ };
1735
+ /**
1736
+ * @param {?=} title
1737
+ * @return {?}
1738
+ */
1739
+ MultiTabComponent.prototype.setEllipsisTitle = /**
1740
+ * @param {?=} title
1741
+ * @return {?}
1742
+ */
1743
+ function (title) {
1744
+ var _this = this;
1745
+ this.textGap = this.GAP_NORMAL;
1746
+ if (this.screenWidth <= 1100) {
1747
+ this.textGap = this.GAP_SMALL;
1748
+ }
1749
+ var _a = this.calcTabWidth(), allWidth = _a.allWidth, leftWidth = _a.leftWidth, rightWidth = _a.rightWidth;
1750
+ /** @type {?} */
1751
+ var width = Math.floor((allWidth - rightWidth) / (this.tabList && this.tabList.length));
1752
+ if (title) {
1753
+ return this.cf.setMiddleEllipsis(title, width > this.TAB_WIDTH
1754
+ ? this.TAB_WIDTH - this.textGap
1755
+ : width - this.textGap, 12);
1756
+ }
1757
+ else {
1758
+ this.tabList.forEach((/**
1759
+ * @param {?} ele
1760
+ * @param {?} idx
1761
+ * @return {?}
1762
+ */
1763
+ function (ele, idx) {
1764
+ ele.displayTitle = _this.cf.setMiddleEllipsis(ele.title, width > _this.TAB_WIDTH
1765
+ ? _this.TAB_WIDTH - _this.textGap
1766
+ : width - _this.textGap, 12);
1767
+ }));
1768
+ }
1769
+ };
1770
+ /**
1771
+ * @return {?}
1772
+ */
1773
+ MultiTabComponent.prototype.calcTabWidth = /**
1774
+ * @return {?}
1775
+ */
1776
+ function () {
1777
+ /** @type {?} */
1778
+ var wrap = document.querySelector(".rs-multi-tab");
1779
+ /** @type {?} */
1780
+ var ulElement = document.querySelector(".rs-multi-tab > ul");
1781
+ /** @type {?} */
1782
+ var refreshTabDiv = document.querySelector(".rs-multi-tab .refresh-tab");
1783
+ /** @type {?} */
1784
+ var allWidth;
1785
+ /** @type {?} */
1786
+ var leftWidth;
1787
+ /** @type {?} */
1788
+ var rightWidth;
1789
+ if (wrap && ulElement && refreshTabDiv) {
1790
+ // 获取元素的位置信息
1791
+ /** @type {?} */
1792
+ var wrapRect = wrap.getBoundingClientRect();
1793
+ /** @type {?} */
1794
+ var ulRect = ulElement.getBoundingClientRect();
1795
+ /** @type {?} */
1796
+ var refreshTabRect = refreshTabDiv.getBoundingClientRect();
1797
+ allWidth = wrapRect.width;
1798
+ leftWidth = ulRect.width;
1799
+ rightWidth = refreshTabRect.width;
1800
+ }
1801
+ return {
1802
+ allWidth: allWidth,
1803
+ leftWidth: leftWidth,
1804
+ rightWidth: rightWidth,
1805
+ };
1806
+ };
1807
+ /**
1808
+ * @return {?}
1809
+ */
1810
+ MultiTabComponent.prototype.initTab = /**
1811
+ * @return {?}
1812
+ */
1813
+ function () {
1814
+ /** @type {?} */
1815
+ var TabCache = JSON.parse(sessionStorage.getItem("TabCache"));
1816
+ this.tabList = TabCache || [];
1817
+ };
1818
+ /**
1819
+ * @param {?} tab
1820
+ * @param {?} idx
1821
+ * @return {?}
1822
+ */
1823
+ MultiTabComponent.prototype.closeTab = /**
1824
+ * @param {?} tab
1825
+ * @param {?} idx
1826
+ * @return {?}
1827
+ */
1828
+ function (tab, idx) {
1829
+ this.tabList = this.tabList.filter((/**
1830
+ * @param {?} ele
1831
+ * @return {?}
1832
+ */
1833
+ function (ele) { return ele.url !== tab.url; }));
1834
+ this.clearCache(tab.url);
1835
+ if (this.selectedTab === idx) {
1836
+ /** @type {?} */
1837
+ var targetIdx = Math.max(0, idx - 1);
1838
+ this.changeTab(this.tabList[targetIdx], targetIdx);
1839
+ }
1840
+ this.setEllipsisTitle();
1841
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
1842
+ this.ref.markForCheck();
1843
+ };
1844
+ /**
1845
+ * @param {?} tab
1846
+ * @param {?} idx
1847
+ * @return {?}
1848
+ */
1849
+ MultiTabComponent.prototype.changeTab = /**
1850
+ * @param {?} tab
1851
+ * @param {?} idx
1852
+ * @return {?}
1853
+ */
1854
+ function (tab, idx) {
1855
+ this.router.navigateByUrl(tab.url);
1856
+ this.selectedTab = idx;
1857
+ this.ref.markForCheck();
1858
+ };
1859
+ /**
1860
+ * @param {?} url
1861
+ * @param {?} title
1862
+ * @return {?}
1863
+ */
1864
+ MultiTabComponent.prototype.addTab = /**
1865
+ * @param {?} url
1866
+ * @param {?} title
1867
+ * @return {?}
1868
+ */
1869
+ function (url, title) {
1870
+ if (this.tabList.length >= this.maxTabs) {
1871
+ this.closeTab(this.tabList[0], 0); // 删除第一个
1872
+ }
1873
+ this.tabList.push({
1874
+ url: url,
1875
+ title: title || "default",
1876
+ displayTitle: this.setEllipsisTitle(title || "default"),
1877
+ });
1878
+ this.selectedTab = this.tabList.length - 1;
1879
+ this.setEllipsisTitle();
1880
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
1881
+ this.ref.markForCheck();
1882
+ };
1883
+ /**
1884
+ * @param {?} url
1885
+ * @param {?} pureUrl
1886
+ * @param {?} title
1887
+ * @return {?}
1888
+ */
1889
+ MultiTabComponent.prototype.setTab = /**
1890
+ * @param {?} url
1891
+ * @param {?} pureUrl
1892
+ * @param {?} title
1893
+ * @return {?}
1894
+ */
1895
+ function (url, pureUrl, title) {
1896
+ var _this = this;
1897
+ /** @type {?} */
1898
+ var isExistIdx = this.tabList.findIndex((/**
1899
+ * @param {?} ele
1900
+ * @return {?}
1901
+ */
1902
+ function (ele) { return ele.url === url; }));
1903
+ if (isExistIdx === -1) {
1904
+ /** @type {?} */
1905
+ var singleIdx_1 = this.singleReuseUrls.findIndex((/**
1906
+ * @param {?} ele
1907
+ * @return {?}
1908
+ */
1909
+ function (ele) { return ele === pureUrl; }));
1910
+ if (singleIdx_1 !== -1) {
1911
+ this.tabList = this.tabList.filter((/**
1912
+ * @param {?} ele
1913
+ * @return {?}
1914
+ */
1915
+ function (ele) { return !ele.url.includes(_this.singleReuseUrls[singleIdx_1]); }));
1916
+ this.keepAlive.clearCache(url);
1917
+ }
1918
+ this.addTab(url, title);
1919
+ }
1920
+ else {
1921
+ this.selectedTab = isExistIdx;
1922
+ this.ref.markForCheck();
1923
+ }
1924
+ };
1925
+ /**
1926
+ * @return {?}
1927
+ */
1928
+ MultiTabComponent.prototype.refreshTab = /**
1929
+ * @return {?}
1930
+ */
1931
+ function () {
1932
+ var _this = this;
1933
+ this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
1934
+ /** @type {?} */
1935
+ var currentUrl = this.router.url;
1936
+ this.router.navigateByUrl("/", { skipLocationChange: true }).then((/**
1937
+ * @return {?}
1938
+ */
1939
+ function () {
1940
+ _this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
1941
+ }));
1942
+ };
1943
+ /**
1944
+ * @param {?} url
1945
+ * @return {?}
1946
+ */
1947
+ MultiTabComponent.prototype.clearCache = /**
1948
+ * @param {?} url
1949
+ * @return {?}
1950
+ */
1951
+ function (url) {
1952
+ this.keepAlive.clearCache(url); // 调用自定义策略的清除缓存方法
1953
+ };
1954
+ MultiTabComponent.decorators = [
1955
+ { type: Component, args: [{
1956
+ selector: "rs-multi-tab",
1957
+ 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",
1958
+ 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}}"]
1959
+ }] }
1960
+ ];
1961
+ /** @nocollapse */
1962
+ MultiTabComponent.ctorParameters = function () { return [
1963
+ { type: Router },
1964
+ { type: CommonFunctionService },
1965
+ { type: ActivatedRoute },
1966
+ { type: KeepAliveService },
1967
+ { type: ChangeDetectorRef }
1968
+ ]; };
1969
+ MultiTabComponent.propDecorators = {
1970
+ singleReuseUrls: [{ type: Input }],
1971
+ onResize: [{ type: HostListener, args: ["window:resize", ["$event"],] }]
1972
+ };
1973
+ return MultiTabComponent;
1974
+ }());
1975
+ if (false) {
1976
+ /** @type {?} */
1977
+ MultiTabComponent.prototype.singleReuseUrls;
1978
+ /** @type {?} */
1979
+ MultiTabComponent.prototype.TAB_WIDTH;
1980
+ /** @type {?} */
1981
+ MultiTabComponent.prototype.GAP_NORMAL;
1982
+ /** @type {?} */
1983
+ MultiTabComponent.prototype.GAP_SMALL;
1984
+ /** @type {?} */
1985
+ MultiTabComponent.prototype.textGap;
1986
+ /** @type {?} */
1987
+ MultiTabComponent.prototype.foo;
1988
+ /** @type {?} */
1989
+ MultiTabComponent.prototype.comRef;
1990
+ /** @type {?} */
1991
+ MultiTabComponent.prototype.tabList;
1992
+ /** @type {?} */
1993
+ MultiTabComponent.prototype.selectedTab;
1994
+ /** @type {?} */
1995
+ MultiTabComponent.prototype.maxTabs;
1996
+ /** @type {?} */
1997
+ MultiTabComponent.prototype.screenWidth;
1998
+ /** @type {?} */
1999
+ MultiTabComponent.prototype.router;
2000
+ /** @type {?} */
2001
+ MultiTabComponent.prototype.cf;
2002
+ /** @type {?} */
2003
+ MultiTabComponent.prototype.activatedRoute;
2004
+ /** @type {?} */
2005
+ MultiTabComponent.prototype.keepAlive;
2006
+ /**
2007
+ * @type {?}
2008
+ * @private
2009
+ */
2010
+ MultiTabComponent.prototype.ref;
1295
2011
  }
1296
2012
 
1297
2013
  /**
@@ -1302,13 +2018,15 @@ if (false) {
1302
2018
  var MainContainerComponent = /** @class */ (function () {
1303
2019
  function MainContainerComponent() {
1304
2020
  this.isCollapsed = false; // 接收输入属性
2021
+ // 接收输入属性
2022
+ this.singleReuseUrls = []; //只能单个缓存的url
1305
2023
  }
1306
- // 接收输入属性
2024
+ //只能单个缓存的url
1307
2025
  /**
1308
2026
  * @return {?}
1309
2027
  */
1310
2028
  MainContainerComponent.prototype.ngOnInit =
1311
- // 接收输入属性
2029
+ //只能单个缓存的url
1312
2030
  /**
1313
2031
  * @return {?}
1314
2032
  */
@@ -1316,18 +2034,21 @@ var MainContainerComponent = /** @class */ (function () {
1316
2034
  MainContainerComponent.decorators = [
1317
2035
  { type: Component, args: [{
1318
2036
  selector: "rs-main-container",
1319
- 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",
1320
- 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}"]
2037
+ 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",
2038
+ 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}"]
1321
2039
  }] }
1322
2040
  ];
1323
2041
  MainContainerComponent.propDecorators = {
1324
- isCollapsed: [{ type: Input }]
2042
+ isCollapsed: [{ type: Input }],
2043
+ singleReuseUrls: [{ type: Input }]
1325
2044
  };
1326
2045
  return MainContainerComponent;
1327
2046
  }());
1328
2047
  if (false) {
1329
2048
  /** @type {?} */
1330
2049
  MainContainerComponent.prototype.isCollapsed;
2050
+ /** @type {?} */
2051
+ MainContainerComponent.prototype.singleReuseUrls;
1331
2052
  }
1332
2053
 
1333
2054
  /**
@@ -1393,8 +2114,8 @@ var RSHeaderComponent = /** @class */ (function () {
1393
2114
  RSHeaderComponent.decorators = [
1394
2115
  { type: Component, args: [{
1395
2116
  selector: "rs-header",
1396
- 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",
1397
- 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}"]
2117
+ 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",
2118
+ 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}"]
1398
2119
  }] }
1399
2120
  ];
1400
2121
  RSHeaderComponent.propDecorators = {
@@ -1479,13 +2200,13 @@ var RSAsideComponent = /** @class */ (function () {
1479
2200
  */
1480
2201
  function (item) {
1481
2202
  this.currentNav = item.title;
1482
- this.router.navigate([item.url]);
2203
+ this.router.navigate([item.url], { state: { title: item.title } });
1483
2204
  };
1484
2205
  RSAsideComponent.decorators = [
1485
2206
  { type: Component, args: [{
1486
2207
  selector: "rs-aside",
1487
- 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",
1488
- 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}"]
2208
+ 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",
2209
+ 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}"]
1489
2210
  }] }
1490
2211
  ];
1491
2212
  /** @nocollapse */
@@ -1878,42 +2599,15 @@ if (false) {
1878
2599
  SwitchInputComponent.prototype.valueChange;
1879
2600
  }
1880
2601
 
1881
- /**
1882
- * @fileoverview added by tsickle
1883
- * Generated from: lib/service/common-function.service.ts
1884
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1885
- */
1886
- var CommonFunctionService = /** @class */ (function () {
1887
- function CommonFunctionService() {
1888
- }
1889
- /**
1890
- * @return {?}
1891
- */
1892
- CommonFunctionService.prototype.testMethod = /**
1893
- * @return {?}
1894
- */
1895
- function () {
1896
- return "test1111";
1897
- };
1898
- CommonFunctionService.decorators = [
1899
- { type: Injectable, args: [{
1900
- providedIn: "root",
1901
- },] }
1902
- ];
1903
- /** @nocollapse */
1904
- CommonFunctionService.ctorParameters = function () { return []; };
1905
- /** @nocollapse */ CommonFunctionService.ngInjectableDef = ɵɵdefineInjectable({ factory: function CommonFunctionService_Factory() { return new CommonFunctionService(); }, token: CommonFunctionService, providedIn: "root" });
1906
- return CommonFunctionService;
1907
- }());
1908
-
1909
2602
  /**
1910
2603
  * @fileoverview added by tsickle
1911
2604
  * Generated from: lib/service/icon-loader.service.ts
1912
2605
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1913
2606
  */
1914
2607
  var IconLoaderService = /** @class */ (function () {
1915
- function IconLoaderService(iconReg) {
1916
- this.iconReg = iconReg;
2608
+ function IconLoaderService(registry, domSanitizer) {
2609
+ this.registry = registry;
2610
+ this.domSanitizer = domSanitizer;
1917
2611
  }
1918
2612
  /**
1919
2613
  * @param {?} list
@@ -1926,11 +2620,12 @@ var IconLoaderService = /** @class */ (function () {
1926
2620
  function (list) {
1927
2621
  var _this = this;
1928
2622
  list.forEach((/**
1929
- * @param {?} item
2623
+ * @param {?} __0
1930
2624
  * @return {?}
1931
2625
  */
1932
- function (item) {
1933
- _this.iconReg.loadSvg(item.url, item.name).subscribe();
2626
+ function (_a) {
2627
+ var name = _a.name, path = _a.path;
2628
+ _this.registry.addSvgIcon(name, _this.domSanitizer.bypassSecurityTrustResourceUrl(path));
1934
2629
  }));
1935
2630
  };
1936
2631
  IconLoaderService.decorators = [
@@ -1938,7 +2633,8 @@ var IconLoaderService = /** @class */ (function () {
1938
2633
  ];
1939
2634
  /** @nocollapse */
1940
2635
  IconLoaderService.ctorParameters = function () { return [
1941
- { type: SvgIconRegistryService }
2636
+ { type: MatIconRegistry },
2637
+ { type: DomSanitizer }
1942
2638
  ]; };
1943
2639
  return IconLoaderService;
1944
2640
  }());
@@ -1947,7 +2643,12 @@ if (false) {
1947
2643
  * @type {?}
1948
2644
  * @private
1949
2645
  */
1950
- IconLoaderService.prototype.iconReg;
2646
+ IconLoaderService.prototype.registry;
2647
+ /**
2648
+ * @type {?}
2649
+ * @private
2650
+ */
2651
+ IconLoaderService.prototype.domSanitizer;
1951
2652
  }
1952
2653
 
1953
2654
  /**
@@ -2566,10 +3267,13 @@ var RaiseCommonLibModule = /** @class */ (function () {
2566
3267
  declarations: [
2567
3268
  CommonGridComponent,
2568
3269
  FloatBoxComponent,
2569
- CommonListComponent,
3270
+ RsPageListComponent,
3271
+ RsPageTabComponent,
3272
+ GridBoxComponent,
2570
3273
  RSHeaderComponent,
2571
3274
  RSFooterComponent,
2572
3275
  RSAsideComponent,
3276
+ MultiTabComponent,
2573
3277
  MainContainerComponent,
2574
3278
  TagInputComponent,
2575
3279
  RadioGroupComponent,
@@ -2586,6 +3290,7 @@ var RaiseCommonLibModule = /** @class */ (function () {
2586
3290
  FormsModule,
2587
3291
  MatSnackBarModule,
2588
3292
  MatDialogModule,
3293
+ MatIconModule,
2589
3294
  GridModule,
2590
3295
  PagerModule,
2591
3296
  GridAllModule,
@@ -2617,10 +3322,11 @@ var RaiseCommonLibModule = /** @class */ (function () {
2617
3322
  DashboardLayoutModule,
2618
3323
  CarouselAllModule,
2619
3324
  ToolbarModule,
3325
+ TabModule,
2620
3326
  PdfViewerModule,
2621
3327
  DropDownButtonModule,
3328
+ SplitButtonModule,
2622
3329
  RichTextEditorAllModule,
2623
- AngularSvgIconModule.forRoot(),
2624
3330
  ],
2625
3331
  providers: [
2626
3332
  PageService,
@@ -2655,6 +3361,7 @@ var RaiseCommonLibModule = /** @class */ (function () {
2655
3361
  CommonFunctionService,
2656
3362
  IconLoaderService,
2657
3363
  DialogService,
3364
+ KeepAliveService,
2658
3365
  ],
2659
3366
  exports: [
2660
3367
  CommonModule,
@@ -2694,15 +3401,20 @@ var RaiseCommonLibModule = /** @class */ (function () {
2694
3401
  DashboardLayoutModule,
2695
3402
  CarouselAllModule,
2696
3403
  ToolbarModule,
3404
+ TabModule,
2697
3405
  PdfViewerModule,
2698
3406
  DropDownButtonModule,
3407
+ SplitButtonModule,
2699
3408
  RichTextEditorAllModule,
2700
3409
  CommonGridComponent,
2701
3410
  FloatBoxComponent,
2702
- CommonListComponent,
3411
+ RsPageListComponent,
3412
+ RsPageTabComponent,
3413
+ GridBoxComponent,
2703
3414
  RSHeaderComponent,
2704
3415
  RSFooterComponent,
2705
3416
  RSAsideComponent,
3417
+ MultiTabComponent,
2706
3418
  MainContainerComponent,
2707
3419
  TagInputComponent,
2708
3420
  RadioGroupComponent,
@@ -2731,5 +3443,5 @@ var RaiseCommonLibModule = /** @class */ (function () {
2731
3443
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2732
3444
  */
2733
3445
 
2734
- 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 };
3446
+ 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 };
2735
3447
  //# sourceMappingURL=raise-common-lib.js.map