raise-common-lib-new 0.0.4 → 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 (52) hide show
  1. package/esm2022/lib/common-grid/index.component.mjs +2 -2
  2. package/esm2022/lib/dialog/common-delete-dialog/index.component.mjs +46 -0
  3. package/esm2022/lib/dialog/common-dialog/index.component.mjs +85 -0
  4. package/esm2022/lib/dialog/new-action-notification/new-action-notification.component.mjs +51 -0
  5. package/esm2022/lib/form/tag-input/index.component.mjs +2 -2
  6. package/esm2022/lib/layout/grid-box/index.component.mjs +42 -0
  7. package/esm2022/lib/layout/main-container/index.component.mjs +7 -3
  8. package/esm2022/lib/layout/multi-tab/index.component.mjs +162 -0
  9. package/esm2022/lib/layout/page-list/index.component.mjs +43 -0
  10. package/esm2022/lib/layout/page-tab/index.component.mjs +37 -0
  11. package/esm2022/lib/layout/rs-aside/index.component.mjs +5 -5
  12. package/esm2022/lib/layout/rs-header/index.component.mjs +3 -3
  13. package/esm2022/lib/raise-common-lib.module.mjs +72 -15
  14. package/esm2022/lib/service/common-function.service.mjs +39 -1
  15. package/esm2022/lib/service/dialog.service.mjs +132 -0
  16. package/esm2022/lib/service/icon-loader.service.mjs +12 -9
  17. package/esm2022/lib/service/keep-alive.service.mjs +44 -0
  18. package/esm2022/public-api.mjs +7 -2
  19. package/fesm2022/raise-common-lib-new.mjs +718 -58
  20. package/fesm2022/raise-common-lib-new.mjs.map +1 -1
  21. package/lib/dialog/common-delete-dialog/index.component.d.ts +29 -0
  22. package/lib/dialog/common-dialog/index.component.d.ts +29 -0
  23. package/lib/dialog/new-action-notification/new-action-notification.component.d.ts +33 -0
  24. package/lib/layout/grid-box/index.component.d.ts +15 -0
  25. package/lib/layout/main-container/index.component.d.ts +2 -1
  26. package/lib/layout/multi-tab/index.component.d.ts +40 -0
  27. package/lib/layout/page-list/index.component.d.ts +15 -0
  28. package/lib/layout/page-tab/index.component.d.ts +14 -0
  29. package/lib/raise-common-lib.module.d.ts +36 -28
  30. package/lib/service/common-function.service.d.ts +2 -0
  31. package/lib/service/dialog.service.d.ts +55 -0
  32. package/lib/service/icon-loader.service.d.ts +5 -3
  33. package/lib/service/keep-alive.service.d.ts +11 -0
  34. package/package.json +1 -1
  35. package/public-api.d.ts +6 -1
  36. package/src/assets/img/calendar-disabled.svg +6 -0
  37. package/src/assets/img/close-url.svg +10 -0
  38. package/src/assets/img/close.svg +10 -0
  39. package/src/assets/img/desktop-refresh-btn.svg +6 -0
  40. package/src/assets/img/icon-more-active.svg +7 -0
  41. package/src/assets/img/icon-more.svg +7 -0
  42. package/src/assets/img/raise_loading.gif +0 -0
  43. package/src/assets/img/split-button-arrow.svg +3 -0
  44. package/src/assets/style/reset/button.scss +62 -27
  45. package/src/assets/style/reset/dropdown.scss +26 -8
  46. package/src/assets/style/reset/grid.scss +244 -0
  47. package/src/assets/style/reset/input.scss +35 -3
  48. package/src/assets/style/reset/mat-dialog.scss +3 -0
  49. package/src/assets/style/style.scss +2 -0
  50. package/src/assets/style/variables.scss +2 -0
  51. package/esm2022/lib/layout/common-list/index.component.mjs +0 -43
  52. package/lib/layout/common-list/index.component.d.ts +0 -15
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewChild, Input, Output, ContentChild, Injectable, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, ViewChild, Input, Output, ContentChild, TemplateRef, Injectable, HostListener, Inject, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2 from '@syncfusion/ej2-angular-grids';
@@ -11,21 +11,30 @@ import * as i2$1 from '@angular/forms';
11
11
  import { ReactiveFormsModule, FormsModule } from '@angular/forms';
12
12
  import * as i3$1 from '@syncfusion/ej2-angular-inputs';
13
13
  import { TextBoxModule, ColorPickerModule, UploaderModule, NumericTextBoxModule } from '@syncfusion/ej2-angular-inputs';
14
- import * as i1$1 from '@syncfusion/ej2-angular-splitbuttons';
15
- import { DropDownButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
16
- import * as i1$2 from '@angular/router';
17
- import * as i1$3 from 'angular-svg-icon';
18
- import { AngularSvgIconModule } from 'angular-svg-icon';
14
+ import * as i2$2 from '@syncfusion/ej2-angular-navigations';
15
+ import { CarouselAllModule, ToolbarModule, TabModule } from '@syncfusion/ej2-angular-navigations';
16
+ import * as i1$1 from '@angular/router';
17
+ import { NavigationEnd } from '@angular/router';
18
+ import { filter } from 'rxjs/operators';
19
+ import * as i5 from '@syncfusion/ej2-angular-popups';
20
+ import { TooltipModule, DialogModule } from '@syncfusion/ej2-angular-popups';
21
+ import * as i1$2 from '@syncfusion/ej2-angular-splitbuttons';
22
+ import { DropDownButtonModule, SplitButtonModule } from '@syncfusion/ej2-angular-splitbuttons';
23
+ import * as i1$3 from '@angular/material/icon';
24
+ import { MatIconModule } from '@angular/material/icon';
19
25
  import * as i3$2 from '@syncfusion/ej2-angular-buttons';
20
26
  import { SwitchModule, CheckBoxModule, RadioButtonModule, ButtonModule } from '@syncfusion/ej2-angular-buttons';
27
+ import * as i2$3 from '@angular/platform-browser';
28
+ import * as i1$5 from '@angular/material/snack-bar';
29
+ import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
30
+ import * as i1$4 from '@angular/material/dialog';
31
+ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
21
32
  import { HttpClientModule } from '@angular/common/http';
22
33
  import { DiagramModule } from '@syncfusion/ej2-angular-diagrams';
23
- import { TooltipModule, DialogModule } from '@syncfusion/ej2-angular-popups';
24
34
  import { DatePickerModule, DateRangePickerModule, DateTimePickerModule } from '@syncfusion/ej2-angular-calendars';
25
35
  import { DropDownListModule, DropDownTreeModule, MultiSelectAllModule, AutoCompleteModule, ListBoxModule } from '@syncfusion/ej2-angular-dropdowns';
26
36
  import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview';
27
37
  import { DashboardLayoutModule } from '@syncfusion/ej2-angular-layouts';
28
- import { CarouselAllModule, ToolbarModule } from '@syncfusion/ej2-angular-navigations';
29
38
  import { PdfViewerModule, LinkAnnotationService, BookmarkViewService, MagnificationService, ThumbnailViewService, ToolbarService as ToolbarService$1, NavigationService, TextSearchService, TextSelectionService, PrintService } from '@syncfusion/ej2-angular-pdfviewer';
30
39
  import { RichTextEditorAllModule, HtmlEditorService, ToolbarService as ToolbarService$2 } from '@syncfusion/ej2-angular-richtexteditor';
31
40
 
@@ -379,11 +388,11 @@ class CommonGridComponent {
379
388
  this.ref && this.ref.detectChanges();
380
389
  }
381
390
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonGridComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
382
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommonGridComponent, selector: "rs-common-grid", inputs: { showCheckBox: "showCheckBox", loaded: "loaded", hiddenLoaded: "hiddenLoaded", authorized: "authorized", selectedDiffKey: "selectedDiffKey", gridHeight: "gridHeight", gridId: "gridId", resizeSettings: "resizeSettings", filterSettings: "filterSettings", template: "template", fields: "fields", dataSource: "dataSource", editSettings: "editSettings", columnTemplate: "columnTemplate", pageSettings: "pageSettings", allowPaging: "allowPaging", clipMode: "clipMode", checkBoxWidth: "checkBoxWidth", childGrid: "childGrid", contextMenuItems: "contextMenuItems", selectionSettings: "selectionSettings", alwaysShowCheckbox: "alwaysShowCheckbox", defaultRecord: "defaultRecord", disableSystemRow: "disableSystemRow" }, outputs: { recordDoubleClick: "recordDoubleClick", actionComplete: "actionComplete", rowSelected: "rowSelected", rowDeselected: "rowDeselected", onContextMenu: "onContextMenu", actionHandler: "actionHandler", queryCellInfo: "queryCellInfo", recordClick: "recordClick", actionBegin: "actionBegin", rowDataBound: "rowDataBound", dataBound: "dataBound", exportQueryCellInfo: "exportQueryCellInfo", rowSelecting: "rowSelecting" }, viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n", styles: ["::ng-deep .e-grid{font-family:var(--rs-font-family);height:100%;display:flex;flex-direction:column}::ng-deep .e-grid .e-headercell{height:32px}::ng-deep .e-grid .e-headercell .e-headercelldiv{color:#44566c;font-family:Arial;font-size:var(--rs-grid-header-cell-font-size);font-weight:700;line-height:29px;height:29px}::ng-deep .e-grid .e-headercell .e-rhandler{border-right:0!important}::ng-deep .e-grid .e-headercell .e-icons{color:#929dab!important;margin:-22px}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons{margin:0}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-check,::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-stop{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-gridheader{border-bottom-color:transparent}::ng-deep .e-grid .e-gridheader .e-fltr-icon .e-sortfilterdiv{color:#929dab!important;font-size:13px!important;margin:-31px 10px -29px 0}::ng-deep .e-grid .e-rowcell{padding:2px 8px 3px}::ng-deep .e-grid .e-rowcell:not(.e-editedbatchcell):not(.e-updatedtd){color:var(--rs-text-color);font-family:Arial;font-size:var(--rs-grid-row-cell-font-size);font-weight:400;line-height:23px}::ng-deep .e-grid .e-rowcell.e-active{background:#1f7bff14}::ng-deep .e-grid .e-rowcell .e-checkbox-wrapper .e-icons.e-check{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell){background-color:var(--rs-grid-row-hover-bg)!important}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell.e-active:not(.e-cellselectionbackground):not(.e-updatedtd):not(.e-indentcell){background-color:#1f7bff1f!important}::ng-deep .e-grid .e-focused:not(.e-menu-item):not(.e-editedbatchcell){box-shadow:none!important}::ng-deep .e-grid .e-gridcontent{flex:1;height:0}::ng-deep .e-grid .e-gridcontent .e-content{height:100%!important;overflow:auto}::ng-deep .e-pager{padding:12px 0;height:48px;font-family:Arial}::ng-deep .e-pager .e-pp,::ng-deep .e-pager .e-pp:hover,::ng-deep .e-pager .e-np,::ng-deep .e-pager .e-np:hover,::ng-deep .e-pager .e-parentmsgbar{padding:0!important}::ng-deep .e-pager .e-icons{padding:5px!important;min-width:20px!important;border:0!important}::ng-deep .e-pager .e-pagercontainer,::ng-deep .e-pager .e-parentmsgbar{height:24px;line-height:24px;border:0;color:#929dab;font-size:10px}::ng-deep .e-pager .e-numericitem{min-width:24px;width:24px;height:24px;padding:0!important;line-height:24px!important;border:0;color:#6c7c90;font-size:12px}::ng-deep .e-pager .e-numericitem:hover{padding:0!important}::ng-deep .e-pager .e-numericitem.e-active{color:#1f3f5c;border-radius:6px;border:1px solid rgba(31,123,255,.66)}::ng-deep .e-pager .e-numericitem.e-focused{background:#fff!important;box-shadow:none!important}::ng-deep .e-pager .e-numericcontainer div{height:24px}::ng-deep .e-pager .e-numericcontainer .e-currentitem{padding:0;background:#fff}::ng-deep .e-pager .e-pagerconstant{margin:0 0 0 16px;line-height:24px;color:#929dab;font-size:11px}::ng-deep .e-pager div.e-icons.e-pager-default{color:#6b6b6b}::ng-deep .e-pager .e-icons:not(.e-btn-icon){color:#adb5bd}::ng-deep .e-pager .e-currentitem{font-size:11px;font-family:Arial}::ng-deep .e-pager .e-pagerdropdown{height:24px!important;margin-top:-14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GridComponent, selector: "ejs-grid", inputs: ["adaptiveUIMode", "aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i2.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i2.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i2.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i2.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i3.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i3.ColumnsDirective, selector: "ejs-chart>e-columns" }] });
391
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommonGridComponent, selector: "rs-common-grid", inputs: { showCheckBox: "showCheckBox", loaded: "loaded", hiddenLoaded: "hiddenLoaded", authorized: "authorized", selectedDiffKey: "selectedDiffKey", gridHeight: "gridHeight", gridId: "gridId", resizeSettings: "resizeSettings", filterSettings: "filterSettings", template: "template", fields: "fields", dataSource: "dataSource", editSettings: "editSettings", columnTemplate: "columnTemplate", pageSettings: "pageSettings", allowPaging: "allowPaging", clipMode: "clipMode", checkBoxWidth: "checkBoxWidth", childGrid: "childGrid", contextMenuItems: "contextMenuItems", selectionSettings: "selectionSettings", alwaysShowCheckbox: "alwaysShowCheckbox", defaultRecord: "defaultRecord", disableSystemRow: "disableSystemRow" }, outputs: { recordDoubleClick: "recordDoubleClick", actionComplete: "actionComplete", rowSelected: "rowSelected", rowDeselected: "rowDeselected", onContextMenu: "onContextMenu", actionHandler: "actionHandler", queryCellInfo: "queryCellInfo", recordClick: "recordClick", actionBegin: "actionBegin", rowDataBound: "rowDataBound", dataBound: "dataBound", exportQueryCellInfo: "exportQueryCellInfo", rowSelecting: "rowSelecting" }, viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GridComponent, selector: "ejs-grid", inputs: ["adaptiveUIMode", "aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i2.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i2.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i2.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i2.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i3.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i3.ColumnsDirective, selector: "ejs-chart>e-columns" }] });
383
392
  }
384
393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonGridComponent, decorators: [{
385
394
  type: Component,
386
- args: [{ selector: 'rs-common-grid', template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n", styles: ["::ng-deep .e-grid{font-family:var(--rs-font-family);height:100%;display:flex;flex-direction:column}::ng-deep .e-grid .e-headercell{height:32px}::ng-deep .e-grid .e-headercell .e-headercelldiv{color:#44566c;font-family:Arial;font-size:var(--rs-grid-header-cell-font-size);font-weight:700;line-height:29px;height:29px}::ng-deep .e-grid .e-headercell .e-rhandler{border-right:0!important}::ng-deep .e-grid .e-headercell .e-icons{color:#929dab!important;margin:-22px}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons{margin:0}::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-check,::ng-deep .e-grid .e-headercell .e-checkbox-wrapper .e-icons.e-stop{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-gridheader{border-bottom-color:transparent}::ng-deep .e-grid .e-gridheader .e-fltr-icon .e-sortfilterdiv{color:#929dab!important;font-size:13px!important;margin:-31px 10px -29px 0}::ng-deep .e-grid .e-rowcell{padding:2px 8px 3px}::ng-deep .e-grid .e-rowcell:not(.e-editedbatchcell):not(.e-updatedtd){color:var(--rs-text-color);font-family:Arial;font-size:var(--rs-grid-row-cell-font-size);font-weight:400;line-height:23px}::ng-deep .e-grid .e-rowcell.e-active{background:#1f7bff14}::ng-deep .e-grid .e-rowcell .e-checkbox-wrapper .e-icons.e-check{color:#fff!important;background-color:var(--rs-active-color);border-color:var(--rs-active-color)}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell:not(.e-cellselectionbackground):not(.e-active):not(.e-updatedtd):not(.e-indentcell){background-color:var(--rs-grid-row-hover-bg)!important}::ng-deep .e-grid .e-row:not(.e-disable-gridhover):not(.e-editedrow):not(.e-detailrow):hover .e-rowcell.e-active:not(.e-cellselectionbackground):not(.e-updatedtd):not(.e-indentcell){background-color:#1f7bff1f!important}::ng-deep .e-grid .e-focused:not(.e-menu-item):not(.e-editedbatchcell){box-shadow:none!important}::ng-deep .e-grid .e-gridcontent{flex:1;height:0}::ng-deep .e-grid .e-gridcontent .e-content{height:100%!important;overflow:auto}::ng-deep .e-pager{padding:12px 0;height:48px;font-family:Arial}::ng-deep .e-pager .e-pp,::ng-deep .e-pager .e-pp:hover,::ng-deep .e-pager .e-np,::ng-deep .e-pager .e-np:hover,::ng-deep .e-pager .e-parentmsgbar{padding:0!important}::ng-deep .e-pager .e-icons{padding:5px!important;min-width:20px!important;border:0!important}::ng-deep .e-pager .e-pagercontainer,::ng-deep .e-pager .e-parentmsgbar{height:24px;line-height:24px;border:0;color:#929dab;font-size:10px}::ng-deep .e-pager .e-numericitem{min-width:24px;width:24px;height:24px;padding:0!important;line-height:24px!important;border:0;color:#6c7c90;font-size:12px}::ng-deep .e-pager .e-numericitem:hover{padding:0!important}::ng-deep .e-pager .e-numericitem.e-active{color:#1f3f5c;border-radius:6px;border:1px solid rgba(31,123,255,.66)}::ng-deep .e-pager .e-numericitem.e-focused{background:#fff!important;box-shadow:none!important}::ng-deep .e-pager .e-numericcontainer div{height:24px}::ng-deep .e-pager .e-numericcontainer .e-currentitem{padding:0;background:#fff}::ng-deep .e-pager .e-pagerconstant{margin:0 0 0 16px;line-height:24px;color:#929dab;font-size:11px}::ng-deep .e-pager div.e-icons.e-pager-default{color:#6b6b6b}::ng-deep .e-pager .e-icons:not(.e-btn-icon){color:#adb5bd}::ng-deep .e-pager .e-currentitem{font-size:11px;font-family:Arial}::ng-deep .e-pager .e-pagerdropdown{height:24px!important;margin-top:-14px}\n"] }]
395
+ args: [{ selector: 'rs-common-grid', template: "<ejs-grid\r\n\t#grid\r\n\t[id]=\"gridId\"\r\n\t[ngClass]=\"{\r\n\t\t'hide-Check-box': !alwaysShowCheckbox,\r\n\t\t'grid-loading': className === 'grid-loading'\r\n\t}\"\r\n\t[dataSource]=\"dataSource\"\r\n\t[allowPaging]=\"allowPaging && pageSettings\"\r\n\t[allowResizing]=\"true\"\r\n\t[pageSettings]=\"pageSettings\"\r\n\t[showColumnMenu]=\"true\"\r\n\t[allowSorting]=\"true\"\r\n\t[allowFiltering]=\"true\"\r\n\t[allowExcelExport]=\"true\"\r\n\t[filterSettings]=\"filterSettings\"\r\n\t[resizeSettings]=\"resizeSettings\"\r\n\t[allowSelection]=\"true\"\r\n\t[editSettings]=\"editSettings\"\r\n\t[childGrid]=\"childGrid\"\r\n\t[contextMenuItems]=\"\r\n\t\tdataSource && dataSource.length ? contextMenuItems : null\r\n\t\"\r\n\t[selectionSettings]=\"selectionSettings\"\r\n\t(recordClick)=\"_recordClick($event)\"\r\n\t(recordDoubleClick)=\"_recordDoubleClick($event)\"\r\n\t(actionBegin)=\"_actionBegin($event)\"\r\n\t(actionComplete)=\"_actionHandler($event)\"\r\n\t(rowSelected)=\"_rowSelected($event)\"\r\n\t(rowDeselected)=\"_rowDeselected($event)\"\r\n\tstyle=\"border: none\"\r\n\t(contextMenuClick)=\"_onContextMenu($event)\"\r\n\t(contextMenuOpen)=\"contextMenuOpen($event)\"\r\n\t(queryCellInfo)=\"customiseCell($event)\"\r\n\t(dataBound)=\"_dataBound($event)\"\r\n\t(rowDataBound)=\"_rowDataBound($event)\"\r\n\t(rowSelecting)=\"_rowSelecting($event)\"\r\n\t(excelQueryCellInfo)=\"_exportQueryCellInfo($event)\"\r\n\t(load)=\"_load()\"\r\n>\r\n\t<e-columns>\r\n\t\t<e-column\r\n\t\t\t*ngIf=\"showCheckBox\"\r\n\t\t\ttype=\"checkbox\"\r\n\t\t\t[width]=\"checkBoxWidth\"\r\n\t\t\t[showColumnMenu]=\"false\"\r\n\t\t></e-column>\r\n\t\t<e-column\r\n\t\t\t*ngFor=\"let item of fields; trackBy: trackByFn\"\r\n\t\t\t[field]=\"item.columnName\"\r\n\t\t\t[filter]=\"item.filter ? item.filter : { type: 'CheckBox' }\"\r\n\t\t\t[customAttributes]=\"\r\n\t\t\t\titem.colName === 'entityUserList' ||\r\n\t\t\t\titem.colName === 'kycProgress'\r\n\t\t\t\t\t? { class: 'hideColumnFilterClass' }\r\n\t\t\t\t\t: {}\r\n\t\t\t\"\r\n\t\t\t[headerText]=\"item.columnDisplayName\"\r\n\t\t\t[textAlign]=\"item.textAlign\"\r\n\t\t\t[showColumnMenu]=\"item.showColumnMenu === undefined ? true : false\"\r\n\t\t\t[allowFiltering]=\"item.allowFiltering === undefined ? true : false\"\r\n\t\t\t[allowSorting]=\"item.allowSorting === undefined ? true : false\"\r\n\t\t\t[editType]=\"item.editType\"\r\n\t\t\t[validationRules]=\"item.validationRules\"\r\n\t\t\t[type]=\"item.dataType\"\r\n\t\t\t[width]=\"item.width\"\r\n\t\t\t[minWidth]=\"item.minWidth\"\r\n\t\t\t[format]=\"item.format\"\r\n\t\t\t[visible]=\"item.visible\"\r\n\t\t\t[template]=\"item.showTemplate ? columnTemplate : undefined\"\r\n\t\t\t[clipMode]=\"\r\n\t\t\t\titem.clipMode\r\n\t\t\t\t\t? item.clipMode\r\n\t\t\t\t\t: clipMode || 'EllipsisWithTooltip'\r\n\t\t\t\"\r\n\t\t\t[sortComparer]=\"item.dateComparer\"\r\n\t\t>\r\n\t\t</e-column>\r\n\t</e-columns>\r\n</ejs-grid>\r\n" }]
387
396
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { grid: [{
388
397
  type: ViewChild,
389
398
  args: ['grid', { static: false }]
@@ -679,7 +688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
679
688
  }] } });
680
689
 
681
690
  // 组件类
682
- class CommonListComponent {
691
+ class RsPageListComponent {
683
692
  gridContent;
684
693
  pageTitle;
685
694
  customPageTitle = false;
@@ -697,12 +706,12 @@ class CommonListComponent {
697
706
  onInput() {
698
707
  this.debouncedInput();
699
708
  }
700
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
701
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommonListComponent, selector: "rs-common-list", inputs: { pageTitle: "pageTitle", customPageTitle: "customPageTitle", isInner: "isInner" }, queries: [{ propertyName: "gridContent", first: true, predicate: CommonGridComponent, descendants: true, static: true }], ngImport: i0, 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", 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 #0000001a}.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 #1f7bff66!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}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.TextBoxComponent, selector: "ejs-textbox", inputs: ["autocomplete", "cssClass", "enablePersistence", "enableRtl", "enabled", "floatLabelType", "htmlAttributes", "locale", "multiline", "placeholder", "readonly", "showClearButton", "type", "value", "width"], outputs: ["blur", "change", "created", "destroyed", "focus", "input", "valueChange"] }] });
709
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RsPageListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
710
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RsPageListComponent, selector: "rs-page-list", inputs: { pageTitle: "pageTitle", customPageTitle: "customPageTitle", isInner: "isInner" }, queries: [{ propertyName: "gridContent", first: true, predicate: CommonGridComponent, descendants: true, static: true }], ngImport: i0, 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", 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 #0000001a}.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 #1f7bff66!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}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.TextBoxComponent, selector: "ejs-textbox", inputs: ["autocomplete", "cssClass", "enablePersistence", "enableRtl", "enabled", "floatLabelType", "htmlAttributes", "locale", "multiline", "placeholder", "readonly", "showClearButton", "type", "value", "width"], outputs: ["blur", "change", "created", "destroyed", "focus", "input", "valueChange"] }] });
702
711
  }
703
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonListComponent, decorators: [{
712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RsPageListComponent, decorators: [{
704
713
  type: Component,
705
- args: [{ selector: 'rs-common-list', 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", 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 #0000001a}.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 #1f7bff66!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}\n"] }]
714
+ args: [{ selector: 'rs-page-list', 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", 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 #0000001a}.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 #1f7bff66!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}\n"] }]
706
715
  }], propDecorators: { gridContent: [{
707
716
  type: ContentChild,
708
717
  args: [CommonGridComponent, { static: true }]
@@ -714,6 +723,325 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
714
723
  type: Input
715
724
  }] } });
716
725
 
726
+ // 组件类
727
+ class RsPageTabComponent {
728
+ pageTitle;
729
+ customPageTitle = false;
730
+ tabList = [];
731
+ currentTab;
732
+ tabChange = new EventEmitter();
733
+ animation = {
734
+ previous: { effect: "", duration: 0, easing: "" },
735
+ next: { effect: "", duration: 0, easing: "" },
736
+ };
737
+ ngOnInit() { }
738
+ onTabClick(e) {
739
+ this.tabChange.emit(this.tabList[e.selectedIndex]);
740
+ }
741
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RsPageTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
742
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RsPageTabComponent, selector: "rs-page-tab", inputs: { pageTitle: "pageTitle", customPageTitle: "customPageTitle", tabList: "tabList", currentTab: "currentTab" }, outputs: { tabChange: "tabChange" }, ngImport: i0, 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", 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(\"data:image/svg+xml,%3Csvg width%3D%2214%22 height%3D%223%22 viewBox%3D%220 0 14 3%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Drag bar%22%3E%0D%3Ccircle id%3D%22Ellipse 30%22 cx%3D%221.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 1.5 1.5)%22 fill%3D%22%236B6B6B%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 31%22 cx%3D%227%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 7 1.5)%22 fill%3D%22%236B6B6B%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 32%22 cx%3D%2212.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 12.5 1.5)%22 fill%3D%22%236B6B6B%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");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(\"data:image/svg+xml,%3Csvg width%3D%2214%22 height%3D%223%22 viewBox%3D%220 0 14 3%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Drag bar%22%3E%0D%3Ccircle id%3D%22Ellipse 30%22 cx%3D%221.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 1.5 1.5)%22 fill%3D%22%231F7BFF%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 31%22 cx%3D%227%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 7 1.5)%22 fill%3D%22%231F7BFF%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 32%22 cx%3D%2212.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 12.5 1.5)%22 fill%3D%22%231F7BFF%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.rs-page-list-wrap .rs-tab .e-toolbar-pop{min-width:160px;border-radius:10px;background:#fff;box-shadow:0 0 8px #00000040;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:#1f7bff0d}.rs-page-list-wrap .rs-grid-wrap{flex:1;height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.TabComponent, selector: "ejs-tab", inputs: ["allowDragAndDrop", "animation", "clearTemplates", "cssClass", "dragArea", "enableHtmlSanitizer", "enablePersistence", "enableRtl", "headerPlacement", "height", "heightAdjustMode", "items", "loadOn", "locale", "overflowMode", "reorderActiveTab", "scrollStep", "selectedItem", "showCloseButton", "width"], outputs: ["added", "adding", "created", "destroyed", "dragged", "dragging", "onDragStart", "removed", "removing", "selected", "selecting"] }, { kind: "directive", type: i2$2.TabItemDirective, selector: "e-tabitems>e-tabitem", inputs: ["content", "cssClass", "disabled", "header", "headerTemplate", "id", "tabIndex", "visible"] }, { kind: "directive", type: i2$2.TabItemsDirective, selector: "ejs-tab>e-tabitems" }] });
743
+ }
744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RsPageTabComponent, decorators: [{
745
+ type: Component,
746
+ args: [{ selector: "rs-page-tab", 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", 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(\"data:image/svg+xml,%3Csvg width%3D%2214%22 height%3D%223%22 viewBox%3D%220 0 14 3%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Drag bar%22%3E%0D%3Ccircle id%3D%22Ellipse 30%22 cx%3D%221.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 1.5 1.5)%22 fill%3D%22%236B6B6B%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 31%22 cx%3D%227%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 7 1.5)%22 fill%3D%22%236B6B6B%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 32%22 cx%3D%2212.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 12.5 1.5)%22 fill%3D%22%236B6B6B%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\");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(\"data:image/svg+xml,%3Csvg width%3D%2214%22 height%3D%223%22 viewBox%3D%220 0 14 3%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Drag bar%22%3E%0D%3Ccircle id%3D%22Ellipse 30%22 cx%3D%221.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 1.5 1.5)%22 fill%3D%22%231F7BFF%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 31%22 cx%3D%227%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 7 1.5)%22 fill%3D%22%231F7BFF%22%2F%3E%0D%3Ccircle id%3D%22Ellipse 32%22 cx%3D%2212.5%22 cy%3D%221.5%22 r%3D%221.5%22 transform%3D%22rotate(-90 12.5 1.5)%22 fill%3D%22%231F7BFF%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.rs-page-list-wrap .rs-tab .e-toolbar-pop{min-width:160px;border-radius:10px;background:#fff;box-shadow:0 0 8px #00000040;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:#1f7bff0d}.rs-page-list-wrap .rs-grid-wrap{flex:1;height:0}\n"] }]
747
+ }], propDecorators: { pageTitle: [{
748
+ type: Input
749
+ }], customPageTitle: [{
750
+ type: Input
751
+ }], tabList: [{
752
+ type: Input
753
+ }], currentTab: [{
754
+ type: Input
755
+ }], tabChange: [{
756
+ type: Output
757
+ }] } });
758
+
759
+ // 组件类
760
+ class GridBoxComponent {
761
+ gridContent;
762
+ pageTitle;
763
+ customPageTitle = false;
764
+ isInner = false;
765
+ debouncedInput;
766
+ ngOnInit() {
767
+ this.debouncedInput = debounce(() => {
768
+ this.onSeach();
769
+ }, 300);
770
+ }
771
+ searchValue;
772
+ onSeach() {
773
+ this.gridContent.grid.search(this.searchValue);
774
+ }
775
+ onInput() {
776
+ this.debouncedInput();
777
+ }
778
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
779
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GridBoxComponent, selector: "rs-grid-box", inputs: { pageTitle: "pageTitle", customPageTitle: "customPageTitle", isInner: "isInner" }, queries: [{ propertyName: "gridContent", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, 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", 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 #0000001a}.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 #1f7bff66!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}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.TextBoxComponent, selector: "ejs-textbox", inputs: ["autocomplete", "cssClass", "enablePersistence", "enableRtl", "enabled", "floatLabelType", "htmlAttributes", "locale", "multiline", "placeholder", "readonly", "showClearButton", "type", "value", "width"], outputs: ["blur", "change", "created", "destroyed", "focus", "input", "valueChange"] }] });
780
+ }
781
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GridBoxComponent, decorators: [{
782
+ type: Component,
783
+ args: [{ selector: 'rs-grid-box', 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", 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 #0000001a}.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 #1f7bff66!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}\n"] }]
784
+ }], propDecorators: { gridContent: [{
785
+ type: ContentChild,
786
+ args: [TemplateRef, { static: true }]
787
+ }], pageTitle: [{
788
+ type: Input
789
+ }], customPageTitle: [{
790
+ type: Input
791
+ }], isInner: [{
792
+ type: Input
793
+ }] } });
794
+
795
+ class CommonFunctionService {
796
+ constructor() { }
797
+ testMethod() {
798
+ return "test1111";
799
+ }
800
+ setMiddleEllipsis(text, maxWidth = 150, fontSize = 13) {
801
+ const canvas = document.createElement("canvas");
802
+ const context = canvas.getContext("2d");
803
+ context.font = `${fontSize}px Arial`;
804
+ let width = context.measureText(text).width;
805
+ if (width <= maxWidth) {
806
+ return text;
807
+ }
808
+ maxWidth = Math.floor(maxWidth - context.measureText("...").width);
809
+ let firstPart = "";
810
+ let secondPart = "";
811
+ let half = Math.floor(maxWidth / 2);
812
+ for (let i = 0; i < text.length; i++) {
813
+ firstPart += text[i];
814
+ width = context.measureText(firstPart).width;
815
+ if (width > half) {
816
+ break;
817
+ }
818
+ }
819
+ for (let i = text.length - 1; i >= 0; i--) {
820
+ secondPart = text[i] + secondPart;
821
+ width = context.measureText(secondPart).width;
822
+ if (width > half) {
823
+ break;
824
+ }
825
+ }
826
+ return firstPart + "..." + secondPart;
827
+ }
828
+ getPureUrl(url) {
829
+ if (url) {
830
+ // 如果params的value 携带查询参数, 则截取前面部分
831
+ url = decodeURIComponent(url);
832
+ if (url.includes("?")) {
833
+ url = url.split("?")[0];
834
+ }
835
+ }
836
+ return url;
837
+ }
838
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
839
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, providedIn: "root" });
840
+ }
841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, decorators: [{
842
+ type: Injectable,
843
+ args: [{
844
+ providedIn: "root",
845
+ }]
846
+ }], ctorParameters: function () { return []; } });
847
+
848
+ const storedRoutes = {};
849
+ let toBeDeleteUrl;
850
+ let excludeRoutes = []; // 不需要缓存的url
851
+ class KeepAliveService {
852
+ setExcludeRoutes(routes) {
853
+ excludeRoutes = routes; // 设置不缓存的路由
854
+ }
855
+ shouldDetach(route) {
856
+ if (toBeDeleteUrl === this.getRoutePath(route)) {
857
+ // 对于新开的又即将关闭的tab,不缓存
858
+ toBeDeleteUrl = "";
859
+ return false;
860
+ }
861
+ return !excludeRoutes.includes(route.routeConfig.path);
862
+ }
863
+ store(route, handle) {
864
+ // console.log("store", this.getRoutePath(route));
865
+ // console.log("store", storedRoutes);
866
+ storedRoutes[this.getRoutePath(route)] = handle;
867
+ }
868
+ shouldAttach(route) {
869
+ return !!storedRoutes[this.getRoutePath(route)];
870
+ }
871
+ retrieve(route) {
872
+ return storedRoutes[this.getRoutePath(route)];
873
+ }
874
+ shouldReuseRoute(future, curr) {
875
+ // console.log("shouldReuseRoute");
876
+ return this.getRoutePath(future) === this.getRoutePath(curr); // 复用相同的路由
877
+ }
878
+ getRoutePath(route) {
879
+ if (route.routeConfig) {
880
+ // const pathParams = JSON.stringify(route.params);
881
+ const queryParams = new URLSearchParams(route.queryParams).toString();
882
+ return route._routerState.url + (queryParams ? "?" + queryParams : "");
883
+ }
884
+ return "";
885
+ }
886
+ clearCache(path) {
887
+ toBeDeleteUrl = path;
888
+ delete storedRoutes[path]; // 清除指定路径的缓存
889
+ }
890
+ }
891
+
892
+ // 组件类
893
+ class MultiTabComponent {
894
+ router;
895
+ cf;
896
+ activatedRoute;
897
+ keepAlive;
898
+ constructor(router, cf, activatedRoute, keepAlive) {
899
+ this.router = router;
900
+ this.cf = cf;
901
+ this.activatedRoute = activatedRoute;
902
+ this.keepAlive = keepAlive;
903
+ }
904
+ singleReuseUrls = []; //只能单个缓存的url
905
+ TAB_WIDTH = 164;
906
+ GAP_NORMAL = 54;
907
+ GAP_SMALL = 30;
908
+ textGap; // 文本与边框的总间距
909
+ foo;
910
+ comRef;
911
+ tabList = [];
912
+ selectedTab = 0;
913
+ maxTabs = 10;
914
+ screenWidth = window.innerWidth; // 初始化屏幕宽度
915
+ onResize(event) {
916
+ this.screenWidth = window.innerWidth; // 更新屏幕宽度
917
+ this.setEllipsisTitle();
918
+ }
919
+ ngOnInit() {
920
+ this.initTab();
921
+ this.router.events
922
+ .pipe(filter((event) => event instanceof NavigationEnd))
923
+ .subscribe(() => {
924
+ const navigation = this.router.getCurrentNavigation(); // 获取当前导航
925
+ if (navigation) {
926
+ const state = navigation.extras.state; // 获取传递的 state
927
+ const currentRoute = this.router.routerState.root.firstChild;
928
+ if (currentRoute) {
929
+ this.setTab(this.router.url, currentRoute.snapshot.routeConfig.path, state && state.title);
930
+ }
931
+ }
932
+ });
933
+ this.setEllipsisTitle();
934
+ }
935
+ setEllipsisTitle(title) {
936
+ this.textGap = this.GAP_NORMAL;
937
+ if (this.screenWidth <= 1100) {
938
+ this.textGap = this.GAP_SMALL;
939
+ }
940
+ let { allWidth, leftWidth, rightWidth } = this.calcTabWidth();
941
+ let width = Math.floor((allWidth - rightWidth) / (this.tabList && this.tabList.length));
942
+ if (title) {
943
+ return this.cf.setMiddleEllipsis(title, width > this.TAB_WIDTH
944
+ ? this.TAB_WIDTH - this.textGap
945
+ : width - this.textGap, 12);
946
+ }
947
+ else {
948
+ this.tabList.forEach((ele, idx) => {
949
+ ele.displayTitle = this.cf.setMiddleEllipsis(ele.title, width > this.TAB_WIDTH
950
+ ? this.TAB_WIDTH - this.textGap
951
+ : width - this.textGap, 12);
952
+ });
953
+ }
954
+ }
955
+ calcTabWidth() {
956
+ const wrap = document.querySelector(".rs-multi-tab");
957
+ const ulElement = document.querySelector(".rs-multi-tab > ul");
958
+ const refreshTabDiv = document.querySelector(".rs-multi-tab .refresh-tab");
959
+ let allWidth;
960
+ let leftWidth;
961
+ let rightWidth;
962
+ if (wrap && ulElement && refreshTabDiv) {
963
+ // 获取元素的位置信息
964
+ const wrapRect = wrap.getBoundingClientRect();
965
+ const ulRect = ulElement.getBoundingClientRect();
966
+ const refreshTabRect = refreshTabDiv.getBoundingClientRect();
967
+ allWidth = wrapRect.width;
968
+ leftWidth = ulRect.width;
969
+ rightWidth = refreshTabRect.width;
970
+ }
971
+ return {
972
+ allWidth,
973
+ leftWidth,
974
+ rightWidth,
975
+ };
976
+ }
977
+ initTab() {
978
+ let TabCache = JSON.parse(sessionStorage.getItem("TabCache"));
979
+ this.tabList = TabCache || [];
980
+ }
981
+ closeTab(tab, idx) {
982
+ this.tabList = this.tabList.filter((ele) => ele.url !== tab.url);
983
+ this.clearCache(tab.url);
984
+ if (this.selectedTab === idx) {
985
+ const targetIdx = Math.max(0, idx - 1);
986
+ this.changeTab(this.tabList[targetIdx], targetIdx);
987
+ }
988
+ this.setEllipsisTitle();
989
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
990
+ }
991
+ changeTab(tab, idx) {
992
+ this.router.navigateByUrl(tab.url);
993
+ this.selectedTab = idx;
994
+ }
995
+ addTab(url, title) {
996
+ if (this.tabList.length >= this.maxTabs) {
997
+ this.closeTab(this.tabList[0], 0); // 删除第一个
998
+ }
999
+ this.tabList.push({
1000
+ url: url,
1001
+ title: title || "default",
1002
+ displayTitle: this.setEllipsisTitle(title || "default"),
1003
+ });
1004
+ this.selectedTab = this.tabList.length - 1;
1005
+ this.setEllipsisTitle();
1006
+ sessionStorage.setItem("TabCache", JSON.stringify(this.tabList));
1007
+ }
1008
+ setTab(url, pureUrl, title) {
1009
+ const isExistIdx = this.tabList.findIndex((ele) => ele.url === url);
1010
+ if (isExistIdx === -1) {
1011
+ const singleIdx = this.singleReuseUrls.findIndex((ele) => ele === pureUrl);
1012
+ if (singleIdx !== -1) {
1013
+ this.tabList = this.tabList.filter((ele) => !ele.url.includes(this.singleReuseUrls[singleIdx]));
1014
+ this.keepAlive.clearCache(url);
1015
+ }
1016
+ this.addTab(url, title);
1017
+ }
1018
+ else {
1019
+ this.selectedTab = isExistIdx;
1020
+ }
1021
+ }
1022
+ refreshTab() {
1023
+ this.keepAlive.clearCache(this.tabList[this.selectedTab].url);
1024
+ const currentUrl = this.router.url; // 获取当前 URL
1025
+ this.router.navigateByUrl("/", { skipLocationChange: true }).then(() => {
1026
+ this.router.navigateByUrl(currentUrl); // 重新导航到当前 URL
1027
+ });
1028
+ }
1029
+ clearCache(url) {
1030
+ this.keepAlive.clearCache(url); // 调用自定义策略的清除缓存方法
1031
+ }
1032
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiTabComponent, deps: [{ token: i1$1.Router }, { token: CommonFunctionService }, { token: i1$1.ActivatedRoute }, { token: KeepAliveService }], target: i0.ɵɵFactoryTarget.Component });
1033
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MultiTabComponent, selector: "rs-multi-tab", inputs: { singleReuseUrls: "singleReuseUrls" }, host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, 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", 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 ease}.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:#1f7bff0a}.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{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{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:0px!important}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.TooltipComponent, selector: "ejs-tooltip", inputs: ["animation", "closeDelay", "container", "content", "cssClass", "enableHtmlParse", "enableHtmlSanitizer", "enablePersistence", "enableRtl", "height", "htmlAttributes", "isSticky", "locale", "mouseTrail", "offsetX", "offsetY", "openDelay", "opensOn", "position", "showTipPointer", "target", "tipPointerPosition", "width", "windowCollision"], outputs: ["afterClose", "afterOpen", "beforeClose", "beforeCollision", "beforeOpen", "beforeRender", "created", "destroyed"] }] });
1034
+ }
1035
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MultiTabComponent, decorators: [{
1036
+ type: Component,
1037
+ args: [{ selector: "rs-multi-tab", 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", 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 ease}.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:#1f7bff0a}.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{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{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:0px!important}}\n"] }]
1038
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: CommonFunctionService }, { type: i1$1.ActivatedRoute }, { type: KeepAliveService }]; }, propDecorators: { singleReuseUrls: [{
1039
+ type: Input
1040
+ }], onResize: [{
1041
+ type: HostListener,
1042
+ args: ["window:resize", ["$event"]]
1043
+ }] } });
1044
+
717
1045
  // 组件类
718
1046
  class RSFooterComponent {
719
1047
  today = new Date();
@@ -730,15 +1058,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
730
1058
  // 组件类
731
1059
  class MainContainerComponent {
732
1060
  isCollapsed = false; // 接收输入属性
1061
+ singleReuseUrls = []; //只能单个缓存的url
733
1062
  ngOnInit() { }
734
1063
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
735
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MainContainerComponent, selector: "rs-main-container", inputs: { isCollapsed: "isCollapsed" }, ngImport: i0, 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=\"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", 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}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: RSFooterComponent, selector: "rs-footer" }] });
1064
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: MainContainerComponent, selector: "rs-main-container", inputs: { isCollapsed: "isCollapsed", singleReuseUrls: "singleReuseUrls" }, ngImport: i0, 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", 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}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: RSFooterComponent, selector: "rs-footer" }, { kind: "component", type: MultiTabComponent, selector: "rs-multi-tab", inputs: ["singleReuseUrls"] }] });
736
1065
  }
737
1066
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MainContainerComponent, decorators: [{
738
1067
  type: Component,
739
- args: [{ selector: "rs-main-container", 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=\"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", 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}\n"] }]
1068
+ args: [{ selector: "rs-main-container", 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", 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}\n"] }]
740
1069
  }], propDecorators: { isCollapsed: [{
741
1070
  type: Input
1071
+ }], singleReuseUrls: [{
1072
+ type: Input
742
1073
  }] } });
743
1074
 
744
1075
  // 组件类
@@ -773,11 +1104,11 @@ class RSHeaderComponent {
773
1104
  this.currentLang = this.langOptions.find((item) => item.text === event.item.text);
774
1105
  }
775
1106
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RSHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
776
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RSHeaderComponent, selector: "rs-header", inputs: { lastLoginTime: "lastLoginTime" }, outputs: { toggleMenu: "toggleMenu" }, ngImport: i0, 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", 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}\n"], dependencies: [{ kind: "component", type: i1$1.DropDownButtonComponent, selector: "[ejs-dropdownbutton]", inputs: ["closeActionEvents", "content", "createPopupOnClick", "cssClass", "disabled", "enableHtmlSanitizer", "enablePersistence", "enableRtl", "iconCss", "iconPosition", "items", "locale", "target"], outputs: ["beforeClose", "beforeItemRender", "beforeOpen", "close", "created", "open", "select"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
1107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RSHeaderComponent, selector: "rs-header", inputs: { lastLoginTime: "lastLoginTime" }, outputs: { toggleMenu: "toggleMenu" }, ngImport: i0, 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", 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:#1f7bff0a}.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}\n"], dependencies: [{ kind: "component", type: i1$2.DropDownButtonComponent, selector: "[ejs-dropdownbutton]", inputs: ["closeActionEvents", "content", "createPopupOnClick", "cssClass", "disabled", "enableHtmlSanitizer", "enablePersistence", "enableRtl", "iconCss", "iconPosition", "items", "locale", "target"], outputs: ["beforeClose", "beforeItemRender", "beforeOpen", "close", "created", "open", "select"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
777
1108
  }
778
1109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RSHeaderComponent, decorators: [{
779
1110
  type: Component,
780
- args: [{ selector: "rs-header", 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", 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}\n"] }]
1111
+ args: [{ selector: "rs-header", 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", 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:#1f7bff0a}.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}\n"] }]
781
1112
  }], propDecorators: { toggleMenu: [{
782
1113
  type: Output
783
1114
  }], lastLoginTime: [{
@@ -796,15 +1127,15 @@ class RSAsideComponent {
796
1127
  currentNav = null;
797
1128
  onNavClick(item) {
798
1129
  this.currentNav = item.title;
799
- this.router.navigate([item.url]);
1130
+ this.router.navigate([item.url], { state: { title: item.title } });
800
1131
  }
801
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RSAsideComponent, deps: [{ token: i1$2.Router }], target: i0.ɵɵFactoryTarget.Component });
802
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RSAsideComponent, selector: "rs-aside", inputs: { isCollapsed: "isCollapsed", navList: "navList" }, ngImport: i0, 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\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n", 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:#1f7bff0a}.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:all .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)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i1$3.SvgIconComponent, selector: "svg-icon", inputs: ["src", "name", "stretch", "applyClass", "applyCss", "svgClass", "class", "viewBox", "svgAriaLabel", "svgStyle"] }] });
1132
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RSAsideComponent, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
1133
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RSAsideComponent, selector: "rs-aside", inputs: { isCollapsed: "isCollapsed", navList: "navList" }, ngImport: i0, 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", 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:#1f7bff0a}.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:all .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}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i1$3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
803
1134
  }
804
1135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RSAsideComponent, decorators: [{
805
1136
  type: Component,
806
- args: [{ selector: "rs-aside", 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\">\r\n <ng-content select=\"[bottomIconBox]\"></ng-content>\r\n </div>\r\n</div>\r\n", 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:#1f7bff0a}.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:all .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)}\n"] }]
807
- }], ctorParameters: function () { return [{ type: i1$2.Router }]; }, propDecorators: { isCollapsed: [{
1137
+ args: [{ selector: "rs-aside", 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", 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:#1f7bff0a}.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:all .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}\n"] }]
1138
+ }], ctorParameters: function () { return [{ type: i1$1.Router }]; }, propDecorators: { isCollapsed: [{
808
1139
  type: Input
809
1140
  }], navList: [{
810
1141
  type: Input
@@ -848,11 +1179,11 @@ class TagInputComponent {
848
1179
  this.inputError = false;
849
1180
  }
850
1181
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
851
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TagInputComponent, selector: "rs-tag-input", inputs: { value: "value", fields: "fields", disabled: "disabled", error: "error", inputMinlength: "inputMinlength", inputMaxlength: "inputMaxlength" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\r\n class=\"form-tags\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n error: inputError || error\r\n }\"\r\n>\r\n <div class=\"form-tags-item\" *ngFor=\"let tag of value\">\r\n <span>{{ tag }}</span>\r\n <span class=\"form-tags-remove\" (click)=\"onRemoveTag(tag)\"></span>\r\n </div>\r\n <input\r\n class=\"form-tags-input\"\r\n (keyup.enter)=\"onAddTag($event)\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onAddTag($event)\"\r\n autocomplete=\"off\"\r\n [minLength]=\"inputMinlength\"\r\n [maxLength]=\"inputMaxlength\"\r\n />\r\n</div>\r\n", styles: [".form-tags{display:flex;flex-flow:row wrap;border-radius:4px;overflow:hidden;gap:4px 8px;padding:3px 4px;min-height:28px;box-shadow:none;border-radius:var(--rs-input-border-radius);border:1px solid var(--rs-input-border-color);cursor:pointer}.form-tags:not(.error):not(.disabled):hover{box-shadow:0 0 3px #1f7bff66;border-color:var(--rs-input-hover-border-color)}.form-tags.error{border-color:var(--rs-input-error-border-color)!important}.form-tags.disabled{pointer-events:none;border-color:var(--rs-input-border-color)!important;font-size:var(--rs-input-font-size);color:var(--rs-input-disabled-color)!important;background-color:var(--rs-input-disabled-bg)!important;-webkit-text-fill-color:var(--rs-input-disabled-color)!important}.form-tags.disabled .form-tags-input{background-color:var(--rs-input-disabled-bg)!important}.form-tags .form-tags-input{flex:auto;width:auto;padding:0 4px;border:none;outline:none;font-size:var(--rs-input-font-size);color:var(--rs-input-color)!important}.form-tags .form-tags-item{box-sizing:border-box;height:20px;padding:0 8px;border:1px solid #eaedf0;border-radius:12px;background-color:#f8fafb;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:12px;display:flex;flex-flow:row nowrap;align-items:center;position:relative}.form-tags .form-tags-item .form-tags-remove{visibility:hidden;width:20px;height:20px;border:1px solid #dbe1e7;border-radius:20px;background-color:#fff;line-height:18px;text-align:center;position:absolute;top:-1px;right:-1px}.form-tags .form-tags-item .form-tags-remove:after{content:url(/assets/img/tag-remove.svg);cursor:pointer}.form-tags .form-tags-item:hover .form-tags-remove{visibility:visible}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1182
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TagInputComponent, selector: "rs-tag-input", inputs: { value: "value", fields: "fields", disabled: "disabled", error: "error", inputMinlength: "inputMinlength", inputMaxlength: "inputMaxlength" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div\r\n class=\"form-tags\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n error: inputError || error\r\n }\"\r\n>\r\n <div class=\"form-tags-item\" *ngFor=\"let tag of value\">\r\n <span>{{ tag }}</span>\r\n <span class=\"form-tags-remove\" (click)=\"onRemoveTag(tag)\"></span>\r\n </div>\r\n <input\r\n class=\"form-tags-input\"\r\n (keyup.enter)=\"onAddTag($event)\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onAddTag($event)\"\r\n autocomplete=\"off\"\r\n [minLength]=\"inputMinlength\"\r\n [maxLength]=\"inputMaxlength\"\r\n />\r\n</div>\r\n", styles: [".form-tags{display:flex;flex-flow:row wrap;border-radius:4px;overflow:hidden;gap:4px 8px;padding:3px 4px;min-height:28px;box-shadow:none;border-radius:var(--rs-input-border-radius);border:1px solid var(--rs-input-border-color);background-color:#fff;cursor:pointer}.form-tags:not(.error):not(.disabled):hover{box-shadow:0 0 3px #1f7bff66;border-color:var(--rs-input-hover-border-color)}.form-tags.error{border-color:var(--rs-input-error-border-color)!important}.form-tags.disabled{pointer-events:none;border-color:var(--rs-input-border-color)!important;font-size:var(--rs-input-font-size);color:var(--rs-input-disabled-color)!important;background-color:var(--rs-input-disabled-bg)!important;-webkit-text-fill-color:var(--rs-input-disabled-color)!important}.form-tags.disabled .form-tags-input{background-color:var(--rs-input-disabled-bg)!important}.form-tags .form-tags-input{flex:auto;width:auto;padding:0 4px;border:none;outline:none;font-size:var(--rs-input-font-size);color:var(--rs-input-color)!important}.form-tags .form-tags-item{box-sizing:border-box;height:20px;padding:0 8px;border:1px solid #eaedf0;border-radius:12px;background-color:#f8fafb;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:12px;display:flex;flex-flow:row nowrap;align-items:center;position:relative}.form-tags .form-tags-item .form-tags-remove{visibility:hidden;width:20px;height:20px;border:1px solid #dbe1e7;border-radius:20px;background-color:#fff;line-height:18px;text-align:center;position:absolute;top:-1px;right:-1px}.form-tags .form-tags-item .form-tags-remove:after{content:url(/assets/img/tag-remove.svg);cursor:pointer}.form-tags .form-tags-item:hover .form-tags-remove{visibility:visible}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
852
1183
  }
853
1184
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TagInputComponent, decorators: [{
854
1185
  type: Component,
855
- args: [{ selector: "rs-tag-input", template: "<div\r\n class=\"form-tags\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n error: inputError || error\r\n }\"\r\n>\r\n <div class=\"form-tags-item\" *ngFor=\"let tag of value\">\r\n <span>{{ tag }}</span>\r\n <span class=\"form-tags-remove\" (click)=\"onRemoveTag(tag)\"></span>\r\n </div>\r\n <input\r\n class=\"form-tags-input\"\r\n (keyup.enter)=\"onAddTag($event)\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onAddTag($event)\"\r\n autocomplete=\"off\"\r\n [minLength]=\"inputMinlength\"\r\n [maxLength]=\"inputMaxlength\"\r\n />\r\n</div>\r\n", styles: [".form-tags{display:flex;flex-flow:row wrap;border-radius:4px;overflow:hidden;gap:4px 8px;padding:3px 4px;min-height:28px;box-shadow:none;border-radius:var(--rs-input-border-radius);border:1px solid var(--rs-input-border-color);cursor:pointer}.form-tags:not(.error):not(.disabled):hover{box-shadow:0 0 3px #1f7bff66;border-color:var(--rs-input-hover-border-color)}.form-tags.error{border-color:var(--rs-input-error-border-color)!important}.form-tags.disabled{pointer-events:none;border-color:var(--rs-input-border-color)!important;font-size:var(--rs-input-font-size);color:var(--rs-input-disabled-color)!important;background-color:var(--rs-input-disabled-bg)!important;-webkit-text-fill-color:var(--rs-input-disabled-color)!important}.form-tags.disabled .form-tags-input{background-color:var(--rs-input-disabled-bg)!important}.form-tags .form-tags-input{flex:auto;width:auto;padding:0 4px;border:none;outline:none;font-size:var(--rs-input-font-size);color:var(--rs-input-color)!important}.form-tags .form-tags-item{box-sizing:border-box;height:20px;padding:0 8px;border:1px solid #eaedf0;border-radius:12px;background-color:#f8fafb;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:12px;display:flex;flex-flow:row nowrap;align-items:center;position:relative}.form-tags .form-tags-item .form-tags-remove{visibility:hidden;width:20px;height:20px;border:1px solid #dbe1e7;border-radius:20px;background-color:#fff;line-height:18px;text-align:center;position:absolute;top:-1px;right:-1px}.form-tags .form-tags-item .form-tags-remove:after{content:url(/assets/img/tag-remove.svg);cursor:pointer}.form-tags .form-tags-item:hover .form-tags-remove{visibility:visible}\n"] }]
1186
+ args: [{ selector: "rs-tag-input", template: "<div\r\n class=\"form-tags\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n error: inputError || error\r\n }\"\r\n>\r\n <div class=\"form-tags-item\" *ngFor=\"let tag of value\">\r\n <span>{{ tag }}</span>\r\n <span class=\"form-tags-remove\" (click)=\"onRemoveTag(tag)\"></span>\r\n </div>\r\n <input\r\n class=\"form-tags-input\"\r\n (keyup.enter)=\"onAddTag($event)\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onAddTag($event)\"\r\n autocomplete=\"off\"\r\n [minLength]=\"inputMinlength\"\r\n [maxLength]=\"inputMaxlength\"\r\n />\r\n</div>\r\n", styles: [".form-tags{display:flex;flex-flow:row wrap;border-radius:4px;overflow:hidden;gap:4px 8px;padding:3px 4px;min-height:28px;box-shadow:none;border-radius:var(--rs-input-border-radius);border:1px solid var(--rs-input-border-color);background-color:#fff;cursor:pointer}.form-tags:not(.error):not(.disabled):hover{box-shadow:0 0 3px #1f7bff66;border-color:var(--rs-input-hover-border-color)}.form-tags.error{border-color:var(--rs-input-error-border-color)!important}.form-tags.disabled{pointer-events:none;border-color:var(--rs-input-border-color)!important;font-size:var(--rs-input-font-size);color:var(--rs-input-disabled-color)!important;background-color:var(--rs-input-disabled-bg)!important;-webkit-text-fill-color:var(--rs-input-disabled-color)!important}.form-tags.disabled .form-tags-input{background-color:var(--rs-input-disabled-bg)!important}.form-tags .form-tags-input{flex:auto;width:auto;padding:0 4px;border:none;outline:none;font-size:var(--rs-input-font-size);color:var(--rs-input-color)!important}.form-tags .form-tags-item{box-sizing:border-box;height:20px;padding:0 8px;border:1px solid #eaedf0;border-radius:12px;background-color:#f8fafb;color:#44566c;font-family:Arial;font-size:11px;font-style:normal;font-weight:400;line-height:12px;display:flex;flex-flow:row nowrap;align-items:center;position:relative}.form-tags .form-tags-item .form-tags-remove{visibility:hidden;width:20px;height:20px;border:1px solid #dbe1e7;border-radius:20px;background-color:#fff;line-height:18px;text-align:center;position:absolute;top:-1px;right:-1px}.form-tags .form-tags-item .form-tags-remove:after{content:url(/assets/img/tag-remove.svg);cursor:pointer}.form-tags .form-tags-item:hover .form-tags-remove{visibility:visible}\n"] }]
856
1187
  }], propDecorators: { value: [{
857
1188
  type: Input
858
1189
  }], fields: [{
@@ -996,54 +1327,345 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
996
1327
  type: Output
997
1328
  }] } });
998
1329
 
999
- class CommonFunctionService {
1000
- constructor() { }
1001
- testMethod() {
1002
- return "test1111";
1003
- }
1004
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1005
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, providedIn: "root" });
1006
- }
1007
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonFunctionService, decorators: [{
1008
- type: Injectable,
1009
- args: [{
1010
- providedIn: "root",
1011
- }]
1012
- }], ctorParameters: function () { return []; } });
1013
-
1014
1330
  class IconLoaderService {
1015
- iconReg;
1016
- constructor(iconReg) {
1017
- this.iconReg = iconReg;
1331
+ registry;
1332
+ domSanitizer;
1333
+ constructor(registry, domSanitizer) {
1334
+ this.registry = registry;
1335
+ this.domSanitizer = domSanitizer;
1018
1336
  }
1019
1337
  registerIcons(list) {
1020
- list.forEach((item) => {
1021
- this.iconReg.loadSvg(item.url, item.name).subscribe();
1338
+ list.forEach(({ name, path }) => {
1339
+ this.registry.addSvgIcon(name, this.domSanitizer.bypassSecurityTrustResourceUrl(path));
1022
1340
  });
1023
1341
  }
1024
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService, deps: [{ token: i1$3.SvgIconRegistryService }], target: i0.ɵɵFactoryTarget.Injectable });
1342
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService, deps: [{ token: i1$3.MatIconRegistry }, { token: i2$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable });
1025
1343
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService });
1026
1344
  }
1027
1345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IconLoaderService, decorators: [{
1028
1346
  type: Injectable
1029
- }], ctorParameters: function () { return [{ type: i1$3.SvgIconRegistryService }]; } });
1347
+ }], ctorParameters: function () { return [{ type: i1$3.MatIconRegistry }, { type: i2$3.DomSanitizer }]; } });
1348
+
1349
+ ;
1350
+ class NewActionNotificationComponent {
1351
+ data;
1352
+ collapsed = false;
1353
+ constructor(data) {
1354
+ this.data = data;
1355
+ }
1356
+ ngAfterViewInit() {
1357
+ if (this.config.type === "Loading") {
1358
+ this.config.loadingCallback((progress) => {
1359
+ if (progress.done) {
1360
+ return this.config.snackBar.dismiss();
1361
+ }
1362
+ });
1363
+ }
1364
+ }
1365
+ closeNotification() {
1366
+ if (this.config.type === "Loading") {
1367
+ this.collapsed = true;
1368
+ }
1369
+ else {
1370
+ this.config.snackBar.dismiss();
1371
+ }
1372
+ }
1373
+ expandNotification() {
1374
+ if (this.config.type === "Loading" && this.collapsed) {
1375
+ this.collapsed = false;
1376
+ }
1377
+ }
1378
+ get config() {
1379
+ return {
1380
+ status: "Success",
1381
+ type: "Text",
1382
+ ...this.data,
1383
+ };
1384
+ }
1385
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NewActionNotificationComponent, deps: [{ token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component });
1386
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NewActionNotificationComponent, selector: "kt-new-action-notification", ngImport: i0, template: "<div class=\"new-action-notification-container\" [attr.data-collapse]=\"collapsed\">\r\n\t<span\r\n\t\tclass=\"notification-icon\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t[attr.data-status]=\"config.status?.toLowerCase()\"\r\n\t\t(click)=\"expandNotification()\"\r\n\t></span>\r\n\t<span\r\n\t\tclass=\"notification-icon notification-loading\"\r\n\t\t*ngIf=\"config.type === 'Progress'\"\r\n\t></span>\r\n\t<div class=\"notification-content\">\r\n\t\t<span *ngIf=\"config.type === 'Detail'\" class=\"notification-title\">\r\n\t\t\t{{ config.title }}\r\n\t\t</span>\r\n\t\t<span class=\"notification-text\">{{ config.message }}</span>\r\n\t\t<a *ngIf=\"config.type === 'Detail'\" class=\"notification-link\">View</a>\r\n\t</div>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"notification-close\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t(click)=\"closeNotification()\"\r\n\t></button>\r\n</div>\r\n", styles: ["::ng-deep .new-action-notification{margin:0;padding:64px 12px;background-color:transparent!important;background-image:none!important;box-shadow:none}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:none;background-color:transparent}.new-action-notification-container{min-width:320px;max-width:400px;padding:12px;border-radius:10px;background-color:#fff;box-shadow:0 0 8px #0003;display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-end}.new-action-notification-container .notification-icon{flex:none;width:24px;height:24px;margin-right:8px}.new-action-notification-container .notification-icon[data-type=default][data-status=success]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%2309B66D%22 stroke%3D%22%2309B66D%22%2F%3E%0D%3Cpath d%3D%22M8 12L10.4279 15L16 8%22 stroke%3D%22white%22 stroke-width%3D%221.8%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-icon[data-type=default][data-status=warning]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%23FF9618%22 stroke%3D%22%23FF9618%22%2F%3E%0D%3Crect x%3D%2211%22 y%3D%226.9375%22 width%3D%222%22 height%3D%227.3125%22 rx%3D%221%22 fill%3D%22white%22%2F%3E%0D%3Crect x%3D%2211%22 y%3D%2215.375%22 width%3D%222%22 height%3D%222%22 rx%3D%221%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-icon[data-type=default][data-status=error]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%23FF6060%22 stroke%3D%22%23FF5C5C%22%2F%3E%0D%3Cpath d%3D%22M15.0251 9.23828L9.36829 14.8951%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M9.36816 9.23828L15.025 14.8951%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-icon[data-type=loading]{animation:rotate linear 2s infinite}@keyframes rotate{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.new-action-notification-container .notification-icon[data-type=loading]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Status%22%3E%0D%3Ccircle id%3D%22Ellipse 80%22 cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%2344566C%22 stroke%3D%22%2344566C%22%2F%3E%0D%3Cg id%3D%22refresh%22%3E%0D%3Cpath id%3D%22Ellipse 127%22 d%3D%22M13.2251 7.48555C12.6352 7.32748 12.0199 7.28716 11.4144 7.36687C10.8089 7.44659 10.225 7.64479 9.69608 7.95016C9.16716 8.25553 8.70357 8.66209 8.33177 9.14663C7.95998 9.63116 7.68726 10.1842 7.52919 10.7741C7.37112 11.364 7.33079 11.9793 7.41051 12.5848C7.49022 13.1904 7.68843 13.7742 7.9938 14.3032L5.80539 13.2113%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%221.5%22 stroke-linecap%3D%22round%22%2F%3E%0D%3Cpath id%3D%22Ellipse 128%22 d%3D%22M10.8178 16.4697C11.4078 16.6278 12.0231 16.6681 12.6286 16.5884C13.2341 16.5087 13.818 16.3105 14.3469 16.0051C14.8758 15.6998 15.3394 15.2932 15.7112 14.8087C16.083 14.3241 16.3557 13.7711 16.5138 13.1812C16.6719 12.5913 16.7122 11.976 16.6325 11.3705C16.5528 10.7649 16.3546 10.1811 16.0492 9.65214L18.3237 10.8932%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%221.5%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-close{flex:none;height:24px;margin-left:24px;padding:0;border:none;background-color:transparent}.new-action-notification-container .notification-close[data-type=default]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M3.50021 12.9999L12.5001 4.00007%22 stroke%3D%22%236C7C90%22 stroke-linecap%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M12.4999 12.9999L3.50007 4.00007%22 stroke%3D%22%236C7C90%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-close[data-type=loading]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Group 1000004344%22%3E%0D%3Cg id%3D%22Group 1000004342%22%3E%0D%3Cg id%3D%22Group 1000004345%22%3E%0D%3Cpath id%3D%22Rectangle 1232%22 d%3D%22M8.99512 2.28217V7.28217H13.9951%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3Cline id%3D%22Line 364%22 y1%3D%22-0.5%22 x2%3D%227%22 y2%3D%22-0.5%22 transform%3D%22matrix(0.707107 -0.707107 -0.707107 -0.707107 8.4707 7.04959)%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fg%3E%0D%3Cg id%3D%22Group 1000004343%22%3E%0D%3Cpath id%3D%22Rectangle 1233%22 d%3D%22M7.00684 14.1721L7.00684 9.17212L2.00684 9.17212%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3Cline id%3D%22Line 365%22 y1%3D%22-0.5%22 x2%3D%227%22 y2%3D%22-0.5%22 transform%3D%22matrix(-0.707107 0.707107 0.707107 0.707107 7.53223 9.4043)%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-content{flex:auto;min-height:24px;padding-top:4px;display:flex;flex-flow:column nowrap}.new-action-notification-container .notification-content .notification-title{margin-bottom:8px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:19px}.new-action-notification-container .notification-content .notification-text{color:#1f3f5c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.new-action-notification-container .notification-content .notification-link{margin-top:6px;cursor:pointer;color:#1364b3;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}.new-action-notification-container[data-collapse=true]{padding:0;background-color:transparent;box-shadow:none}.new-action-notification-container[data-collapse=true] .notification-icon{cursor:pointer}.new-action-notification-container[data-collapse=true] .notification-close,.new-action-notification-container[data-collapse=true] .notification-content{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1387
+ }
1388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NewActionNotificationComponent, decorators: [{
1389
+ type: Component,
1390
+ args: [{ selector: "kt-new-action-notification", template: "<div class=\"new-action-notification-container\" [attr.data-collapse]=\"collapsed\">\r\n\t<span\r\n\t\tclass=\"notification-icon\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t[attr.data-status]=\"config.status?.toLowerCase()\"\r\n\t\t(click)=\"expandNotification()\"\r\n\t></span>\r\n\t<span\r\n\t\tclass=\"notification-icon notification-loading\"\r\n\t\t*ngIf=\"config.type === 'Progress'\"\r\n\t></span>\r\n\t<div class=\"notification-content\">\r\n\t\t<span *ngIf=\"config.type === 'Detail'\" class=\"notification-title\">\r\n\t\t\t{{ config.title }}\r\n\t\t</span>\r\n\t\t<span class=\"notification-text\">{{ config.message }}</span>\r\n\t\t<a *ngIf=\"config.type === 'Detail'\" class=\"notification-link\">View</a>\r\n\t</div>\r\n\t<button\r\n\t\ttype=\"button\"\r\n\t\tclass=\"notification-close\"\r\n\t\t[attr.data-type]=\"config.type === 'Loading' ? 'loading' : 'default'\"\r\n\t\t(click)=\"closeNotification()\"\r\n\t></button>\r\n</div>\r\n", styles: ["::ng-deep .new-action-notification{margin:0;padding:64px 12px;background-color:transparent!important;background-image:none!important;box-shadow:none}::ng-deep .mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:none;background-color:transparent}.new-action-notification-container{min-width:320px;max-width:400px;padding:12px;border-radius:10px;background-color:#fff;box-shadow:0 0 8px #0003;display:flex;flex-flow:row nowrap;align-items:flex-start;justify-content:flex-end}.new-action-notification-container .notification-icon{flex:none;width:24px;height:24px;margin-right:8px}.new-action-notification-container .notification-icon[data-type=default][data-status=success]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%2309B66D%22 stroke%3D%22%2309B66D%22%2F%3E%0D%3Cpath d%3D%22M8 12L10.4279 15L16 8%22 stroke%3D%22white%22 stroke-width%3D%221.8%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-icon[data-type=default][data-status=warning]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%23FF9618%22 stroke%3D%22%23FF9618%22%2F%3E%0D%3Crect x%3D%2211%22 y%3D%226.9375%22 width%3D%222%22 height%3D%227.3125%22 rx%3D%221%22 fill%3D%22white%22%2F%3E%0D%3Crect x%3D%2211%22 y%3D%2215.375%22 width%3D%222%22 height%3D%222%22 rx%3D%221%22 fill%3D%22white%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-icon[data-type=default][data-status=error]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%23FF6060%22 stroke%3D%22%23FF5C5C%22%2F%3E%0D%3Cpath d%3D%22M15.0251 9.23828L9.36829 14.8951%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M9.36816 9.23828L15.025 14.8951%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-icon[data-type=loading]{animation:rotate linear 2s infinite}@keyframes rotate{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.new-action-notification-container .notification-icon[data-type=loading]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Status%22%3E%0D%3Ccircle id%3D%22Ellipse 80%22 cx%3D%2212%22 cy%3D%2212%22 r%3D%228.5%22 fill%3D%22%2344566C%22 stroke%3D%22%2344566C%22%2F%3E%0D%3Cg id%3D%22refresh%22%3E%0D%3Cpath id%3D%22Ellipse 127%22 d%3D%22M13.2251 7.48555C12.6352 7.32748 12.0199 7.28716 11.4144 7.36687C10.8089 7.44659 10.225 7.64479 9.69608 7.95016C9.16716 8.25553 8.70357 8.66209 8.33177 9.14663C7.95998 9.63116 7.68726 10.1842 7.52919 10.7741C7.37112 11.364 7.33079 11.9793 7.41051 12.5848C7.49022 13.1904 7.68843 13.7742 7.9938 14.3032L5.80539 13.2113%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%221.5%22 stroke-linecap%3D%22round%22%2F%3E%0D%3Cpath id%3D%22Ellipse 128%22 d%3D%22M10.8178 16.4697C11.4078 16.6278 12.0231 16.6681 12.6286 16.5884C13.2341 16.5087 13.818 16.3105 14.3469 16.0051C14.8758 15.6998 15.3394 15.2932 15.7112 14.8087C16.083 14.3241 16.3557 13.7711 16.5138 13.1812C16.6719 12.5913 16.7122 11.976 16.6325 11.3705C16.5528 10.7649 16.3546 10.1811 16.0492 9.65214L18.3237 10.8932%22 stroke%3D%22%23F8FAFB%22 stroke-width%3D%221.5%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-close{flex:none;height:24px;margin-left:24px;padding:0;border:none;background-color:transparent}.new-action-notification-container .notification-close[data-type=default]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cpath d%3D%22M3.50021 12.9999L12.5001 4.00007%22 stroke%3D%22%236C7C90%22 stroke-linecap%3D%22round%22%2F%3E%0D%3Cpath d%3D%22M12.4999 12.9999L3.50007 4.00007%22 stroke%3D%22%236C7C90%22 stroke-linecap%3D%22round%22%2F%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-close[data-type=loading]:before{content:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Cg id%3D%22Group 1000004344%22%3E%0D%3Cg id%3D%22Group 1000004342%22%3E%0D%3Cg id%3D%22Group 1000004345%22%3E%0D%3Cpath id%3D%22Rectangle 1232%22 d%3D%22M8.99512 2.28217V7.28217H13.9951%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3Cline id%3D%22Line 364%22 y1%3D%22-0.5%22 x2%3D%227%22 y2%3D%22-0.5%22 transform%3D%22matrix(0.707107 -0.707107 -0.707107 -0.707107 8.4707 7.04959)%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fg%3E%0D%3Cg id%3D%22Group 1000004343%22%3E%0D%3Cpath id%3D%22Rectangle 1233%22 d%3D%22M7.00684 14.1721L7.00684 9.17212L2.00684 9.17212%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3Cline id%3D%22Line 365%22 y1%3D%22-0.5%22 x2%3D%227%22 y2%3D%22-0.5%22 transform%3D%22matrix(-0.707107 0.707107 0.707107 0.707107 7.53223 9.4043)%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3C%2Fg%3E%0D%3C%2Fg%3E%0D%3C%2Fsvg%3E%0D\")}.new-action-notification-container .notification-content{flex:auto;min-height:24px;padding-top:4px;display:flex;flex-flow:column nowrap}.new-action-notification-container .notification-content .notification-title{margin-bottom:8px;color:#44566c;font-family:Arial;font-size:13px;font-style:normal;font-weight:700;line-height:19px}.new-action-notification-container .notification-content .notification-text{color:#1f3f5c;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.new-action-notification-container .notification-content .notification-link{margin-top:6px;cursor:pointer;color:#1364b3;font-family:Arial;font-size:12px;font-style:normal;font-weight:400;line-height:14px}.new-action-notification-container[data-collapse=true]{padding:0;background-color:transparent;box-shadow:none}.new-action-notification-container[data-collapse=true] .notification-icon{cursor:pointer}.new-action-notification-container[data-collapse=true] .notification-close,.new-action-notification-container[data-collapse=true] .notification-content{display:none}\n"] }]
1391
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1392
+ type: Inject,
1393
+ args: [MAT_SNACK_BAR_DATA]
1394
+ }] }]; } });
1395
+
1396
+ class CommonDialogComponent {
1397
+ dialogRef;
1398
+ translation;
1399
+ // 隐藏元素相关属性
1400
+ hideHeader = false;
1401
+ hideCloseIcon = false;
1402
+ hideCloseBtn = false;
1403
+ hideSaveBtn = false;
1404
+ saveBtnLabel = "";
1405
+ cancelBtnLabel = "";
1406
+ showErrorIcon = false;
1407
+ // 显示相关属性
1408
+ size = "";
1409
+ title = "Dialog";
1410
+ loading = false;
1411
+ saveEmit = new EventEmitter();
1412
+ closeEmit = new EventEmitter();
1413
+ constructor(dialogRef) {
1414
+ this.dialogRef = dialogRef;
1415
+ }
1416
+ // 控制底部插槽有内容时隐藏默认按钮
1417
+ footerContent;
1418
+ customFooter = false;
1419
+ ngAfterContentInit() {
1420
+ this.customFooter = !!this.footerContent;
1421
+ }
1422
+ ngOnInit() {
1423
+ this.getInfo();
1424
+ }
1425
+ onClose(res) {
1426
+ this.dialogRef.close(res);
1427
+ this.closeEmit.emit(res);
1428
+ }
1429
+ onSave() {
1430
+ // 这里把关闭事件emit上去,但是必须使用箭头函数保存this对象
1431
+ this.saveEmit.emit((res) => {
1432
+ this.onClose(res);
1433
+ });
1434
+ }
1435
+ getInfo() {
1436
+ this.translation = JSON.parse(localStorage.getItem("translation"));
1437
+ this.saveBtnLabel =
1438
+ this.saveBtnLabel || this.translation.SAVE || ".SAVE";
1439
+ this.cancelBtnLabel =
1440
+ this.cancelBtnLabel || this.translation.CANCEL || ".CANCEL";
1441
+ }
1442
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonDialogComponent, deps: [{ token: i1$4.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
1443
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommonDialogComponent, selector: "kt-common-dialog", inputs: { hideHeader: "hideHeader", hideCloseIcon: "hideCloseIcon", hideCloseBtn: "hideCloseBtn", hideSaveBtn: "hideSaveBtn", saveBtnLabel: "saveBtnLabel", cancelBtnLabel: "cancelBtnLabel", showErrorIcon: "showErrorIcon", size: "size", title: "title", loading: "loading" }, outputs: { saveEmit: "saveEmit", closeEmit: "closeEmit" }, queries: [{ propertyName: "footerContent", first: true, predicate: ["footerSlot"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"dialog\" [ngClass]=\"size\">\r\n\t<!-- \u5934\u90E8 -->\r\n\t<div *ngIf=\"!hideHeader\" mat-dialog-title class=\"dialog__header\">\r\n\t\t<div class=\"header__title\">\r\n\t\t\t<img\r\n\t\t\t\tsrc=\"../../../assets/img/notification-status-warning.svg\"\r\n\t\t\t\talt=\"\"\r\n\t\t\t\t*ngIf=\"showErrorIcon\"\r\n\t\t\t/>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\t*ngIf=\"!hideCloseIcon\"\r\n\t\t\tclass=\"header__close-btn\"\r\n\t\t\t(click)=\"onClose()\"\r\n\t\t>\r\n\t\t\t<img\r\n\t\t\t\tclass=\"header__close-icon\"\r\n\t\t\t\tsrc=\"../../../assets/img/close.svg\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\t<!-- \u5185\u5BB9 -->\r\n\t<div class=\"dialog__content\" mat-dialog-content>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<!-- \u5E95\u90E8\u6309\u94AE -->\r\n\t<div mat-dialog-actions class=\"dialog__footer\">\r\n\t\t<ng-content select=\"[footerSlot]\"></ng-content>\r\n\t\t<!-- \u9ED8\u8BA4\u5C55\u793A\u4FDD\u5B58/\u5173\u95ED\u6309\u94AE -->\r\n\t\t<ng-container *ngIf=\"!customFooter\">\r\n\t\t\t<ng-template [ngTemplateOutlet]=\"defaultTemplate\"></ng-template>\r\n\t\t</ng-container>\r\n\t\t<ng-template #defaultTemplate>\r\n\t\t\t<button *ngIf=\"!hideCloseBtn\" class=\"e-btn\" [ngClass]=\"size\" mat-dialog-close>\r\n\t\t\t\t{{ cancelBtnLabel }}\r\n\t\t\t</button>\r\n\t\t\t<button *ngIf=\"!hideSaveBtn\" class=\"e-btn e-primary\" [ngClass]=\"size\" (click)=\"onSave()\">\r\n\t\t\t\t{{ saveBtnLabel }}\r\n\t\t\t</button>\r\n\t\t</ng-template>\r\n\t</div>\r\n\t<!-- loading -->\r\n\t<div class=\"dialog__loading\" [hidden]=\"!loading\">\r\n\t\t<img src=\"../../../assets/img/raise_loading.gif\" alt=\"\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host::ng-deep .dialog{position:relative;max-height:90vh;font-weight:400;overflow:hidden}:host::ng-deep .dialog.medium{width:500px;padding:20px}:host::ng-deep .dialog.small{width:350px;padding:20px 16px}:host::ng-deep .dialog.small .dialog__header{color:#002c4f;margin-bottom:16px}:host::ng-deep .dialog.small .dialog__header .header__title{font-size:13px;line-height:16px}:host::ng-deep .dialog.small .dialog__content{font-size:12px;line-height:16px}:host::ng-deep .dialog.small .dialog__footer{min-height:42px;padding:16px 0 0;font-size:12px;line-height:14px}:host::ng-deep .dialog.small .dialog__footer button{padding:6px 12px;min-width:60px}:host::ng-deep .dialog.large{width:800px;padding:20px}:host::ng-deep .dialog .dialog__header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0}:host::ng-deep .dialog .dialog__header:before{display:none}:host::ng-deep .dialog .dialog__header .header__title{color:#002c4f;font-family:Arial;font-size:15px;font-weight:700;line-height:18px;flex:1;overflow:hidden;display:flex;align-items:center;gap:8px}:host::ng-deep .dialog .dialog__header .header__close-icon{display:block;width:100%;height:100%}:host::ng-deep .dialog .dialog__header .header__close-btn{cursor:pointer;flex:0 0 20px;padding:4px;width:20px;height:20px;display:flex;justify-content:center;align-items:center}:host::ng-deep .dialog .dialog__content{width:100%;min-height:38px;position:relative;overflow-y:auto;overflow-x:hidden;margin:0;padding:0;font-size:13px;line-height:19px}:host::ng-deep .dialog .dialog__footer{position:relative;display:flex;align-items:center;justify-content:flex-end;padding:20px 0 0;font-size:13px;line-height:16px;margin-bottom:0}:host::ng-deep .dialog .dialog__footer button{border-radius:4px;padding:6px 16px;border:none;min-width:70px}:host::ng-deep .dialog .dialog__footer button+button{margin-left:12px}:host::ng-deep .dialog .dialog__footer .save-btn{background:#1364b3;border:1px solid #1364b3;font-weight:700;color:#fff}:host::ng-deep .dialog .dialog__footer .cancel-btn{border:1px solid #adb5bd;background:#fff}:host::ng-deep .dialog .dialog__loading{height:100%;background:transparent;position:fixed;inset:0;z-index:9999}:host::ng-deep .dialog .dialog__loading img{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }] });
1444
+ }
1445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonDialogComponent, decorators: [{
1446
+ type: Component,
1447
+ args: [{ selector: "kt-common-dialog", template: "<div class=\"dialog\" [ngClass]=\"size\">\r\n\t<!-- \u5934\u90E8 -->\r\n\t<div *ngIf=\"!hideHeader\" mat-dialog-title class=\"dialog__header\">\r\n\t\t<div class=\"header__title\">\r\n\t\t\t<img\r\n\t\t\t\tsrc=\"../../../assets/img/notification-status-warning.svg\"\r\n\t\t\t\talt=\"\"\r\n\t\t\t\t*ngIf=\"showErrorIcon\"\r\n\t\t\t/>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\t*ngIf=\"!hideCloseIcon\"\r\n\t\t\tclass=\"header__close-btn\"\r\n\t\t\t(click)=\"onClose()\"\r\n\t\t>\r\n\t\t\t<img\r\n\t\t\t\tclass=\"header__close-icon\"\r\n\t\t\t\tsrc=\"../../../assets/img/close.svg\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\t<!-- \u5185\u5BB9 -->\r\n\t<div class=\"dialog__content\" mat-dialog-content>\r\n\t\t<ng-content></ng-content>\r\n\t</div>\r\n\t<!-- \u5E95\u90E8\u6309\u94AE -->\r\n\t<div mat-dialog-actions class=\"dialog__footer\">\r\n\t\t<ng-content select=\"[footerSlot]\"></ng-content>\r\n\t\t<!-- \u9ED8\u8BA4\u5C55\u793A\u4FDD\u5B58/\u5173\u95ED\u6309\u94AE -->\r\n\t\t<ng-container *ngIf=\"!customFooter\">\r\n\t\t\t<ng-template [ngTemplateOutlet]=\"defaultTemplate\"></ng-template>\r\n\t\t</ng-container>\r\n\t\t<ng-template #defaultTemplate>\r\n\t\t\t<button *ngIf=\"!hideCloseBtn\" class=\"e-btn\" [ngClass]=\"size\" mat-dialog-close>\r\n\t\t\t\t{{ cancelBtnLabel }}\r\n\t\t\t</button>\r\n\t\t\t<button *ngIf=\"!hideSaveBtn\" class=\"e-btn e-primary\" [ngClass]=\"size\" (click)=\"onSave()\">\r\n\t\t\t\t{{ saveBtnLabel }}\r\n\t\t\t</button>\r\n\t\t</ng-template>\r\n\t</div>\r\n\t<!-- loading -->\r\n\t<div class=\"dialog__loading\" [hidden]=\"!loading\">\r\n\t\t<img src=\"../../../assets/img/raise_loading.gif\" alt=\"\" />\r\n\t</div>\r\n</div>\r\n", styles: [":host::ng-deep .dialog{position:relative;max-height:90vh;font-weight:400;overflow:hidden}:host::ng-deep .dialog.medium{width:500px;padding:20px}:host::ng-deep .dialog.small{width:350px;padding:20px 16px}:host::ng-deep .dialog.small .dialog__header{color:#002c4f;margin-bottom:16px}:host::ng-deep .dialog.small .dialog__header .header__title{font-size:13px;line-height:16px}:host::ng-deep .dialog.small .dialog__content{font-size:12px;line-height:16px}:host::ng-deep .dialog.small .dialog__footer{min-height:42px;padding:16px 0 0;font-size:12px;line-height:14px}:host::ng-deep .dialog.small .dialog__footer button{padding:6px 12px;min-width:60px}:host::ng-deep .dialog.large{width:800px;padding:20px}:host::ng-deep .dialog .dialog__header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:0}:host::ng-deep .dialog .dialog__header:before{display:none}:host::ng-deep .dialog .dialog__header .header__title{color:#002c4f;font-family:Arial;font-size:15px;font-weight:700;line-height:18px;flex:1;overflow:hidden;display:flex;align-items:center;gap:8px}:host::ng-deep .dialog .dialog__header .header__close-icon{display:block;width:100%;height:100%}:host::ng-deep .dialog .dialog__header .header__close-btn{cursor:pointer;flex:0 0 20px;padding:4px;width:20px;height:20px;display:flex;justify-content:center;align-items:center}:host::ng-deep .dialog .dialog__content{width:100%;min-height:38px;position:relative;overflow-y:auto;overflow-x:hidden;margin:0;padding:0;font-size:13px;line-height:19px}:host::ng-deep .dialog .dialog__footer{position:relative;display:flex;align-items:center;justify-content:flex-end;padding:20px 0 0;font-size:13px;line-height:16px;margin-bottom:0}:host::ng-deep .dialog .dialog__footer button{border-radius:4px;padding:6px 16px;border:none;min-width:70px}:host::ng-deep .dialog .dialog__footer button+button{margin-left:12px}:host::ng-deep .dialog .dialog__footer .save-btn{background:#1364b3;border:1px solid #1364b3;font-weight:700;color:#fff}:host::ng-deep .dialog .dialog__footer .cancel-btn{border:1px solid #adb5bd;background:#fff}:host::ng-deep .dialog .dialog__loading{height:100%;background:transparent;position:fixed;inset:0;z-index:9999}:host::ng-deep .dialog .dialog__loading img{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-50%)}\n"] }]
1448
+ }], ctorParameters: function () { return [{ type: i1$4.MatDialogRef }]; }, propDecorators: { hideHeader: [{
1449
+ type: Input
1450
+ }], hideCloseIcon: [{
1451
+ type: Input
1452
+ }], hideCloseBtn: [{
1453
+ type: Input
1454
+ }], hideSaveBtn: [{
1455
+ type: Input
1456
+ }], saveBtnLabel: [{
1457
+ type: Input
1458
+ }], cancelBtnLabel: [{
1459
+ type: Input
1460
+ }], showErrorIcon: [{
1461
+ type: Input
1462
+ }], size: [{
1463
+ type: Input
1464
+ }], title: [{
1465
+ type: Input
1466
+ }], loading: [{
1467
+ type: Input
1468
+ }], saveEmit: [{
1469
+ type: Output
1470
+ }], closeEmit: [{
1471
+ type: Output
1472
+ }], footerContent: [{
1473
+ type: ContentChild,
1474
+ args: ["footerSlot", { static: true }]
1475
+ }] } });
1476
+
1477
+ class CommonDeleteComponent {
1478
+ data;
1479
+ dialogRef;
1480
+ translation;
1481
+ title = "";
1482
+ saveBtnLabel = "";
1483
+ cancelBtnLabel = "";
1484
+ description = "";
1485
+ size = "small";
1486
+ constructor(data, dialogRef) {
1487
+ this.data = data;
1488
+ this.dialogRef = dialogRef;
1489
+ }
1490
+ ngOnInit() {
1491
+ this.translation = JSON.parse(localStorage.getItem("translation"));
1492
+ this.title =
1493
+ this.data.title || this.translation["DELETE_RECORD"] || ".DELETE_RECORD";
1494
+ this.saveBtnLabel =
1495
+ this.data.saveBtnLabel || this.translation.DELETE || ".DELETE";
1496
+ this.cancelBtnLabel =
1497
+ this.data.cancelBtnLabel || this.translation.CANCEL || ".CANCEL";
1498
+ this.description =
1499
+ this.data.description ||
1500
+ this.translation.IF_YOU_DELETE_THIS_RECORD_WARNING ||
1501
+ ".If you delete this record, you won't be able to recover it. Do you want to delete it?";
1502
+ this.size = this.data.size || "small";
1503
+ }
1504
+ onSave(e) {
1505
+ this.dialogRef.close(e);
1506
+ }
1507
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonDeleteComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$4.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
1508
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommonDeleteComponent, selector: "kt-common-delete-dialog", ngImport: i0, template: "<kt-common-dialog\r\n\t[size]=\"size\"\r\n\t[title]=\"title\"\r\n\t[hideHeader]=\"false\"\r\n\t[hideCloseBtn]=\"data.hideCloseBtn === undefined ? false : data.hideCloseBtn\"\r\n\t[hideSaveBtn]=\"data.hideSaveBtn === undefined ? false : data.hideSaveBtn\"\r\n\t[saveBtnLabel]=\"saveBtnLabel\"\r\n\t[cancelBtnLabel]=\"cancelBtnLabel\"\r\n\t[showErrorIcon]=\"\r\n\t\tdata.showErrorIcon === undefined ? false : data.showErrorIcon\r\n\t\"\r\n\t[hideCloseIcon]=\"\r\n\t\tdata.hideCloseIcon === undefined ? false : data.hideCloseIcon\r\n\t\"\r\n\t(saveEmit)=\"onSave($event)\"\r\n>\r\n\t<div class=\"mapping-dialog\">\r\n\t\t{{ description }}\r\n\t</div>\r\n</kt-common-dialog>\r\n", styles: [".mapping-dialog{color:#44566c;font-family:Arial;font-size:12px;line-height:16px;white-space:pre-line}\n"], dependencies: [{ kind: "component", type: CommonDialogComponent, selector: "kt-common-dialog", inputs: ["hideHeader", "hideCloseIcon", "hideCloseBtn", "hideSaveBtn", "saveBtnLabel", "cancelBtnLabel", "showErrorIcon", "size", "title", "loading"], outputs: ["saveEmit", "closeEmit"] }] });
1509
+ }
1510
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommonDeleteComponent, decorators: [{
1511
+ type: Component,
1512
+ args: [{ selector: "kt-common-delete-dialog", template: "<kt-common-dialog\r\n\t[size]=\"size\"\r\n\t[title]=\"title\"\r\n\t[hideHeader]=\"false\"\r\n\t[hideCloseBtn]=\"data.hideCloseBtn === undefined ? false : data.hideCloseBtn\"\r\n\t[hideSaveBtn]=\"data.hideSaveBtn === undefined ? false : data.hideSaveBtn\"\r\n\t[saveBtnLabel]=\"saveBtnLabel\"\r\n\t[cancelBtnLabel]=\"cancelBtnLabel\"\r\n\t[showErrorIcon]=\"\r\n\t\tdata.showErrorIcon === undefined ? false : data.showErrorIcon\r\n\t\"\r\n\t[hideCloseIcon]=\"\r\n\t\tdata.hideCloseIcon === undefined ? false : data.hideCloseIcon\r\n\t\"\r\n\t(saveEmit)=\"onSave($event)\"\r\n>\r\n\t<div class=\"mapping-dialog\">\r\n\t\t{{ description }}\r\n\t</div>\r\n</kt-common-dialog>\r\n", styles: [".mapping-dialog{color:#44566c;font-family:Arial;font-size:12px;line-height:16px;white-space:pre-line}\n"] }]
1513
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1514
+ type: Inject,
1515
+ args: [MAT_DIALOG_DATA]
1516
+ }] }, { type: i1$4.MatDialogRef }]; } });
1517
+
1518
+ // Angular
1519
+ var MessageType;
1520
+ (function (MessageType) {
1521
+ MessageType[MessageType["Create"] = 0] = "Create";
1522
+ MessageType[MessageType["Read"] = 1] = "Read";
1523
+ MessageType[MessageType["Update"] = 2] = "Update";
1524
+ MessageType[MessageType["Delete"] = 3] = "Delete";
1525
+ })(MessageType || (MessageType = {}));
1526
+ class DialogService {
1527
+ snackBar;
1528
+ dialog;
1529
+ /**
1530
+ * Service constructor
1531
+ *
1532
+ * @param snackBar: MatSnackBar
1533
+ * @param dialog: MatDialog
1534
+ */
1535
+ translation = null;
1536
+ constructor(snackBar, dialog) {
1537
+ this.snackBar = snackBar;
1538
+ this.dialog = dialog;
1539
+ this.translation = JSON.parse(localStorage.getItem("translation"));
1540
+ }
1541
+ showLoadingNotification(config) {
1542
+ return this.snackBar.openFromComponent(NewActionNotificationComponent, {
1543
+ data: {
1544
+ ...config,
1545
+ message: config.message ||
1546
+ this.translation.DOWNLOAD_IS_IN_PROGRESS ||
1547
+ ".Download is in progress",
1548
+ snackBar: this.snackBar,
1549
+ type: "Loading",
1550
+ },
1551
+ verticalPosition: "top",
1552
+ horizontalPosition: "right",
1553
+ panelClass: "new-action-notification",
1554
+ });
1555
+ }
1556
+ showNotification(message, config) {
1557
+ return this.snackBar.openFromComponent(NewActionNotificationComponent, {
1558
+ data: {
1559
+ message,
1560
+ snackBar: this.snackBar,
1561
+ ...(config || {}),
1562
+ },
1563
+ duration: (config && config.duration) || 3000,
1564
+ verticalPosition: "top",
1565
+ horizontalPosition: "right",
1566
+ panelClass: "new-action-notification",
1567
+ });
1568
+ }
1569
+ // 删除确认弹窗
1570
+ deleteElement() {
1571
+ return this.dialog.open(CommonDeleteComponent, {
1572
+ data: {},
1573
+ panelClass: "basic-small-common-dialog",
1574
+ });
1575
+ }
1576
+ // 自定义文案通用弹窗的提示框
1577
+ showCommonDilaog(data) {
1578
+ return this.dialog.open(CommonDeleteComponent, {
1579
+ data,
1580
+ panelClass: "basic-small-common-dialog",
1581
+ });
1582
+ }
1583
+ // 有改动未保存 的提示框
1584
+ showUnsavedChanges(data) {
1585
+ let defaultData = {
1586
+ title: this.translation.UNSAVED_CHANGES || ".UNSAVED_CHANGES",
1587
+ description: this.translation
1588
+ .YOU_HAVE_UNSAVED_CHANGED_ARE_YOU_SURE_YOU_WANT_TO_DISCARD_THEM ||
1589
+ ".YOU_HAVE_UNSAVED_CHANGED_ARE_YOU_SURE_YOU_WANT_TO_DISCARD_THEM",
1590
+ saveBtnLabel: this.translation.DISCARD_CHANGES || ".DISCARD_CHANGES",
1591
+ cancelBtnLabel: this.translation.CONTINUE_EDITING || ".CONTINUE_EDITING",
1592
+ };
1593
+ if (data) {
1594
+ data = Object.assign(defaultData, data);
1595
+ }
1596
+ else {
1597
+ data = defaultData;
1598
+ }
1599
+ // data.size = "medium";
1600
+ return this.dialog.open(CommonDeleteComponent, {
1601
+ data,
1602
+ panelClass: "basic-small-common-dialog",
1603
+ });
1604
+ }
1605
+ // 保存成功提示
1606
+ showSucMsg(res) {
1607
+ this.showMessage(res, MessageType.Create);
1608
+ }
1609
+ // 更新成功提示
1610
+ showUpdateMsg(res) {
1611
+ this.showMessage(res, MessageType.Update);
1612
+ }
1613
+ // 删除成功提示
1614
+ showDelMsg(res) {
1615
+ this.showMessage(res, MessageType.Delete);
1616
+ }
1617
+ // 通用提示
1618
+ showMessage(res, type = MessageType.Create) {
1619
+ let _saveMessage = this.translation.SAVESUCCESS || ".SAVESUCCESS";
1620
+ switch (type) {
1621
+ case MessageType.Update:
1622
+ _saveMessage = this.translation.UPDATESUCCESS || ".UPDATESUCCESS";
1623
+ break;
1624
+ case MessageType.Delete:
1625
+ _saveMessage = this.translation.DELETESUCCESS || ".DELETESUCCESS";
1626
+ break;
1627
+ }
1628
+ if (res.status === "ERROR")
1629
+ _saveMessage = res.messages[0].message;
1630
+ this.showNotification(_saveMessage, {
1631
+ status: res.status === "ERROR" ? "Error" : "Success",
1632
+ });
1633
+ }
1634
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, deps: [{ token: i1$5.MatSnackBar }, { token: i1$4.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
1635
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, providedIn: "root" });
1636
+ }
1637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, decorators: [{
1638
+ type: Injectable,
1639
+ args: [{
1640
+ providedIn: "root",
1641
+ }]
1642
+ }], ctorParameters: function () { return [{ type: i1$5.MatSnackBar }, { type: i1$4.MatDialog }]; } });
1030
1643
 
1031
1644
  class RaiseCommonLibModule {
1032
1645
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RaiseCommonLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1033
1646
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RaiseCommonLibModule, declarations: [CommonGridComponent,
1034
1647
  FloatBoxComponent,
1035
- CommonListComponent,
1648
+ RsPageListComponent,
1649
+ RsPageTabComponent,
1650
+ GridBoxComponent,
1036
1651
  RSHeaderComponent,
1037
1652
  RSFooterComponent,
1038
1653
  RSAsideComponent,
1654
+ MultiTabComponent,
1039
1655
  MainContainerComponent,
1040
1656
  TagInputComponent,
1041
1657
  RadioGroupComponent,
1042
1658
  CheckboxGroupComponent,
1043
- SwitchInputComponent], imports: [CommonModule,
1659
+ SwitchInputComponent,
1660
+ NewActionNotificationComponent,
1661
+ CommonDialogComponent,
1662
+ CommonDeleteComponent], imports: [CommonModule,
1044
1663
  HttpClientModule,
1045
1664
  ReactiveFormsModule,
1046
1665
  FormsModule,
1666
+ MatSnackBarModule,
1667
+ MatDialogModule,
1668
+ MatIconModule,
1047
1669
  GridModule,
1048
1670
  PagerModule,
1049
1671
  GridAllModule,
@@ -1075,12 +1697,16 @@ class RaiseCommonLibModule {
1075
1697
  DashboardLayoutModule,
1076
1698
  CarouselAllModule,
1077
1699
  ToolbarModule,
1700
+ TabModule,
1078
1701
  PdfViewerModule,
1079
1702
  DropDownButtonModule,
1080
- RichTextEditorAllModule, i1$3.AngularSvgIconModule], exports: [CommonModule,
1703
+ SplitButtonModule,
1704
+ RichTextEditorAllModule], exports: [CommonModule,
1081
1705
  HttpClientModule,
1082
1706
  ReactiveFormsModule,
1083
1707
  FormsModule,
1708
+ MatSnackBarModule,
1709
+ MatDialogModule,
1084
1710
  GridModule,
1085
1711
  PagerModule,
1086
1712
  GridAllModule,
@@ -1112,15 +1738,20 @@ class RaiseCommonLibModule {
1112
1738
  DashboardLayoutModule,
1113
1739
  CarouselAllModule,
1114
1740
  ToolbarModule,
1741
+ TabModule,
1115
1742
  PdfViewerModule,
1116
1743
  DropDownButtonModule,
1744
+ SplitButtonModule,
1117
1745
  RichTextEditorAllModule,
1118
1746
  CommonGridComponent,
1119
1747
  FloatBoxComponent,
1120
- CommonListComponent,
1748
+ RsPageListComponent,
1749
+ RsPageTabComponent,
1750
+ GridBoxComponent,
1121
1751
  RSHeaderComponent,
1122
1752
  RSFooterComponent,
1123
1753
  RSAsideComponent,
1754
+ MultiTabComponent,
1124
1755
  MainContainerComponent,
1125
1756
  TagInputComponent,
1126
1757
  RadioGroupComponent,
@@ -1158,10 +1789,15 @@ class RaiseCommonLibModule {
1158
1789
  ToolbarService$2,
1159
1790
  CommonFunctionService,
1160
1791
  IconLoaderService,
1792
+ DialogService,
1793
+ KeepAliveService,
1161
1794
  ], imports: [CommonModule,
1162
1795
  HttpClientModule,
1163
1796
  ReactiveFormsModule,
1164
1797
  FormsModule,
1798
+ MatSnackBarModule,
1799
+ MatDialogModule,
1800
+ MatIconModule,
1165
1801
  GridModule,
1166
1802
  PagerModule,
1167
1803
  GridAllModule,
@@ -1193,13 +1829,16 @@ class RaiseCommonLibModule {
1193
1829
  DashboardLayoutModule,
1194
1830
  CarouselAllModule,
1195
1831
  ToolbarModule,
1832
+ TabModule,
1196
1833
  PdfViewerModule,
1197
1834
  DropDownButtonModule,
1198
- RichTextEditorAllModule,
1199
- AngularSvgIconModule.forRoot(), CommonModule,
1835
+ SplitButtonModule,
1836
+ RichTextEditorAllModule, CommonModule,
1200
1837
  HttpClientModule,
1201
1838
  ReactiveFormsModule,
1202
1839
  FormsModule,
1840
+ MatSnackBarModule,
1841
+ MatDialogModule,
1203
1842
  GridModule,
1204
1843
  PagerModule,
1205
1844
  GridAllModule,
@@ -1231,8 +1870,10 @@ class RaiseCommonLibModule {
1231
1870
  DashboardLayoutModule,
1232
1871
  CarouselAllModule,
1233
1872
  ToolbarModule,
1873
+ TabModule,
1234
1874
  PdfViewerModule,
1235
1875
  DropDownButtonModule,
1876
+ SplitButtonModule,
1236
1877
  RichTextEditorAllModule] });
1237
1878
  }
1238
1879
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RaiseCommonLibModule, decorators: [{
@@ -1241,21 +1882,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1241
1882
  declarations: [
1242
1883
  CommonGridComponent,
1243
1884
  FloatBoxComponent,
1244
- CommonListComponent,
1885
+ RsPageListComponent,
1886
+ RsPageTabComponent,
1887
+ GridBoxComponent,
1245
1888
  RSHeaderComponent,
1246
1889
  RSFooterComponent,
1247
1890
  RSAsideComponent,
1891
+ MultiTabComponent,
1248
1892
  MainContainerComponent,
1249
1893
  TagInputComponent,
1250
1894
  RadioGroupComponent,
1251
1895
  CheckboxGroupComponent,
1252
1896
  SwitchInputComponent,
1897
+ NewActionNotificationComponent,
1898
+ CommonDialogComponent,
1899
+ CommonDeleteComponent,
1253
1900
  ],
1254
1901
  imports: [
1255
1902
  CommonModule,
1256
1903
  HttpClientModule,
1257
1904
  ReactiveFormsModule,
1258
1905
  FormsModule,
1906
+ MatSnackBarModule,
1907
+ MatDialogModule,
1908
+ MatIconModule,
1259
1909
  GridModule,
1260
1910
  PagerModule,
1261
1911
  GridAllModule,
@@ -1287,10 +1937,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1287
1937
  DashboardLayoutModule,
1288
1938
  CarouselAllModule,
1289
1939
  ToolbarModule,
1940
+ TabModule,
1290
1941
  PdfViewerModule,
1291
1942
  DropDownButtonModule,
1943
+ SplitButtonModule,
1292
1944
  RichTextEditorAllModule,
1293
- AngularSvgIconModule.forRoot(),
1294
1945
  ],
1295
1946
  providers: [
1296
1947
  PageService,
@@ -1324,12 +1975,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1324
1975
  ToolbarService$2,
1325
1976
  CommonFunctionService,
1326
1977
  IconLoaderService,
1978
+ DialogService,
1979
+ KeepAliveService,
1327
1980
  ],
1328
1981
  exports: [
1329
1982
  CommonModule,
1330
1983
  HttpClientModule,
1331
1984
  ReactiveFormsModule,
1332
1985
  FormsModule,
1986
+ MatSnackBarModule,
1987
+ MatDialogModule,
1333
1988
  GridModule,
1334
1989
  PagerModule,
1335
1990
  GridAllModule,
@@ -1361,15 +2016,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1361
2016
  DashboardLayoutModule,
1362
2017
  CarouselAllModule,
1363
2018
  ToolbarModule,
2019
+ TabModule,
1364
2020
  PdfViewerModule,
1365
2021
  DropDownButtonModule,
2022
+ SplitButtonModule,
1366
2023
  RichTextEditorAllModule,
1367
2024
  CommonGridComponent,
1368
2025
  FloatBoxComponent,
1369
- CommonListComponent,
2026
+ RsPageListComponent,
2027
+ RsPageTabComponent,
2028
+ GridBoxComponent,
1370
2029
  RSHeaderComponent,
1371
2030
  RSFooterComponent,
1372
2031
  RSAsideComponent,
2032
+ MultiTabComponent,
1373
2033
  MainContainerComponent,
1374
2034
  TagInputComponent,
1375
2035
  RadioGroupComponent,
@@ -1387,5 +2047,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
1387
2047
  * Generated bundle index. Do not edit.
1388
2048
  */
1389
2049
 
1390
- export { CheckboxGroupComponent, CommonFunctionService, CommonGridComponent, CommonListComponent, FloatBoxComponent, IconLoaderService, MainContainerComponent, RSAsideComponent, RSFooterComponent, RSHeaderComponent, RadioGroupComponent, RaiseCommonLibModule, SwitchInputComponent, TagInputComponent };
2050
+ export { CheckboxGroupComponent, CommonFunctionService, CommonGridComponent, DialogService, FloatBoxComponent, GridBoxComponent, IconLoaderService, KeepAliveService, MainContainerComponent, MessageType, MultiTabComponent, RSAsideComponent, RSFooterComponent, RSHeaderComponent, RadioGroupComponent, RaiseCommonLibModule, RsPageListComponent, RsPageTabComponent, SwitchInputComponent, TagInputComponent };
1391
2051
  //# sourceMappingURL=raise-common-lib-new.mjs.map