@acorex/data-grid 16.18.3 → 16.18.4
Sign up to get free protection for your applications and to get access to all the features.
@@ -21,10 +21,10 @@ export class AXDataLovPopupComponent extends AXBasePopupPageComponent {
|
|
21
21
|
selectedRows = [];
|
22
22
|
pagination = true;
|
23
23
|
paginationAutoPageSize;
|
24
|
-
paginationPageSize;
|
24
|
+
paginationPageSize = 20;
|
25
25
|
maxConcurrentDatasourceRequests;
|
26
26
|
blockLoadDebounceMillis;
|
27
|
-
paginationPageSizeSelector;
|
27
|
+
paginationPageSizeSelector = [10, 20];
|
28
28
|
constructor(cdr, ref) {
|
29
29
|
super();
|
30
30
|
this.cdr = cdr;
|
@@ -115,11 +115,11 @@ export class AXDataLovPopupComponent extends AXBasePopupPageComponent {
|
|
115
115
|
}
|
116
116
|
}
|
117
117
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXDataLovPopupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
118
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXDataLovPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n
|
118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXDataLovPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n >\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column\n *ngIf=\"selectionMode == 'single' ? false : true\"\n ></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXDataGridComponent, selector: "ax-data-grid", inputs: ["paginationPageSizeSelector", "paginationAutoPageSize", "paginationPageSize", "remoteOperation", "rowMultiSelectWithClick", "suppressRowClickSelection", "suppressCellSelection", "sizeColumnsToFit", "showCheckBox", "floatingFilter", "autoExpand", "rowSelectableConditionField", "selectionMode", "pagination", "selectRow", "rowGroupPanelShow", "loadOnInit", "enableRangeSelection", "keyField", "hasChildField", "rowHeight", "groupHideOpenParents", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "showRefreshButton", "autoNavigatePage", "rowClass", "rtl", "searchText", "filter", "columns", "dataSource"], outputs: ["columnsChange", "cellClick", "cellDbClick", "cellFocuse", "rowClick", "rowDbClick", "selectionChanged", "rowSelectionChange", "onRowSelectionChanged"] }, { kind: "component", type: i3.AXGridSelectionColumn, selector: "ax-selection-column", inputs: ["condition", "pinned", "width"] }, { kind: "component", type: i4.AXToolbarComponent, selector: "ax-toolbar" }, { kind: "component", type: i4.AXToolbarSearchComponent, selector: "ax-toolbar-search", inputs: ["text"], outputs: ["onValueChanged"] }] });
|
119
119
|
}
|
120
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXDataLovPopupComponent, decorators: [{
|
121
121
|
type: Component,
|
122
|
-
args: [{ template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n
|
122
|
+
args: [{ template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n >\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column\n *ngIf=\"selectionMode == 'single' ? false : true\"\n ></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>\n" }]
|
123
123
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { grid: [{
|
124
124
|
type: ViewChild,
|
125
125
|
args: ['grid', { static: true }]
|
@@ -127,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
|
|
127
127
|
type: ViewChild,
|
128
128
|
args: ['searchBox']
|
129
129
|
}] } });
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi1wb3B1cC9kYXRhLWxvdi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFnQixRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUt6RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsd0JBQXdCO0lBOEIvQztJQUFnQztJQTVCcEQsSUFBSSxDQUFzQjtJQUcxQixTQUFTLENBQTJCO0lBRXBDLE9BQU8sR0FBdUIsRUFBRSxDQUFDO0lBRWpDLGFBQWEsR0FBVSxFQUFFLENBQUM7SUFFMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixTQUFTLEdBQVksSUFBSSxDQUFDO0lBRTFCLGFBQWEsQ0FBUztJQUN0QixHQUFHLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUxQyxZQUFZLEdBQVUsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFFM0Isc0JBQXNCLENBQVU7SUFFaEMsa0JBQWtCLENBQVM7SUFFM0IsK0JBQStCLENBQVM7SUFFeEMs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QUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQzt1R0F4SVUsdUJBQXVCOzJGQUF2Qix1QkFBdUIsZ1JDbkJwQyx5eUNBa0NBOzsyRkRmYSx1QkFBdUI7a0JBSG5DLFNBQVM7OytHQUtSLElBQUk7c0JBREgsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUluQyxTQUFTO3NCQURSLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQmFzZVBvcHVwUGFnZUNvbXBvbmVudCxcbiAgQVhEYXRhU291cmNlQ29tcG9uZW50LFxuICBBWE1lbnVJdGVtQ2xpY2tFdmVudCxcbiAgQVhUb29sYmFyU2VhcmNoQ29tcG9uZW50LFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhCdXR0b25JdGVtLCBBWENvbmZpZywgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEdyaWREYXRhQ29sdW1uIH0gZnJvbSAnLi4vLi4vZGF0YS1ncmlkL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWERhdGFHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGF0YS1ncmlkL2RhdGFncmlkLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBWERhdGFMb3ZQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBvcHVwUGFnZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2dyaWQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBncmlkOiBBWERhdGFHcmlkQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEJveCcpXG4gIHNlYXJjaEJveDogQVhUb29sYmFyU2VhcmNoQ29tcG9uZW50O1xuXG4gIGNvbHVtbnM6IEFYR3JpZERhdGFDb2x1bW5bXSA9IFtdO1xuXG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG5cbiAga2V5RmllbGQ6IHN0cmluZyA9ICcnO1xuICBhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGhhc0NoaWxkRmllbGQ6IHN0cmluZztcbiAgcnRsOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdsYXlvdXQucnRsJyk7XG5cbiAgc2VsZWN0ZWRSb3dzOiBhbnlbXSA9IFtdO1xuICBwYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcblxuICBwYWdpbmF0aW9uQXV0b1BhZ2VTaXplOiBib29sZWFuO1xuXG4gIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIG1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHM6IG51bWJlcjtcblxuICBibG9ja0xvYWREZWJvdW5jZU1pbGxpczogbnVtYmVyO1xuXG4gIHBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yOiBudW1iZXJbXSB8IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBkYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XG5cbiAgc2VsZWN0aW9uTW9kZTogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9XG4gICAgICAgIHdpbmRvd1xuICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpXG4gICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gIH1cblxuICBvbkRvbmVDbGljaygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEl0ZW1zKSB7XG4gICAgICB0aGlzLmNsb3NlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICByb3dEb3VibGVDbGlja2VkKGUpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlID09ICdzaW5nbGUnKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKFxuICAgICAgKGMpID0+IGNbdGhpcy5rZXlGaWVsZF0gIT0gZS5kYXRhLmRhdGFbdGhpcy5rZXlGaWVsZF1cbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGUuZGF0YS5kYXRhKTtcblxuICAgIHRoaXMub25Eb25lQ2xpY2soKTtcbiAgfVxuXG4gIG9uQ2FuY2VsQ2xpY2soKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcm93U2VsZWN0aW9uQ2hhbmdlKGUpIHtcbiAgICBpZiAoZS5kYXRhLm5vZGUuc2VsZWN0ZWQgPT0gdHJ1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihcbiAgICAgICAgKGMpID0+IGNbdGhpcy5rZXlGaWVsZF0gIT0gZS5kYXRhLm5vZGUuZGF0YVt0aGlzLmtleUZpZWxkXVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGUuZGF0YS5ub2RlLmRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuYWxsb3dOdWxsID09IHRydWUgfHxcbiAgICAgICAgKHRoaXMuYWxsb3dOdWxsID09IGZhbHNlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoXG4gICAgICAgICAgKGMpID0+IGNbdGhpcy5rZXlGaWVsZF0gIT0gZS5kYXRhLm5vZGUuZGF0YVt0aGlzLmtleUZpZWxkXVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoZWxlKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5wdXNoKGVsZSk7XG4gICAgfSk7XG4gICAgdGhpcy5zZWFyY2hCb3guZm9jdXMoKTtcbiAgICBpZiAodGhpcy5kYXRhU291cmNlLm9uRGF0YVJlY2VpdmVkKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2Uub25EYXRhUmVjZWl2ZWQuc3Vic2NyaWJlKChhcmcpID0+IHtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIG9uVmFsdWVTZWFyY2hDaGFuZ2VkKGUpIHtcblxuICAvLyAgICAgY29uc3QgcGFyYW1zOiBBWERhdGFTb3VyY2VSZWFkUGFyYW1zID0ge31cbiAgLy8gICAgIHBhcmFtcy5zZWFyY2hUZXh0ID0gZS52YWx1ZTtcbiAgLy8gICAgIC8vIHBhcmFtcy50YWtlID0gMTAwO1xuICAvLyAgICAgLy8gcGFyYW1zLnNraXAgPSAwXG4gIC8vICAgICB0aGlzLmRhdGFTb3VyY2UuZmV0Y2gocGFyYW1zKTtcbiAgLy8gfVxuXG4gIGdldEZvb3RlckJ1dHRvbnMoKTogQVhCdXR0b25JdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jb25maXJtJyksXG4gICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgc3R5bGU6ICdheCBwcmltYXJ5JyxcbiAgICAgICAgaWNvbjogJ2ZhciBmYS1jaGVjay1jaXJjbGUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNhbmNlbCcpLFxuICAgICAgICBuYW1lOiAnY2FuY2VsJyxcbiAgICAgICAgc3R5bGU6ICdheCBsaWdodCcsXG4gICAgICAgIGljb246ICdmYXIgZmEtdGltZXMnLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgb25Gb290ZXJCdXR0b25DbGljayhlOiBBWE1lbnVJdGVtQ2xpY2tFdmVudCkge1xuICAgIGlmIChlLm5hbWUgPT09ICdjb25maXJtJykge1xuICAgICAgdGhpcy5vbkRvbmVDbGljaygpO1xuICAgIH1cbiAgICBpZiAoZS5uYW1lID09PSAnY2FuY2VsJykge1xuICAgICAgdGhpcy5vbkNhbmNlbENsaWNrKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IHN0eWxlPVwiaGVpZ2h0OiA3MHZoOyBwYWRkaW5nOiAwLjVlbVwiPlxuICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiBjYWxjKDk4JSlcIj5cbiAgICA8YXgtZGF0YS1ncmlkXG4gICAgICBbc2hvd1JlZnJlc2hCdXR0b25dPVwiZmFsc2VcIlxuICAgICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgICBbcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZV09XCJwYWdpbmF0aW9uQXV0b1BhZ2VTaXplXCJcbiAgICAgIFtwYWdpbmF0aW9uUGFnZVNpemVdPVwicGFnaW5hdGlvblBhZ2VTaXplXCJcbiAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgIFttYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzXT1cIm1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHNcIlxuICAgICAgW2Jsb2NrTG9hZERlYm91bmNlTWlsbGlzXT1cImJsb2NrTG9hZERlYm91bmNlTWlsbGlzXCJcbiAgICAgIFtzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uXT1cImZhbHNlXCJcbiAgICAgIFtrZXlGaWVsZF09XCJrZXlGaWVsZFwiXG4gICAgICBbaGFzQ2hpbGRGaWVsZF09XCJoYXNDaGlsZEZpZWxkXCJcbiAgICAgIFtzZWxlY3RSb3ddPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAjZ3JpZFxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICBbcmVtb3RlT3BlcmF0aW9uXT1cInRydWVcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAocm93RGJDbGljayk9XCJyb3dEb3VibGVDbGlja2VkKCRldmVudClcIlxuICAgICAgKHJvd1NlbGVjdGlvbkNoYW5nZSk9XCJyb3dTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICAgIFtwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3Rvcl09XCJwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvclwiXG4gICAgPlxuICAgICAgPGF4LXRvb2xiYXI+XG4gICAgICAgIDxheC10b29sYmFyLXNlYXJjaCAjc2VhcmNoQm94IHN0eWxlPVwid2lkdGg6IDEwMCVcIj48L2F4LXRvb2xiYXItc2VhcmNoPlxuICAgICAgPC9heC10b29sYmFyPlxuICAgICAgPGF4LXNlbGVjdGlvbi1jb2x1bW5cbiAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09ICdzaW5nbGUnID8gZmFsc2UgOiB0cnVlXCJcbiAgICAgID48L2F4LXNlbGVjdGlvbi1jb2x1bW4+XG4gICAgICA8IS0tIDxheC1kYXRhLXNvdXJjZSBbcHJvdmlkZURhdGFdPVwiZGF0YVNvdXJjZS5wcm92aWRlRGF0YVwiPlxuICAgICAgICAgICAgICA8L2F4LWRhdGEtc291cmNlPiAtLT5cbiAgICA8L2F4LWRhdGEtZ3JpZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi1wb3B1cC9kYXRhLWxvdi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFnQixRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUt6RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsd0JBQXdCO0lBOEIvQztJQUFnQztJQTVCcEQsSUFBSSxDQUFzQjtJQUcxQixTQUFTLENBQTJCO0lBRXBDLE9BQU8sR0FBdUIsRUFBRSxDQUFDO0lBRWpDLGFBQWEsR0FBVSxFQUFFLENBQUM7SUFFMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixTQUFTLEdBQVksSUFBSSxDQUFDO0lBRTFCLGFBQWEsQ0FBUztJQUN0QixHQUFHLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUxQyxZQUFZLEdBQVUsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFFM0Isc0JBQXNCLENBQVU7SUFFaEMsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBRWhDLCtCQUErQixD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SyxRQUFRLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7dUdBeElVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGdSQ25CcEMseXlDQWtDQTs7MkZEZmEsdUJBQXVCO2tCQUhuQyxTQUFTOzsrR0FLUixJQUFJO3NCQURILFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkMsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQsXG4gIEFYRGF0YVNvdXJjZUNvbXBvbmVudCxcbiAgQVhNZW51SXRlbUNsaWNrRXZlbnQsXG4gIEFYVG9vbGJhclNlYXJjaENvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSwgQVhDb25maWcsIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhR3JpZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC9kYXRhZ3JpZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdncmlkJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgZ3JpZDogQVhEYXRhR3JpZENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnKVxuICBzZWFyY2hCb3g6IEFYVG9vbGJhclNlYXJjaENvbXBvbmVudDtcblxuICBjb2x1bW5zOiBBWEdyaWREYXRhQ29sdW1uW10gPSBbXTtcblxuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGtleUZpZWxkOiBzdHJpbmcgPSAnJztcbiAgYWxsb3dOdWxsOiBib29sZWFuID0gdHJ1ZTtcblxuICBoYXNDaGlsZEZpZWxkOiBzdHJpbmc7XG4gIHJ0bDogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpO1xuXG4gIHNlbGVjdGVkUm93czogYW55W10gPSBbXTtcbiAgcGFnaW5hdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZTogYm9vbGVhbjtcblxuICBwYWdpbmF0aW9uUGFnZVNpemU6IG51bWJlciA9IDIwO1xuXG4gIG1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHM6IG51bWJlcjtcblxuICBibG9ja0xvYWREZWJvdW5jZU1pbGxpczogbnVtYmVyO1xuXG4gIHBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yOiBudW1iZXJbXSB8IGJvb2xlYW4gPSBbMTAsIDIwXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGRhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZUNvbXBvbmVudDtcblxuICBzZWxlY3Rpb25Nb2RlOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucnRsID09IG51bGwpIHtcbiAgICAgIHRoaXMucnRsID1cbiAgICAgICAgd2luZG93XG4gICAgICAgICAgLmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbClcbiAgICAgICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT09ICdydGwnO1xuICAgIH1cbiAgfVxuXG4gIG9uRG9uZUNsaWNrKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIHRoaXMuY2xvc2UodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJvd0RvdWJsZUNsaWNrZWQoZSkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoXG4gICAgICAoYykgPT4gY1t0aGlzLmtleUZpZWxkXSAhPSBlLmRhdGEuZGF0YVt0aGlzLmtleUZpZWxkXVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goZS5kYXRhLmRhdGEpO1xuXG4gICAgdGhpcy5vbkRvbmVDbGljaygpO1xuICB9XG5cbiAgb25DYW5jZWxDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICByb3dTZWxlY3Rpb25DaGFuZ2UoZSkge1xuICAgIGlmIChlLmRhdGEubm9kZS5zZWxlY3RlZCA9PSB0cnVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKFxuICAgICAgICAoYykgPT4gY1t0aGlzLmtleUZpZWxkXSAhPSBlLmRhdGEubm9kZS5kYXRhW3RoaXMua2V5RmllbGRdXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goZS5kYXRhLm5vZGUuZGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hbGxvd051bGwgPT0gdHJ1ZSB8fFxuICAgICAgICAodGhpcy5hbGxvd051bGwgPT0gZmFsc2UgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAoYykgPT4gY1t0aGlzLmtleUZpZWxkXSAhPSBlLmRhdGEubm9kZS5kYXRhW3RoaXMua2V5RmllbGRdXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChlbGUpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLnB1c2goZWxlKTtcbiAgICB9KTtcbiAgICB0aGlzLnNlYXJjaEJveC5mb2N1cygpO1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2Uub25EYXRhUmVjZWl2ZWQpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZC5zdWJzY3JpYmUoKGFyZykgPT4ge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gb25WYWx1ZVNlYXJjaENoYW5nZWQoZSkge1xuXG4gIC8vICAgICBjb25zdCBwYXJhbXM6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgPSB7fVxuICAvLyAgICAgcGFyYW1zLnNlYXJjaFRleHQgPSBlLnZhbHVlO1xuICAvLyAgICAgLy8gcGFyYW1zLnRha2UgPSAxMDA7XG4gIC8vICAgICAvLyBwYXJhbXMuc2tpcCA9IDBcbiAgLy8gICAgIHRoaXMuZGF0YVNvdXJjZS5mZXRjaChwYXJhbXMpO1xuICAvLyB9XG5cbiAgZ2V0Rm9vdGVyQnV0dG9ucygpOiBBWEJ1dHRvbkl0ZW1bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcbiAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgICBzdHlsZTogJ2F4IHByaW1hcnknLFxuICAgICAgICBpY29uOiAnZmFyIGZhLWNoZWNrLWNpcmNsZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY2FuY2VsJyksXG4gICAgICAgIG5hbWU6ICdjYW5jZWwnLFxuICAgICAgICBzdHlsZTogJ2F4IGxpZ2h0JyxcbiAgICAgICAgaWNvbjogJ2ZhciBmYS10aW1lcycsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvbkZvb3RlckJ1dHRvbkNsaWNrKGU6IEFYTWVudUl0ZW1DbGlja0V2ZW50KSB7XG4gICAgaWYgKGUubmFtZSA9PT0gJ2NvbmZpcm0nKSB7XG4gICAgICB0aGlzLm9uRG9uZUNsaWNrKCk7XG4gICAgfVxuICAgIGlmIChlLm5hbWUgPT09ICdjYW5jZWwnKSB7XG4gICAgICB0aGlzLm9uQ2FuY2VsQ2xpY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgc3R5bGU9XCJoZWlnaHQ6IDcwdmg7IHBhZGRpbmc6IDAuNWVtXCI+XG4gIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoOTglKVwiPlxuICAgIDxheC1kYXRhLWdyaWRcbiAgICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICBbcGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JdPVwicGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JcIlxuICAgICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgICBbcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZV09XCJwYWdpbmF0aW9uQXV0b1BhZ2VTaXplXCJcbiAgICAgIFtwYWdpbmF0aW9uUGFnZVNpemVdPVwicGFnaW5hdGlvblBhZ2VTaXplXCJcbiAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgIFttYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzXT1cIm1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHNcIlxuICAgICAgW2Jsb2NrTG9hZERlYm91bmNlTWlsbGlzXT1cImJsb2NrTG9hZERlYm91bmNlTWlsbGlzXCJcbiAgICAgIFtzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uXT1cImZhbHNlXCJcbiAgICAgIFtrZXlGaWVsZF09XCJrZXlGaWVsZFwiXG4gICAgICBbaGFzQ2hpbGRGaWVsZF09XCJoYXNDaGlsZEZpZWxkXCJcbiAgICAgIFtzZWxlY3RSb3ddPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAjZ3JpZFxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICBbcmVtb3RlT3BlcmF0aW9uXT1cInRydWVcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAocm93RGJDbGljayk9XCJyb3dEb3VibGVDbGlja2VkKCRldmVudClcIlxuICAgICAgKHJvd1NlbGVjdGlvbkNoYW5nZSk9XCJyb3dTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICA+XG4gICAgICA8YXgtdG9vbGJhcj5cbiAgICAgICAgPGF4LXRvb2xiYXItc2VhcmNoICNzZWFyY2hCb3ggc3R5bGU9XCJ3aWR0aDogMTAwJVwiPjwvYXgtdG9vbGJhci1zZWFyY2g+XG4gICAgICA8L2F4LXRvb2xiYXI+XG4gICAgICA8YXgtc2VsZWN0aW9uLWNvbHVtblxuICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgPjwvYXgtc2VsZWN0aW9uLWNvbHVtbj5cbiAgICAgIDwhLS0gPGF4LWRhdGEtc291cmNlIFtwcm92aWRlRGF0YV09XCJkYXRhU291cmNlLnByb3ZpZGVEYXRhXCI+XG4gICAgICAgICAgICAgIDwvYXgtZGF0YS1zb3VyY2U+IC0tPlxuICAgIDwvYXgtZGF0YS1ncmlkPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
@@ -34,7 +34,7 @@ export class AXLOVComponent extends AXValidatableComponent {
|
|
34
34
|
pagination = true;
|
35
35
|
selectedItems = [];
|
36
36
|
paginationAutoPageSize = false;
|
37
|
-
paginationPageSize;
|
37
|
+
paginationPageSize = 20;
|
38
38
|
// @Input()
|
39
39
|
// selectedValues: any[] = [];
|
40
40
|
maxConcurrentDatasourceRequests;
|
@@ -205,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
|
|
205
205
|
}], paginationPageSizeSelector: [{
|
206
206
|
type: Input
|
207
207
|
}] } });
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsWUFBWSxHQUNiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBU3BGLE1BQU0sT0FBTyxjQUNYLFNBQVEsc0JBQXNCO0lBZVY7SUFBK0I7SUFYM0Msa0JBQWtCLENBQWU7SUFDakMsV0FBVyxDQUFlO0lBRWxDLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsSUFBVyxVQUFVLENBQUMsQ0FBZTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBb0IsS0FBcUIs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QUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk3QyxPQUFPO3NCQURkLGVBQWU7dUJBQUMsZ0JBQWdCO2dCQUlqQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUMsU0FBUztzQkFEUixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFJTixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQU9OLCtCQUErQjtzQkFEOUIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFNUCxHQUFHO3NCQURGLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHTiwwQkFBMEI7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWEJhc2VJbnB1dENvbXBvbmVudCxcbiAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcbiAgQVhEYXRhRXZlbnQsXG4gIEFYRGF0YVNvdXJjZUNvbXBvbmVudCxcbiAgQVhFbGVtZW50U2l6ZSxcbiAgQVhQb3B1cFNlcnZpY2UsXG4gIEFYU2VsZWN0Qm94Q29tcG9uZW50LFxuICBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LFxuICBBWFZhbGlkYXRpb24sXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4uL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWxvdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxvdi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgc3R5bGU6ICd3aWR0aDogMTAwJScgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhMT1ZDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTE9WQ29tcG9uZW50XG4gIGV4dGVuZHMgQVhWYWxpZGF0YWJsZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZUlucHV0Q29tcG9uZW50XG57XG4gIEBDb250ZW50Q2hpbGQoQVhWYWxpZGF0aW9uLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jb250ZW50VmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xuICBwcml2YXRlIF92YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24gPyB0aGlzLl92YWxpZGF0aW9uIDogdGhpcy5fY29udGVudFZhbGlkYXRpb247XG4gIH1cbiAgcHVibGljIHNldCB2YWxpZGF0aW9uKHY6IEFYVmFsaWRhdGlvbikge1xuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlbGVjdEJveDogQVhTZWxlY3RCb3hDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGRhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZUNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkcmVuKEFYR3JpZERhdGFDb2x1bW4pXG4gIHByaXZhdGUgY29sdW1uczogUXVlcnlMaXN0PEFYR3JpZERhdGFDb2x1bW4+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJvd1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHRleHRGaWVsZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgYWxsb3dTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlRmllbGQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGhhc0NoaWxkRmllbGQ6IHN0cmluZyA9ICdudWxsJztcblxuICBASW5wdXQoKVxuICBhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHBvcHVwU2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ2Z1bGwnID0gJ21kJztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRJdGVtczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uQXV0b1BhZ2VTaXplID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGFnaW5hdGlvblBhZ2VTaXplOiBudW1iZXI7XG5cbiAgLy8gQElucHV0KClcbiAgLy8gc2VsZWN0ZWRWYWx1ZXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KClcbiAgbWF4Q29uY3VycmVudERhdGFzb3VyY2VSZXF1ZXN0czogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGJsb2NrTG9hZERlYm91bmNlTWlsbGlzOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNoaXBzV2lkdGg6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuXG4gIEBJbnB1dCgpXG4gIGNhcHRpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgPSAnc2luZ2xlJztcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEFYRGF0YUV2ZW50PGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBBWERhdGFFdmVudDxhbnk+XG4gID4oKTtcblxuICBASW5wdXQoKVxuICBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcblxuICBASW5wdXQoKSBtdWx0aUxpbmUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcjogbnVtYmVyW10gfCBib29sZWFuID0gWzEwLCAyMF07XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RCb3guZm9jdXMoKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQ2xpY2soKSB7XG4gICAgdGhpcy5vcGVuKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ydGwgPT0gbnVsbCkge1xuICAgICAgdGhpcy5ydGwgPVxuICAgICAgICB3aW5kb3dcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCBudWxsKVxuICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCc7XG4gICAgfVxuICAgIC8vICB0aGlzLnNlbGVjdFZhbCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXM7XG4gICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIHRoaXMuY2xlYXJWYWxpZGF0aW9uU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3NlbGVjdGVkSXRlbXMnLCB0aGlzLnZhbGlkYXRpb24pO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0Q2hhbmdlKGUpIHtcbiAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xuICAgICAgZGF0YTogdGhpcy5zZWxlY3RlZEl0ZW1zLFxuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RCb3guZHJvcGRvd24uY2xvc2UoKTtcbiAgICAgIHRoaXMucG9wdXBcbiAgICAgICAgLm9wZW4oQVhEYXRhTG92UG9wdXBDb21wb25lbnQsIHtcbiAgICAgICAgICBzaXplOiB0aGlzLnBvcHVwU2l6ZSxcbiAgICAgICAgICAvLyAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgICAgICAgICBzZWxlY3Rpb25Nb2RlOiB0aGlzLm1vZGUsXG4gICAgICAgICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMudG9BcnJheSgpLFxuICAgICAgICAgICAgLy8gIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRWYWx1ZXMsXG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMsXG4gICAgICAgICAgICBrZXlGaWVsZDogdGhpcy52YWx1ZUZpZWxkLFxuICAgICAgICAgICAgYWxsb3dOdWxsOiB0aGlzLmFsbG93TnVsbCxcbiAgICAgICAgICAgIGhhc0NoaWxkRmllbGQ6IHRoaXMuaGFzQ2hpbGRGaWVsZCxcbiAgICAgICAgICAgIHJ0bDogdGhpcy5ydGwsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiB0aGlzLnBhZ2luYXRpb24sXG4gICAgICAgICAgICBwYWdpbmF0aW9uQXV0b1BhZ2VTaXplOiB0aGlzLnBhZ2luYXRpb25BdXRvUGFnZVNpemUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uUGFnZVNpemU6IHRoaXMucGFnaW5hdGlvblBhZ2VTaXplLFxuICAgICAgICAgICAgbWF4Q29uY3VycmVudERhdGFzb3VyY2VSZXF1ZXN0czpcbiAgICAgICAgICAgICAgdGhpcy5tYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzLFxuICAgICAgICAgICAgYmxvY2tMb2FkRGVib3VuY2VNaWxsaXM6IHRoaXMuYmxvY2tMb2FkRGVib3VuY2VNaWxsaXMsXG4gICAgICAgICAgICBwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcjogdGhpcy5wYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcixcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiB0aGlzLmNhcHRpb24sXG4gICAgICAgICAgLy8gc2l6ZTogdGhpcy5zaXplLFxuICAgICAgICB9KVxuICAgICAgICAudGhlbigoYykgPT4ge1xuICAgICAgICAgIGlmIChjLmRhdGEpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgICAgICAgICAgYy5kYXRhLmZvckVhY2goKGVsbSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChlbG0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gYy5kYXRhO1xuICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgIGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtcyxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHJlc29sdmUpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShjLmRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGF4LXNlbGVjdC1ib3hcbiAgW3Jvd0lucHV0VGVtcGxhdGVdPVwicm93VGVtcGxhdGVcIlxuICBbbXVsdGlMaW5lXT1cIm11bHRpTGluZVwiXG4gIFtydGxdPVwicnRsXCJcbiAgW2FsbG93U2VhcmNoXT1cImFsbG93U2VhcmNoXCJcbiAgI3NlbGVjdEJveFxuICBbc2hvd0Ryb3BEb3duQnV0dG9uXT1cImZhbHNlXCJcbiAgW2FsbG93TnVsbF09XCJhbGxvd051bGxcIlxuICBbcmVtb3RlT3BlcmF0aW9uXT1cInRydWVcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbc2l6ZV09XCJzaXplXCJcbiAgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIlxuICBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW21vZGVdPVwibW9kZVwiXG4gIFsoc2VsZWN0ZWRJdGVtcyldPVwic2VsZWN0ZWRJdGVtc1wiXG4gIChzZWxlY3Rpb25DaGFuZ2VkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQpXCJcbiAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4+XG4gIDxuZy1jb250YWluZXIgc3RhcnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPiA8L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIGVuZD5cbiAgICA8YXgtYnV0dG9uXG4gICAgICBpY29uPVwiZmFyIGZhLWJhcnMgaWNvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgdHlwZT1cImxpZ2h0IGJsYW5rXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCJcbiAgICAgIGVuZFxuICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICA+XG4gICAgPC9heC1idXR0b24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj4gPC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYXgtc2VsZWN0LWJveD5cblxuPCEtLSA8YXgtc2VsZWN0LWJveDIgW3J0bF09XCJydGxcIiBbYWxsb3dTZWFyY2hdPVwiYWxsb3dTZWFyY2hcIiAjc2VsZWN0Qm94IFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIiBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NpemVdPVwic2l6ZVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGlvbk1vZGVdPVwibW9kZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVTZWxlY3RDaGFuZ2UoJGV2ZW50KVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgIFsodmFsdWUpXT1cInNlbGVjdGVkSXRlbXNcIiBzZWxlY3Rpb25EYXRhTW9kZT1cIml0ZW1cIj5cbiAgICA8bmctY29udGFpbmVyIHN0YXJ0PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIGVuZD5cbiAgICAgICAgPGF4LWJ1dHRvbiBpY29uPVwiZmFyIGZhLWJhcnMgaWNvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIHR5cGU9XCJwcmltYXJ5IGJsYW5rXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIiBlbmRcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9heC1zZWxlY3QtYm94Mj4gLS0+XG5cbjwhLS0gPGRpdiBjbGFzcz1cImF4LWxvdi1ib3hcIiBbc3R5bGUuZGlzcGxheV09XCJtb2RlPT0naGlkZGVuJyA/ICdub25lJzondW5zZXQnXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZpZWxkLXNldFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0LXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7ICduby1sYWJlbCc6ICFsYWJlbCB9XCI+XG4gICAgICAgICAgICA8ZmllbGRzZXQgW25nQ2xhc3NdPVwieyAnaW5wdXQtZm9jdXNlZCc6IGlzRm9jdXNlZCwgJ2lucHV0LWVycm9yJzogZXJyb3JUZXh0IH1cIj5cbiAgICAgICAgICAgICAgICA8bGVnZW5kICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAoa2V5dXApPVwiaGFuZGxlS2V5RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1ckV2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiaGFuZGxlRm9jdXNFdmVudCgkZXZlbnQpXCIgY2xhc3M9XCJheC10ZXh0LWJveFwiIGRpc2FibGVkIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0ZXh0ICYmIGFsbG93Q2xlYXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgKGNsaWNrKT1cImNsZWFyVGV4dCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiIGJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi10ZXh0XCIgKm5nSWY9XCJlcnJvclRleHRcIj5cbiAgICAgICAge3sgZXJyb3JUZXh0IH19XG4gICAgPC9kaXY+XG5cbjwvZGl2PiAtLT5cbiJdfQ==
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsWUFBWSxHQUNiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBU3BGLE1BQU0sT0FBTyxjQUNYLFNBQVEsc0JBQXNCO0lBZVY7SUFBK0I7SUFYM0Msa0JBQWtCLENBQWU7SUFDakMsV0FBVyxDQUFlO0lBRWxDLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsSUFBVyxVQUFVLENBQUMsQ0FBZTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBb0IsS0FBcUIs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LHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJN0MsT0FBTztzQkFEZCxlQUFlO3VCQUFDLGdCQUFnQjtnQkFJakMsV0FBVztzQkFEVixZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTlDLFNBQVM7c0JBRFIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sc0JBQXNCO3NCQURyQixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFPTiwrQkFBK0I7c0JBRDlCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBTVAsR0FBRztzQkFERixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR04sMEJBQTBCO3NCQUR6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVhCYXNlSW5wdXRDb21wb25lbnQsXG4gIEFYQmFzZVNpemFibGVDb21wb25lbnQsXG4gIEFYRGF0YUV2ZW50LFxuICBBWERhdGFTb3VyY2VDb21wb25lbnQsXG4gIEFYRWxlbWVudFNpemUsXG4gIEFYUG9wdXBTZXJ2aWNlLFxuICBBWFNlbGVjdEJveENvbXBvbmVudCxcbiAgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCxcbiAgQVhWYWxpZGF0aW9uLFxufSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYR3JpZERhdGFDb2x1bW4gfSBmcm9tICcuLi9kYXRhLWdyaWQvY29sdW1ucy9jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IEFYRGF0YUxvdlBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWxvdi1wb3B1cC9kYXRhLWxvdi1wb3B1cC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1sb3YnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1sb3YuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IHN0eWxlOiAnd2lkdGg6IDEwMCUnIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhWYWxpZGF0YWJsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYTE9WQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBBWExPVkNvbXBvbmVudFxuICBleHRlbmRzIEFYVmFsaWRhdGFibGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEJhc2VJbnB1dENvbXBvbmVudFxue1xuICBAQ29udGVudENoaWxkKEFYVmFsaWRhdGlvbiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbigpOiBBWFZhbGlkYXRpb24ge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0aW9uID8gdGhpcy5fdmFsaWRhdGlvbiA6IHRoaXMuX2NvbnRlbnRWYWxpZGF0aW9uO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcbiAgICB0aGlzLl92YWxpZGF0aW9uID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXA6IEFYUG9wdXBTZXJ2aWNlLCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdzZWxlY3RCb3gnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBzZWxlY3RCb3g6IEFYU2VsZWN0Qm94Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoQVhEYXRhU291cmNlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBkYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihBWEdyaWREYXRhQ29sdW1uKVxuICBwcml2YXRlIGNvbHVtbnM6IFF1ZXJ5TGlzdDxBWEdyaWREYXRhQ29sdW1uPjtcblxuICBAQ29udGVudENoaWxkKCdpdGVtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICB0ZXh0RmllbGQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93U2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBoYXNDaGlsZEZpZWxkOiBzdHJpbmcgPSAnbnVsbCc7XG5cbiAgQElucHV0KClcbiAgYWxsb3dOdWxsOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwb3B1cFNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdmdWxsJyA9ICdtZCc7XG5cbiAgQElucHV0KClcbiAgcGFnaW5hdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KClcbiAgcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyID0gMjA7XG5cbiAgLy8gQElucHV0KClcbiAgLy8gc2VsZWN0ZWRWYWx1ZXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KClcbiAgbWF4Q29uY3VycmVudERhdGFzb3VyY2VSZXF1ZXN0czogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGJsb2NrTG9hZERlYm91bmNlTWlsbGlzOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNoaXBzV2lkdGg6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xuXG4gIEBJbnB1dCgpXG4gIGNhcHRpb246IHN0cmluZztcblxuICBASW5wdXQoKVxuICBtb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgPSAnc2luZ2xlJztcblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEFYRGF0YUV2ZW50PGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBBWERhdGFFdmVudDxhbnk+XG4gID4oKTtcblxuICBASW5wdXQoKVxuICBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcblxuICBASW5wdXQoKSBtdWx0aUxpbmUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcjogbnVtYmVyW10gfCBib29sZWFuID0gWzEwLCAyMF07XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RCb3guZm9jdXMoKTtcbiAgfVxuXG4gIHJlZnJlc2goKSB7XG4gICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xuICB9XG5cbiAgaGFuZGxlQnV0dG9uQ2xpY2soKSB7XG4gICAgdGhpcy5vcGVuKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ydGwgPT0gbnVsbCkge1xuICAgICAgdGhpcy5ydGwgPVxuICAgICAgICB3aW5kb3dcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCBudWxsKVxuICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCc7XG4gICAgfVxuICAgIC8vICB0aGlzLnNlbGVjdFZhbCA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXM7XG4gICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5zdWJzY3JpYmUoKGMpID0+IHtcbiAgICAgIHRoaXMuY2xlYXJWYWxpZGF0aW9uU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3NlbGVjdGVkSXRlbXMnLCB0aGlzLnZhbGlkYXRpb24pO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0Q2hhbmdlKGUpIHtcbiAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xuICAgICAgZGF0YTogdGhpcy5zZWxlY3RlZEl0ZW1zLFxuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RCb3guZHJvcGRvd24uY2xvc2UoKTtcbiAgICAgIHRoaXMucG9wdXBcbiAgICAgICAgLm9wZW4oQVhEYXRhTG92UG9wdXBDb21wb25lbnQsIHtcbiAgICAgICAgICBzaXplOiB0aGlzLnBvcHVwU2l6ZSxcbiAgICAgICAgICAvLyAgIGNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXG4gICAgICAgICAgICBzZWxlY3Rpb25Nb2RlOiB0aGlzLm1vZGUsXG4gICAgICAgICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMudG9BcnJheSgpLFxuICAgICAgICAgICAgLy8gIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRWYWx1ZXMsXG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zOiB0aGlzLnNlbGVjdGVkSXRlbXMsXG4gICAgICAgICAgICBrZXlGaWVsZDogdGhpcy52YWx1ZUZpZWxkLFxuICAgICAgICAgICAgYWxsb3dOdWxsOiB0aGlzLmFsbG93TnVsbCxcbiAgICAgICAgICAgIGhhc0NoaWxkRmllbGQ6IHRoaXMuaGFzQ2hpbGRGaWVsZCxcbiAgICAgICAgICAgIHJ0bDogdGhpcy5ydGwsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiB0aGlzLnBhZ2luYXRpb24sXG4gICAgICAgICAgICBwYWdpbmF0aW9uQXV0b1BhZ2VTaXplOiB0aGlzLnBhZ2luYXRpb25BdXRvUGFnZVNpemUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uUGFnZVNpemU6IHRoaXMucGFnaW5hdGlvblBhZ2VTaXplLFxuICAgICAgICAgICAgbWF4Q29uY3VycmVudERhdGFzb3VyY2VSZXF1ZXN0czpcbiAgICAgICAgICAgICAgdGhpcy5tYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzLFxuICAgICAgICAgICAgYmxvY2tMb2FkRGVib3VuY2VNaWxsaXM6IHRoaXMuYmxvY2tMb2FkRGVib3VuY2VNaWxsaXMsXG4gICAgICAgICAgICBwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcjogdGhpcy5wYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvcixcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiB0aGlzLmNhcHRpb24sXG4gICAgICAgICAgLy8gc2l6ZTogdGhpcy5zaXplLFxuICAgICAgICB9KVxuICAgICAgICAudGhlbigoYykgPT4ge1xuICAgICAgICAgIGlmIChjLmRhdGEpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgICAgICAgICAgYy5kYXRhLmZvckVhY2goKGVsbSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChlbG0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gYy5kYXRhO1xuICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICAgIGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtcyxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHJlc29sdmUpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZShjLmRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuc2VsZWN0ZWRJdGVtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGF4LXNlbGVjdC1ib3hcbiAgW3Jvd0lucHV0VGVtcGxhdGVdPVwicm93VGVtcGxhdGVcIlxuICBbbXVsdGlMaW5lXT1cIm11bHRpTGluZVwiXG4gIFtydGxdPVwicnRsXCJcbiAgW2FsbG93U2VhcmNoXT1cImFsbG93U2VhcmNoXCJcbiAgI3NlbGVjdEJveFxuICBbc2hvd0Ryb3BEb3duQnV0dG9uXT1cImZhbHNlXCJcbiAgW2FsbG93TnVsbF09XCJhbGxvd051bGxcIlxuICBbcmVtb3RlT3BlcmF0aW9uXT1cInRydWVcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbc2l6ZV09XCJzaXplXCJcbiAgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIlxuICBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW21vZGVdPVwibW9kZVwiXG4gIFsoc2VsZWN0ZWRJdGVtcyldPVwic2VsZWN0ZWRJdGVtc1wiXG4gIChzZWxlY3Rpb25DaGFuZ2VkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQpXCJcbiAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4+XG4gIDxuZy1jb250YWluZXIgc3RhcnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPiA8L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyIGVuZD5cbiAgICA8YXgtYnV0dG9uXG4gICAgICBpY29uPVwiZmFyIGZhLWJhcnMgaWNvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgdHlwZT1cImxpZ2h0IGJsYW5rXCJcbiAgICAgIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCJcbiAgICAgIGVuZFxuICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICA+XG4gICAgPC9heC1idXR0b24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj4gPC9uZy1jb250ZW50PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvYXgtc2VsZWN0LWJveD5cblxuPCEtLSA8YXgtc2VsZWN0LWJveDIgW3J0bF09XCJydGxcIiBbYWxsb3dTZWFyY2hdPVwiYWxsb3dTZWFyY2hcIiAjc2VsZWN0Qm94IFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIiBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NpemVdPVwic2l6ZVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGlvbk1vZGVdPVwibW9kZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVTZWxlY3RDaGFuZ2UoJGV2ZW50KVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgIFsodmFsdWUpXT1cInNlbGVjdGVkSXRlbXNcIiBzZWxlY3Rpb25EYXRhTW9kZT1cIml0ZW1cIj5cbiAgICA8bmctY29udGFpbmVyIHN0YXJ0PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIGVuZD5cbiAgICAgICAgPGF4LWJ1dHRvbiBpY29uPVwiZmFyIGZhLWJhcnMgaWNvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIHR5cGU9XCJwcmltYXJ5IGJsYW5rXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIiBlbmRcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9heC1zZWxlY3QtYm94Mj4gLS0+XG5cbjwhLS0gPGRpdiBjbGFzcz1cImF4LWxvdi1ib3hcIiBbc3R5bGUuZGlzcGxheV09XCJtb2RlPT0naGlkZGVuJyA/ICdub25lJzondW5zZXQnXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZpZWxkLXNldFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0LXdyYXBwZXJcIiBbbmdDbGFzc109XCJ7ICduby1sYWJlbCc6ICFsYWJlbCB9XCI+XG4gICAgICAgICAgICA8ZmllbGRzZXQgW25nQ2xhc3NdPVwieyAnaW5wdXQtZm9jdXNlZCc6IGlzRm9jdXNlZCwgJ2lucHV0LWVycm9yJzogZXJyb3JUZXh0IH1cIj5cbiAgICAgICAgICAgICAgICA8bGVnZW5kICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInRleHRcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAoa2V5dXApPVwiaGFuZGxlS2V5RXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1ckV2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiaGFuZGxlRm9jdXNFdmVudCgkZXZlbnQpXCIgY2xhc3M9XCJheC10ZXh0LWJveFwiIGRpc2FibGVkIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ0ZXh0ICYmIGFsbG93Q2xlYXJcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0XCIgKGNsaWNrKT1cImNsZWFyVGV4dCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiIGJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi10ZXh0XCIgKm5nSWY9XCJlcnJvclRleHRcIj5cbiAgICAgICAge3sgZXJyb3JUZXh0IH19XG4gICAgPC9kaXY+XG5cbjwvZGl2PiAtLT5cbiJdfQ==
|
@@ -1813,10 +1813,10 @@ class AXDataLovPopupComponent extends AXBasePopupPageComponent {
|
|
1813
1813
|
selectedRows = [];
|
1814
1814
|
pagination = true;
|
1815
1815
|
paginationAutoPageSize;
|
1816
|
-
paginationPageSize;
|
1816
|
+
paginationPageSize = 20;
|
1817
1817
|
maxConcurrentDatasourceRequests;
|
1818
1818
|
blockLoadDebounceMillis;
|
1819
|
-
paginationPageSizeSelector;
|
1819
|
+
paginationPageSizeSelector = [10, 20];
|
1820
1820
|
constructor(cdr, ref) {
|
1821
1821
|
super();
|
1822
1822
|
this.cdr = cdr;
|
@@ -1907,11 +1907,11 @@ class AXDataLovPopupComponent extends AXBasePopupPageComponent {
|
|
1907
1907
|
}
|
1908
1908
|
}
|
1909
1909
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXDataLovPopupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
1910
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXDataLovPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n
|
1910
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXDataLovPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, static: true }, { propertyName: "searchBox", first: true, predicate: ["searchBox"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n >\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column\n *ngIf=\"selectionMode == 'single' ? false : true\"\n ></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AXDataGridComponent, selector: "ax-data-grid", inputs: ["paginationPageSizeSelector", "paginationAutoPageSize", "paginationPageSize", "remoteOperation", "rowMultiSelectWithClick", "suppressRowClickSelection", "suppressCellSelection", "sizeColumnsToFit", "showCheckBox", "floatingFilter", "autoExpand", "rowSelectableConditionField", "selectionMode", "pagination", "selectRow", "rowGroupPanelShow", "loadOnInit", "enableRangeSelection", "keyField", "hasChildField", "rowHeight", "groupHideOpenParents", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "showRefreshButton", "autoNavigatePage", "rowClass", "rtl", "searchText", "filter", "columns", "dataSource"], outputs: ["columnsChange", "cellClick", "cellDbClick", "cellFocuse", "rowClick", "rowDbClick", "selectionChanged", "rowSelectionChange", "onRowSelectionChanged"] }, { kind: "component", type: AXGridSelectionColumn, selector: "ax-selection-column", inputs: ["condition", "pinned", "width"] }, { kind: "component", type: i1$1.AXToolbarComponent, selector: "ax-toolbar" }, { kind: "component", type: i1$1.AXToolbarSearchComponent, selector: "ax-toolbar-search", inputs: ["text"], outputs: ["onValueChanged"] }] });
|
1911
1911
|
}
|
1912
1912
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXDataLovPopupComponent, decorators: [{
|
1913
1913
|
type: Component,
|
1914
|
-
args: [{ template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n
|
1914
|
+
args: [{ template: "<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n >\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column\n *ngIf=\"selectionMode == 'single' ? false : true\"\n ></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>\n" }]
|
1915
1915
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { grid: [{
|
1916
1916
|
type: ViewChild,
|
1917
1917
|
args: ['grid', { static: true }]
|
@@ -1949,7 +1949,7 @@ class AXLOVComponent extends AXValidatableComponent {
|
|
1949
1949
|
pagination = true;
|
1950
1950
|
selectedItems = [];
|
1951
1951
|
paginationAutoPageSize = false;
|
1952
|
-
paginationPageSize;
|
1952
|
+
paginationPageSize = 20;
|
1953
1953
|
// @Input()
|
1954
1954
|
// selectedValues: any[] = [];
|
1955
1955
|
maxConcurrentDatasourceRequests;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-data-grid.mjs","sources":["../../../../libs/data-grid/src/lib/data-grid/templates/cell-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column.component.ts","../../../../libs/data-grid/src/lib/data-grid/filters/filter.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/check-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column-groups.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/command-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/date-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/selection-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/text-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/row-number-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/detail-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/row-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.html","../../../../libs/data-grid/src/lib/data-grid/datagrid.module.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.module.ts","../../../../libs/data-grid/src/acorex-data-grid.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'ax-cell-template',\n template: `<ng-content></ng-content>\n `\n})\n\nexport class AXDataGridCellTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridCellTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n}\n\n@Component({\n template: `\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\n </ng-container>\n `\n})\n\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\n rowData: any;\n templateRef: TemplateRef<any>;\n\n constructor() { }\n\n agInit(params: ICellRendererParams): void {\n this.rowData = params.data;\n this.templateRef = (params as any).templateRef;\n }\n\n refresh(params: ICellRendererParams): boolean {\n this.rowData = params.data;\n return true;\n }\n}","import { AXConfig } from '@acorex/core';\nimport { ContentChild, Directive, Input } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\n\n@Directive()\nexport abstract class AXGridDataColumn {\n @ContentChild(AXDataGridCellTemplateComponent)\n cellTemplate: AXDataGridCellTemplateComponent;\n\n @Input()\n width: number = 100;\n\n @Input()\n maxWidth: number;\n\n @Input()\n minWidth: number;\n\n @Input()\n pinned: 'start' | 'end' | null = null;\n\n @Input()\n allowSorting: boolean = true;\n\n @Input()\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;\n\n @Input()\n cellClass: (\n params: AXGridCellParams\n ) => (string | string[]) | (string | string[]);\n\n @Input()\n sort: 'asc' | 'desc' | null = null;\n\n @Input()\n field: string = '';\n\n @Input()\n caption: string = '';\n\n @Input()\n cellRendererParams: any;\n\n @Input()\n checkbox: boolean = false;\n\n @Input()\n headerCheckbox: boolean = false;\n\n @Input()\n groupIndex: number = -1;\n\n @Input()\n treeIndex: number = -1;\n\n @Input()\n enableRowGroup: boolean = false;\n\n @Input()\n hide: boolean = false;\n\n @Input()\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\n\n @Input()\n disableMenu: boolean = false;\n\n @Input()\n resizable: boolean = true;\n\n @Input()\n menuColumnDisable: boolean = false;\n\n @Input()\n menuItemDisable: boolean = false;\n\n @Input()\n columnGroupShow: 'open' | 'closed';\n\n @Input()\n wrapText = false;\n\n constructor() {}\n\n render(): any {\n const col: any = {\n field: this.field,\n width: this.width,\n };\n col.resizable = this.resizable;\n col.suppressHeaderMenuButton = this.disableMenu;\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab'];\n col.floatingFilter = this.floatingFilter;\n\n if (this.wrapText) {\n col.wrapText = true;\n\n col.autoHeight = true;\n\n col.wrapHeaderText = true;\n\n col.autoHeaderHeight = true;\n }\n\n if (!this.allowFiltering) {\n col.filter = false;\n col.menuTabs = col.menuTabs.filter((c) => c != 'filterMenuTab');\n col.floatingFilter = false;\n }\n if (this.menuColumnDisable == true) {\n col.menuTabs = col.menuTabs.filter((c) => c != 'columnsMenuTab');\n }\n if (this.menuItemDisable == true) {\n col.menuTabs = col.menuTabs.filter((c) => c != 'generalMenuTab');\n }\n if (this.caption) {\n col.headerName = this.caption;\n }\n if (this.minWidth) {\n col.minWidth = this.minWidth;\n }\n if (this.maxWidth) {\n col.maxWidth = this.maxWidth;\n }\n if (this.pinned) {\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\n // TODO: Change based on layout\n }\n if (this.allowSorting) {\n col.sortable = this.allowSorting;\n }\n if (this.sort) {\n col.sort = this.sort;\n }\n\n if (this.groupIndex >= 0) {\n col.rowGroupIndex = this.groupIndex;\n col.rowGroup = true;\n this.enableRowGroup = true;\n }\n\n if (this.treeIndex >= 0) {\n col.rowGroupIndex = this.treeIndex;\n col.rowGroup = false;\n }\n if (this.hide) {\n col.hide = true;\n }\n if (this.enableRowGroup) {\n col.enableRowGroup = this.enableRowGroup;\n }\n\n if (this.cellClass) {\n const THAT = this;\n if (this.cellClass instanceof Function) {\n col.cellClass = (p) => {\n return THAT.cellClass({\n column: THAT,\n rowIndex: p.node.rowIndex,\n rowLevel: p.node.level,\n data: p.data,\n value: p.value,\n });\n };\n } else {\n col.cellClass = this.cellClass;\n }\n }\n //\n if (this.cellTemplate != null) {\n col.cellRenderer = this.cellTemplate.renderer;\n col.cellRendererParams = this.cellTemplate.params;\n }\n\n if (this.columnGroupShow) {\n col.columnGroupShow = this.columnGroupShow;\n }\n\n if (this.checkbox) {\n col.checkboxSelection = (params) => {\n return true;\n };\n // col.headerCheckboxSelection = this.headerCheckbox;\n }\n return col;\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n selector: 'ax-data-grid-filter',\n template: `\n <div class='ax-grid-filter-container'>\n <ng-content></ng-content>\n <div class='btn-group' role='group'>\n <button type='button' class='btn btn-primary btn-sm'>\n <i class='fas fa-filter'></i>\n </button>\n <button type='button' class='btn btn-danger btn-sm'>\n <i class='fas fa-trash-alt'></i>\n </button>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDataGridFilterComponent {}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\nimport {\n ICellRendererParams,\n IFilterParams,\n RowNode,\n IDoesFilterPassParams,\n IAfterGuiAttachedParams,\n} from 'ag-grid-community';\n\n@Component({\n selector: 'ax-check-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXGridCheckColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n render() {\n const col = super.render();\n if (!col.cellRenderer) {\n col.cellRenderer = BooleanRenderer;\n }\n if (this.allowFiltering) {\n col.filterFramework = BooleanFilterRenderer;\n }\n return col;\n }\n}\n\n@Component({\n template: ` <ax-check-box [value]=\"value\" readonly=\"true\"></ax-check-box> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BooleanRenderer implements ICellRendererAngularComp {\n value: boolean;\n constructor() {}\n agInit(params: ICellRendererParams): void {\n this.value = params.value;\n }\n refresh(params: ICellRendererParams): boolean {\n this.value = params.value;\n return true;\n }\n}\n\n@Component({\n template: `\n <ax-data-grid-filter>\n <ax-select-box label=\"Select Box\" [items]=\"selectItem\"></ax-select-box>\n </ax-data-grid-filter>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BooleanFilterRenderer implements IFilterAngularComp {\n public value?: boolean = null;\n private params: IFilterParams;\n private valueGetter: (rowNode: RowNode) => any;\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\n\n selectItem = [\n { value: 0, label: 'True' },\n { value: 1, label: 'False' },\n ];\n agInit(params: IFilterParams): void {\n this.params = params;\n this.valueGetter = params.valueGetter as any;\n }\n\n isFilterActive(): boolean {\n return this.value !== null && this.value !== undefined;\n }\n\n doesFilterPass(params: IDoesFilterPassParams | any): boolean {\n return this.value === this.valueGetter(params.node);\n }\n\n getModel(): any {\n return { value: this.value };\n }\n\n setModel(model: any): void {\n this.value = model ? model.value : null;\n }\n\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\n window.setTimeout(() => {\n this.input.element.nativeElement.focus();\n });\n }\n\n onChange(newValue): void {\n if (this.value !== newValue) {\n this.value = newValue;\n this.params.filterChangedCallback();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n QueryList,\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\n\n@Component({\n selector: 'ax-column-group',\n template: '<ng-content></ng-content>',\n providers: [\n { provide: AXGridDataColumn, useExisting: AXColumnGroupComponent },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXColumnGroupComponent extends AXGridDataColumn {\n @ContentChildren(AXGridDataColumn)\n columns: QueryList<AXGridDataColumn>;\n\n render() {\n const col = super.render();\n col.children = [];\n this.columns.forEach((elm) => {\n col.children.push(elm.render());\n });\n return col;\n }\n}\n","import { AXMenuItem } from '@acorex/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\nimport { AXGridRowCommandEvent } from '../datagrid.events';\nimport { AXGridDataColumn } from './column.component';\n\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\n\n@Component({\n selector: 'ax-command-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXGridCommandColumn extends AXGridDataColumn {\n @Input()\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\n\n @Output()\n onItemClick: EventEmitter<AXGridRowCommandEvent> =\n new EventEmitter<AXGridRowCommandEvent>();\n\n render() {\n const col = super.render();\n if (!col.cellRenderer) {\n col.cellRenderer = CommandRenderer;\n }\n col.cellRendererParams = {\n items: this.items,\n onClick: (e) => {\n this.onItemClick.emit({\n command: e.name,\n data: e.data,\n rowIndex: e.rowIndex,\n rowLevel: e.rowLevel,\n htmlEvent: e.htmlEvent,\n });\n },\n };\n col.sortable = false;\n col.filter = false;\n col.valueGetter = (params) => {\n return this.items;\n };\n return col;\n }\n}\n\n@Component({\n selector: 'ax-command-cell',\n template: `\n <ng-container *ngFor=\"let item of items; let i = index\">\n <button\n *ngIf=\"item.visible !== false\"\n class=\"ax button md ax-grid-command-button {{\n item.style || 'ax primary blank'\n }}\"\n [class.disabled]=\"item.disable\"\n type=\"button\"\n [title]=\"item.tooltip\"\n [attr.tabindex]=\"i\"\n (click)=\"onClick(item, $event)\"\n >\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\n </button>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CommandRenderer implements ICellRendererAngularComp {\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\n node: any;\n private clickCallback: Function;\n\n constructor() {}\n\n agInit(params: ICellRendererParams): void {\n this.mapParams(params);\n }\n\n refresh(params: ICellRendererParams): boolean {\n this.mapParams(params);\n return true;\n }\n\n private mapParams(params: any) {\n this.node = params.node;\n this.items =\n typeof params.items == 'function'\n ? params.items({ data: this.node.data })\n : Array.isArray(params.items)\n ? params.items\n : [];\n this.clickCallback = params.onClick;\n }\n\n onClick(item: AXMenuItem, e: MouseEvent) {\n if (this.clickCallback && !item.disable) {\n this.clickCallback({\n name: item.name,\n rowLevel: this.node.level,\n rowIndex: this.node.rowIndex,\n data: this.node.data,\n htmlEvent: e,\n });\n }\n }\n}\n","\nimport {\n Component,\n ChangeDetectionStrategy,\n Input,\n ViewEncapsulation,\n ViewChild,\n ElementRef\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\nimport { AXDatePickerComponent } from '@acorex/components';\n@Component({\n selector: 'ax-date-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridDateColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n @Input()\n format: string;\n\n @Input()\n type: AXCalendarType = AXConfig.get('dateTime.type');\n\n render() {\n const col = super.render();\n col.cellRendererParams = {\n format: this.format,\n };\n\n col.comparator = (valueA: any, valueB: any) => {\n const date1 = AXDateTime.convert(valueA);\n const date2 = AXDateTime.convert(valueB);\n //\n if (date1 === null && date2 === null) {\n return 0;\n }\n if (date1 === null) {\n return -1;\n }\n if (date2 === null) {\n return 1;\n }\n return (date1.date.getTime() - date2.date.getTime());\n };\n\n col.valueFormatter = (params) => {\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\n if (date) {\n return date.format(this.format);\n }\n else {\n return null;\n }\n };\n col.filter = 'agDateColumnFilter';\n // col.floatingFilter = true;\n return col;\n }\n}\n\n@Component({\n selector: 'ax-data-picker-filter',\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\n </ax-date-picker>`,\n host: { },\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDatePickerFilterComponent {\n @ViewChild(AXDatePickerComponent)\n datePicker: AXDatePickerComponent;\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\n selectableHoliday: boolean = false;\n type: string = 'jalali';\n date: Date;\n params: any;\n picker: any;\n\n\n agInit(params: any): void {\n this.params = params;\n }\n\n ngAfterViewInit() {\n\n }\n ngOnDestroy() {\n }\n\n onDateChanged(selectedDates) {\n //this.date = selectedDates[0] || null;\n this.params.onDateChanged();\n }\n\n getDate(): Date {\n return this.date;\n }\n\n setDate(date: Date): void {\n this.date = date || null;\n //this.picker.setDate(date);\n }\n\n setInputPlaceholder(placeholder: string): void {\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\n }\n onValueChanged(e) {\n\n this.setDate(e.value);\n this.onDateChanged(e.value);\n }\n\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ax-selection-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridSelectionColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n @Input()\n condition: (params) => boolean;\n\n @Input()\n pinned: 'start' | 'end' = 'start';\n\n @Input()\n width: number = 40;\n\n render() {\n const col = super.render();\n col.checkboxSelection = this.condition ? this.condition : true;\n // col.headerCheckboxSelection = true;\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\n col.filter = false;\n col.resizable = true;\n col.sortable = false;\n col.minWidth = 5;\n col.width = this.width;\n col.floatingFilter = false;\n return col;\n }\n}\n","import { AXGridDataColumn } from './column.component';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewContainerRef,\n ViewChild,\n} from '@angular/core';\nimport {\n IFilterParams,\n RowNode,\n IDoesFilterPassParams,\n IAfterGuiAttachedParams,\n} from 'ag-grid-community';\nimport { IFilterAngularComp } from 'ag-grid-angular';\nimport { AXTextBoxComponent } from '@acorex/components';\n\n@Component({\n selector: 'ax-text-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXGridTextColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n render() {\n const col = super.render();\n // if (this.allowFiltering) {\n // col.filterFramework = TextFilterRenderer;\n // }\n col.filter = 'agTextColumnFilter';\n return col;\n }\n}\n\n@Component({\n template: `\n <ax-data-grid-filter>\n <ax-text-box\n label=\"Filter\"\n allowClear=\"true\"\n (textChange)=\"onChange($event)\"\n >\n </ax-text-box>\n </ax-data-grid-filter>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextFilterRenderer implements IFilterAngularComp {\n public value?: string = null;\n private params: IFilterParams;\n private valueGetter: (rowNode: RowNode) => any;\n @ViewChild(AXTextBoxComponent, { static: true })\n private input: AXTextBoxComponent;\n\n agInit(params: IFilterParams): void {\n this.params = params;\n this.valueGetter = params.valueGetter as any;\n }\n\n isFilterActive(): boolean {\n return this.value !== null && this.value !== undefined;\n }\n\n doesFilterPass(params: IDoesFilterPassParams | any): boolean {\n return this.value === this.valueGetter(params.node);\n }\n\n getModel(): any {\n return { value: this.value };\n }\n\n setModel(model: any): void {\n this.onChange(model ? model.value : null);\n }\n\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\n window.setTimeout(() => {\n this.input.focus();\n });\n }\n\n onChange(newValue): void {\n if (this.value !== newValue) {\n this.value = newValue;\n if (this.value === '') {\n this.value = null;\n }\n this.params.filterChangedCallback();\n }\n }\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AXConfig } from '@acorex/core';\n\n@Component({\n selector: 'ax-row-number-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridRowNumberColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridRowNumberColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n @Input()\n condition: (params) => boolean;\n\n render() {\n const col = super.render();\n // col.checkboxSelection = this.condition ? this.condition : true;\n // col.headerCheckboxSelection = true;\n\n (col.headerName = this.caption ? this.caption : AXConfig.get('layout.rtl') ? 'ردیف' : 'Row'),\n (col.valueGetter = 'node.rowIndex + 1'),\n (col.pinned = this.pinned == null ? null : this.pinned === 'start' ? 'right' : 'left'),\n (col.filter = false);\n col.resizable = true;\n col.sortable = false;\n col.width = this.width;\n\n return col;\n }\n}\n","import { Component, ContentChild, TemplateRef, Input, ChangeDetectorRef } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\n@Component({\n selector: 'ax-grid-detail-template',\n template: `<ng-content></ng-content>`\n})\n\nexport class AXDataGridDetailTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridDetailTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n\n @Input()\n height: number = 100;\n}\n\n@Component({\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\n})\n\nexport class AXDataGridDetailTemplateRenderer implements ICellRendererAngularComp {\n\n refresh(params: any): boolean {\n return false;\n }\n\n templateRef: TemplateRef<any>;\n data: any;\n\n agInit(params: any): void {\n this.data = params.data;\n this.templateRef = params.templateRef;\n }\n}","import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\n@Component({\n selector: 'ax-row-template',\n template: `<ng-content></ng-content>`\n})\n\nexport class AXDataGridRowTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridRowTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n}\n\n@Component({\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\n})\n\nexport class AXDataGridRowTemplateRenderer implements ICellRendererAngularComp {\n\n templateRef: TemplateRef<any>;\n\n data: any;\n\n refresh(params: any): boolean {\n return false;\n }\n\n agInit(params: any): void {\n this.data = params.data.callRecords;\n this.templateRef = params.templateRef;\n }\n}","import {\n AXDataSourceComponent,\n AXDataSourceReadParams,\n} from '@acorex/components';\nimport {\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n CellClickedEvent,\n CellEvent,\n FirstDataRenderedEvent,\n GridApi,\n GridOptions,\n GridSizeChangedEvent,\n RowClickedEvent,\n RowEvent,\n} from 'ag-grid-community';\nimport { AXGridDataColumn } from './columns/column.component';\n\nimport { ViewEncapsulation } from '@angular/core';\nimport { LicenseManager } from 'ag-grid-enterprise';\nimport {\n AXGridCellEvent,\n AXGridRowEvent,\n AXGridRowParams,\n AXGridRowSelectionEvent,\n} from './datagrid.events';\n\nimport {\n AXDataEvent,\n AXToolbarComponent,\n AXToolbarSearchComponent,\n AXValueEvent,\n} from '@acorex/components';\nimport { AXConfig, AXTranslator } from '@acorex/core';\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\nimport {\n AXDataGridDetailTemplateComponent,\n AXDataGridDetailTemplateRenderer,\n} from './templates/detail-template.component';\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\n\nLicenseManager.prototype.isDisplayWatermark = () => {\n return false;\n};\nLicenseManager.prototype.validateLicense = function () {\n //console.info('Cracked by Arash Oshnoudi!');\n};\n\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<\n AXGridDataColumn[]\n> {\n declare component: AXDataGridComponent;\n}\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\n declare component: AXDataGridComponent;\n}\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\n declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\n declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\n declare component: AXDataGridComponent;\n declare selected: boolean;\n}\n\n@Component({\n selector: 'ax-data-grid',\n templateUrl: './datagrid.component.html',\n encapsulation: ViewEncapsulation.None,\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXDataGridComponent {\n private gridApi;\n private dataSourceSuccessCallback;\n localeText: any;\n\n gridOptions: GridOptions;\n columnDefs: any[] = [];\n rowModelType = 'clientSide';\n fullWidthCellRendererFramework: any;\n fullWidthCellRendererParams: any;\n frameworkComponents: any = {};\n isFullWidthCell: Function;\n internalHeight = '100%';\n detailCellRenderer: any;\n detailCellRendererParams: any;\n detailRowHeight: number;\n masterDetail = false;\n treeData = false;\n enabelSelect = false;\n gridView = false;\n groupSelectsChildren = false;\n oldSelectionNodes: any[] = [];\n autoGroupColumnDef: any = {};\n currentPage = 1;\n\n @Input()\n paginationPageSizeSelector: number[] | boolean = [10, 20];\n\n @Input()\n paginationAutoPageSize = false;\n\n @Input()\n paginationPageSize = 20;\n\n cacheBlockSize = this.paginationPageSize;\n\n @Input()\n public remoteOperation = false;\n\n @Input()\n public rowMultiSelectWithClick = false;\n\n @Input()\n public suppressRowClickSelection = false;\n\n @Input()\n public suppressCellSelection = false;\n\n @Input()\n public sizeColumnsToFit = true;\n\n @Input()\n showCheckBox = true;\n\n @Input()\n floatingFilter = false;\n\n @Input()\n autoExpand = false;\n\n @Input()\n rowSelectableConditionField: string;\n\n @Input()\n selectionMode: 'single' | 'multiple' = 'single';\n\n @Input()\n pagination: boolean = true;\n\n @Input()\n selectRow: any[] = [];\n\n @Input()\n rowGroupPanelShow: 'always' | 'never' = 'never';\n\n @Input()\n loadOnInit: boolean = true;\n\n @Input()\n enableRangeSelection = false;\n\n @Input()\n keyField: string = 'null';\n\n @Input()\n hasChildField: string = 'null';\n\n @Input()\n rowHeight = 28;\n\n @Input()\n groupHideOpenParents: boolean = false;\n\n @Input()\n maxConcurrentDatasourceRequests: number;\n\n @Input()\n blockLoadDebounceMillis: number;\n\n @Input()\n showRefreshButton = true;\n\n @Input()\n autoNavigatePage = false;\n\n @Input()\n rowClass?: (\n params: AXGridRowParams\n ) => (string | string[]) | (string | string[]);\n\n @Input()\n rtl: boolean = AXConfig.get('layout.rtl');\n\n private _searchText: string;\n @Input()\n public get searchText(): string {\n return this._searchText;\n }\n public set searchText(v: string) {\n if (v !== this._searchText) {\n this._searchText = v;\n if (this.gridApi) {\n this.refresh();\n this.gridApi.setQuickFilter(this.searchText);\n }\n }\n }\n\n private _filter: any[];\n @Input()\n public get filter(): any[] {\n return this._filter;\n }\n public set filter(v: any[]) {\n if (v !== this._filter) {\n this._filter = v;\n this._filter.forEach((f) => {\n const fc = this.gridApi.getFilterInstance(f.field);\n if (fc) {\n const ff = fc.getFrameworkComponentInstance();\n ff.setModel(f);\n }\n });\n }\n }\n\n @ContentChildren(AXGridDataColumn)\n private _inlineColumns: QueryList<AXGridDataColumn>;\n\n @Output()\n columnsChange: EventEmitter<AXDataGridColumnsChangeEvent> =\n new EventEmitter<AXDataGridColumnsChangeEvent>();\n\n private _columns: AXGridDataColumn[] = [];\n @Input()\n public get columns(): AXGridDataColumn[] {\n return this._inlineColumns\n ? [...this._columns, ...this._inlineColumns.toArray()]\n : this._columns;\n }\n\n public set columns(val: AXGridDataColumn[]) {\n if (val && val.length) {\n let old = this._columns;\n this._columns = val;\n this.columnsChange.emit({\n component: this,\n value: val,\n oldValue: old,\n htmlElement: this.ref.nativeElement,\n });\n }\n }\n\n defaultColDef: any = {\n filter: true,\n floatingFilter: true,\n };\n\n @ContentChild(AXToolbarSearchComponent, { static: true })\n searchInput: AXToolbarSearchComponent;\n\n @ContentChild(AXToolbarComponent, { static: true })\n toolbar: AXToolbarComponent;\n\n @ContentChild(AXDataGridRowTemplateComponent, { static: true })\n rowTemplate: AXDataGridRowTemplateComponent;\n\n @ContentChild(AXDataGridDetailTemplateComponent, { static: true })\n gridDetailTemplate: AXDataGridDetailTemplateComponent;\n\n @ContentChild(AXDataSourceComponent, { static: true })\n private _contentDataSource: AXDataSourceComponent;\n\n private _dataSource: AXDataSourceComponent;\n\n @Input()\n public get dataSource(): AXDataSourceComponent {\n return this._dataSource ? this._dataSource : this._contentDataSource;\n }\n\n public set dataSource(v: AXDataSourceComponent) {\n this._dataSource = v;\n }\n\n @Output()\n cellClick: EventEmitter<AXDataGridCellEvent> =\n new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n cellDbClick: EventEmitter<AXDataGridCellEvent> =\n new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n cellFocuse: EventEmitter<AXDataGridCellEvent> =\n new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n rowClick: EventEmitter<AXDaagridRowClickEvent> =\n new EventEmitter<AXDaagridRowClickEvent>();\n\n @Output()\n rowDbClick: EventEmitter<AXDaagridRowClickEvent> =\n new EventEmitter<AXDaagridRowClickEvent>();\n\n @Output()\n selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> =\n new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n @Output()\n rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> =\n new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n @Output()\n onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> =\n new EventEmitter<AXDataGridRowSelectionChangeEvent>();\n\n constructor(\n private ref: ElementRef<HTMLDivElement>,\n private cdr: ChangeDetectorRef\n ) {\n this.localeText = AXTranslator.get('dataGrid');\n }\n\n private calcHeight(): void {\n if (this.toolbar) {\n this.internalHeight = `calc(100% - ${40}px)`;\n } else {\n this.internalHeight = '100%';\n }\n }\n\n private get intenalGridDataSource() {\n const that = this;\n return {\n rowCount: null,\n getRows: (params) => {\n that.dataSourceSuccessCallback = params.success;\n\n const loadParams: AXDataSourceReadParams = {};\n\n loadParams.searchText = that.searchText;\n\n loadParams.skip = params.request.startRow;\n\n loadParams.take = params.request.endRow - params.request.startRow;\n\n loadParams.sort = params.request.sortModel.map((c) => {\n return {\n field: c.colId,\n dir: c.sort,\n };\n });\n\n loadParams.group = {\n fields: params.request.rowGroupCols.map((r) => r.field),\n keys: params.request.groupKeys,\n parentData: params.parentNode.data,\n };\n\n loadParams.filter = params.request.filterModel;\n\n that.dataSource.fetch(loadParams);\n },\n };\n }\n getMainMenuItems(e) {\n return ['pinSubMenu', 'separator'];\n }\n\n ngOnDestroy(): void {\n this.gridApi.destroy();\n }\n\n isServerSideGroup = (e) => {\n return e[this.hasChildField];\n };\n\n getColumnDefs = () => {\n return this.gridApi.getColumnDefs();\n };\n\n getCurrentPageNumber = () => {\n return {\n current: this.gridApi.paginationGetCurrentPage() + 1,\n total: this.gridApi.paginationGetTotalPages(),\n };\n };\n\n paginationGoToPage(number) {\n this.gridApi.paginationGoToPage(number - 1);\n }\n\n getServerSideGroupKey = (e) => {\n return e[this.keyField];\n };\n internalGridReady(gridOptions) {\n this.gridApi = gridOptions.api;\n\n this.mapColumns();\n this.calcHeight();\n\n if (!this.loadOnInit) {\n this.loadOnInit = true;\n return;\n }\n\n if (this.remoteOperation) {\n this.gridApi.setGridOption(\n 'serverSideDatasource',\n this.intenalGridDataSource\n );\n }\n\n if (!this.remoteOperation) {\n this.refresh();\n }\n\n if (this.showRefreshButton) {\n this.makeRefreshBtn();\n }\n\n if (this.autoNavigatePage) {\n this.handleNextBtnClick();\n this.handleBackBtnClick();\n this.handleLastBtnClick();\n this.handleFitstBtnClick();\n }\n }\n\n ngAfterContentInit(): void {\n const that = this;\n if (this.rowTemplate) {\n this.fullWidthCellRendererFramework = this.rowTemplate.renderer;\n this.fullWidthCellRendererParams = this.rowTemplate.params;\n }\n this.frameworkComponents.agDateInput = AXDatePickerFilterComponent;\n\n if (this.gridDetailTemplate) {\n this.masterDetail = true;\n this.detailCellRendererParams = this.gridDetailTemplate.params;\n this.detailCellRenderer = AXDataGridDetailTemplateRenderer;\n // this.frameworkComponents.detailRendererFramework =\n // this.gridDetailTemplate.renderer;\n\n this.detailRowHeight = this.gridDetailTemplate.height;\n }\n this.isFullWidthCell = () => {\n return that.rowTemplate != null;\n };\n }\n\n ngOnInit(): void {\n if (this.selectionMode === 'single') {\n this.groupSelectsChildren = false;\n }\n if (this.keyField !== 'null' && this.hasChildField !== 'null') {\n this.rowGroupPanelShow = 'never';\n this.treeData = true;\n }\n if (this.remoteOperation) {\n this.rowModelType = 'serverSide';\n }\n //\n if (this.rtl == null) {\n this.rtl =\n window\n .getComputedStyle(this.ref.nativeElement, null)\n .getPropertyValue('direction') === 'rtl';\n }\n //\n }\n\n gridSelectRow() {\n if (this.gridApi) {\n if (\n this.selectRow &&\n this.selectRow.length > 0 &&\n this.gridApi !== undefined &&\n typeof this.selectRow[0] != 'object'\n ) {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n this.selectRow.forEach((id) => {\n if (node.data[this.keyField] === id) {\n select = true;\n node.setSelected(select);\n }\n });\n }\n });\n } else {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n if (this.selectRow.length) {\n this.selectRow.forEach((item) => {\n if (item.rowIndex != undefined && item.rowLevel != undefined) {\n if (node.data[this.keyField] === item.data[this.keyField]) {\n select = true;\n }\n } else {\n if (\n this.keyField !== 'null' &&\n node.data[this.keyField] === item[this.keyField]\n ) {\n select = true;\n }\n }\n });\n }\n if (this.rowSelectableConditionField) {\n node.setRowSelectable(\n node.data[this.rowSelectableConditionField]\n );\n }\n node.setSelected(select);\n }\n });\n }\n }\n }\n\n rebuildGrid() {\n this.mapColumns();\n setTimeout(() => {\n if (this.sizeColumnsToFit) {\n this.gridApi.sizeColumnsToFit();\n }\n }, 10);\n }\n\n ngAfterViewInit(): void {\n if (this.treeData === true) {\n this.columnDefs = this.columns.map((c) => c.render());\n\n const groupColumn = this.columnDefs.find(\n (c) => c.rowGroupIndex == '0' && c.field !== ''\n );\n\n this.autoGroupColumnDef = {\n headerName: groupColumn.headerName,\n width: groupColumn.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: groupColumn.field,\n };\n\n this.columnDefs.forEach((elm) => {\n if (elm.rowGroupIndex > -1) {\n elm.hide = true;\n }\n });\n }\n this.gridView = true;\n\n this.enabelSelect = true;\n this.dataSource.onDataReceived.subscribe((_data) => {\n const result = _data.data.result;\n this.hideLoading();\n let items: any[];\n let totalCount: number;\n if (Array.isArray(result)) {\n items = result;\n totalCount = result.length;\n } else {\n items = result.items;\n totalCount = result.totalCount;\n }\n if (this.dataSourceSuccessCallback) {\n if (!this.loadOnInit) {\n this.dataSourceSuccessCallback({\n rowData: [],\n rowCount: 0,\n });\n } else {\n this.dataSourceSuccessCallback({\n rowData: items,\n rowCount: totalCount,\n });\n }\n } else {\n if (!this.loadOnInit && this.gridApi !== undefined) {\n this.gridApi.setGridOption('rowData', []);\n } else if (this.gridApi !== undefined) {\n this.gridApi.setGridOption('rowData', items);\n }\n }\n\n if (this.autoNavigatePage) {\n this.paginationGoToPage(this.currentPage);\n }\n this.gridSelectRow();\n });\n\n this.dataSource.onFetchStart.subscribe(() => {\n this.showLoading();\n });\n\n if (this.searchInput) {\n this.searchInput.onValueChanged.subscribe((c) => {\n this.searchText = c.value;\n });\n }\n this.cdr.detectChanges();\n }\n\n mapColumns() {\n this.columnDefs = this.columns.map((c) => c.render());\n if (this.gridDetailTemplate) {\n if (\n this.columnDefs[0].checkboxSelection === true &&\n this.columnDefs[0].field === ''\n ) {\n this.columnDefs[1].cellRenderer = 'agGroupCellRenderer';\n } else {\n this.columnDefs[0].cellRenderer = 'agGroupCellRenderer';\n }\n }\n\n if (this.hasChildField === 'null') {\n const groupColumn = this.columnDefs.find(\n (c) => c.rowGroupIndex === undefined && c.field !== ''\n );\n if (groupColumn && this.groupHideOpenParents == false) {\n this.autoGroupColumnDef = {\n headerName: groupColumn.headerName,\n width: groupColumn.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: groupColumn.field,\n };\n }\n }\n\n this.columnDefs.forEach((elm) => {\n if (elm.rowGroupIndex > -1) {\n elm.hide = true;\n }\n });\n }\n\n displayedColumnsChanged(e) {\n if (this.hasChildField === 'null') {\n const ee = e.columnApi.getAllDisplayedColumnGroups();\n const eee = ee.find(\n (c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0'\n );\n if (eee && eee.colId) {\n this.autoGroupColumnDef = {\n headerName: eee.colDef.headerName,\n width: eee.colDef.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: eee.colDef.field,\n };\n }\n }\n }\n\n refresh(route: any[] = []) {\n if (this.remoteOperation && this.gridApi !== undefined) {\n // this.gridApi.purgeServerSideCache(route);\n this.gridApi.setGridOption(\n 'serverSideDatasource',\n this.intenalGridDataSource\n );\n } else {\n this.dataSource.fetch(null);\n }\n }\n\n internalGridCellClicked(e: CellClickedEvent) {\n this.cellClick.emit({\n data: this.mapCellEvent(e),\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n internalGridCellDoubleClicked(e: CellClickedEvent) {\n this.cellDbClick.emit({\n data: this.mapCellEvent(e),\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n internalGridCellFocused(e: CellClickedEvent) {\n this.cellFocuse.emit({\n data: this.mapCellEvent(e),\n htmlElement: this.ref.nativeElement,\n component: this,\n });\n }\n\n internalGridRowClicked(e: RowClickedEvent) {\n if (!e.node.group) {\n this.rowClick.emit({\n data: this.mapRowEvent(e),\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n }\n\n internalGridRowDoubleClicked(e: CellClickedEvent) {\n if (!e.node.group) {\n this.rowDbClick.emit({\n data: this.mapRowEvent(e),\n htmlElement: this.ref.nativeElement,\n component: this,\n });\n }\n }\n\n differenceOf2Arrays(array1: any, array2: any) {\n const temp = [];\n for (const i in array1) {\n if (array2.indexOf(array1[i]) === -1) {\n temp.push(array1[i]);\n }\n }\n for (const i in array2) {\n if (array1.indexOf(array2[i]) === -1) {\n temp.push(array2[i]);\n }\n }\n return temp.sort((a, b) => a - b);\n }\n\n rowSelectionChanged(e) {\n if (e.node.selected == true) {\n this.selectRow = this.selectRow.filter(\n (c) => c[this.keyField] != e.data[this.keyField]\n );\n this.selectRow.push(e.data);\n } else {\n this.selectRow = this.selectRow.filter(\n (c) => c[this.keyField] != e.data[this.keyField]\n );\n }\n this.rowSelectionChange.emit({\n component: this,\n data: e,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n internalGridSelectionChanged(e) {\n const args: AXGridRowSelectionEvent = { items: [] };\n const oldNodes = this.oldSelectionNodes;\n const nodes = this.gridApi.getSelectedNodes();\n\n if (this.autoExpand) {\n const unselectedNodes = oldNodes.filter(\n (oldNode) => !nodes.some((newNode) => newNode === oldNode)\n );\n unselectedNodes.forEach((el) => {\n el.setExpanded(false);\n });\n }\n\n nodes.forEach((i) => {\n if (this.autoExpand) {\n i.setExpanded(true);\n }\n args.items.push({\n rowLevel: i.level,\n rowIndex: i.rowIndex,\n data: i.data,\n });\n });\n this.selectionChanged.emit({\n data: args,\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n let action = nodes.length > oldNodes.length ? true : false;\n const node = this.differenceOf2Arrays(nodes, oldNodes);\n this.onRowSelectionChanged.emit({\n component: this,\n selected: action,\n data: node,\n htmlElement: this.ref.nativeElement,\n });\n this.oldSelectionNodes = nodes;\n }\n\n private mapCellEvent(e: CellEvent): AXGridCellEvent {\n return {\n rowLevel: 0,\n column: e.column,\n data: e.data,\n rowIndex: e.rowIndex,\n value: e.value,\n };\n }\n\n private mapRowEvent(e: RowEvent): AXGridRowEvent {\n return {\n rowLevel: 0,\n data: e.data,\n rowIndex: e.rowIndex,\n };\n }\n\n public deselectAll() {\n this.gridApi.deselectAll();\n }\n\n public deselectByKeyField(keyField) {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n if (node.data[this.keyField] === keyField) {\n node.setSelected(select);\n this.selectRow = this.selectRow.filter(\n (c) => c[this.keyField] != keyField\n );\n }\n }\n });\n }\n\n internalGetRowClass = (p: any) => {\n if (this.rowClass) {\n if (this.rowClass instanceof Function) {\n return this.rowClass({\n rowIndex: p.node.rowIndex,\n rowLevel: p.node.level,\n data: p.data,\n });\n } else {\n return this.rowClass;\n }\n }\n };\n\n showLoading(): void {\n if (this.gridApi) {\n this.gridApi.showLoadingOverlay();\n }\n }\n\n hideLoading(): void {\n if (this.gridApi) {\n this.gridApi.hideOverlay();\n }\n }\n\n internalGridSizeChanged(e: GridSizeChangedEvent) {\n if (e.clientWidth > 0 && e.clientHeight > 0) {\n this.performSizeColumnsToFit(e.api);\n }\n }\n\n internalGridFirstDataRendered(e: FirstDataRenderedEvent) {\n this.performSizeColumnsToFit(e.api);\n this.headerHeightSetter();\n }\n\n handleColumnResized(e) {\n this.headerHeightSetter();\n }\n\n private performSizeColumnsToFit(api: GridApi) {\n if (this.sizeColumnsToFit) {\n api.sizeColumnsToFit();\n }\n }\n\n private headerHeightSetter() {\n const padding = 20;\n const height = this.headerHeightGetter() + padding;\n this.gridApi.setGridOption('headerHeight', height);\n }\n\n private headerHeightGetter() {\n const columnHeaderTexts = [\n ...(document.querySelectorAll('.ag-header-cell-text') as any),\n ];\n\n const clientHeights = columnHeaderTexts.map(\n (headerText) => headerText.clientHeight\n );\n const tallestHeaderTextHeight = Math.max(...clientHeights);\n\n return tallestHeaderTextHeight;\n }\n\n private makeRefreshBtn() {\n const pagingPanel =\n this.ref.nativeElement.querySelector('.ag-paging-panel');\n\n const refBtn = document.createElement('span');\n\n refBtn.classList.add('far');\n refBtn.classList.add('fa-sync');\n\n refBtn.style.cursor = 'pointer';\n\n refBtn.title = AXTranslator.get('common.refresh');\n\n refBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n this.refresh();\n });\n\n pagingPanel.appendChild(refBtn);\n }\n\n private handleNextBtnClick() {\n const nextPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btNext\"]'\n ) as HTMLElement;\n\n nextPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n\n private handleBackBtnClick() {\n const backPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btPrevious\"]'\n ) as HTMLElement;\n\n backPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n\n private handleLastBtnClick() {\n const backPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btLast\"]'\n ) as HTMLElement;\n\n backPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n\n private handleFitstBtnClick() {\n const backPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btFirst\"]'\n ) as HTMLElement;\n\n backPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n}\n","<div class=\"ax-grid-toolbar\" *ngIf=\"toolbar\">\n <ng-content select=\"ax-toolbar\"></ng-content>\n</div>\n<!-- [enableSorting]=\"true\" [enableColResize]=\"true\" [enableFilter]=\"allowFiltering\" -->\n\n<ag-grid-angular\n *ngIf=\"gridView\"\n class=\"ag-theme-balham\"\n [getRowClass]=\"internalGetRowClass\"\n [suppressCopyRowsToClipboard]=\"true\"\n [enableRangeSelection]=\"enableRangeSelection\"\n [serverSideStoreType]=\"'partial'\"\n [style.height]=\"internalHeight\"\n [columnDefs]=\"columnDefs\"\n [enableRtl]=\"rtl\"\n [pagination]=\"pagination\"\n [rowGroupPanelShow]=\"rowGroupPanelShow\"\n [rowModelType]=\"rowModelType\"\n [detailRowHeight]=\"detailRowHeight\"\n [rowHeight]=\"rowHeight\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [suppressMenuHide]=\"true\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [frameworkComponents]=\"frameworkComponents\"\n [isFullWidthCell]=\"isFullWidthCell\"\n [rowSelection]=\"selectionMode\"\n [rowMultiSelectWithClick]=\"rowMultiSelectWithClick\"\n [fullWidthCellRendererFramework]=\"fullWidthCellRendererFramework\"\n [cacheBlockSize]=\"cacheBlockSize\"\n [fullWidthCellRendererParams]=\"fullWidthCellRendererParams\"\n (columnResized)=\"handleColumnResized($event)\"\n (cellClicked)=\"internalGridCellClicked($event)\"\n (cellDoubleClicked)=\"internalGridCellDoubleClicked($event)\"\n (cellFocused)=\"internalGridCellFocused($event)\"\n (rowClicked)=\"internalGridRowClicked($event)\"\n (selectionChanged)=\"internalGridSelectionChanged($event)\"\n (rowSelected)=\"rowSelectionChanged($event)\"\n (rowDoubleClicked)=\"internalGridRowDoubleClicked($event)\"\n (gridReady)=\"internalGridReady($event)\"\n [groupSelectsChildren]=\"groupSelectsChildren\"\n [suppressRowClickSelection]=\"suppressRowClickSelection\"\n [groupSelectsFiltered]=\"true\"\n [suppressCellSelection]=\"suppressCellSelection\"\n [autoGroupColumnDef]=\"autoGroupColumnDef\"\n [suppressAggFuncInHeader]=\"true\"\n [treeData]=\"treeData\"\n [animateRows]=\"true\"\n [isServerSideGroup]=\"isServerSideGroup\"\n [getServerSideGroupKey]=\"getServerSideGroupKey\"\n [masterDetail]=\"masterDetail\"\n [detailCellRendererParams]=\"detailCellRendererParams\"\n [detailCellRenderer]=\"detailCellRenderer\"\n (gridSizeChanged)=\"internalGridSizeChanged($event)\"\n (firstDataRendered)=\"internalGridFirstDataRendered($event)\"\n [localeText]=\"localeText\"\n [groupHideOpenParents]=\"groupHideOpenParents\"\n [allowContextMenuWithControlKey]=\"false\"\n [getMainMenuItems]=\"getMainMenuItems\"\n>\n</ag-grid-angular>\n\n<!-- (displayedColumnsChanged)=\"displayedColumnsChanged($event)\" -->\n","import {\n AXButtonModule,\n AXCheckBoxModule,\n AXDataSourceModule,\n AXDatePickerModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n} from '@acorex/components';\nimport { AXCoreModule } from '@acorex/core';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AgGridModule } from 'ag-grid-angular';\nimport 'ag-grid-enterprise';\nimport {\n AXGridCheckColumn,\n BooleanFilterRenderer,\n BooleanRenderer,\n} from './columns/check-column.component';\nimport { AXColumnGroupComponent } from './columns/column-groups.component';\nimport {\n AXGridCommandColumn,\n CommandRenderer,\n} from './columns/command-column.component';\nimport {\n AXDatePickerFilterComponent,\n AXGridDateColumn,\n} from './columns/date-column.component';\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\nimport {\n AXGridTextColumn,\n TextFilterRenderer,\n} from './columns/text-column.component';\nimport { AXDataGridComponent } from './datagrid.component';\nimport { AXDataGridFilterComponent } from './filters/filter.component';\nimport {\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n} from './templates/cell-template.component';\nimport {\n AXDataGridDetailTemplateComponent,\n AXDataGridDetailTemplateRenderer,\n} from './templates/detail-template.component';\nimport {\n AXDataGridRowTemplateComponent,\n AXDataGridRowTemplateRenderer,\n} from './templates/row-template.component';\n\n@NgModule({\n declarations: [\n AXDataGridComponent,\n AXGridTextColumn,\n AXGridCheckColumn,\n AXGridSelectionColumn,\n AXGridDateColumn,\n AXGridRowNumberColumn,\n AXGridCommandColumn,\n BooleanRenderer,\n BooleanFilterRenderer,\n TextFilterRenderer,\n AXDataGridFilterComponent,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n AXDatePickerFilterComponent,\n CommandRenderer,\n AXColumnGroupComponent,\n ],\n imports: [\n CommonModule,\n AXCoreModule,\n FormsModule,\n //AgGridModule,\n AXTextBoxModule,\n AXCheckBoxModule,\n AXSelectBoxModule,\n AXDataSourceModule,\n AXButtonModule,\n AXDatePickerModule,\n AgGridModule,\n ],\n exports: [\n AXColumnGroupComponent,\n AXDataGridComponent,\n AXDataGridFilterComponent,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n AXGridTextColumn,\n AXGridRowNumberColumn,\n AXGridCheckColumn,\n AXGridDateColumn,\n AXGridSelectionColumn,\n AXGridCommandColumn,\n BooleanRenderer,\n BooleanFilterRenderer,\n CommandRenderer,\n ],\n providers: [],\n})\nexport class AXDataGridModule {}\n","import {\n AXBasePopupPageComponent,\n AXDataSourceComponent,\n AXMenuItemClickEvent,\n AXToolbarSearchComponent,\n} from '@acorex/components';\nimport { AXButtonItem, AXConfig, AXTranslator } from '@acorex/core';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\nimport { AXDataGridComponent } from '../../data-grid/datagrid.component';\n\n@Component({\n templateUrl: './data-lov-popup.component.html',\n})\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\n @ViewChild('grid', { static: true })\n grid: AXDataGridComponent;\n\n @ViewChild('searchBox')\n searchBox: AXToolbarSearchComponent;\n\n columns: AXGridDataColumn[] = [];\n\n selectedItems: any[] = [];\n\n keyField: string = '';\n allowNull: boolean = true;\n\n hasChildField: string;\n rtl: boolean = AXConfig.get('layout.rtl');\n\n selectedRows: any[] = [];\n pagination: boolean = true;\n\n paginationAutoPageSize: boolean;\n\n paginationPageSize: number;\n\n maxConcurrentDatasourceRequests: number;\n\n blockLoadDebounceMillis: number;\n\n paginationPageSizeSelector: number[] | boolean;\n\n constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\n super();\n }\n\n dataSource: AXDataSourceComponent;\n\n selectionMode: string;\n\n ngOnInit(): void {\n if (this.rtl == null) {\n this.rtl =\n window\n .getComputedStyle(this.ref.nativeElement, null)\n .getPropertyValue('direction') === 'rtl';\n }\n }\n\n onDoneClick() {\n if (this.selectedItems) {\n this.close(this.selectedItems);\n } else {\n this.close();\n }\n }\n\n rowDoubleClicked(e) {\n if (this.selectionMode == 'single') {\n this.selectedItems = [];\n }\n\n this.selectedItems = this.selectedItems.filter(\n (c) => c[this.keyField] != e.data.data[this.keyField]\n );\n this.selectedItems.push(e.data.data);\n\n this.onDoneClick();\n }\n\n onCancelClick() {\n this.close();\n }\n\n rowSelectionChange(e) {\n if (e.data.node.selected == true) {\n this.selectedItems = this.selectedItems.filter(\n (c) => c[this.keyField] != e.data.node.data[this.keyField]\n );\n this.selectedItems.push(e.data.node.data);\n } else {\n if (\n this.allowNull == true ||\n (this.allowNull == false && this.selectedItems.length > 1)\n ) {\n this.selectedItems = this.selectedItems.filter(\n (c) => c[this.keyField] != e.data.node.data[this.keyField]\n );\n }\n }\n }\n\n ngAfterViewInit() {\n this.selectedItems.forEach((ele) => {\n this.selectedRows.push(ele);\n });\n this.searchBox.focus();\n if (this.dataSource.onDataReceived) {\n this.dataSource.onDataReceived.subscribe((arg) => {\n this.cdr.markForCheck();\n this.cdr.detectChanges();\n });\n }\n }\n\n // onValueSearchChanged(e) {\n\n // const params: AXDataSourceReadParams = {}\n // params.searchText = e.value;\n // // params.take = 100;\n // // params.skip = 0\n // this.dataSource.fetch(params);\n // }\n\n getFooterButtons(): AXButtonItem[] {\n return [\n {\n text: AXTranslator.get('common.confirm'),\n name: 'confirm',\n style: 'ax primary',\n icon: 'far fa-check-circle',\n },\n {\n text: AXTranslator.get('common.cancel'),\n name: 'cancel',\n style: 'ax light',\n icon: 'far fa-times',\n },\n ];\n }\n\n onFooterButtonClick(e: AXMenuItemClickEvent) {\n if (e.name === 'confirm') {\n this.onDoneClick();\n }\n if (e.name === 'cancel') {\n this.onCancelClick();\n }\n }\n}\n","<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n >\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column\n *ngIf=\"selectionMode == 'single' ? false : true\"\n ></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>\n","import {\n AXBaseInputComponent,\n AXBaseSizableComponent,\n AXDataEvent,\n AXDataSourceComponent,\n AXElementSize,\n AXPopupService,\n AXSelectBoxComponent,\n AXValidatableComponent,\n AXValidation,\n} from '@acorex/components';\nimport { AXConfig } from '@acorex/core';\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\n\n@Component({\n selector: 'ax-lov',\n templateUrl: './data-lov.component.html',\n encapsulation: ViewEncapsulation.None,\n host: { style: 'width: 100%' },\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }],\n})\nexport class AXLOVComponent\n extends AXValidatableComponent\n implements AXBaseSizableComponent, AXBaseInputComponent\n{\n @ContentChild(AXValidation, { static: true })\n private _contentValidation: AXValidation;\n private _validation: AXValidation;\n\n @Input()\n public get validation(): AXValidation {\n return this._validation ? this._validation : this._contentValidation;\n }\n public set validation(v: AXValidation) {\n this._validation = v;\n }\n\n constructor(private popup: AXPopupService, private ref: ElementRef) {\n super();\n }\n\n @ViewChild('selectBox', { static: true })\n selectBox: AXSelectBoxComponent;\n\n @ContentChild(AXDataSourceComponent, { static: true })\n dataSource: AXDataSourceComponent;\n\n @ContentChildren(AXGridDataColumn)\n private columns: QueryList<AXGridDataColumn>;\n\n @ContentChild('itemTemplate', { static: true })\n rowTemplate: TemplateRef<any>;\n\n @Input()\n textField: string = '';\n\n @Input()\n allowSearch: boolean = true;\n\n @Input()\n valueField: string = '';\n\n @Input()\n hasChildField: string = 'null';\n\n @Input()\n allowNull: boolean = true;\n\n @Input()\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\n\n @Input()\n pagination: boolean = true;\n @Input()\n selectedItems: any[] = [];\n\n @Input()\n paginationAutoPageSize = false;\n\n @Input()\n paginationPageSize: number;\n\n // @Input()\n // selectedValues: any[] = [];\n\n @Input()\n maxConcurrentDatasourceRequests: number;\n\n @Input()\n blockLoadDebounceMillis: number;\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n chipsWidth: string = '';\n\n @Input()\n size: AXElementSize = 'md';\n\n @Input()\n caption: string;\n\n @Input()\n mode: 'single' | 'multiple' = 'single';\n\n @Input()\n placeholder: string;\n\n @Output()\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<\n AXDataEvent<any>\n >();\n\n @Input()\n rtl: boolean = AXConfig.get('layout.rtl');\n\n @Input() multiLine = false;\n\n @Input()\n paginationPageSizeSelector: number[] | boolean = [10, 20];\n\n focus(): void {\n this.selectBox.focus();\n }\n\n refresh() {\n this.selectBox.refresh();\n }\n\n handleButtonClick() {\n this.open();\n }\n\n ngOnInit(): void {\n if (this.rtl == null) {\n this.rtl =\n window\n .getComputedStyle(this.ref.nativeElement, null)\n .getPropertyValue('direction') === 'rtl';\n }\n // this.selectVal = this.selectedValues;\n this.onSelectionChange.subscribe((c) => {\n this.clearValidationStyle(this.ref.nativeElement);\n });\n }\n\n ngAfterContentInit(): void {\n this.initValidation(this.ref, 'selectedItems', this.validation);\n }\n\n handleSelectChange(e) {\n this.onSelectionChange.emit({\n data: this.selectedItems,\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n public open(): Promise<any> {\n return new Promise((resolve) => {\n this.selectBox.dropdown.close();\n this.popup\n .open(AXDataLovPopupComponent, {\n size: this.popupSize,\n // closable: false,\n data: {\n dataSource: this.dataSource,\n selectionMode: this.mode,\n columns: this.columns.toArray(),\n // selectedItems: this.selectedValues,\n selectedItems: this.selectedItems,\n keyField: this.valueField,\n allowNull: this.allowNull,\n hasChildField: this.hasChildField,\n rtl: this.rtl,\n pagination: this.pagination,\n paginationAutoPageSize: this.paginationAutoPageSize,\n paginationPageSize: this.paginationPageSize,\n maxConcurrentDatasourceRequests:\n this.maxConcurrentDatasourceRequests,\n blockLoadDebounceMillis: this.blockLoadDebounceMillis,\n paginationPageSizeSelector: this.paginationPageSizeSelector,\n },\n title: this.caption,\n // size: this.size,\n })\n .then((c) => {\n if (c.data) {\n // this.selectedValues = [];\n this.selectedItems = [];\n c.data.forEach((elm) => {\n this.selectedItems.push(elm);\n });\n // this.selectedItems = c.data;\n // this.selectBox.refresh();\n this.onSelectionChange.emit({\n data: this.selectedItems,\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n if (resolve) {\n resolve(c.data);\n }\n } else {\n if (resolve) {\n resolve(this.selectedItems);\n }\n }\n\n this.selectBox.refresh();\n });\n });\n }\n}\n","<ax-select-box\n [rowInputTemplate]=\"rowTemplate\"\n [multiLine]=\"multiLine\"\n [rtl]=\"rtl\"\n [allowSearch]=\"allowSearch\"\n #selectBox\n [showDropDownButton]=\"false\"\n [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\"\n [placeholder]=\"placeholder\"\n [size]=\"size\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [disabled]=\"disabled\"\n [mode]=\"mode\"\n [(selectedItems)]=\"selectedItems\"\n (selectionChanged)=\"handleSelectChange($event)\"\n [dataSource]=\"dataSource\"\n>\n <ng-container start>\n <ng-content select=\"[start]\"> </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button\n icon=\"far fa-bars icon\"\n [disabled]=\"disabled\"\n type=\"light blank\"\n (click)=\"handleButtonClick()\"\n end\n [tabIndex]=\"-1\"\n >\n </ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </ng-container>\n</ax-select-box>\n\n<!-- <ax-select-box2 [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [selectionMode]=\"mode\" (onValueChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\"\n [(value)]=\"selectedItems\" selectionDataMode=\"item\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"primary blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box2> -->\n\n<!-- <div class=\"ax-lov-box\" [style.display]=\"mode=='hidden' ? 'none':'unset'\">\n <div class=\"ax-field-set\">\n <div class=\"ax-field-set-wrapper\" [ngClass]=\"{ 'no-label': !label }\">\n <fieldset [ngClass]=\"{ 'input-focused': isFocused, 'input-error': errorText }\">\n <legend *ngIf=\"label\">\n {{ label }}\n </legend>\n </fieldset>\n <input type=\"text\" [(ngModel)]=\"text\" [placeholder]=\"placeholder\" (keyup)=\"handleKeyEvent($event)\"\n (blur)=\"handleBlurEvent($event)\" (focus)=\"handleFocusEvent($event)\" class=\"ax-text-box\" disabled />\n <div class=\"ax-field-set-button\">\n <button *ngIf=\"text && allowClear\" type=\"button\" class=\"btn btn-light\" (click)=\"clearText()\">\n <i class=\"far fa-times\"></i>\n </button>\n <button type=\"button\" class=\" btn btn-primary\" (click)=\"handleButtonClick($event)\">\n <i class=\"far fa-check-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"validation-text\" *ngIf=\"errorText\">\n {{ errorText }}\n </div>\n\n</div> -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLOVComponent } from './data-lov.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\n\n\n@NgModule({\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\n exports: [AXLOVComponent, AXDataLovPopupComponent],\n providers: []\n})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXDataGridFilterComponent","i2.AXDataGridComponent","i3.AXGridSelectionColumn","i4"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-data-grid.mjs","sources":["../../../../libs/data-grid/src/lib/data-grid/templates/cell-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column.component.ts","../../../../libs/data-grid/src/lib/data-grid/filters/filter.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/check-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column-groups.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/command-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/date-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/selection-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/text-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/row-number-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/detail-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/row-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.html","../../../../libs/data-grid/src/lib/data-grid/datagrid.module.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.module.ts","../../../../libs/data-grid/src/acorex-data-grid.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'ax-cell-template',\n template: `<ng-content></ng-content>\n `\n})\n\nexport class AXDataGridCellTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridCellTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n}\n\n@Component({\n template: `\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\n </ng-container>\n `\n})\n\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\n rowData: any;\n templateRef: TemplateRef<any>;\n\n constructor() { }\n\n agInit(params: ICellRendererParams): void {\n this.rowData = params.data;\n this.templateRef = (params as any).templateRef;\n }\n\n refresh(params: ICellRendererParams): boolean {\n this.rowData = params.data;\n return true;\n }\n}","import { AXConfig } from '@acorex/core';\nimport { ContentChild, Directive, Input } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\n\n@Directive()\nexport abstract class AXGridDataColumn {\n @ContentChild(AXDataGridCellTemplateComponent)\n cellTemplate: AXDataGridCellTemplateComponent;\n\n @Input()\n width: number = 100;\n\n @Input()\n maxWidth: number;\n\n @Input()\n minWidth: number;\n\n @Input()\n pinned: 'start' | 'end' | null = null;\n\n @Input()\n allowSorting: boolean = true;\n\n @Input()\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;\n\n @Input()\n cellClass: (\n params: AXGridCellParams\n ) => (string | string[]) | (string | string[]);\n\n @Input()\n sort: 'asc' | 'desc' | null = null;\n\n @Input()\n field: string = '';\n\n @Input()\n caption: string = '';\n\n @Input()\n cellRendererParams: any;\n\n @Input()\n checkbox: boolean = false;\n\n @Input()\n headerCheckbox: boolean = false;\n\n @Input()\n groupIndex: number = -1;\n\n @Input()\n treeIndex: number = -1;\n\n @Input()\n enableRowGroup: boolean = false;\n\n @Input()\n hide: boolean = false;\n\n @Input()\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\n\n @Input()\n disableMenu: boolean = false;\n\n @Input()\n resizable: boolean = true;\n\n @Input()\n menuColumnDisable: boolean = false;\n\n @Input()\n menuItemDisable: boolean = false;\n\n @Input()\n columnGroupShow: 'open' | 'closed';\n\n @Input()\n wrapText = false;\n\n constructor() {}\n\n render(): any {\n const col: any = {\n field: this.field,\n width: this.width,\n };\n col.resizable = this.resizable;\n col.suppressHeaderMenuButton = this.disableMenu;\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab'];\n col.floatingFilter = this.floatingFilter;\n\n if (this.wrapText) {\n col.wrapText = true;\n\n col.autoHeight = true;\n\n col.wrapHeaderText = true;\n\n col.autoHeaderHeight = true;\n }\n\n if (!this.allowFiltering) {\n col.filter = false;\n col.menuTabs = col.menuTabs.filter((c) => c != 'filterMenuTab');\n col.floatingFilter = false;\n }\n if (this.menuColumnDisable == true) {\n col.menuTabs = col.menuTabs.filter((c) => c != 'columnsMenuTab');\n }\n if (this.menuItemDisable == true) {\n col.menuTabs = col.menuTabs.filter((c) => c != 'generalMenuTab');\n }\n if (this.caption) {\n col.headerName = this.caption;\n }\n if (this.minWidth) {\n col.minWidth = this.minWidth;\n }\n if (this.maxWidth) {\n col.maxWidth = this.maxWidth;\n }\n if (this.pinned) {\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\n // TODO: Change based on layout\n }\n if (this.allowSorting) {\n col.sortable = this.allowSorting;\n }\n if (this.sort) {\n col.sort = this.sort;\n }\n\n if (this.groupIndex >= 0) {\n col.rowGroupIndex = this.groupIndex;\n col.rowGroup = true;\n this.enableRowGroup = true;\n }\n\n if (this.treeIndex >= 0) {\n col.rowGroupIndex = this.treeIndex;\n col.rowGroup = false;\n }\n if (this.hide) {\n col.hide = true;\n }\n if (this.enableRowGroup) {\n col.enableRowGroup = this.enableRowGroup;\n }\n\n if (this.cellClass) {\n const THAT = this;\n if (this.cellClass instanceof Function) {\n col.cellClass = (p) => {\n return THAT.cellClass({\n column: THAT,\n rowIndex: p.node.rowIndex,\n rowLevel: p.node.level,\n data: p.data,\n value: p.value,\n });\n };\n } else {\n col.cellClass = this.cellClass;\n }\n }\n //\n if (this.cellTemplate != null) {\n col.cellRenderer = this.cellTemplate.renderer;\n col.cellRendererParams = this.cellTemplate.params;\n }\n\n if (this.columnGroupShow) {\n col.columnGroupShow = this.columnGroupShow;\n }\n\n if (this.checkbox) {\n col.checkboxSelection = (params) => {\n return true;\n };\n // col.headerCheckboxSelection = this.headerCheckbox;\n }\n return col;\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n selector: 'ax-data-grid-filter',\n template: `\n <div class='ax-grid-filter-container'>\n <ng-content></ng-content>\n <div class='btn-group' role='group'>\n <button type='button' class='btn btn-primary btn-sm'>\n <i class='fas fa-filter'></i>\n </button>\n <button type='button' class='btn btn-danger btn-sm'>\n <i class='fas fa-trash-alt'></i>\n </button>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDataGridFilterComponent {}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\nimport {\n ICellRendererParams,\n IFilterParams,\n RowNode,\n IDoesFilterPassParams,\n IAfterGuiAttachedParams,\n} from 'ag-grid-community';\n\n@Component({\n selector: 'ax-check-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXGridCheckColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n render() {\n const col = super.render();\n if (!col.cellRenderer) {\n col.cellRenderer = BooleanRenderer;\n }\n if (this.allowFiltering) {\n col.filterFramework = BooleanFilterRenderer;\n }\n return col;\n }\n}\n\n@Component({\n template: ` <ax-check-box [value]=\"value\" readonly=\"true\"></ax-check-box> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BooleanRenderer implements ICellRendererAngularComp {\n value: boolean;\n constructor() {}\n agInit(params: ICellRendererParams): void {\n this.value = params.value;\n }\n refresh(params: ICellRendererParams): boolean {\n this.value = params.value;\n return true;\n }\n}\n\n@Component({\n template: `\n <ax-data-grid-filter>\n <ax-select-box label=\"Select Box\" [items]=\"selectItem\"></ax-select-box>\n </ax-data-grid-filter>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BooleanFilterRenderer implements IFilterAngularComp {\n public value?: boolean = null;\n private params: IFilterParams;\n private valueGetter: (rowNode: RowNode) => any;\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\n\n selectItem = [\n { value: 0, label: 'True' },\n { value: 1, label: 'False' },\n ];\n agInit(params: IFilterParams): void {\n this.params = params;\n this.valueGetter = params.valueGetter as any;\n }\n\n isFilterActive(): boolean {\n return this.value !== null && this.value !== undefined;\n }\n\n doesFilterPass(params: IDoesFilterPassParams | any): boolean {\n return this.value === this.valueGetter(params.node);\n }\n\n getModel(): any {\n return { value: this.value };\n }\n\n setModel(model: any): void {\n this.value = model ? model.value : null;\n }\n\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\n window.setTimeout(() => {\n this.input.element.nativeElement.focus();\n });\n }\n\n onChange(newValue): void {\n if (this.value !== newValue) {\n this.value = newValue;\n this.params.filterChangedCallback();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n QueryList,\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\n\n@Component({\n selector: 'ax-column-group',\n template: '<ng-content></ng-content>',\n providers: [\n { provide: AXGridDataColumn, useExisting: AXColumnGroupComponent },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXColumnGroupComponent extends AXGridDataColumn {\n @ContentChildren(AXGridDataColumn)\n columns: QueryList<AXGridDataColumn>;\n\n render() {\n const col = super.render();\n col.children = [];\n this.columns.forEach((elm) => {\n col.children.push(elm.render());\n });\n return col;\n }\n}\n","import { AXMenuItem } from '@acorex/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\nimport { AXGridRowCommandEvent } from '../datagrid.events';\nimport { AXGridDataColumn } from './column.component';\n\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\n\n@Component({\n selector: 'ax-command-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXGridCommandColumn extends AXGridDataColumn {\n @Input()\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\n\n @Output()\n onItemClick: EventEmitter<AXGridRowCommandEvent> =\n new EventEmitter<AXGridRowCommandEvent>();\n\n render() {\n const col = super.render();\n if (!col.cellRenderer) {\n col.cellRenderer = CommandRenderer;\n }\n col.cellRendererParams = {\n items: this.items,\n onClick: (e) => {\n this.onItemClick.emit({\n command: e.name,\n data: e.data,\n rowIndex: e.rowIndex,\n rowLevel: e.rowLevel,\n htmlEvent: e.htmlEvent,\n });\n },\n };\n col.sortable = false;\n col.filter = false;\n col.valueGetter = (params) => {\n return this.items;\n };\n return col;\n }\n}\n\n@Component({\n selector: 'ax-command-cell',\n template: `\n <ng-container *ngFor=\"let item of items; let i = index\">\n <button\n *ngIf=\"item.visible !== false\"\n class=\"ax button md ax-grid-command-button {{\n item.style || 'ax primary blank'\n }}\"\n [class.disabled]=\"item.disable\"\n type=\"button\"\n [title]=\"item.tooltip\"\n [attr.tabindex]=\"i\"\n (click)=\"onClick(item, $event)\"\n >\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\n </button>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CommandRenderer implements ICellRendererAngularComp {\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\n node: any;\n private clickCallback: Function;\n\n constructor() {}\n\n agInit(params: ICellRendererParams): void {\n this.mapParams(params);\n }\n\n refresh(params: ICellRendererParams): boolean {\n this.mapParams(params);\n return true;\n }\n\n private mapParams(params: any) {\n this.node = params.node;\n this.items =\n typeof params.items == 'function'\n ? params.items({ data: this.node.data })\n : Array.isArray(params.items)\n ? params.items\n : [];\n this.clickCallback = params.onClick;\n }\n\n onClick(item: AXMenuItem, e: MouseEvent) {\n if (this.clickCallback && !item.disable) {\n this.clickCallback({\n name: item.name,\n rowLevel: this.node.level,\n rowIndex: this.node.rowIndex,\n data: this.node.data,\n htmlEvent: e,\n });\n }\n }\n}\n","\nimport {\n Component,\n ChangeDetectionStrategy,\n Input,\n ViewEncapsulation,\n ViewChild,\n ElementRef\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\nimport { AXDatePickerComponent } from '@acorex/components';\n@Component({\n selector: 'ax-date-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridDateColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n @Input()\n format: string;\n\n @Input()\n type: AXCalendarType = AXConfig.get('dateTime.type');\n\n render() {\n const col = super.render();\n col.cellRendererParams = {\n format: this.format,\n };\n\n col.comparator = (valueA: any, valueB: any) => {\n const date1 = AXDateTime.convert(valueA);\n const date2 = AXDateTime.convert(valueB);\n //\n if (date1 === null && date2 === null) {\n return 0;\n }\n if (date1 === null) {\n return -1;\n }\n if (date2 === null) {\n return 1;\n }\n return (date1.date.getTime() - date2.date.getTime());\n };\n\n col.valueFormatter = (params) => {\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\n if (date) {\n return date.format(this.format);\n }\n else {\n return null;\n }\n };\n col.filter = 'agDateColumnFilter';\n // col.floatingFilter = true;\n return col;\n }\n}\n\n@Component({\n selector: 'ax-data-picker-filter',\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\n </ax-date-picker>`,\n host: { },\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDatePickerFilterComponent {\n @ViewChild(AXDatePickerComponent)\n datePicker: AXDatePickerComponent;\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\n selectableHoliday: boolean = false;\n type: string = 'jalali';\n date: Date;\n params: any;\n picker: any;\n\n\n agInit(params: any): void {\n this.params = params;\n }\n\n ngAfterViewInit() {\n\n }\n ngOnDestroy() {\n }\n\n onDateChanged(selectedDates) {\n //this.date = selectedDates[0] || null;\n this.params.onDateChanged();\n }\n\n getDate(): Date {\n return this.date;\n }\n\n setDate(date: Date): void {\n this.date = date || null;\n //this.picker.setDate(date);\n }\n\n setInputPlaceholder(placeholder: string): void {\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\n }\n onValueChanged(e) {\n\n this.setDate(e.value);\n this.onDateChanged(e.value);\n }\n\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ax-selection-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridSelectionColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n @Input()\n condition: (params) => boolean;\n\n @Input()\n pinned: 'start' | 'end' = 'start';\n\n @Input()\n width: number = 40;\n\n render() {\n const col = super.render();\n col.checkboxSelection = this.condition ? this.condition : true;\n // col.headerCheckboxSelection = true;\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\n col.filter = false;\n col.resizable = true;\n col.sortable = false;\n col.minWidth = 5;\n col.width = this.width;\n col.floatingFilter = false;\n return col;\n }\n}\n","import { AXGridDataColumn } from './column.component';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewContainerRef,\n ViewChild,\n} from '@angular/core';\nimport {\n IFilterParams,\n RowNode,\n IDoesFilterPassParams,\n IAfterGuiAttachedParams,\n} from 'ag-grid-community';\nimport { IFilterAngularComp } from 'ag-grid-angular';\nimport { AXTextBoxComponent } from '@acorex/components';\n\n@Component({\n selector: 'ax-text-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXGridTextColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n render() {\n const col = super.render();\n // if (this.allowFiltering) {\n // col.filterFramework = TextFilterRenderer;\n // }\n col.filter = 'agTextColumnFilter';\n return col;\n }\n}\n\n@Component({\n template: `\n <ax-data-grid-filter>\n <ax-text-box\n label=\"Filter\"\n allowClear=\"true\"\n (textChange)=\"onChange($event)\"\n >\n </ax-text-box>\n </ax-data-grid-filter>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextFilterRenderer implements IFilterAngularComp {\n public value?: string = null;\n private params: IFilterParams;\n private valueGetter: (rowNode: RowNode) => any;\n @ViewChild(AXTextBoxComponent, { static: true })\n private input: AXTextBoxComponent;\n\n agInit(params: IFilterParams): void {\n this.params = params;\n this.valueGetter = params.valueGetter as any;\n }\n\n isFilterActive(): boolean {\n return this.value !== null && this.value !== undefined;\n }\n\n doesFilterPass(params: IDoesFilterPassParams | any): boolean {\n return this.value === this.valueGetter(params.node);\n }\n\n getModel(): any {\n return { value: this.value };\n }\n\n setModel(model: any): void {\n this.onChange(model ? model.value : null);\n }\n\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\n window.setTimeout(() => {\n this.input.focus();\n });\n }\n\n onChange(newValue): void {\n if (this.value !== newValue) {\n this.value = newValue;\n if (this.value === '') {\n this.value = null;\n }\n this.params.filterChangedCallback();\n }\n }\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AXConfig } from '@acorex/core';\n\n@Component({\n selector: 'ax-row-number-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridRowNumberColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridRowNumberColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n @Input()\n condition: (params) => boolean;\n\n render() {\n const col = super.render();\n // col.checkboxSelection = this.condition ? this.condition : true;\n // col.headerCheckboxSelection = true;\n\n (col.headerName = this.caption ? this.caption : AXConfig.get('layout.rtl') ? 'ردیف' : 'Row'),\n (col.valueGetter = 'node.rowIndex + 1'),\n (col.pinned = this.pinned == null ? null : this.pinned === 'start' ? 'right' : 'left'),\n (col.filter = false);\n col.resizable = true;\n col.sortable = false;\n col.width = this.width;\n\n return col;\n }\n}\n","import { Component, ContentChild, TemplateRef, Input, ChangeDetectorRef } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\n@Component({\n selector: 'ax-grid-detail-template',\n template: `<ng-content></ng-content>`\n})\n\nexport class AXDataGridDetailTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridDetailTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n\n @Input()\n height: number = 100;\n}\n\n@Component({\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\n})\n\nexport class AXDataGridDetailTemplateRenderer implements ICellRendererAngularComp {\n\n refresh(params: any): boolean {\n return false;\n }\n\n templateRef: TemplateRef<any>;\n data: any;\n\n agInit(params: any): void {\n this.data = params.data;\n this.templateRef = params.templateRef;\n }\n}","import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\n@Component({\n selector: 'ax-row-template',\n template: `<ng-content></ng-content>`\n})\n\nexport class AXDataGridRowTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridRowTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n}\n\n@Component({\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\n})\n\nexport class AXDataGridRowTemplateRenderer implements ICellRendererAngularComp {\n\n templateRef: TemplateRef<any>;\n\n data: any;\n\n refresh(params: any): boolean {\n return false;\n }\n\n agInit(params: any): void {\n this.data = params.data.callRecords;\n this.templateRef = params.templateRef;\n }\n}","import {\n AXDataSourceComponent,\n AXDataSourceReadParams,\n} from '@acorex/components';\nimport {\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n CellClickedEvent,\n CellEvent,\n FirstDataRenderedEvent,\n GridApi,\n GridOptions,\n GridSizeChangedEvent,\n RowClickedEvent,\n RowEvent,\n} from 'ag-grid-community';\nimport { AXGridDataColumn } from './columns/column.component';\n\nimport { ViewEncapsulation } from '@angular/core';\nimport { LicenseManager } from 'ag-grid-enterprise';\nimport {\n AXGridCellEvent,\n AXGridRowEvent,\n AXGridRowParams,\n AXGridRowSelectionEvent,\n} from './datagrid.events';\n\nimport {\n AXDataEvent,\n AXToolbarComponent,\n AXToolbarSearchComponent,\n AXValueEvent,\n} from '@acorex/components';\nimport { AXConfig, AXTranslator } from '@acorex/core';\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\nimport {\n AXDataGridDetailTemplateComponent,\n AXDataGridDetailTemplateRenderer,\n} from './templates/detail-template.component';\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\n\nLicenseManager.prototype.isDisplayWatermark = () => {\n return false;\n};\nLicenseManager.prototype.validateLicense = function () {\n //console.info('Cracked by Arash Oshnoudi!');\n};\n\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<\n AXGridDataColumn[]\n> {\n declare component: AXDataGridComponent;\n}\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\n declare component: AXDataGridComponent;\n}\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\n declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\n declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\n declare component: AXDataGridComponent;\n declare selected: boolean;\n}\n\n@Component({\n selector: 'ax-data-grid',\n templateUrl: './datagrid.component.html',\n encapsulation: ViewEncapsulation.None,\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXDataGridComponent {\n private gridApi;\n private dataSourceSuccessCallback;\n localeText: any;\n\n gridOptions: GridOptions;\n columnDefs: any[] = [];\n rowModelType = 'clientSide';\n fullWidthCellRendererFramework: any;\n fullWidthCellRendererParams: any;\n frameworkComponents: any = {};\n isFullWidthCell: Function;\n internalHeight = '100%';\n detailCellRenderer: any;\n detailCellRendererParams: any;\n detailRowHeight: number;\n masterDetail = false;\n treeData = false;\n enabelSelect = false;\n gridView = false;\n groupSelectsChildren = false;\n oldSelectionNodes: any[] = [];\n autoGroupColumnDef: any = {};\n currentPage = 1;\n\n @Input()\n paginationPageSizeSelector: number[] | boolean = [10, 20];\n\n @Input()\n paginationAutoPageSize = false;\n\n @Input()\n paginationPageSize = 20;\n\n cacheBlockSize = this.paginationPageSize;\n\n @Input()\n public remoteOperation = false;\n\n @Input()\n public rowMultiSelectWithClick = false;\n\n @Input()\n public suppressRowClickSelection = false;\n\n @Input()\n public suppressCellSelection = false;\n\n @Input()\n public sizeColumnsToFit = true;\n\n @Input()\n showCheckBox = true;\n\n @Input()\n floatingFilter = false;\n\n @Input()\n autoExpand = false;\n\n @Input()\n rowSelectableConditionField: string;\n\n @Input()\n selectionMode: 'single' | 'multiple' = 'single';\n\n @Input()\n pagination: boolean = true;\n\n @Input()\n selectRow: any[] = [];\n\n @Input()\n rowGroupPanelShow: 'always' | 'never' = 'never';\n\n @Input()\n loadOnInit: boolean = true;\n\n @Input()\n enableRangeSelection = false;\n\n @Input()\n keyField: string = 'null';\n\n @Input()\n hasChildField: string = 'null';\n\n @Input()\n rowHeight = 28;\n\n @Input()\n groupHideOpenParents: boolean = false;\n\n @Input()\n maxConcurrentDatasourceRequests: number;\n\n @Input()\n blockLoadDebounceMillis: number;\n\n @Input()\n showRefreshButton = true;\n\n @Input()\n autoNavigatePage = false;\n\n @Input()\n rowClass?: (\n params: AXGridRowParams\n ) => (string | string[]) | (string | string[]);\n\n @Input()\n rtl: boolean = AXConfig.get('layout.rtl');\n\n private _searchText: string;\n @Input()\n public get searchText(): string {\n return this._searchText;\n }\n public set searchText(v: string) {\n if (v !== this._searchText) {\n this._searchText = v;\n if (this.gridApi) {\n this.refresh();\n this.gridApi.setQuickFilter(this.searchText);\n }\n }\n }\n\n private _filter: any[];\n @Input()\n public get filter(): any[] {\n return this._filter;\n }\n public set filter(v: any[]) {\n if (v !== this._filter) {\n this._filter = v;\n this._filter.forEach((f) => {\n const fc = this.gridApi.getFilterInstance(f.field);\n if (fc) {\n const ff = fc.getFrameworkComponentInstance();\n ff.setModel(f);\n }\n });\n }\n }\n\n @ContentChildren(AXGridDataColumn)\n private _inlineColumns: QueryList<AXGridDataColumn>;\n\n @Output()\n columnsChange: EventEmitter<AXDataGridColumnsChangeEvent> =\n new EventEmitter<AXDataGridColumnsChangeEvent>();\n\n private _columns: AXGridDataColumn[] = [];\n @Input()\n public get columns(): AXGridDataColumn[] {\n return this._inlineColumns\n ? [...this._columns, ...this._inlineColumns.toArray()]\n : this._columns;\n }\n\n public set columns(val: AXGridDataColumn[]) {\n if (val && val.length) {\n let old = this._columns;\n this._columns = val;\n this.columnsChange.emit({\n component: this,\n value: val,\n oldValue: old,\n htmlElement: this.ref.nativeElement,\n });\n }\n }\n\n defaultColDef: any = {\n filter: true,\n floatingFilter: true,\n };\n\n @ContentChild(AXToolbarSearchComponent, { static: true })\n searchInput: AXToolbarSearchComponent;\n\n @ContentChild(AXToolbarComponent, { static: true })\n toolbar: AXToolbarComponent;\n\n @ContentChild(AXDataGridRowTemplateComponent, { static: true })\n rowTemplate: AXDataGridRowTemplateComponent;\n\n @ContentChild(AXDataGridDetailTemplateComponent, { static: true })\n gridDetailTemplate: AXDataGridDetailTemplateComponent;\n\n @ContentChild(AXDataSourceComponent, { static: true })\n private _contentDataSource: AXDataSourceComponent;\n\n private _dataSource: AXDataSourceComponent;\n\n @Input()\n public get dataSource(): AXDataSourceComponent {\n return this._dataSource ? this._dataSource : this._contentDataSource;\n }\n\n public set dataSource(v: AXDataSourceComponent) {\n this._dataSource = v;\n }\n\n @Output()\n cellClick: EventEmitter<AXDataGridCellEvent> =\n new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n cellDbClick: EventEmitter<AXDataGridCellEvent> =\n new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n cellFocuse: EventEmitter<AXDataGridCellEvent> =\n new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n rowClick: EventEmitter<AXDaagridRowClickEvent> =\n new EventEmitter<AXDaagridRowClickEvent>();\n\n @Output()\n rowDbClick: EventEmitter<AXDaagridRowClickEvent> =\n new EventEmitter<AXDaagridRowClickEvent>();\n\n @Output()\n selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> =\n new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n @Output()\n rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> =\n new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n @Output()\n onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> =\n new EventEmitter<AXDataGridRowSelectionChangeEvent>();\n\n constructor(\n private ref: ElementRef<HTMLDivElement>,\n private cdr: ChangeDetectorRef\n ) {\n this.localeText = AXTranslator.get('dataGrid');\n }\n\n private calcHeight(): void {\n if (this.toolbar) {\n this.internalHeight = `calc(100% - ${40}px)`;\n } else {\n this.internalHeight = '100%';\n }\n }\n\n private get intenalGridDataSource() {\n const that = this;\n return {\n rowCount: null,\n getRows: (params) => {\n that.dataSourceSuccessCallback = params.success;\n\n const loadParams: AXDataSourceReadParams = {};\n\n loadParams.searchText = that.searchText;\n\n loadParams.skip = params.request.startRow;\n\n loadParams.take = params.request.endRow - params.request.startRow;\n\n loadParams.sort = params.request.sortModel.map((c) => {\n return {\n field: c.colId,\n dir: c.sort,\n };\n });\n\n loadParams.group = {\n fields: params.request.rowGroupCols.map((r) => r.field),\n keys: params.request.groupKeys,\n parentData: params.parentNode.data,\n };\n\n loadParams.filter = params.request.filterModel;\n\n that.dataSource.fetch(loadParams);\n },\n };\n }\n getMainMenuItems(e) {\n return ['pinSubMenu', 'separator'];\n }\n\n ngOnDestroy(): void {\n this.gridApi.destroy();\n }\n\n isServerSideGroup = (e) => {\n return e[this.hasChildField];\n };\n\n getColumnDefs = () => {\n return this.gridApi.getColumnDefs();\n };\n\n getCurrentPageNumber = () => {\n return {\n current: this.gridApi.paginationGetCurrentPage() + 1,\n total: this.gridApi.paginationGetTotalPages(),\n };\n };\n\n paginationGoToPage(number) {\n this.gridApi.paginationGoToPage(number - 1);\n }\n\n getServerSideGroupKey = (e) => {\n return e[this.keyField];\n };\n internalGridReady(gridOptions) {\n this.gridApi = gridOptions.api;\n\n this.mapColumns();\n this.calcHeight();\n\n if (!this.loadOnInit) {\n this.loadOnInit = true;\n return;\n }\n\n if (this.remoteOperation) {\n this.gridApi.setGridOption(\n 'serverSideDatasource',\n this.intenalGridDataSource\n );\n }\n\n if (!this.remoteOperation) {\n this.refresh();\n }\n\n if (this.showRefreshButton) {\n this.makeRefreshBtn();\n }\n\n if (this.autoNavigatePage) {\n this.handleNextBtnClick();\n this.handleBackBtnClick();\n this.handleLastBtnClick();\n this.handleFitstBtnClick();\n }\n }\n\n ngAfterContentInit(): void {\n const that = this;\n if (this.rowTemplate) {\n this.fullWidthCellRendererFramework = this.rowTemplate.renderer;\n this.fullWidthCellRendererParams = this.rowTemplate.params;\n }\n this.frameworkComponents.agDateInput = AXDatePickerFilterComponent;\n\n if (this.gridDetailTemplate) {\n this.masterDetail = true;\n this.detailCellRendererParams = this.gridDetailTemplate.params;\n this.detailCellRenderer = AXDataGridDetailTemplateRenderer;\n // this.frameworkComponents.detailRendererFramework =\n // this.gridDetailTemplate.renderer;\n\n this.detailRowHeight = this.gridDetailTemplate.height;\n }\n this.isFullWidthCell = () => {\n return that.rowTemplate != null;\n };\n }\n\n ngOnInit(): void {\n if (this.selectionMode === 'single') {\n this.groupSelectsChildren = false;\n }\n if (this.keyField !== 'null' && this.hasChildField !== 'null') {\n this.rowGroupPanelShow = 'never';\n this.treeData = true;\n }\n if (this.remoteOperation) {\n this.rowModelType = 'serverSide';\n }\n //\n if (this.rtl == null) {\n this.rtl =\n window\n .getComputedStyle(this.ref.nativeElement, null)\n .getPropertyValue('direction') === 'rtl';\n }\n //\n }\n\n gridSelectRow() {\n if (this.gridApi) {\n if (\n this.selectRow &&\n this.selectRow.length > 0 &&\n this.gridApi !== undefined &&\n typeof this.selectRow[0] != 'object'\n ) {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n this.selectRow.forEach((id) => {\n if (node.data[this.keyField] === id) {\n select = true;\n node.setSelected(select);\n }\n });\n }\n });\n } else {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n if (this.selectRow.length) {\n this.selectRow.forEach((item) => {\n if (item.rowIndex != undefined && item.rowLevel != undefined) {\n if (node.data[this.keyField] === item.data[this.keyField]) {\n select = true;\n }\n } else {\n if (\n this.keyField !== 'null' &&\n node.data[this.keyField] === item[this.keyField]\n ) {\n select = true;\n }\n }\n });\n }\n if (this.rowSelectableConditionField) {\n node.setRowSelectable(\n node.data[this.rowSelectableConditionField]\n );\n }\n node.setSelected(select);\n }\n });\n }\n }\n }\n\n rebuildGrid() {\n this.mapColumns();\n setTimeout(() => {\n if (this.sizeColumnsToFit) {\n this.gridApi.sizeColumnsToFit();\n }\n }, 10);\n }\n\n ngAfterViewInit(): void {\n if (this.treeData === true) {\n this.columnDefs = this.columns.map((c) => c.render());\n\n const groupColumn = this.columnDefs.find(\n (c) => c.rowGroupIndex == '0' && c.field !== ''\n );\n\n this.autoGroupColumnDef = {\n headerName: groupColumn.headerName,\n width: groupColumn.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: groupColumn.field,\n };\n\n this.columnDefs.forEach((elm) => {\n if (elm.rowGroupIndex > -1) {\n elm.hide = true;\n }\n });\n }\n this.gridView = true;\n\n this.enabelSelect = true;\n this.dataSource.onDataReceived.subscribe((_data) => {\n const result = _data.data.result;\n this.hideLoading();\n let items: any[];\n let totalCount: number;\n if (Array.isArray(result)) {\n items = result;\n totalCount = result.length;\n } else {\n items = result.items;\n totalCount = result.totalCount;\n }\n if (this.dataSourceSuccessCallback) {\n if (!this.loadOnInit) {\n this.dataSourceSuccessCallback({\n rowData: [],\n rowCount: 0,\n });\n } else {\n this.dataSourceSuccessCallback({\n rowData: items,\n rowCount: totalCount,\n });\n }\n } else {\n if (!this.loadOnInit && this.gridApi !== undefined) {\n this.gridApi.setGridOption('rowData', []);\n } else if (this.gridApi !== undefined) {\n this.gridApi.setGridOption('rowData', items);\n }\n }\n\n if (this.autoNavigatePage) {\n this.paginationGoToPage(this.currentPage);\n }\n this.gridSelectRow();\n });\n\n this.dataSource.onFetchStart.subscribe(() => {\n this.showLoading();\n });\n\n if (this.searchInput) {\n this.searchInput.onValueChanged.subscribe((c) => {\n this.searchText = c.value;\n });\n }\n this.cdr.detectChanges();\n }\n\n mapColumns() {\n this.columnDefs = this.columns.map((c) => c.render());\n if (this.gridDetailTemplate) {\n if (\n this.columnDefs[0].checkboxSelection === true &&\n this.columnDefs[0].field === ''\n ) {\n this.columnDefs[1].cellRenderer = 'agGroupCellRenderer';\n } else {\n this.columnDefs[0].cellRenderer = 'agGroupCellRenderer';\n }\n }\n\n if (this.hasChildField === 'null') {\n const groupColumn = this.columnDefs.find(\n (c) => c.rowGroupIndex === undefined && c.field !== ''\n );\n if (groupColumn && this.groupHideOpenParents == false) {\n this.autoGroupColumnDef = {\n headerName: groupColumn.headerName,\n width: groupColumn.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: groupColumn.field,\n };\n }\n }\n\n this.columnDefs.forEach((elm) => {\n if (elm.rowGroupIndex > -1) {\n elm.hide = true;\n }\n });\n }\n\n displayedColumnsChanged(e) {\n if (this.hasChildField === 'null') {\n const ee = e.columnApi.getAllDisplayedColumnGroups();\n const eee = ee.find(\n (c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0'\n );\n if (eee && eee.colId) {\n this.autoGroupColumnDef = {\n headerName: eee.colDef.headerName,\n width: eee.colDef.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: eee.colDef.field,\n };\n }\n }\n }\n\n refresh(route: any[] = []) {\n if (this.remoteOperation && this.gridApi !== undefined) {\n // this.gridApi.purgeServerSideCache(route);\n this.gridApi.setGridOption(\n 'serverSideDatasource',\n this.intenalGridDataSource\n );\n } else {\n this.dataSource.fetch(null);\n }\n }\n\n internalGridCellClicked(e: CellClickedEvent) {\n this.cellClick.emit({\n data: this.mapCellEvent(e),\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n internalGridCellDoubleClicked(e: CellClickedEvent) {\n this.cellDbClick.emit({\n data: this.mapCellEvent(e),\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n internalGridCellFocused(e: CellClickedEvent) {\n this.cellFocuse.emit({\n data: this.mapCellEvent(e),\n htmlElement: this.ref.nativeElement,\n component: this,\n });\n }\n\n internalGridRowClicked(e: RowClickedEvent) {\n if (!e.node.group) {\n this.rowClick.emit({\n data: this.mapRowEvent(e),\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n }\n\n internalGridRowDoubleClicked(e: CellClickedEvent) {\n if (!e.node.group) {\n this.rowDbClick.emit({\n data: this.mapRowEvent(e),\n htmlElement: this.ref.nativeElement,\n component: this,\n });\n }\n }\n\n differenceOf2Arrays(array1: any, array2: any) {\n const temp = [];\n for (const i in array1) {\n if (array2.indexOf(array1[i]) === -1) {\n temp.push(array1[i]);\n }\n }\n for (const i in array2) {\n if (array1.indexOf(array2[i]) === -1) {\n temp.push(array2[i]);\n }\n }\n return temp.sort((a, b) => a - b);\n }\n\n rowSelectionChanged(e) {\n if (e.node.selected == true) {\n this.selectRow = this.selectRow.filter(\n (c) => c[this.keyField] != e.data[this.keyField]\n );\n this.selectRow.push(e.data);\n } else {\n this.selectRow = this.selectRow.filter(\n (c) => c[this.keyField] != e.data[this.keyField]\n );\n }\n this.rowSelectionChange.emit({\n component: this,\n data: e,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n internalGridSelectionChanged(e) {\n const args: AXGridRowSelectionEvent = { items: [] };\n const oldNodes = this.oldSelectionNodes;\n const nodes = this.gridApi.getSelectedNodes();\n\n if (this.autoExpand) {\n const unselectedNodes = oldNodes.filter(\n (oldNode) => !nodes.some((newNode) => newNode === oldNode)\n );\n unselectedNodes.forEach((el) => {\n el.setExpanded(false);\n });\n }\n\n nodes.forEach((i) => {\n if (this.autoExpand) {\n i.setExpanded(true);\n }\n args.items.push({\n rowLevel: i.level,\n rowIndex: i.rowIndex,\n data: i.data,\n });\n });\n this.selectionChanged.emit({\n data: args,\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n let action = nodes.length > oldNodes.length ? true : false;\n const node = this.differenceOf2Arrays(nodes, oldNodes);\n this.onRowSelectionChanged.emit({\n component: this,\n selected: action,\n data: node,\n htmlElement: this.ref.nativeElement,\n });\n this.oldSelectionNodes = nodes;\n }\n\n private mapCellEvent(e: CellEvent): AXGridCellEvent {\n return {\n rowLevel: 0,\n column: e.column,\n data: e.data,\n rowIndex: e.rowIndex,\n value: e.value,\n };\n }\n\n private mapRowEvent(e: RowEvent): AXGridRowEvent {\n return {\n rowLevel: 0,\n data: e.data,\n rowIndex: e.rowIndex,\n };\n }\n\n public deselectAll() {\n this.gridApi.deselectAll();\n }\n\n public deselectByKeyField(keyField) {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n if (node.data[this.keyField] === keyField) {\n node.setSelected(select);\n this.selectRow = this.selectRow.filter(\n (c) => c[this.keyField] != keyField\n );\n }\n }\n });\n }\n\n internalGetRowClass = (p: any) => {\n if (this.rowClass) {\n if (this.rowClass instanceof Function) {\n return this.rowClass({\n rowIndex: p.node.rowIndex,\n rowLevel: p.node.level,\n data: p.data,\n });\n } else {\n return this.rowClass;\n }\n }\n };\n\n showLoading(): void {\n if (this.gridApi) {\n this.gridApi.showLoadingOverlay();\n }\n }\n\n hideLoading(): void {\n if (this.gridApi) {\n this.gridApi.hideOverlay();\n }\n }\n\n internalGridSizeChanged(e: GridSizeChangedEvent) {\n if (e.clientWidth > 0 && e.clientHeight > 0) {\n this.performSizeColumnsToFit(e.api);\n }\n }\n\n internalGridFirstDataRendered(e: FirstDataRenderedEvent) {\n this.performSizeColumnsToFit(e.api);\n this.headerHeightSetter();\n }\n\n handleColumnResized(e) {\n this.headerHeightSetter();\n }\n\n private performSizeColumnsToFit(api: GridApi) {\n if (this.sizeColumnsToFit) {\n api.sizeColumnsToFit();\n }\n }\n\n private headerHeightSetter() {\n const padding = 20;\n const height = this.headerHeightGetter() + padding;\n this.gridApi.setGridOption('headerHeight', height);\n }\n\n private headerHeightGetter() {\n const columnHeaderTexts = [\n ...(document.querySelectorAll('.ag-header-cell-text') as any),\n ];\n\n const clientHeights = columnHeaderTexts.map(\n (headerText) => headerText.clientHeight\n );\n const tallestHeaderTextHeight = Math.max(...clientHeights);\n\n return tallestHeaderTextHeight;\n }\n\n private makeRefreshBtn() {\n const pagingPanel =\n this.ref.nativeElement.querySelector('.ag-paging-panel');\n\n const refBtn = document.createElement('span');\n\n refBtn.classList.add('far');\n refBtn.classList.add('fa-sync');\n\n refBtn.style.cursor = 'pointer';\n\n refBtn.title = AXTranslator.get('common.refresh');\n\n refBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n this.refresh();\n });\n\n pagingPanel.appendChild(refBtn);\n }\n\n private handleNextBtnClick() {\n const nextPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btNext\"]'\n ) as HTMLElement;\n\n nextPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n\n private handleBackBtnClick() {\n const backPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btPrevious\"]'\n ) as HTMLElement;\n\n backPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n\n private handleLastBtnClick() {\n const backPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btLast\"]'\n ) as HTMLElement;\n\n backPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n\n private handleFitstBtnClick() {\n const backPageBtn = this.ref.nativeElement.querySelector(\n '[ref=\"btFirst\"]'\n ) as HTMLElement;\n\n backPageBtn.addEventListener('click', () => {\n this.currentPage = this.getCurrentPageNumber().current;\n });\n }\n}\n","<div class=\"ax-grid-toolbar\" *ngIf=\"toolbar\">\n <ng-content select=\"ax-toolbar\"></ng-content>\n</div>\n<!-- [enableSorting]=\"true\" [enableColResize]=\"true\" [enableFilter]=\"allowFiltering\" -->\n\n<ag-grid-angular\n *ngIf=\"gridView\"\n class=\"ag-theme-balham\"\n [getRowClass]=\"internalGetRowClass\"\n [suppressCopyRowsToClipboard]=\"true\"\n [enableRangeSelection]=\"enableRangeSelection\"\n [serverSideStoreType]=\"'partial'\"\n [style.height]=\"internalHeight\"\n [columnDefs]=\"columnDefs\"\n [enableRtl]=\"rtl\"\n [pagination]=\"pagination\"\n [rowGroupPanelShow]=\"rowGroupPanelShow\"\n [rowModelType]=\"rowModelType\"\n [detailRowHeight]=\"detailRowHeight\"\n [rowHeight]=\"rowHeight\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [suppressMenuHide]=\"true\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [frameworkComponents]=\"frameworkComponents\"\n [isFullWidthCell]=\"isFullWidthCell\"\n [rowSelection]=\"selectionMode\"\n [rowMultiSelectWithClick]=\"rowMultiSelectWithClick\"\n [fullWidthCellRendererFramework]=\"fullWidthCellRendererFramework\"\n [cacheBlockSize]=\"cacheBlockSize\"\n [fullWidthCellRendererParams]=\"fullWidthCellRendererParams\"\n (columnResized)=\"handleColumnResized($event)\"\n (cellClicked)=\"internalGridCellClicked($event)\"\n (cellDoubleClicked)=\"internalGridCellDoubleClicked($event)\"\n (cellFocused)=\"internalGridCellFocused($event)\"\n (rowClicked)=\"internalGridRowClicked($event)\"\n (selectionChanged)=\"internalGridSelectionChanged($event)\"\n (rowSelected)=\"rowSelectionChanged($event)\"\n (rowDoubleClicked)=\"internalGridRowDoubleClicked($event)\"\n (gridReady)=\"internalGridReady($event)\"\n [groupSelectsChildren]=\"groupSelectsChildren\"\n [suppressRowClickSelection]=\"suppressRowClickSelection\"\n [groupSelectsFiltered]=\"true\"\n [suppressCellSelection]=\"suppressCellSelection\"\n [autoGroupColumnDef]=\"autoGroupColumnDef\"\n [suppressAggFuncInHeader]=\"true\"\n [treeData]=\"treeData\"\n [animateRows]=\"true\"\n [isServerSideGroup]=\"isServerSideGroup\"\n [getServerSideGroupKey]=\"getServerSideGroupKey\"\n [masterDetail]=\"masterDetail\"\n [detailCellRendererParams]=\"detailCellRendererParams\"\n [detailCellRenderer]=\"detailCellRenderer\"\n (gridSizeChanged)=\"internalGridSizeChanged($event)\"\n (firstDataRendered)=\"internalGridFirstDataRendered($event)\"\n [localeText]=\"localeText\"\n [groupHideOpenParents]=\"groupHideOpenParents\"\n [allowContextMenuWithControlKey]=\"false\"\n [getMainMenuItems]=\"getMainMenuItems\"\n>\n</ag-grid-angular>\n\n<!-- (displayedColumnsChanged)=\"displayedColumnsChanged($event)\" -->\n","import {\n AXButtonModule,\n AXCheckBoxModule,\n AXDataSourceModule,\n AXDatePickerModule,\n AXSelectBoxModule,\n AXTextBoxModule,\n} from '@acorex/components';\nimport { AXCoreModule } from '@acorex/core';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AgGridModule } from 'ag-grid-angular';\nimport 'ag-grid-enterprise';\nimport {\n AXGridCheckColumn,\n BooleanFilterRenderer,\n BooleanRenderer,\n} from './columns/check-column.component';\nimport { AXColumnGroupComponent } from './columns/column-groups.component';\nimport {\n AXGridCommandColumn,\n CommandRenderer,\n} from './columns/command-column.component';\nimport {\n AXDatePickerFilterComponent,\n AXGridDateColumn,\n} from './columns/date-column.component';\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\nimport {\n AXGridTextColumn,\n TextFilterRenderer,\n} from './columns/text-column.component';\nimport { AXDataGridComponent } from './datagrid.component';\nimport { AXDataGridFilterComponent } from './filters/filter.component';\nimport {\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n} from './templates/cell-template.component';\nimport {\n AXDataGridDetailTemplateComponent,\n AXDataGridDetailTemplateRenderer,\n} from './templates/detail-template.component';\nimport {\n AXDataGridRowTemplateComponent,\n AXDataGridRowTemplateRenderer,\n} from './templates/row-template.component';\n\n@NgModule({\n declarations: [\n AXDataGridComponent,\n AXGridTextColumn,\n AXGridCheckColumn,\n AXGridSelectionColumn,\n AXGridDateColumn,\n AXGridRowNumberColumn,\n AXGridCommandColumn,\n BooleanRenderer,\n BooleanFilterRenderer,\n TextFilterRenderer,\n AXDataGridFilterComponent,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n AXDatePickerFilterComponent,\n CommandRenderer,\n AXColumnGroupComponent,\n ],\n imports: [\n CommonModule,\n AXCoreModule,\n FormsModule,\n //AgGridModule,\n AXTextBoxModule,\n AXCheckBoxModule,\n AXSelectBoxModule,\n AXDataSourceModule,\n AXButtonModule,\n AXDatePickerModule,\n AgGridModule,\n ],\n exports: [\n AXColumnGroupComponent,\n AXDataGridComponent,\n AXDataGridFilterComponent,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n AXGridTextColumn,\n AXGridRowNumberColumn,\n AXGridCheckColumn,\n AXGridDateColumn,\n AXGridSelectionColumn,\n AXGridCommandColumn,\n BooleanRenderer,\n BooleanFilterRenderer,\n CommandRenderer,\n ],\n providers: [],\n})\nexport class AXDataGridModule {}\n","import {\n AXBasePopupPageComponent,\n AXDataSourceComponent,\n AXMenuItemClickEvent,\n AXToolbarSearchComponent,\n} from '@acorex/components';\nimport { AXButtonItem, AXConfig, AXTranslator } from '@acorex/core';\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewChild,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\nimport { AXDataGridComponent } from '../../data-grid/datagrid.component';\n\n@Component({\n templateUrl: './data-lov-popup.component.html',\n})\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\n @ViewChild('grid', { static: true })\n grid: AXDataGridComponent;\n\n @ViewChild('searchBox')\n searchBox: AXToolbarSearchComponent;\n\n columns: AXGridDataColumn[] = [];\n\n selectedItems: any[] = [];\n\n keyField: string = '';\n allowNull: boolean = true;\n\n hasChildField: string;\n rtl: boolean = AXConfig.get('layout.rtl');\n\n selectedRows: any[] = [];\n pagination: boolean = true;\n\n paginationAutoPageSize: boolean;\n\n paginationPageSize: number = 20;\n\n maxConcurrentDatasourceRequests: number;\n\n blockLoadDebounceMillis: number;\n\n paginationPageSizeSelector: number[] | boolean = [10, 20];\n\n constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\n super();\n }\n\n dataSource: AXDataSourceComponent;\n\n selectionMode: string;\n\n ngOnInit(): void {\n if (this.rtl == null) {\n this.rtl =\n window\n .getComputedStyle(this.ref.nativeElement, null)\n .getPropertyValue('direction') === 'rtl';\n }\n }\n\n onDoneClick() {\n if (this.selectedItems) {\n this.close(this.selectedItems);\n } else {\n this.close();\n }\n }\n\n rowDoubleClicked(e) {\n if (this.selectionMode == 'single') {\n this.selectedItems = [];\n }\n\n this.selectedItems = this.selectedItems.filter(\n (c) => c[this.keyField] != e.data.data[this.keyField]\n );\n this.selectedItems.push(e.data.data);\n\n this.onDoneClick();\n }\n\n onCancelClick() {\n this.close();\n }\n\n rowSelectionChange(e) {\n if (e.data.node.selected == true) {\n this.selectedItems = this.selectedItems.filter(\n (c) => c[this.keyField] != e.data.node.data[this.keyField]\n );\n this.selectedItems.push(e.data.node.data);\n } else {\n if (\n this.allowNull == true ||\n (this.allowNull == false && this.selectedItems.length > 1)\n ) {\n this.selectedItems = this.selectedItems.filter(\n (c) => c[this.keyField] != e.data.node.data[this.keyField]\n );\n }\n }\n }\n\n ngAfterViewInit() {\n this.selectedItems.forEach((ele) => {\n this.selectedRows.push(ele);\n });\n this.searchBox.focus();\n if (this.dataSource.onDataReceived) {\n this.dataSource.onDataReceived.subscribe((arg) => {\n this.cdr.markForCheck();\n this.cdr.detectChanges();\n });\n }\n }\n\n // onValueSearchChanged(e) {\n\n // const params: AXDataSourceReadParams = {}\n // params.searchText = e.value;\n // // params.take = 100;\n // // params.skip = 0\n // this.dataSource.fetch(params);\n // }\n\n getFooterButtons(): AXButtonItem[] {\n return [\n {\n text: AXTranslator.get('common.confirm'),\n name: 'confirm',\n style: 'ax primary',\n icon: 'far fa-check-circle',\n },\n {\n text: AXTranslator.get('common.cancel'),\n name: 'cancel',\n style: 'ax light',\n icon: 'far fa-times',\n },\n ];\n }\n\n onFooterButtonClick(e: AXMenuItemClickEvent) {\n if (e.name === 'confirm') {\n this.onDoneClick();\n }\n if (e.name === 'cancel') {\n this.onCancelClick();\n }\n }\n}\n","<div style=\"height: 70vh; padding: 0.5em\">\n <div style=\"height: calc(98%)\">\n <ax-data-grid\n [showRefreshButton]=\"false\"\n [paginationPageSizeSelector]=\"paginationPageSizeSelector\"\n [pagination]=\"pagination\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n [suppressRowClickSelection]=\"false\"\n [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\"\n [selectRow]=\"selectedItems\"\n #grid\n [columns]=\"columns\"\n [remoteOperation]=\"true\"\n [selectionMode]=\"selectionMode\"\n (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\"\n [dataSource]=\"dataSource\"\n >\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column\n *ngIf=\"selectionMode == 'single' ? false : true\"\n ></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>\n","import {\n AXBaseInputComponent,\n AXBaseSizableComponent,\n AXDataEvent,\n AXDataSourceComponent,\n AXElementSize,\n AXPopupService,\n AXSelectBoxComponent,\n AXValidatableComponent,\n AXValidation,\n} from '@acorex/components';\nimport { AXConfig } from '@acorex/core';\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\n\n@Component({\n selector: 'ax-lov',\n templateUrl: './data-lov.component.html',\n encapsulation: ViewEncapsulation.None,\n host: { style: 'width: 100%' },\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }],\n})\nexport class AXLOVComponent\n extends AXValidatableComponent\n implements AXBaseSizableComponent, AXBaseInputComponent\n{\n @ContentChild(AXValidation, { static: true })\n private _contentValidation: AXValidation;\n private _validation: AXValidation;\n\n @Input()\n public get validation(): AXValidation {\n return this._validation ? this._validation : this._contentValidation;\n }\n public set validation(v: AXValidation) {\n this._validation = v;\n }\n\n constructor(private popup: AXPopupService, private ref: ElementRef) {\n super();\n }\n\n @ViewChild('selectBox', { static: true })\n selectBox: AXSelectBoxComponent;\n\n @ContentChild(AXDataSourceComponent, { static: true })\n dataSource: AXDataSourceComponent;\n\n @ContentChildren(AXGridDataColumn)\n private columns: QueryList<AXGridDataColumn>;\n\n @ContentChild('itemTemplate', { static: true })\n rowTemplate: TemplateRef<any>;\n\n @Input()\n textField: string = '';\n\n @Input()\n allowSearch: boolean = true;\n\n @Input()\n valueField: string = '';\n\n @Input()\n hasChildField: string = 'null';\n\n @Input()\n allowNull: boolean = true;\n\n @Input()\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\n\n @Input()\n pagination: boolean = true;\n @Input()\n selectedItems: any[] = [];\n\n @Input()\n paginationAutoPageSize = false;\n\n @Input()\n paginationPageSize: number = 20;\n\n // @Input()\n // selectedValues: any[] = [];\n\n @Input()\n maxConcurrentDatasourceRequests: number;\n\n @Input()\n blockLoadDebounceMillis: number;\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n chipsWidth: string = '';\n\n @Input()\n size: AXElementSize = 'md';\n\n @Input()\n caption: string;\n\n @Input()\n mode: 'single' | 'multiple' = 'single';\n\n @Input()\n placeholder: string;\n\n @Output()\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<\n AXDataEvent<any>\n >();\n\n @Input()\n rtl: boolean = AXConfig.get('layout.rtl');\n\n @Input() multiLine = false;\n\n @Input()\n paginationPageSizeSelector: number[] | boolean = [10, 20];\n\n focus(): void {\n this.selectBox.focus();\n }\n\n refresh() {\n this.selectBox.refresh();\n }\n\n handleButtonClick() {\n this.open();\n }\n\n ngOnInit(): void {\n if (this.rtl == null) {\n this.rtl =\n window\n .getComputedStyle(this.ref.nativeElement, null)\n .getPropertyValue('direction') === 'rtl';\n }\n // this.selectVal = this.selectedValues;\n this.onSelectionChange.subscribe((c) => {\n this.clearValidationStyle(this.ref.nativeElement);\n });\n }\n\n ngAfterContentInit(): void {\n this.initValidation(this.ref, 'selectedItems', this.validation);\n }\n\n handleSelectChange(e) {\n this.onSelectionChange.emit({\n data: this.selectedItems,\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n }\n\n public open(): Promise<any> {\n return new Promise((resolve) => {\n this.selectBox.dropdown.close();\n this.popup\n .open(AXDataLovPopupComponent, {\n size: this.popupSize,\n // closable: false,\n data: {\n dataSource: this.dataSource,\n selectionMode: this.mode,\n columns: this.columns.toArray(),\n // selectedItems: this.selectedValues,\n selectedItems: this.selectedItems,\n keyField: this.valueField,\n allowNull: this.allowNull,\n hasChildField: this.hasChildField,\n rtl: this.rtl,\n pagination: this.pagination,\n paginationAutoPageSize: this.paginationAutoPageSize,\n paginationPageSize: this.paginationPageSize,\n maxConcurrentDatasourceRequests:\n this.maxConcurrentDatasourceRequests,\n blockLoadDebounceMillis: this.blockLoadDebounceMillis,\n paginationPageSizeSelector: this.paginationPageSizeSelector,\n },\n title: this.caption,\n // size: this.size,\n })\n .then((c) => {\n if (c.data) {\n // this.selectedValues = [];\n this.selectedItems = [];\n c.data.forEach((elm) => {\n this.selectedItems.push(elm);\n });\n // this.selectedItems = c.data;\n // this.selectBox.refresh();\n this.onSelectionChange.emit({\n data: this.selectedItems,\n component: this,\n htmlElement: this.ref.nativeElement,\n });\n if (resolve) {\n resolve(c.data);\n }\n } else {\n if (resolve) {\n resolve(this.selectedItems);\n }\n }\n\n this.selectBox.refresh();\n });\n });\n }\n}\n","<ax-select-box\n [rowInputTemplate]=\"rowTemplate\"\n [multiLine]=\"multiLine\"\n [rtl]=\"rtl\"\n [allowSearch]=\"allowSearch\"\n #selectBox\n [showDropDownButton]=\"false\"\n [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\"\n [placeholder]=\"placeholder\"\n [size]=\"size\"\n [textField]=\"textField\"\n [valueField]=\"valueField\"\n [disabled]=\"disabled\"\n [mode]=\"mode\"\n [(selectedItems)]=\"selectedItems\"\n (selectionChanged)=\"handleSelectChange($event)\"\n [dataSource]=\"dataSource\"\n>\n <ng-container start>\n <ng-content select=\"[start]\"> </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button\n icon=\"far fa-bars icon\"\n [disabled]=\"disabled\"\n type=\"light blank\"\n (click)=\"handleButtonClick()\"\n end\n [tabIndex]=\"-1\"\n >\n </ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </ng-container>\n</ax-select-box>\n\n<!-- <ax-select-box2 [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [selectionMode]=\"mode\" (onValueChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\"\n [(value)]=\"selectedItems\" selectionDataMode=\"item\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"primary blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box2> -->\n\n<!-- <div class=\"ax-lov-box\" [style.display]=\"mode=='hidden' ? 'none':'unset'\">\n <div class=\"ax-field-set\">\n <div class=\"ax-field-set-wrapper\" [ngClass]=\"{ 'no-label': !label }\">\n <fieldset [ngClass]=\"{ 'input-focused': isFocused, 'input-error': errorText }\">\n <legend *ngIf=\"label\">\n {{ label }}\n </legend>\n </fieldset>\n <input type=\"text\" [(ngModel)]=\"text\" [placeholder]=\"placeholder\" (keyup)=\"handleKeyEvent($event)\"\n (blur)=\"handleBlurEvent($event)\" (focus)=\"handleFocusEvent($event)\" class=\"ax-text-box\" disabled />\n <div class=\"ax-field-set-button\">\n <button *ngIf=\"text && allowClear\" type=\"button\" class=\"btn btn-light\" (click)=\"clearText()\">\n <i class=\"far fa-times\"></i>\n </button>\n <button type=\"button\" class=\" btn btn-primary\" (click)=\"handleButtonClick($event)\">\n <i class=\"far fa-check-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"validation-text\" *ngIf=\"errorText\">\n {{ errorText }}\n </div>\n\n</div> -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLOVComponent } from './data-lov.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\n\n\n@NgModule({\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\n exports: [AXLOVComponent, AXDataLovPopupComponent],\n providers: []\n})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXDataGridFilterComponent","i2.AXDataGridComponent","i3.AXGridSelectionColumn","i4"],"mappings":"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"}
|