ngx-rs-ant 2.0.5 → 2.0.6

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.
@@ -44,7 +44,6 @@ export declare class DataGridComponent implements OnInit {
44
44
  getSelectedRowsData(): any[] & Promise<any[]>;
45
45
  refresh(callback?: any): void;
46
46
  onDxDataGridEditorPreparing($event: any): void;
47
- filterValue(): any;
48
47
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, never>;
49
48
  static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "rs-data-grid", never, { "tenant": "tenant"; "className": "className"; "view": "view"; "filter": "filter"; "customColumnFn": "customColumnFn"; "keyExpr": "keyExpr"; "dataGridName": "dataGridName"; "height": "height"; "onlyFrontEnd": "onlyFrontEnd"; "disablePage": "disablePage"; "dataSource": "dataSource"; "selectionMode": "selectionMode"; "selectedRowKeys": "selectedRowKeys"; "showRowNum": "showRowNum"; "instanceLinkType": "instanceLinkType"; "drawerInstanceLinkViewContainerRef": "drawerInstanceLinkViewContainerRef"; "drawerInstanceLinkSize": "drawerInstanceLinkSize"; "drawerInstanceLinkFormTemplate": "drawerInstanceLinkFormTemplate"; }, { "selectedRowKeysChange": "selectedRowKeysChange"; "onCellPrepared": "onCellPrepared"; "onContentReady": "onContentReady"; "onEditorPreparing": "onEditorPreparing"; "onRowClick": "onRowClick"; "onRowDblClick": "onRowDblClick"; "onSelectionChanged": "onSelectionChanged"; }, ["rowButtonsTemplate", "customTemplate"], never, false, never>;
50
49
  }
@@ -70,6 +70,14 @@ export class DataGridComponent {
70
70
  });
71
71
  }
72
72
  this.columns = columns;
73
+ if (this.onlyFrontEnd && this.filter) {
74
+ if (Array.isArray(this.filter)) {
75
+ this.dxDataGrid.instance.filter(this.filter);
76
+ }
77
+ else {
78
+ this.dxDataGrid.instance.filter(JSON.parse(this.filter));
79
+ }
80
+ }
73
81
  });
74
82
  if (this.onlyFrontEnd) {
75
83
  if (this.dataSource && !Array.isArray(this.dataSource)) {
@@ -102,21 +110,12 @@ export class DataGridComponent {
102
110
  }
103
111
  this.onEditorPreparing.emit($event);
104
112
  }
105
- filterValue() {
106
- if (Array.isArray(this.filter)) {
107
- return this.filter;
108
- }
109
- if (this.filter) {
110
- return JSON.parse(this.filter);
111
- }
112
- return null;
113
- }
114
113
  }
115
114
  DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataGridComponent, deps: [{ token: i1.DataGridFactory }, { token: i2.DataGridService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
116
- DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", customColumnFn: "customColumnFn", keyExpr: "keyExpr", dataGridName: "dataGridName", height: "height", onlyFrontEnd: "onlyFrontEnd", disablePage: "disablePage", dataSource: "dataSource", selectionMode: "selectionMode", selectedRowKeys: "selectedRowKeys", showRowNum: "showRowNum", instanceLinkType: "instanceLinkType", drawerInstanceLinkViewContainerRef: "drawerInstanceLinkViewContainerRef", drawerInstanceLinkSize: "drawerInstanceLinkSize", drawerInstanceLinkFormTemplate: "drawerInstanceLinkFormTemplate" }, outputs: { selectedRowKeysChange: "selectedRowKeysChange", onCellPrepared: "onCellPrepared", onContentReady: "onContentReady", onEditorPreparing: "onEditorPreparing", onRowClick: "onRowClick", onRowDblClick: "onRowDblClick", onSelectionChanged: "onSelectionChanged" }, providers: [DataGridService], queries: [{ propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: CustomTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [filterValue]=\"onlyFrontEnd ? filterValue() : null\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i6.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i6.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i6.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i6.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i6.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i6.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i7.InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: ["tenant", "className", "oid", "instanceLinkType", "drawerViewContainerRef", "drawerSize", "drawerFormTemplate"] }, { kind: "component", type: i8.CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: ["cellInfo"] }] });
115
+ DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", customColumnFn: "customColumnFn", keyExpr: "keyExpr", dataGridName: "dataGridName", height: "height", onlyFrontEnd: "onlyFrontEnd", disablePage: "disablePage", dataSource: "dataSource", selectionMode: "selectionMode", selectedRowKeys: "selectedRowKeys", showRowNum: "showRowNum", instanceLinkType: "instanceLinkType", drawerInstanceLinkViewContainerRef: "drawerInstanceLinkViewContainerRef", drawerInstanceLinkSize: "drawerInstanceLinkSize", drawerInstanceLinkFormTemplate: "drawerInstanceLinkFormTemplate" }, outputs: { selectedRowKeysChange: "selectedRowKeysChange", onCellPrepared: "onCellPrepared", onContentReady: "onContentReady", onEditorPreparing: "onEditorPreparing", onRowClick: "onRowClick", onRowDblClick: "onRowDblClick", onSelectionChanged: "onSelectionChanged" }, providers: [DataGridService], queries: [{ propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: CustomTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i6.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i6.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i6.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i6.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i6.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i6.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: i7.InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: ["tenant", "className", "oid", "instanceLinkType", "drawerViewContainerRef", "drawerSize", "drawerFormTemplate"] }, { kind: "component", type: i8.CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: ["cellInfo"] }] });
117
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataGridComponent, decorators: [{
118
117
  type: Component,
119
- args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [filterValue]=\"onlyFrontEnd ? filterValue() : null\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
118
+ args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
120
119
  }], ctorParameters: function () { return [{ type: i1.DataGridFactory }, { type: i2.DataGridService }, { type: i0.ViewContainerRef }]; }, propDecorators: { tenant: [{
121
120
  type: Input
122
121
  }], className: [{
@@ -177,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
177
176
  type: ContentChild,
178
177
  args: [CustomTemplateDirective]
179
178
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXdENUIsWUFBb0IsT0FBd0IsRUFBWSxPQUF3QixFQUFVLGdCQUFrQztRQUF4RyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRENUgsV0FBTSxHQUFTLEdBQUcsQ0FBQztRQVVuQixZQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsa0NBQWtDO1FBTXhELGlCQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBRTdELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGVBQVUsR0FBUSxFQUFF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aWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEeERhdGFHcmlkQ29tcG9uZW50fSBmcm9tIFwiZGV2ZXh0cmVtZS1hbmd1bGFyXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRTZXJ2aWNlfSBmcm9tIFwiLi9kYXRhLWdyaWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1Jvd0J1dHRvbnNUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vcm93LWJ1dHRvbnMtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmltcG9ydCB7RGF0YUdyaWRGYWN0b3J5fSBmcm9tIFwiLi9kYXRhLWdyaWQuZmFjdG9yeVwiO1xyXG5pbXBvcnQge2RlYm91bmNlVGltZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtub3RpZnlfZXJyb3J9IGZyb20gXCIuLi91dGlsL3V0aWxzXCI7XHJcbmltcG9ydCB7Q3VzdG9tVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL2N1c3RvbS10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncnMtZGF0YS1ncmlkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1ncmlkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLWdyaWQuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtEYXRhR3JpZFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICB0ZW5hbnQ/OiBhbnkgPSAnVCc7XHJcbiAgQElucHV0KClcclxuICBjbGFzc05hbWUhOiBhbnk7XHJcbiAgQElucHV0KClcclxuICB2aWV3PzogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVyPzogQXJyYXk8YW55PiB8IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGN1c3RvbUNvbHVtbkZuPzogKGNvbHVtbnM6IGFueVtdKSA9PiB2b2lkO1xyXG4gIEBJbnB1dCgpXHJcbiAga2V5RXhwcjogc3RyaW5nID0gJyc7IC8vIOeUqOS6juWunuS+i+WxnuaAp+mAieaLqeWZqO+8jOWKoOi9vee7hOS7tuWAvOaXtuS7pemAieS4reWtl+auteS4uuS4u+mUruiOt+WPlumAieS4reihjOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0YUdyaWROYW1lPzogc3RyaW5nOyAvLyDnlKjkuo7lnKjojrflj5bmlbDmja7ml7blkIzml7bojrflj5blj7DotKbphY3nva7nmoTooYzlhoXmjInpkq5cclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgb25seUZyb250RW5kOiBib29sZWFuID0gZmFsc2U7IC8vIOS7heWJjeerr++8jOmcgOaMh+WummRhdGFTb3VyY2XvvIzkuI3oh6rliqjojrflj5booajmoLzmlbDmja5cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVQYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBkYXRhU291cmNlOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGlvbk1vZGU6ICdub25lJyB8ICdtdWx0aXBsZScgfCAnc2luZ2xlJyA9ICdub25lJztcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkUm93S2V5czogYW55W10gPSBbXTtcclxuICBAT3V0cHV0KClcclxuICBzZWxlY3RlZFJvd0tleXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1Jvd051bTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBpbnN0YW5jZUxpbmtUeXBlOiAndGFiJyB8ICdkcmF3ZXInIHwgJ25vbmUnID0gJ3RhYic7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtWaWV3Q29udGFpbmVyUmVmOiBhbnkgPSB0aGlzLnZpZXdDb250YWluZXJSZWY7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtTaXplOiAnZGVmYXVsdCcgfCAnbGFyZ2UnIHwgc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gIEBJbnB1dCgpXHJcbiAgZHJhd2VySW5zdGFuY2VMaW5rRm9ybVRlbXBsYXRlOiBhbnk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25DZWxsUHJlcGFyZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvbkNvbnRlbnRSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uRWRpdG9yUHJlcGFyaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25Sb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uUm93RGJsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvblNlbGVjdGlvbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAVmlld0NoaWxkKER4RGF0YUdyaWRDb21wb25lbnQsIHtzdGF0aWM6IHRydWV9KSBwcml2YXRlIGR4RGF0YUdyaWQhOiBEeERhdGFHcmlkQ29tcG9uZW50O1xyXG4gIEBDb250ZW50Q2hpbGQoUm93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlKSBwcm90ZWN0ZWQgcm93QnV0dG9uc1RlbXBsYXRlITogUm93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlO1xyXG4gIEBDb250ZW50Q2hpbGQoQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmUpIHByb3RlY3RlZCBjdXN0b21UZW1wbGF0ZSE6IEN1c3RvbVRlbXBsYXRlRGlyZWN0aXZlO1xyXG4gIGNvbHVtbnM6IGFueVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmFjdG9yeTogRGF0YUdyaWRGYWN0b3J5LCBwcm90ZWN0ZWQgc2VydmljZTogRGF0YUdyaWRTZXJ2aWNlLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5yZWxvYWQoKTtcclxuICAgIHRoaXMuc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICg8YW55PnRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZSkucmVzaXplKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbG9hZCgpIHtcclxuICAgIHRoaXMuY29sdW1ucy5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy5mYWN0b3J5Lm1ha2VEYXRhR3JpZENvbHVtbnModGhpcy50ZW5hbnQsIHRoaXMuY2xhc3NOYW1lLCB0aGlzLnZpZXcpLnN1YnNjcmliZShjb2x1bW5zID0+IHtcclxuICAgICAgaWYgKHRoaXMuY3VzdG9tQ29sdW1uRm4pIHtcclxuICAgICAgICB0aGlzLmN1c3RvbUNvbHVtbkZuKGNvbHVtbnMpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmluc3RhbmNlTGlua1R5cGUgPT09ICd0YWInIHx8IHRoaXMuaW5zdGFuY2VMaW5rVHlwZSA9PT0gJ2RyYXdlcicpIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgY2FwdGlvbjogJ+ivpuaDhScsXHJcbiAgICAgICAgICBmaXhlZDogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiA0OCxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICdpbnN0YW5jZUxpbmtUZW1wbGF0ZSdcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5zaG93Um93TnVtKSB7XHJcbiAgICAgICAgY29sdW1ucy51bnNoaWZ0KHtcclxuICAgICAgICAgIGNhcHRpb246ICfooYzlj7cnLFxyXG4gICAgICAgICAgZml4ZWQ6IHRydWUsXHJcbiAgICAgICAgICB3aWR0aDogNDgsXHJcbiAgICAgICAgICBhbGlnbm1lbnQ6ICdjZW50ZXInLFxyXG4gICAgICAgICAgY2VsbFRlbXBsYXRlOiAncm93SW5kZXhUZW1wbGF0ZSdcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbHVtbnMgPSBjb2x1bW5zO1xyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5vbmx5RnJvbnRFbmQpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmRhdGFTb3VyY2UpKSB7XHJcbiAgICAgICAgbm90aWZ5X2Vycm9yKCflm6Bvbmx5RnJvbnRFbmTlj4LmlbDkuLp0cnVl77yM6ZyA6KaB5piO56Gu5oyH5a6aZGF0YVNvdXJjZeWPguaVsOS4uuaVsOe7hCcpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmZhY3RvcnkubWFrZURhdGFHcmlkRGF0YVNvdXJjZSh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHRoaXMudmlldywgdGhpcy5maWx0ZXIsIHRoaXMua2V5RXhwciwgdGhpcy5kYXRhR3JpZE5hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZS5nZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUm93c0RhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmdldFNlbGVjdGVkUm93c0RhdGEoKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goY2FsbGJhY2s/OiBhbnkpIHtcclxuICAgIHRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZS5yZWZyZXNoKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmIChjYWxsYmFjaykge1xyXG4gICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25EeERhdGFHcmlkRWRpdG9yUHJlcGFyaW5nKCRldmVudDogYW55KSB7XHJcbiAgICBpZiAoJGV2ZW50LnBhcmVudFR5cGUgPT09ICdmaWx0ZXJSb3cnICYmICRldmVudC5lZGl0b3JOYW1lID09PSAnZHhUZXh0Qm94Jykge1xyXG4gICAgICAkZXZlbnQuZWRpdG9yT3B0aW9ucy52YWx1ZUNoYW5nZUV2ZW50ID0gJ2JsdXInO1xyXG4gICAgICAkZXZlbnQuZWRpdG9yT3B0aW9ucy5vbkVudGVyS2V5ID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGUuY29tcG9uZW50LmJsdXIoKTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMub25FZGl0b3JQcmVwYXJpbmcuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyVmFsdWUoKSB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmZpbHRlcikpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsdGVyKSB7XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuZmlsdGVyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZHgtZGF0YS1ncmlkIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgICAgICAgIGRhdGVTZXJpYWxpemF0aW9uRm9ybWF0PVwieXl5eS9NTS9kZCBISDptbTpzc1wiXHJcbiAgICAgICAgICAgICAgW3N5bmNMb29rdXBGaWx0ZXJWYWx1ZXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxyXG4gICAgICAgICAgICAgIFtmaWx0ZXJWYWx1ZV09XCJvbmx5RnJvbnRFbmQgPyBmaWx0ZXJWYWx1ZSgpIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgICAgICAgW2hlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgICAgICAgIFtrZXlFeHByXT1cImtleUV4cHJcIlxyXG4gICAgICAgICAgICAgIFtzZWxlY3RlZFJvd0tleXNdPVwic2VsZWN0ZWRSb3dLZXlzXCJcclxuICAgICAgICAgICAgICAoc2VsZWN0ZWRSb3dLZXlzQ2hhbmdlKT1cInNlbGVjdGVkUm93S2V5c0NoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkNlbGxQcmVwYXJlZCk9XCJvbkNlbGxQcmVwYXJlZC5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkNvbnRlbnRSZWFkeSk9XCJvbkNvbnRlbnRSZWFkeS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvbkVkaXRvclByZXBhcmluZyk9XCJvbkR4RGF0YUdyaWRFZGl0b3JQcmVwYXJpbmcoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uUm93Q2xpY2spPVwib25Sb3dDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblJvd0RibENsaWNrKT1cIm9uUm93RGJsQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2VkKT1cIm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KCRldmVudClcIj5cclxuICA8ZHhvLXNvcnRpbmcgbW9kZT1cIm11bHRpcGxlXCI+PC9keG8tc29ydGluZz5cclxuICA8ZHhvLXNlbGVjdGlvbiBbbW9kZV09XCJzZWxlY3Rpb25Nb2RlXCIgc2VsZWN0QWxsTW9kZT1cInBhZ2VcIiBzaG93Q2hlY2tCb3hlc01vZGU9XCJhbHdheXNcIj48L2R4by1zZWxlY3Rpb24+XHJcbiAgPGR4by1oZWFkZXItZmlsdGVyIFt2aXNpYmxlXT1cIiFvbmx5RnJvbnRFbmRcIj5cclxuICAgIDxkeG8tc2VhcmNoIFtlbmFibGVkXT1cInRydWVcIj48L2R4by1zZWFyY2g+XHJcbiAgICA8ZHhvLXRleHRzIFtva109XCIn56Gu5a6aJ1wiPjwvZHhvLXRleHRzPlxyXG4gIDwvZHhvLWhlYWRlci1maWx0ZXI+XHJcbiAgPGR4by1maWx0ZXItcm93IFt2aXNpYmxlXT1cInRydWVcIj48L2R4by1maWx0ZXItcm93PlxyXG4gIDxkeG8tcmVtb3RlLW9wZXJhdGlvbnMgW2ZpbHRlcmluZ109XCIhb25seUZyb250RW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0aW5nXT1cIiFvbmx5RnJvbnRFbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW3BhZ2luZ109XCIhb25seUZyb250RW5kXCI+XHJcbiAgPC9keG8tcmVtb3RlLW9wZXJhdGlvbnM+XHJcbiAgPGR4by1wYWdpbmcgW2VuYWJsZWRdPVwiIWRpc2FibGVQYWdlXCIgW3BhZ2VTaXplXT1cIjE1XCI+PC9keG8tcGFnaW5nPlxyXG4gIDxkeG8tcGFnZXIgW3Zpc2libGVdPVwiIWRpc2FibGVQYWdlXCJcclxuICAgICAgICAgICAgIFtzaG93SW5mb109XCJ0cnVlXCJcclxuICAgICAgICAgICAgIGluZm9UZXh0PVwi56ysezB96aG177yM5YWxezF96aG177yI5YWxezJ95Liq6aG555uu77yJXCJcclxuICAgICAgICAgICAgIFtzaG93UGFnZVNpemVTZWxlY3Rvcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgIFthbGxvd2VkUGFnZVNpemVzXT1cIlsxNSwgMzAsIDUwXVwiXHJcbiAgPjwvZHhvLXBhZ2VyPlxyXG4gIDxkeG8tc2Nyb2xsaW5nIHNob3dTY3JvbGxiYXI9XCJhbHdheXNcIj48L2R4by1zY3JvbGxpbmc+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAncm93SW5kZXhUZW1wbGF0ZSdcIj5cclxuICAgIHt7IGNlbGxJbmZvLnJvd0luZGV4ICsgMSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2luc3RhbmNlTGlua1RlbXBsYXRlJ1wiPlxyXG4gICAgPHJzLWluc3RhbmNlLWxpbmstdGVtcGxhdGUgW3RlbmFudF09XCJ0ZW5hbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzTmFtZV09XCJjbGFzc05hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29pZF09XCJjZWxsSW5mby5kYXRhLm9pZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5zdGFuY2VMaW5rVHlwZV09XCJpbnN0YW5jZUxpbmtUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmF3ZXJWaWV3Q29udGFpbmVyUmVmXT1cImRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlclNpemVdPVwiZHJhd2VySW5zdGFuY2VMaW5rU2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJhd2VyRm9ybVRlbXBsYXRlXT1cImRyYXdlckluc3RhbmNlTGlua0Zvcm1UZW1wbGF0ZVwiPlxyXG4gICAgPC9ycy1pbnN0YW5jZS1saW5rLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2NlbGxDb21wb25lbnRUZW1wbGF0ZSdcIj5cclxuICAgIDxycy1jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZSBbY2VsbEluZm9dPVwiY2VsbEluZm9cIj48L3JzLWNlbGwtY29tcG9uZW50LXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ3Jvd0J1dHRvbnNUZW1wbGF0ZSdcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicm93QnV0dG9uc1RlbXBsYXRlLnRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGNlbGxJbmZvLCBjZWxsVGVtcGxhdGVMb2FkZWQkOiBzZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCBjZWxsSW5mbyBvZiAnY3VzdG9tVGVtcGxhdGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbVRlbXBsYXRlLnRlbXBsYXRlUmVmXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGNlbGxJbmZvLCBjZWxsVGVtcGxhdGVMb2FkZWQkOiBzZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCR9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZHgtZGF0YS1ncmlkPlxyXG4iXX0=
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ycy1hbnQvc3JjL2RhdGEtZ3JpZC9kYXRhLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJzLWFudC9zcmMvZGF0YS1ncmlkL2RhdGEtZ3JpZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQW1CLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFRcEUsTUFBTSxPQUFPLGlCQUFpQjtJQXdENUIsWUFBb0IsT0FBd0IsRUFBWSxPQUF3QixFQUFVLGdCQUFrQztRQUF4RyxZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXRENUgsV0FBTSxHQUFTLEdBQUcsQ0FBQztRQVVuQixZQUFPLEdBQVcsRUFBRSxDQUFDLENBQUMsa0NBQWtDO1FBTXhELGlCQUFZLEdBQVksS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBRTdELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGVBQVUsR0FBUSxFQUFF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QUFjO3NCQUE5RCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0R4RGF0YUdyaWRDb21wb25lbnR9IGZyb20gXCJkZXZleHRyZW1lLWFuZ3VsYXJcIjtcclxuaW1wb3J0IHtEYXRhR3JpZFNlcnZpY2V9IGZyb20gXCIuL2RhdGEtZ3JpZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um93QnV0dG9uc1RlbXBsYXRlRGlyZWN0aXZlfSBmcm9tIFwiLi9yb3ctYnV0dG9ucy10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuaW1wb3J0IHtEYXRhR3JpZEZhY3Rvcnl9IGZyb20gXCIuL2RhdGEtZ3JpZC5mYWN0b3J5XCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge25vdGlmeV9lcnJvcn0gZnJvbSBcIi4uL3V0aWwvdXRpbHNcIjtcclxuaW1wb3J0IHtDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vY3VzdG9tLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdycy1kYXRhLWdyaWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWdyaWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW0RhdGFHcmlkU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKVxyXG4gIHRlbmFudD86IGFueSA9ICdUJztcclxuICBASW5wdXQoKVxyXG4gIGNsYXNzTmFtZSE6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHZpZXc/OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBmaWx0ZXI/OiBBcnJheTxhbnk+IHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3VzdG9tQ29sdW1uRm4/OiAoY29sdW1uczogYW55W10pID0+IHZvaWQ7XHJcbiAgQElucHV0KClcclxuICBrZXlFeHByOiBzdHJpbmcgPSAnJzsgLy8g55So5LqO5a6e5L6L5bGe5oCn6YCJ5oup5Zmo77yM5Yqg6L2957uE5Lu25YC85pe25Lul6YCJ5Lit5a2X5q615Li65Li76ZSu6I635Y+W6YCJ5Lit6KGM5pWw5o2uXHJcbiAgQElucHV0KClcclxuICBkYXRhR3JpZE5hbWU/OiBzdHJpbmc7IC8vIOeUqOS6juWcqOiOt+WPluaVsOaNruaXtuWQjOaXtuiOt+WPluWPsOi0pumFjee9rueahOihjOWGheaMiemSrlxyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBvbmx5RnJvbnRFbmQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8g5LuF5YmN56uv77yM6ZyA5oyH5a6aZGF0YVNvdXJjZe+8jOS4jeiHquWKqOiOt+WPluihqOagvOaVsOaNrlxyXG4gIEBJbnB1dCgpXHJcbiAgZGlzYWJsZVBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGRhdGFTb3VyY2U6IGFueSA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0aW9uTW9kZTogJ25vbmUnIHwgJ211bHRpcGxlJyB8ICdzaW5nbGUnID0gJ25vbmUnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWRSb3dLZXlzOiBhbnlbXSA9IFtdO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkUm93S2V5c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XHJcbiAgQElucHV0KClcclxuICBzaG93Um93TnVtOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIGluc3RhbmNlTGlua1R5cGU6ICd0YWInIHwgJ2RyYXdlcicgfCAnbm9uZScgPSAndGFiJztcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1ZpZXdDb250YWluZXJSZWY6IGFueSA9IHRoaXMudmlld0NvbnRhaW5lclJlZjtcclxuICBASW5wdXQoKVxyXG4gIGRyYXdlckluc3RhbmNlTGlua1NpemU6ICdkZWZhdWx0JyB8ICdsYXJnZScgfCBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KClcclxuICBkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGU6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBvbkNlbGxQcmVwYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ29udGVudFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25FZGl0b3JQcmVwYXJpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBvblJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgb25Sb3dEYmxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoRHhEYXRhR3JpZENvbXBvbmVudCwge3N0YXRpYzogdHJ1ZX0pIHByaXZhdGUgZHhEYXRhR3JpZCE6IER4RGF0YUdyaWRDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmUpIHByb3RlY3RlZCByb3dCdXR0b25zVGVtcGxhdGUhOiBSb3dCdXR0b25zVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZSkgcHJvdGVjdGVkIGN1c3RvbVRlbXBsYXRlITogQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgY29sdW1uczogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWN0b3J5OiBEYXRhR3JpZEZhY3RvcnksIHByb3RlY3RlZCBzZXJ2aWNlOiBEYXRhR3JpZFNlcnZpY2UsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnJlbG9hZCgpO1xyXG4gICAgdGhpcy5zZXJ2aWNlLmNlbGxUZW1wbGF0ZUxvYWRlZCQucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgKDxhbnk+dGhpcy5keERhdGFHcmlkLmluc3RhbmNlKS5yZXNpemUoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVsb2FkKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLmZhY3RvcnkubWFrZURhdGFHcmlkQ29sdW1ucyh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHRoaXMudmlldykuc3Vic2NyaWJlKGNvbHVtbnMgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdXN0b21Db2x1bW5Gbikge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sdW1uRm4oY29sdW1ucyk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuaW5zdGFuY2VMaW5rVHlwZSA9PT0gJ3RhYicgfHwgdGhpcy5pbnN0YW5jZUxpbmtUeXBlID09PSAnZHJhd2VyJykge1xyXG4gICAgICAgIGNvbHVtbnMudW5zaGlmdCh7XHJcbiAgICAgICAgICBjYXB0aW9uOiAn6K+m5oOFJyxcclxuICAgICAgICAgIGZpeGVkOiB0cnVlLFxyXG4gICAgICAgICAgd2lkdGg6IDQ4LFxyXG4gICAgICAgICAgYWxpZ25tZW50OiAnY2VudGVyJyxcclxuICAgICAgICAgIGNlbGxUZW1wbGF0ZTogJ2luc3RhbmNlTGlua1RlbXBsYXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNob3dSb3dOdW0pIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgY2FwdGlvbjogJ+ihjOWPtycsXHJcbiAgICAgICAgICBmaXhlZDogdHJ1ZSxcclxuICAgICAgICAgIHdpZHRoOiA0OCxcclxuICAgICAgICAgIGFsaWdubWVudDogJ2NlbnRlcicsXHJcbiAgICAgICAgICBjZWxsVGVtcGxhdGU6ICdyb3dJbmRleFRlbXBsYXRlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICAgIGlmICh0aGlzLm9ubHlGcm9udEVuZCAmJiB0aGlzLmZpbHRlcikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZmlsdGVyKSkge1xyXG4gICAgICAgICAgdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmZpbHRlcih0aGlzLmZpbHRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZS5maWx0ZXIoSlNPTi5wYXJzZSh0aGlzLmZpbHRlcikpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5vbmx5RnJvbnRFbmQpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmRhdGFTb3VyY2UpKSB7XHJcbiAgICAgICAgbm90aWZ5X2Vycm9yKCflm6Bvbmx5RnJvbnRFbmTlj4LmlbDkuLp0cnVl77yM6ZyA6KaB5piO56Gu5oyH5a6aZGF0YVNvdXJjZeWPguaVsOS4uuaVsOe7hCcpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmZhY3RvcnkubWFrZURhdGFHcmlkRGF0YVNvdXJjZSh0aGlzLnRlbmFudCwgdGhpcy5jbGFzc05hbWUsIHRoaXMudmlldywgdGhpcy5maWx0ZXIsIHRoaXMua2V5RXhwciwgdGhpcy5kYXRhR3JpZE5hbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZS5nZXRTZWxlY3RlZFJvd0tleXMoKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUm93c0RhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5keERhdGFHcmlkLmluc3RhbmNlLmdldFNlbGVjdGVkUm93c0RhdGEoKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goY2FsbGJhY2s/OiBhbnkpIHtcclxuICAgIHRoaXMuZHhEYXRhR3JpZC5pbnN0YW5jZS5yZWZyZXNoKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIGlmIChjYWxsYmFjaykge1xyXG4gICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25EeERhdGFHcmlkRWRpdG9yUHJlcGFyaW5nKCRldmVudDogYW55KSB7XHJcbiAgICBpZiAoJGV2ZW50LnBhcmVudFR5cGUgPT09ICdmaWx0ZXJSb3cnICYmICRldmVudC5lZGl0b3JOYW1lID09PSAnZHhUZXh0Qm94Jykge1xyXG4gICAgICAkZXZlbnQuZWRpdG9yT3B0aW9ucy52YWx1ZUNoYW5nZUV2ZW50ID0gJ2JsdXInO1xyXG4gICAgICAkZXZlbnQuZWRpdG9yT3B0aW9ucy5vbkVudGVyS2V5ID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGUuY29tcG9uZW50LmJsdXIoKTtcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMub25FZGl0b3JQcmVwYXJpbmcuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZHgtZGF0YS1ncmlkIFtzaG93Qm9yZGVyc109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q29sdW1uTGluZXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtyb3dBbHRlcm5hdGlvbkVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW2NvbHVtbkF1dG9XaWR0aF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbYWxsb3dDb2x1bW5SZXNpemluZ109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBjb2x1bW5SZXNpemluZ01vZGU9XCJ3aWRnZXRcIlxyXG4gICAgICAgICAgICAgIGRhdGVTZXJpYWxpemF0aW9uRm9ybWF0PVwieXl5eS9NTS9kZCBISDptbTpzc1wiXHJcbiAgICAgICAgICAgICAgW3N5bmNMb29rdXBGaWx0ZXJWYWx1ZXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgICAgICAgICAgIFtoZWlnaHRdPVwiaGVpZ2h0XCJcclxuICAgICAgICAgICAgICBba2V5RXhwcl09XCJrZXlFeHByXCJcclxuICAgICAgICAgICAgICBbc2VsZWN0ZWRSb3dLZXlzXT1cInNlbGVjdGVkUm93S2V5c1wiXHJcbiAgICAgICAgICAgICAgKHNlbGVjdGVkUm93S2V5c0NoYW5nZSk9XCJzZWxlY3RlZFJvd0tleXNDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25DZWxsUHJlcGFyZWQpPVwib25DZWxsUHJlcGFyZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Db250ZW50UmVhZHkpPVwib25Db250ZW50UmVhZHkuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25FZGl0b3JQcmVwYXJpbmcpPVwib25EeERhdGFHcmlkRWRpdG9yUHJlcGFyaW5nKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChvblJvd0NsaWNrKT1cIm9uUm93Q2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAob25Sb3dEYmxDbGljayk9XCJvblJvd0RibENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgPGR4by1zb3J0aW5nIG1vZGU9XCJtdWx0aXBsZVwiPjwvZHhvLXNvcnRpbmc+XHJcbiAgPGR4by1zZWxlY3Rpb24gW21vZGVdPVwic2VsZWN0aW9uTW9kZVwiIHNlbGVjdEFsbE1vZGU9XCJwYWdlXCIgc2hvd0NoZWNrQm94ZXNNb2RlPVwiYWx3YXlzXCI+PC9keG8tc2VsZWN0aW9uPlxyXG4gIDxkeG8taGVhZGVyLWZpbHRlciBbdmlzaWJsZV09XCIhb25seUZyb250RW5kXCI+XHJcbiAgICA8ZHhvLXNlYXJjaCBbZW5hYmxlZF09XCJ0cnVlXCI+PC9keG8tc2VhcmNoPlxyXG4gICAgPGR4by10ZXh0cyBbb2tdPVwiJ+ehruWumidcIj48L2R4by10ZXh0cz5cclxuICA8L2R4by1oZWFkZXItZmlsdGVyPlxyXG4gIDxkeG8tZmlsdGVyLXJvdyBbdmlzaWJsZV09XCJ0cnVlXCI+PC9keG8tZmlsdGVyLXJvdz5cclxuICA8ZHhvLXJlbW90ZS1vcGVyYXRpb25zIFtmaWx0ZXJpbmddPVwiIW9ubHlGcm9udEVuZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGluZ109XCIhb25seUZyb250RW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdpbmddPVwiIW9ubHlGcm9udEVuZFwiPlxyXG4gIDwvZHhvLXJlbW90ZS1vcGVyYXRpb25zPlxyXG4gIDxkeG8tcGFnaW5nIFtlbmFibGVkXT1cIiFkaXNhYmxlUGFnZVwiIFtwYWdlU2l6ZV09XCIxNVwiPjwvZHhvLXBhZ2luZz5cclxuICA8ZHhvLXBhZ2VyIFt2aXNpYmxlXT1cIiFkaXNhYmxlUGFnZVwiXHJcbiAgICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBpbmZvVGV4dD1cIuesrHswfemhte+8jOWFsXsxfemhte+8iOWFsXsyfeS4qumhueebru+8iVwiXHJcbiAgICAgICAgICAgICBbc2hvd1BhZ2VTaXplU2VsZWN0b3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICBbYWxsb3dlZFBhZ2VTaXplc109XCJbMTUsIDMwLCA1MF1cIlxyXG4gID48L2R4by1wYWdlcj5cclxuICA8ZHhvLXNjcm9sbGluZyBzaG93U2Nyb2xsYmFyPVwiYWx3YXlzXCI+PC9keG8tc2Nyb2xsaW5nPlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ3Jvd0luZGV4VGVtcGxhdGUnXCI+XHJcbiAgICB7eyBjZWxsSW5mby5yb3dJbmRleCArIDEgfX1cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdpbnN0YW5jZUxpbmtUZW1wbGF0ZSdcIj5cclxuICAgIDxycy1pbnN0YW5jZS1saW5rLXRlbXBsYXRlIFt0ZW5hbnRdPVwidGVuYW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwiY2xhc3NOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvaWRdPVwiY2VsbEluZm8uZGF0YS5vaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luc3RhbmNlTGlua1R5cGVdPVwiaW5zdGFuY2VMaW5rVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZHJhd2VyVmlld0NvbnRhaW5lclJlZl09XCJkcmF3ZXJJbnN0YW5jZUxpbmtWaWV3Q29udGFpbmVyUmVmXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkcmF3ZXJTaXplXT1cImRyYXdlckluc3RhbmNlTGlua1NpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RyYXdlckZvcm1UZW1wbGF0ZV09XCJkcmF3ZXJJbnN0YW5jZUxpbmtGb3JtVGVtcGxhdGVcIj5cclxuICAgIDwvcnMtaW5zdGFuY2UtbGluay10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdjZWxsQ29tcG9uZW50VGVtcGxhdGUnXCI+XHJcbiAgICA8cnMtY2VsbC1jb21wb25lbnQtdGVtcGxhdGUgW2NlbGxJbmZvXT1cImNlbGxJbmZvXCI+PC9ycy1jZWxsLWNvbXBvbmVudC10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGNlbGxJbmZvIG9mICdyb3dCdXR0b25zVGVtcGxhdGUnXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJvd0J1dHRvbnNUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBjZWxsSW5mbywgY2VsbFRlbXBsYXRlTG9hZGVkJDogc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgY2VsbEluZm8gb2YgJ2N1c3RvbVRlbXBsYXRlJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21UZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBjZWxsSW5mbywgY2VsbFRlbXBsYXRlTG9hZGVkJDogc2VydmljZS5jZWxsVGVtcGxhdGVMb2FkZWQkfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2R4LWRhdGEtZ3JpZD5cclxuIl19
@@ -2818,6 +2818,14 @@ class DataGridComponent {
2818
2818
  });
2819
2819
  }
2820
2820
  this.columns = columns;
2821
+ if (this.onlyFrontEnd && this.filter) {
2822
+ if (Array.isArray(this.filter)) {
2823
+ this.dxDataGrid.instance.filter(this.filter);
2824
+ }
2825
+ else {
2826
+ this.dxDataGrid.instance.filter(JSON.parse(this.filter));
2827
+ }
2828
+ }
2821
2829
  });
2822
2830
  if (this.onlyFrontEnd) {
2823
2831
  if (this.dataSource && !Array.isArray(this.dataSource)) {
@@ -2850,21 +2858,12 @@ class DataGridComponent {
2850
2858
  }
2851
2859
  this.onEditorPreparing.emit($event);
2852
2860
  }
2853
- filterValue() {
2854
- if (Array.isArray(this.filter)) {
2855
- return this.filter;
2856
- }
2857
- if (this.filter) {
2858
- return JSON.parse(this.filter);
2859
- }
2860
- return null;
2861
- }
2862
2861
  }
2863
2862
  DataGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataGridComponent, deps: [{ token: DataGridFactory }, { token: DataGridService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
2864
- DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", customColumnFn: "customColumnFn", keyExpr: "keyExpr", dataGridName: "dataGridName", height: "height", onlyFrontEnd: "onlyFrontEnd", disablePage: "disablePage", dataSource: "dataSource", selectionMode: "selectionMode", selectedRowKeys: "selectedRowKeys", showRowNum: "showRowNum", instanceLinkType: "instanceLinkType", drawerInstanceLinkViewContainerRef: "drawerInstanceLinkViewContainerRef", drawerInstanceLinkSize: "drawerInstanceLinkSize", drawerInstanceLinkFormTemplate: "drawerInstanceLinkFormTemplate" }, outputs: { selectedRowKeysChange: "selectedRowKeysChange", onCellPrepared: "onCellPrepared", onContentReady: "onContentReady", onEditorPreparing: "onEditorPreparing", onRowClick: "onRowClick", onRowDblClick: "onRowDblClick", onSelectionChanged: "onSelectionChanged" }, providers: [DataGridService], queries: [{ propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: CustomTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [filterValue]=\"onlyFrontEnd ? filterValue() : null\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i6.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i6.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i6.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i6.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i6.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i6.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: ["tenant", "className", "oid", "instanceLinkType", "drawerViewContainerRef", "drawerSize", "drawerFormTemplate"] }, { kind: "component", type: CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: ["cellInfo"] }] });
2863
+ DataGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataGridComponent, selector: "rs-data-grid", inputs: { tenant: "tenant", className: "className", view: "view", filter: "filter", customColumnFn: "customColumnFn", keyExpr: "keyExpr", dataGridName: "dataGridName", height: "height", onlyFrontEnd: "onlyFrontEnd", disablePage: "disablePage", dataSource: "dataSource", selectionMode: "selectionMode", selectedRowKeys: "selectedRowKeys", showRowNum: "showRowNum", instanceLinkType: "instanceLinkType", drawerInstanceLinkViewContainerRef: "drawerInstanceLinkViewContainerRef", drawerInstanceLinkSize: "drawerInstanceLinkSize", drawerInstanceLinkFormTemplate: "drawerInstanceLinkFormTemplate" }, outputs: { selectedRowKeysChange: "selectedRowKeysChange", onCellPrepared: "onCellPrepared", onContentReady: "onContentReady", onEditorPreparing: "onEditorPreparing", onRowClick: "onRowClick", onRowDblClick: "onRowDblClick", onSelectionChanged: "onSelectionChanged" }, providers: [DataGridService], queries: [{ propertyName: "rowButtonsTemplate", first: true, predicate: RowButtonsTemplateDirective, descendants: true }, { propertyName: "customTemplate", first: true, predicate: CustomTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "dxDataGrid", first: true, predicate: DxDataGridComponent, descendants: true, static: true }], ngImport: i0, template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i6.DxoSearchComponent, selector: "dxo-search", inputs: ["editorOptions", "enabled", "timeout", "mode", "searchExpr"] }, { kind: "component", type: i6.DxoSelectionComponent, selector: "dxo-selection", inputs: ["allowSelectAll", "recursive", "selectByClick", "deferred", "mode", "selectAllMode", "showCheckBoxesMode"] }, { kind: "component", type: i6.DxoTextsComponent, selector: "dxo-texts", inputs: ["fix", "leftPosition", "rightPosition", "unfix", "addRow", "cancelAllChanges", "cancelRowChanges", "confirmDeleteMessage", "confirmDeleteTitle", "deleteRow", "editRow", "saveAllChanges", "saveRowChanges", "undeleteRow", "validationCancelChanges", "exportAll", "exportSelectedRows", "exportTo", "clearFilter", "createFilter", "filterEnabledHint", "groupByThisColumn", "groupContinuedMessage", "groupContinuesMessage", "ungroup", "ungroupAll", "cancel", "emptyValue", "ok", "avg", "avgOtherColumn", "count", "max", "maxOtherColumn", "min", "minOtherColumn", "sum", "sumOtherColumn", "allFields", "columnFields", "dataFields", "filterFields", "rowFields", "columnFieldArea", "dataFieldArea", "filterFieldArea", "rowFieldArea", "collapseAll", "dataNotAvailable", "expandAll", "exportToExcel", "grandTotal", "noData", "removeAllSorting", "showFieldChooser", "sortColumnBySummary", "sortRowBySummary", "total", "addRowToNode"] }, { kind: "component", type: i6.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "allowSelectAll", "dataSource", "groupInterval", "height", "search", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i6.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i6.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i6.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i6.DxoRemoteOperationsComponent, selector: "dxo-remote-operations", inputs: ["filtering", "grouping", "groupPaging", "paging", "sorting", "summary"] }, { kind: "component", type: i6.DxoScrollingComponent, selector: "dxo-scrolling", inputs: ["columnRenderingMode", "mode", "preloadEnabled", "renderAsync", "rowRenderingMode", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative"] }, { kind: "component", type: i6.DxoSortingComponent, selector: "dxo-sorting", inputs: ["ascendingText", "clearText", "descendingText", "mode", "showSortIndexes"] }, { kind: "component", type: InstanceLinkTemplateComponent, selector: "rs-instance-link-template", inputs: ["tenant", "className", "oid", "instanceLinkType", "drawerViewContainerRef", "drawerSize", "drawerFormTemplate"] }, { kind: "component", type: CellComponentTemplateComponent, selector: "rs-cell-component-template", inputs: ["cellInfo"] }] });
2865
2864
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataGridComponent, decorators: [{
2866
2865
  type: Component,
2867
- args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [filterValue]=\"onlyFrontEnd ? filterValue() : null\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
2866
+ args: [{ selector: 'rs-data-grid', providers: [DataGridService], template: "<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'\u786E\u5B9A'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"\u7B2C{0}\u9875\uFF0C\u5171{1}\u9875\uFF08\u5171{2}\u4E2A\u9879\u76EE\uFF09\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n", styles: [":host{display:flex;flex-flow:column nowrap}:host dx-data-grid{flex:auto;height:0}\n"] }]
2868
2867
  }], ctorParameters: function () { return [{ type: DataGridFactory }, { type: DataGridService }, { type: i0.ViewContainerRef }]; }, propDecorators: { tenant: [{
2869
2868
  type: Input
2870
2869
  }], className: [{