raise-common-lib 0.0.15 → 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 (54) hide show
  1. package/bundles/raise-common-lib.umd.js +772 -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 +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 -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 +88 -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 +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 -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 +129 -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 +643 -62
  32. package/fesm2015/raise-common-lib.js.map +1 -1
  33. package/fesm5/raise-common-lib.js +771 -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 +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.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 copy.svg +3 -0
  51. package/src/assets/img/split-button-arrow.svg +3 -0
  52. package/src/assets/style/reset/button.scss +38 -3
  53. package/esm2015/lib/layout/common-list/index.component.js +0 -69
  54. 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,744 @@ 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
+ 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;
1295
1998
  }
1296
1999
 
1297
2000
  /**
@@ -1302,13 +2005,15 @@ if (false) {
1302
2005
  var MainContainerComponent = /** @class */ (function () {
1303
2006
  function MainContainerComponent() {
1304
2007
  this.isCollapsed = false; // 接收输入属性
2008
+ // 接收输入属性
2009
+ this.singleReuseUrls = []; //只能单个缓存的url
1305
2010
  }
1306
- // 接收输入属性
2011
+ //只能单个缓存的url
1307
2012
  /**
1308
2013
  * @return {?}
1309
2014
  */
1310
2015
  MainContainerComponent.prototype.ngOnInit =
1311
- // 接收输入属性
2016
+ //只能单个缓存的url
1312
2017
  /**
1313
2018
  * @return {?}
1314
2019
  */
@@ -1316,18 +2021,21 @@ var MainContainerComponent = /** @class */ (function () {
1316
2021
  MainContainerComponent.decorators = [
1317
2022
  { type: Component, args: [{
1318
2023
  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}"]
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}"]
1321
2026
  }] }
1322
2027
  ];
1323
2028
  MainContainerComponent.propDecorators = {
1324
- isCollapsed: [{ type: Input }]
2029
+ isCollapsed: [{ type: Input }],
2030
+ singleReuseUrls: [{ type: Input }]
1325
2031
  };
1326
2032
  return MainContainerComponent;
1327
2033
  }());
1328
2034
  if (false) {
1329
2035
  /** @type {?} */
1330
2036
  MainContainerComponent.prototype.isCollapsed;
2037
+ /** @type {?} */
2038
+ MainContainerComponent.prototype.singleReuseUrls;
1331
2039
  }
1332
2040
 
1333
2041
  /**
@@ -1393,8 +2101,8 @@ var RSHeaderComponent = /** @class */ (function () {
1393
2101
  RSHeaderComponent.decorators = [
1394
2102
  { type: Component, args: [{
1395
2103
  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}"]
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}"]
1398
2106
  }] }
1399
2107
  ];
1400
2108
  RSHeaderComponent.propDecorators = {
@@ -1479,13 +2187,13 @@ var RSAsideComponent = /** @class */ (function () {
1479
2187
  */
1480
2188
  function (item) {
1481
2189
  this.currentNav = item.title;
1482
- this.router.navigate([item.url]);
2190
+ this.router.navigate([item.url], { state: { title: item.title } });
1483
2191
  };
1484
2192
  RSAsideComponent.decorators = [
1485
2193
  { type: Component, args: [{
1486
2194
  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}"]
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}"]
1489
2197
  }] }
1490
2198
  ];
1491
2199
  /** @nocollapse */
@@ -1878,42 +2586,15 @@ if (false) {
1878
2586
  SwitchInputComponent.prototype.valueChange;
1879
2587
  }
1880
2588
 
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
2589
  /**
1910
2590
  * @fileoverview added by tsickle
1911
2591
  * Generated from: lib/service/icon-loader.service.ts
1912
2592
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1913
2593
  */
1914
2594
  var IconLoaderService = /** @class */ (function () {
1915
- function IconLoaderService(iconReg) {
1916
- this.iconReg = iconReg;
2595
+ function IconLoaderService(registry, domSanitizer) {
2596
+ this.registry = registry;
2597
+ this.domSanitizer = domSanitizer;
1917
2598
  }
1918
2599
  /**
1919
2600
  * @param {?} list
@@ -1926,11 +2607,12 @@ var IconLoaderService = /** @class */ (function () {
1926
2607
  function (list) {
1927
2608
  var _this = this;
1928
2609
  list.forEach((/**
1929
- * @param {?} item
2610
+ * @param {?} __0
1930
2611
  * @return {?}
1931
2612
  */
1932
- function (item) {
1933
- _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));
1934
2616
  }));
1935
2617
  };
1936
2618
  IconLoaderService.decorators = [
@@ -1938,7 +2620,8 @@ var IconLoaderService = /** @class */ (function () {
1938
2620
  ];
1939
2621
  /** @nocollapse */
1940
2622
  IconLoaderService.ctorParameters = function () { return [
1941
- { type: SvgIconRegistryService }
2623
+ { type: MatIconRegistry },
2624
+ { type: DomSanitizer }
1942
2625
  ]; };
1943
2626
  return IconLoaderService;
1944
2627
  }());
@@ -1947,7 +2630,12 @@ if (false) {
1947
2630
  * @type {?}
1948
2631
  * @private
1949
2632
  */
1950
- IconLoaderService.prototype.iconReg;
2633
+ IconLoaderService.prototype.registry;
2634
+ /**
2635
+ * @type {?}
2636
+ * @private
2637
+ */
2638
+ IconLoaderService.prototype.domSanitizer;
1951
2639
  }
1952
2640
 
1953
2641
  /**
@@ -2566,10 +3254,13 @@ var RaiseCommonLibModule = /** @class */ (function () {
2566
3254
  declarations: [
2567
3255
  CommonGridComponent,
2568
3256
  FloatBoxComponent,
2569
- CommonListComponent,
3257
+ RsPageListComponent,
3258
+ RsPageTabComponent,
3259
+ GridBoxComponent,
2570
3260
  RSHeaderComponent,
2571
3261
  RSFooterComponent,
2572
3262
  RSAsideComponent,
3263
+ MultiTabComponent,
2573
3264
  MainContainerComponent,
2574
3265
  TagInputComponent,
2575
3266
  RadioGroupComponent,
@@ -2586,6 +3277,7 @@ var RaiseCommonLibModule = /** @class */ (function () {
2586
3277
  FormsModule,
2587
3278
  MatSnackBarModule,
2588
3279
  MatDialogModule,
3280
+ MatIconModule,
2589
3281
  GridModule,
2590
3282
  PagerModule,
2591
3283
  GridAllModule,
@@ -2617,10 +3309,11 @@ var RaiseCommonLibModule = /** @class */ (function () {
2617
3309
  DashboardLayoutModule,
2618
3310
  CarouselAllModule,
2619
3311
  ToolbarModule,
3312
+ TabModule,
2620
3313
  PdfViewerModule,
2621
3314
  DropDownButtonModule,
3315
+ SplitButtonModule,
2622
3316
  RichTextEditorAllModule,
2623
- AngularSvgIconModule.forRoot(),
2624
3317
  ],
2625
3318
  providers: [
2626
3319
  PageService,
@@ -2655,6 +3348,7 @@ var RaiseCommonLibModule = /** @class */ (function () {
2655
3348
  CommonFunctionService,
2656
3349
  IconLoaderService,
2657
3350
  DialogService,
3351
+ KeepAliveService,
2658
3352
  ],
2659
3353
  exports: [
2660
3354
  CommonModule,
@@ -2694,15 +3388,20 @@ var RaiseCommonLibModule = /** @class */ (function () {
2694
3388
  DashboardLayoutModule,
2695
3389
  CarouselAllModule,
2696
3390
  ToolbarModule,
3391
+ TabModule,
2697
3392
  PdfViewerModule,
2698
3393
  DropDownButtonModule,
3394
+ SplitButtonModule,
2699
3395
  RichTextEditorAllModule,
2700
3396
  CommonGridComponent,
2701
3397
  FloatBoxComponent,
2702
- CommonListComponent,
3398
+ RsPageListComponent,
3399
+ RsPageTabComponent,
3400
+ GridBoxComponent,
2703
3401
  RSHeaderComponent,
2704
3402
  RSFooterComponent,
2705
3403
  RSAsideComponent,
3404
+ MultiTabComponent,
2706
3405
  MainContainerComponent,
2707
3406
  TagInputComponent,
2708
3407
  RadioGroupComponent,
@@ -2731,5 +3430,5 @@ var RaiseCommonLibModule = /** @class */ (function () {
2731
3430
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
2732
3431
  */
2733
3432
 
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 };
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 };
2735
3434
  //# sourceMappingURL=raise-common-lib.js.map