@acorex/data-grid 16.18.4 → 16.18.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,7 @@ export class AXGridDataColumn {
28
28
  menuItemDisable = false;
29
29
  columnGroupShow;
30
30
  wrapText = false;
31
+ cellStyle = {};
31
32
  constructor() { }
32
33
  render() {
33
34
  const col = {
@@ -106,6 +107,9 @@ export class AXGridDataColumn {
106
107
  col.cellClass = this.cellClass;
107
108
  }
108
109
  }
110
+ if (Object.keys(this.cellStyle)?.length) {
111
+ col.cellStyle = this.cellStyle;
112
+ }
109
113
  //
110
114
  if (this.cellTemplate != null) {
111
115
  col.cellRenderer = this.cellTemplate.renderer;
@@ -123,7 +127,7 @@ export class AXGridDataColumn {
123
127
  return col;
124
128
  }
125
129
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXGridDataColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
126
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.5", type: AXGridDataColumn, inputs: { width: "width", maxWidth: "maxWidth", minWidth: "minWidth", pinned: "pinned", allowSorting: "allowSorting", allowFiltering: "allowFiltering", cellClass: "cellClass", sort: "sort", field: "field", caption: "caption", cellRendererParams: "cellRendererParams", checkbox: "checkbox", headerCheckbox: "headerCheckbox", groupIndex: "groupIndex", treeIndex: "treeIndex", enableRowGroup: "enableRowGroup", hide: "hide", floatingFilter: "floatingFilter", disableMenu: "disableMenu", resizable: "resizable", menuColumnDisable: "menuColumnDisable", menuItemDisable: "menuItemDisable", columnGroupShow: "columnGroupShow", wrapText: "wrapText" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: AXDataGridCellTemplateComponent, descendants: true }], ngImport: i0 });
130
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.5", type: AXGridDataColumn, inputs: { width: "width", maxWidth: "maxWidth", minWidth: "minWidth", pinned: "pinned", allowSorting: "allowSorting", allowFiltering: "allowFiltering", cellClass: "cellClass", sort: "sort", field: "field", caption: "caption", cellRendererParams: "cellRendererParams", checkbox: "checkbox", headerCheckbox: "headerCheckbox", groupIndex: "groupIndex", treeIndex: "treeIndex", enableRowGroup: "enableRowGroup", hide: "hide", floatingFilter: "floatingFilter", disableMenu: "disableMenu", resizable: "resizable", menuColumnDisable: "menuColumnDisable", menuItemDisable: "menuItemDisable", columnGroupShow: "columnGroupShow", wrapText: "wrapText", cellStyle: "cellStyle" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: AXDataGridCellTemplateComponent, descendants: true }], ngImport: i0 });
127
131
  }
128
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXGridDataColumn, decorators: [{
129
133
  type: Directive
@@ -178,5 +182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
178
182
  type: Input
179
183
  }], wrapText: [{
180
184
  type: Input
185
+ }], cellStyle: [{
186
+ type: Input
181
187
  }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1ncmlkL3NyYy9saWIvZGF0YS1ncmlkL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFHdkYsTUFBTSxPQUFnQixnQkFBZ0I7SUFFcEMsWUFBWSxDQUFrQztJQUc5QyxLQUFLLEdBQVcsR0FBRyxDQUFDO0lBR3BCLFFBQVEsQ0FBUztJQUdqQixRQUFRLENBQVM7SUFHakIsTUFBTSxHQUEyQixJQUFJLENBQUM7SUFHdEMsWUFBWSxHQUFZLElBQUksQ0FBQztJQUc3QixjQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUczRSxTQUFTLENBRXNDO0lBRy9DLElBQUksR0FBMEIsSUFBSSxDQUFDO0lBR25DLEtBQUssR0FBVyxFQUFFLENBQUM7SUFHbkIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUdyQixrQkFBa0IsQ0FBTTtJQUd4QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRzFCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFHaEMsVUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO0lBR3hCLFNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUd2QixjQUFjLEdBQVksS0FBSyxDQUFDO0lBR2hDLElBQUksR0FBWSxLQUFLLENBQUM7SUFHdEIsY0FBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7SUFHM0UsV0FBVyxHQUFZLEtB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QURQLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYR3JpZENlbGxQYXJhbXMgfSBmcm9tICcuLi9kYXRhZ3JpZC5ldmVudHMnO1xuaW1wb3J0IHsgQVhEYXRhR3JpZENlbGxUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3RlbXBsYXRlcy9jZWxsLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYR3JpZERhdGFDb2x1bW4ge1xuICBAQ29udGVudENoaWxkKEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQpXG4gIGNlbGxUZW1wbGF0ZTogQVhEYXRhR3JpZENlbGxUZW1wbGF0ZUNvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICB3aWR0aDogbnVtYmVyID0gMTAwO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbWluV2lkdGg6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwaW5uZWQ6ICdzdGFydCcgfCAnZW5kJyB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93U29ydGluZzogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgYWxsb3dGaWx0ZXJpbmc6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2RhdGFncmlkLmFsbG93RmlsdGVyaW5nJykgfHwgZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY2VsbENsYXNzOiAoXG4gICAgcGFyYW1zOiBBWEdyaWRDZWxsUGFyYW1zXG4gICkgPT4gKHN0cmluZyB8IHN0cmluZ1tdKSB8IChzdHJpbmcgfCBzdHJpbmdbXSk7XG5cbiAgQElucHV0KClcbiAgc29ydDogJ2FzYycgfCAnZGVzYycgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBmaWVsZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgY2FwdGlvbjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgY2VsbFJlbmRlcmVyUGFyYW1zOiBhbnk7XG5cbiAgQElucHV0KClcbiAgY2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBoZWFkZXJDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdyb3VwSW5kZXg6IG51bWJlciA9IC0xO1xuXG4gIEBJbnB1dCgpXG4gIHRyZWVJbmRleDogbnVtYmVyID0gLTE7XG5cbiAgQElucHV0KClcbiAgZW5hYmxlUm93R3JvdXA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBoaWRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZmxvYXRpbmdGaWx0ZXI6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2RhdGFncmlkLmZsb2F0aW5nRmlsdGVyJykgfHwgZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICByZXNpemFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIG1lbnVDb2x1bW5EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbWVudUl0ZW1EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY29sdW1uR3JvdXBTaG93OiAnb3BlbicgfCAnY2xvc2VkJztcblxuICBASW5wdXQoKVxuICB3cmFwVGV4dCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICByZW5kZXIoKTogYW55IHtcbiAgICBjb25zdCBjb2w6IGFueSA9IHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgfTtcbiAgICBjb2wucmVzaXphYmxlID0gdGhpcy5yZXNpemFibGU7XG4gICAgY29sLnN1cHByZXNzSGVhZGVyTWVudUJ1dHRvbiA9IHRoaXMuZGlzYWJsZU1lbnU7XG4gICAgY29sLm1lbnVUYWJzID0gWydmaWx0ZXJNZW51VGFiJywgJ2NvbHVtbnNNZW51VGFiJywgJ2dlbmVyYWxNZW51VGFiJ107XG4gICAgY29sLmZsb2F0aW5nRmlsdGVyID0gdGhpcy5mbG9hdGluZ0ZpbHRlcjtcblxuICAgIGlmICh0aGlzLndyYXBUZXh0KSB7XG4gICAgICBjb2wud3JhcFRleHQgPSB0cnVlO1xuXG4gICAgICBjb2wuYXV0b0hlaWdodCA9IHRydWU7XG5cbiAgICAgIGNvbC53cmFwSGVhZGVyVGV4dCA9IHRydWU7XG5cbiAgICAgIGNvbC5hdXRvSGVhZGVySGVpZ2h0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcbiAgICAgIGNvbC5maWx0ZXIgPSBmYWxzZTtcbiAgICAgIGNvbC5tZW51VGFicyA9IGNvbC5tZW51VGFicy5maWx0ZXIoKGMpID0+IGMgIT0gJ2ZpbHRlck1lbnVUYWInKTtcbiAgICAgIGNvbC5mbG9hdGluZ0ZpbHRlciA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZW51Q29sdW1uRGlzYWJsZSA9PSB0cnVlKSB7XG4gICAgICBjb2wubWVudVRhYnMgPSBjb2wubWVudVRhYnMuZmlsdGVyKChjKSA9PiBjICE9ICdjb2x1bW5zTWVudVRhYicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZW51SXRlbURpc2FibGUgPT0gdHJ1ZSkge1xuICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcigoYykgPT4gYyAhPSAnZ2VuZXJhbE1lbnVUYWInKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2FwdGlvbikge1xuICAgICAgY29sLmhlYWRlck5hbWUgPSB0aGlzLmNhcHRpb247XG4gICAgfVxuICAgIGlmICh0aGlzLm1pbldpZHRoKSB7XG4gICAgICBjb2wubWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xuICAgIH1cbiAgICBpZiAodGhpcy5tYXhXaWR0aCkge1xuICAgICAgY29sLm1heFdpZHRoID0gdGhpcy5tYXhXaWR0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMucGlubmVkKSB7XG4gICAgICBjb2wucGlubmVkID0gdGhpcy5waW5uZWQgPT09ICdzdGFydCcgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgICAgLy8gVE9ETzogQ2hhbmdlIGJhc2VkIG9uIGxheW91dFxuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd1NvcnRpbmcpIHtcbiAgICAgIGNvbC5zb3J0YWJsZSA9IHRoaXMuYWxsb3dTb3J0aW5nO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0KSB7XG4gICAgICBjb2wuc29ydCA9IHRoaXMuc29ydDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ncm91cEluZGV4ID49IDApIHtcbiAgICAgIGNvbC5yb3dHcm91cEluZGV4ID0gdGhpcy5ncm91cEluZGV4O1xuICAgICAgY29sLnJvd0dyb3VwID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW5hYmxlUm93R3JvdXAgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyZWVJbmRleCA+PSAwKSB7XG4gICAgICBjb2wucm93R3JvdXBJbmRleCA9IHRoaXMudHJlZUluZGV4O1xuICAgICAgY29sLnJvd0dyb3VwID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmhpZGUpIHtcbiAgICAgIGNvbC5oaWRlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZW5hYmxlUm93R3JvdXApIHtcbiAgICAgIGNvbC5lbmFibGVSb3dHcm91cCA9IHRoaXMuZW5hYmxlUm93R3JvdXA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2VsbENsYXNzKSB7XG4gICAgICBjb25zdCBUSEFUID0gdGhpcztcbiAgICAgIGlmICh0aGlzLmNlbGxDbGFzcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgIGNvbC5jZWxsQ2xhc3MgPSAocCkgPT4ge1xuICAgICAgICAgIHJldHVybiBUSEFULmNlbGxDbGFzcyh7XG4gICAgICAgICAgICBjb2x1bW46IFRIQVQsXG4gICAgICAgICAgICByb3dJbmRleDogcC5ub2RlLnJvd0luZGV4LFxuICAgICAgICAgICAgcm93TGV2ZWw6IHAubm9kZS5sZXZlbCxcbiAgICAgICAgICAgIGRhdGE6IHAuZGF0YSxcbiAgICAgICAgICAgIHZhbHVlOiBwLnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29sLmNlbGxDbGFzcyA9IHRoaXMuY2VsbENsYXNzO1xuICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIGlmICh0aGlzLmNlbGxUZW1wbGF0ZSAhPSBudWxsKSB7XG4gICAgICBjb2wuY2VsbFJlbmRlcmVyID0gdGhpcy5jZWxsVGVtcGxhdGUucmVuZGVyZXI7XG4gICAgICBjb2wuY2VsbFJlbmRlcmVyUGFyYW1zID0gdGhpcy5jZWxsVGVtcGxhdGUucGFyYW1zO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbHVtbkdyb3VwU2hvdykge1xuICAgICAgY29sLmNvbHVtbkdyb3VwU2hvdyA9IHRoaXMuY29sdW1uR3JvdXBTaG93O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNoZWNrYm94KSB7XG4gICAgICBjb2wuY2hlY2tib3hTZWxlY3Rpb24gPSAocGFyYW1zKSA9PiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfTtcbiAgICAgIC8vICBjb2wuaGVhZGVyQ2hlY2tib3hTZWxlY3Rpb24gPSB0aGlzLmhlYWRlckNoZWNrYm94O1xuICAgIH1cbiAgICByZXR1cm4gY29sO1xuICB9XG59XG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1ncmlkL3NyYy9saWIvZGF0YS1ncmlkL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFHdkYsTUFBTSxPQUFnQixnQkFBZ0I7SUFFcEMsWUFBWSxDQUFrQztJQUc5QyxLQUFLLEdBQVcsR0FBRyxDQUFDO0lBR3BCLFFBQVEsQ0FBUztJQUdqQixRQUFRLENBQVM7SUFHakIsTUFBTSxHQUEyQixJQUFJLENBQUM7SUFHdEMsWUFBWSxHQUFZLElBQUksQ0FBQztJQUc3QixjQUFjLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUczRSxTQUFTLENBRXNDO0lBRy9DLElBQUksR0FBMEIsSUFBSSxDQUFDO0lBR25DLEtBQUssR0FBVyxFQUFFLENBQUM7SUFHbkIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUdyQixrQkFBa0IsQ0FBTTtJQUd4QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRzFCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFHaEMsVUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO0lBR3hCLFNBQVMsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUd2QixjQUFjLEdBQVksS0FBSyxDQUFDO0lBR2hDLElBQUksR0FBWSxLQUFLLENBQUM7SUFHdEIsY0FBYyxHQUFZLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsSUFBSSxLQUFLLENBQUM7SUFHM0UsV0FBVyxHQUFZLEtB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S0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQU1OLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEdyaWRDZWxsUGFyYW1zIH0gZnJvbSAnLi4vZGF0YWdyaWQuZXZlbnRzJztcbmltcG9ydCB7IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWEdyaWREYXRhQ29sdW1uIHtcbiAgQENvbnRlbnRDaGlsZChBWERhdGFHcmlkQ2VsbFRlbXBsYXRlQ29tcG9uZW50KVxuICBjZWxsVGVtcGxhdGU6IEFYRGF0YUdyaWRDZWxsVGVtcGxhdGVDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgd2lkdGg6IG51bWJlciA9IDEwMDtcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIG1pbldpZHRoOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcGlubmVkOiAnc3RhcnQnIHwgJ2VuZCcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBhbGxvd1NvcnRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93RmlsdGVyaW5nOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdkYXRhZ3JpZC5hbGxvd0ZpbHRlcmluZycpIHx8IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNlbGxDbGFzczogKFxuICAgIHBhcmFtczogQVhHcmlkQ2VsbFBhcmFtc1xuICApID0+IChzdHJpbmcgfCBzdHJpbmdbXSkgfCAoc3RyaW5nIHwgc3RyaW5nW10pO1xuXG4gIEBJbnB1dCgpXG4gIHNvcnQ6ICdhc2MnIHwgJ2Rlc2MnIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgZmllbGQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGNhcHRpb246IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGNlbGxSZW5kZXJlclBhcmFtczogYW55O1xuXG4gIEBJbnB1dCgpXG4gIGNoZWNrYm94OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaGVhZGVyQ2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBncm91cEluZGV4OiBudW1iZXIgPSAtMTtcblxuICBASW5wdXQoKVxuICB0cmVlSW5kZXg6IG51bWJlciA9IC0xO1xuXG4gIEBJbnB1dCgpXG4gIGVuYWJsZVJvd0dyb3VwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgaGlkZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGZsb2F0aW5nRmlsdGVyOiBib29sZWFuID0gQVhDb25maWcuZ2V0KCdkYXRhZ3JpZC5mbG9hdGluZ0ZpbHRlcicpIHx8IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVNZW51OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcmVzaXphYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBtZW51Q29sdW1uRGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG1lbnVJdGVtRGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbHVtbkdyb3VwU2hvdzogJ29wZW4nIHwgJ2Nsb3NlZCc7XG5cbiAgQElucHV0KClcbiAgd3JhcFRleHQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjZWxsU3R5bGU6IE9iamVjdCA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICByZW5kZXIoKTogYW55IHtcbiAgICBjb25zdCBjb2w6IGFueSA9IHtcbiAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLFxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgfTtcbiAgICBjb2wucmVzaXphYmxlID0gdGhpcy5yZXNpemFibGU7XG4gICAgY29sLnN1cHByZXNzSGVhZGVyTWVudUJ1dHRvbiA9IHRoaXMuZGlzYWJsZU1lbnU7XG4gICAgY29sLm1lbnVUYWJzID0gWydmaWx0ZXJNZW51VGFiJywgJ2NvbHVtbnNNZW51VGFiJywgJ2dlbmVyYWxNZW51VGFiJ107XG4gICAgY29sLmZsb2F0aW5nRmlsdGVyID0gdGhpcy5mbG9hdGluZ0ZpbHRlcjtcblxuICAgIGlmICh0aGlzLndyYXBUZXh0KSB7XG4gICAgICBjb2wud3JhcFRleHQgPSB0cnVlO1xuXG4gICAgICBjb2wuYXV0b0hlaWdodCA9IHRydWU7XG5cbiAgICAgIGNvbC53cmFwSGVhZGVyVGV4dCA9IHRydWU7XG5cbiAgICAgIGNvbC5hdXRvSGVhZGVySGVpZ2h0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYWxsb3dGaWx0ZXJpbmcpIHtcbiAgICAgIGNvbC5maWx0ZXIgPSBmYWxzZTtcbiAgICAgIGNvbC5tZW51VGFicyA9IGNvbC5tZW51VGFicy5maWx0ZXIoKGMpID0+IGMgIT0gJ2ZpbHRlck1lbnVUYWInKTtcbiAgICAgIGNvbC5mbG9hdGluZ0ZpbHRlciA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZW51Q29sdW1uRGlzYWJsZSA9PSB0cnVlKSB7XG4gICAgICBjb2wubWVudVRhYnMgPSBjb2wubWVudVRhYnMuZmlsdGVyKChjKSA9PiBjICE9ICdjb2x1bW5zTWVudVRhYicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tZW51SXRlbURpc2FibGUgPT0gdHJ1ZSkge1xuICAgICAgY29sLm1lbnVUYWJzID0gY29sLm1lbnVUYWJzLmZpbHRlcigoYykgPT4gYyAhPSAnZ2VuZXJhbE1lbnVUYWInKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2FwdGlvbikge1xuICAgICAgY29sLmhlYWRlck5hbWUgPSB0aGlzLmNhcHRpb247XG4gICAgfVxuICAgIGlmICh0aGlzLm1pbldpZHRoKSB7XG4gICAgICBjb2wubWluV2lkdGggPSB0aGlzLm1pbldpZHRoO1xuICAgIH1cbiAgICBpZiAodGhpcy5tYXhXaWR0aCkge1xuICAgICAgY29sLm1heFdpZHRoID0gdGhpcy5tYXhXaWR0aDtcbiAgICB9XG4gICAgaWYgKHRoaXMucGlubmVkKSB7XG4gICAgICBjb2wucGlubmVkID0gdGhpcy5waW5uZWQgPT09ICdzdGFydCcgPyAncmlnaHQnIDogJ2xlZnQnO1xuICAgICAgLy8gVE9ETzogQ2hhbmdlIGJhc2VkIG9uIGxheW91dFxuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd1NvcnRpbmcpIHtcbiAgICAgIGNvbC5zb3J0YWJsZSA9IHRoaXMuYWxsb3dTb3J0aW5nO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0KSB7XG4gICAgICBjb2wuc29ydCA9IHRoaXMuc29ydDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ncm91cEluZGV4ID49IDApIHtcbiAgICAgIGNvbC5yb3dHcm91cEluZGV4ID0gdGhpcy5ncm91cEluZGV4O1xuICAgICAgY29sLnJvd0dyb3VwID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW5hYmxlUm93R3JvdXAgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyZWVJbmRleCA+PSAwKSB7XG4gICAgICBjb2wucm93R3JvdXBJbmRleCA9IHRoaXMudHJlZUluZGV4O1xuICAgICAgY29sLnJvd0dyb3VwID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmhpZGUpIHtcbiAgICAgIGNvbC5oaWRlID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZW5hYmxlUm93R3JvdXApIHtcbiAgICAgIGNvbC5lbmFibGVSb3dHcm91cCA9IHRoaXMuZW5hYmxlUm93R3JvdXA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2VsbENsYXNzKSB7XG4gICAgICBjb25zdCBUSEFUID0gdGhpcztcbiAgICAgIGlmICh0aGlzLmNlbGxDbGFzcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgIGNvbC5jZWxsQ2xhc3MgPSAocCkgPT4ge1xuICAgICAgICAgIHJldHVybiBUSEFULmNlbGxDbGFzcyh7XG4gICAgICAgICAgICBjb2x1bW46IFRIQVQsXG4gICAgICAgICAgICByb3dJbmRleDogcC5ub2RlLnJvd0luZGV4LFxuICAgICAgICAgICAgcm93TGV2ZWw6IHAubm9kZS5sZXZlbCxcbiAgICAgICAgICAgIGRhdGE6IHAuZGF0YSxcbiAgICAgICAgICAgIHZhbHVlOiBwLnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29sLmNlbGxDbGFzcyA9IHRoaXMuY2VsbENsYXNzO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5jZWxsU3R5bGUpPy5sZW5ndGgpIHtcbiAgICAgIGNvbC5jZWxsU3R5bGUgPSB0aGlzLmNlbGxTdHlsZTtcbiAgICB9XG4gICAgLy9cbiAgICBpZiAodGhpcy5jZWxsVGVtcGxhdGUgIT0gbnVsbCkge1xuICAgICAgY29sLmNlbGxSZW5kZXJlciA9IHRoaXMuY2VsbFRlbXBsYXRlLnJlbmRlcmVyO1xuICAgICAgY29sLmNlbGxSZW5kZXJlclBhcmFtcyA9IHRoaXMuY2VsbFRlbXBsYXRlLnBhcmFtcztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2x1bW5Hcm91cFNob3cpIHtcbiAgICAgIGNvbC5jb2x1bW5Hcm91cFNob3cgPSB0aGlzLmNvbHVtbkdyb3VwU2hvdztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jaGVja2JveCkge1xuICAgICAgY29sLmNoZWNrYm94U2VsZWN0aW9uID0gKHBhcmFtcykgPT4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH07XG4gICAgICAvLyAgY29sLmhlYWRlckNoZWNrYm94U2VsZWN0aW9uID0gdGhpcy5oZWFkZXJDaGVja2JveDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbDtcbiAgfVxufVxuIl19
@@ -25,6 +25,7 @@ export class AXDataLovPopupComponent extends AXBasePopupPageComponent {
25
25
  maxConcurrentDatasourceRequests;
26
26
  blockLoadDebounceMillis;
27
27
  paginationPageSizeSelector = [10, 20];
28
+ suppressRowClickSelection;
28
29
  constructor(cdr, ref) {
29
30
  super();
30
31
  this.cdr = cdr;
@@ -115,11 +116,11 @@ export class AXDataLovPopupComponent extends AXBasePopupPageComponent {
115
116
  }
116
117
  }
117
118
  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 [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
+ 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 [suppressRowClickSelection]=\"suppressRowClickSelection\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\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
120
  }
120
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXDataLovPopupComponent, decorators: [{
121
122
  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 [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
+ 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 [suppressRowClickSelection]=\"suppressRowClickSelection\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\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
124
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { grid: [{
124
125
  type: ViewChild,
125
126
  args: ['grid', { static: true }]
@@ -127,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
127
128
  type: ViewChild,
128
129
  args: ['searchBox']
129
130
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi1wb3B1cC9kYXRhLWxvdi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFnQixRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUt6RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsd0JBQXdCO0lBOEIvQztJQUFnQztJQTVCcEQsSUFBSSxDQUFzQjtJQUcxQixTQUFTLENBQTJCO0lBRXBDLE9BQU8sR0FBdUIsRUFBRSxDQUFDO0lBRWpDLGFBQWEsR0FBVSxFQUFFLENBQUM7SUFFMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixTQUFTLEdBQVksSUFBSSxDQUFDO0lBRTFCLGFBQWEsQ0FBUztJQUN0QixHQUFHLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUxQyxZQUFZLEdBQVUsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFFM0Isc0JBQXNCLENBQVU7SUFFaEMsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBRWhDLCtCQUErQixD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SyxRQUFRLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7dUdBeElVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGdSQ25CcEMseXlDQWtDQTs7MkZEZmEsdUJBQXVCO2tCQUhuQyxTQUFTOzsrR0FLUixJQUFJO3NCQURILFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkMsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQsXG4gIEFYRGF0YVNvdXJjZUNvbXBvbmVudCxcbiAgQVhNZW51SXRlbUNsaWNrRXZlbnQsXG4gIEFYVG9vbGJhclNlYXJjaENvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSwgQVhDb25maWcsIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhR3JpZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC9kYXRhZ3JpZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdncmlkJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgZ3JpZDogQVhEYXRhR3JpZENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnKVxuICBzZWFyY2hCb3g6IEFYVG9vbGJhclNlYXJjaENvbXBvbmVudDtcblxuICBjb2x1bW5zOiBBWEdyaWREYXRhQ29sdW1uW10gPSBbXTtcblxuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGtleUZpZWxkOiBzdHJpbmcgPSAnJztcbiAgYWxsb3dOdWxsOiBib29sZWFuID0gdHJ1ZTtcblxuICBoYXNDaGlsZEZpZWxkOiBzdHJpbmc7XG4gIHJ0bDogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpO1xuXG4gIHNlbGVjdGVkUm93czogYW55W10gPSBbXTtcbiAgcGFnaW5hdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZTogYm9vbGVhbjtcblxuICBwYWdpbmF0aW9uUGFnZVNpemU6IG51bWJlciA9IDIwO1xuXG4gIG1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHM6IG51bWJlcjtcblxuICBibG9ja0xvYWREZWJvdW5jZU1pbGxpczogbnVtYmVyO1xuXG4gIHBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yOiBudW1iZXJbXSB8IGJvb2xlYW4gPSBbMTAsIDIwXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGRhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZUNvbXBvbmVudDtcblxuICBzZWxlY3Rpb25Nb2RlOiBzdHJpbmc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucnRsID09IG51bGwpIHtcbiAgICAgIHRoaXMucnRsID1cbiAgICAgICAgd2luZG93XG4gICAgICAgICAgLmdldENvbXB1dGVkU3R5bGUodGhpcy5yZWYubmF0aXZlRWxlbWVudCwgbnVsbClcbiAgICAgICAgICAuZ2V0UHJvcGVydHlWYWx1ZSgnZGlyZWN0aW9uJykgPT09ICdydGwnO1xuICAgIH1cbiAgfVxuXG4gIG9uRG9uZUNsaWNrKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbXMpIHtcbiAgICAgIHRoaXMuY2xvc2UodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJvd0RvdWJsZUNsaWNrZWQoZSkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoXG4gICAgICAoYykgPT4gY1t0aGlzLmtleUZpZWxkXSAhPSBlLmRhdGEuZGF0YVt0aGlzLmtleUZpZWxkXVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goZS5kYXRhLmRhdGEpO1xuXG4gICAgdGhpcy5vbkRvbmVDbGljaygpO1xuICB9XG5cbiAgb25DYW5jZWxDbGljaygpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICByb3dTZWxlY3Rpb25DaGFuZ2UoZSkge1xuICAgIGlmIChlLmRhdGEubm9kZS5zZWxlY3RlZCA9PSB0cnVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKFxuICAgICAgICAoYykgPT4gY1t0aGlzLmtleUZpZWxkXSAhPSBlLmRhdGEubm9kZS5kYXRhW3RoaXMua2V5RmllbGRdXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goZS5kYXRhLm5vZGUuZGF0YSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hbGxvd051bGwgPT0gdHJ1ZSB8fFxuICAgICAgICAodGhpcy5hbGxvd051bGwgPT0gZmFsc2UgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAoYykgPT4gY1t0aGlzLmtleUZpZWxkXSAhPSBlLmRhdGEubm9kZS5kYXRhW3RoaXMua2V5RmllbGRdXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKChlbGUpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLnB1c2goZWxlKTtcbiAgICB9KTtcbiAgICB0aGlzLnNlYXJjaEJveC5mb2N1cygpO1xuICAgIGlmICh0aGlzLmRhdGFTb3VyY2Uub25EYXRhUmVjZWl2ZWQpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZC5zdWJzY3JpYmUoKGFyZykgPT4ge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8gb25WYWx1ZVNlYXJjaENoYW5nZWQoZSkge1xuXG4gIC8vICAgICBjb25zdCBwYXJhbXM6IEFYRGF0YVNvdXJjZVJlYWRQYXJhbXMgPSB7fVxuICAvLyAgICAgcGFyYW1zLnNlYXJjaFRleHQgPSBlLnZhbHVlO1xuICAvLyAgICAgLy8gcGFyYW1zLnRha2UgPSAxMDA7XG4gIC8vICAgICAvLyBwYXJhbXMuc2tpcCA9IDBcbiAgLy8gICAgIHRoaXMuZGF0YVNvdXJjZS5mZXRjaChwYXJhbXMpO1xuICAvLyB9XG5cbiAgZ2V0Rm9vdGVyQnV0dG9ucygpOiBBWEJ1dHRvbkl0ZW1bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGV4dDogQVhUcmFuc2xhdG9yLmdldCgnY29tbW9uLmNvbmZpcm0nKSxcbiAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgICBzdHlsZTogJ2F4IHByaW1hcnknLFxuICAgICAgICBpY29uOiAnZmFyIGZhLWNoZWNrLWNpcmNsZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY2FuY2VsJyksXG4gICAgICAgIG5hbWU6ICdjYW5jZWwnLFxuICAgICAgICBzdHlsZTogJ2F4IGxpZ2h0JyxcbiAgICAgICAgaWNvbjogJ2ZhciBmYS10aW1lcycsXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBvbkZvb3RlckJ1dHRvbkNsaWNrKGU6IEFYTWVudUl0ZW1DbGlja0V2ZW50KSB7XG4gICAgaWYgKGUubmFtZSA9PT0gJ2NvbmZpcm0nKSB7XG4gICAgICB0aGlzLm9uRG9uZUNsaWNrKCk7XG4gICAgfVxuICAgIGlmIChlLm5hbWUgPT09ICdjYW5jZWwnKSB7XG4gICAgICB0aGlzLm9uQ2FuY2VsQ2xpY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgc3R5bGU9XCJoZWlnaHQ6IDcwdmg7IHBhZGRpbmc6IDAuNWVtXCI+XG4gIDxkaXYgc3R5bGU9XCJoZWlnaHQ6IGNhbGMoOTglKVwiPlxuICAgIDxheC1kYXRhLWdyaWRcbiAgICAgIFtzaG93UmVmcmVzaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgICBbcGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JdPVwicGFnaW5hdGlvblBhZ2VTaXplU2VsZWN0b3JcIlxuICAgICAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gICAgICBbcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZV09XCJwYWdpbmF0aW9uQXV0b1BhZ2VTaXplXCJcbiAgICAgIFtwYWdpbmF0aW9uUGFnZVNpemVdPVwicGFnaW5hdGlvblBhZ2VTaXplXCJcbiAgICAgIFtydGxdPVwicnRsXCJcbiAgICAgIFttYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzXT1cIm1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHNcIlxuICAgICAgW2Jsb2NrTG9hZERlYm91bmNlTWlsbGlzXT1cImJsb2NrTG9hZERlYm91bmNlTWlsbGlzXCJcbiAgICAgIFtzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uXT1cImZhbHNlXCJcbiAgICAgIFtrZXlGaWVsZF09XCJrZXlGaWVsZFwiXG4gICAgICBbaGFzQ2hpbGRGaWVsZF09XCJoYXNDaGlsZEZpZWxkXCJcbiAgICAgIFtzZWxlY3RSb3ddPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAjZ3JpZFxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICBbcmVtb3RlT3BlcmF0aW9uXT1cInRydWVcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAocm93RGJDbGljayk9XCJyb3dEb3VibGVDbGlja2VkKCRldmVudClcIlxuICAgICAgKHJvd1NlbGVjdGlvbkNoYW5nZSk9XCJyb3dTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICA+XG4gICAgICA8YXgtdG9vbGJhcj5cbiAgICAgICAgPGF4LXRvb2xiYXItc2VhcmNoICNzZWFyY2hCb3ggc3R5bGU9XCJ3aWR0aDogMTAwJVwiPjwvYXgtdG9vbGJhci1zZWFyY2g+XG4gICAgICA8L2F4LXRvb2xiYXI+XG4gICAgICA8YXgtc2VsZWN0aW9uLWNvbHVtblxuICAgICAgICAqbmdJZj1cInNlbGVjdGlvbk1vZGUgPT0gJ3NpbmdsZScgPyBmYWxzZSA6IHRydWVcIlxuICAgICAgPjwvYXgtc2VsZWN0aW9uLWNvbHVtbj5cbiAgICAgIDwhLS0gPGF4LWRhdGEtc291cmNlIFtwcm92aWRlRGF0YV09XCJkYXRhU291cmNlLnByb3ZpZGVEYXRhXCI+XG4gICAgICAgICAgICAgIDwvYXgtZGF0YS1zb3VyY2U+IC0tPlxuICAgIDwvYXgtZGF0YS1ncmlkPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi1wb3B1cC9kYXRhLWxvdi1wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFHeEIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFnQixRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUt6RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsd0JBQXdCO0lBZ0MvQztJQUFnQztJQTlCcEQsSUFBSSxDQUFzQjtJQUcxQixTQUFTLENBQTJCO0lBRXBDLE9BQU8sR0FBdUIsRUFBRSxDQUFDO0lBRWpDLGFBQWEsR0FBVSxFQUFFLENBQUM7SUFFMUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixTQUFTLEdBQVksSUFBSSxDQUFDO0lBRTFCLGFBQWEsQ0FBUztJQUN0QixHQUFHLEdBQVksUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUUxQyxZQUFZLEdBQVUsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFFM0Isc0JBQXNCLENBQVU7SUFFaEMsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBRWhDLCtCQUErQixD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Q0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7dUdBMUlVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLGdSQ25CcEMsNnpDQWtDQTs7MkZEZmEsdUJBQXVCO2tCQUhuQyxTQUFTOzsrR0FLUixJQUFJO3NCQURILFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJbkMsU0FBUztzQkFEUixTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQsXG4gIEFYRGF0YVNvdXJjZUNvbXBvbmVudCxcbiAgQVhNZW51SXRlbUNsaWNrRXZlbnQsXG4gIEFYVG9vbGJhclNlYXJjaENvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSwgQVhDb25maWcsIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhR3JpZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RhdGEtZ3JpZC9kYXRhZ3JpZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VQb3B1cFBhZ2VDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdncmlkJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgZ3JpZDogQVhEYXRhR3JpZENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hCb3gnKVxuICBzZWFyY2hCb3g6IEFYVG9vbGJhclNlYXJjaENvbXBvbmVudDtcblxuICBjb2x1bW5zOiBBWEdyaWREYXRhQ29sdW1uW10gPSBbXTtcblxuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIGtleUZpZWxkOiBzdHJpbmcgPSAnJztcbiAgYWxsb3dOdWxsOiBib29sZWFuID0gdHJ1ZTtcblxuICBoYXNDaGlsZEZpZWxkOiBzdHJpbmc7XG4gIHJ0bDogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpO1xuXG4gIHNlbGVjdGVkUm93czogYW55W10gPSBbXTtcbiAgcGFnaW5hdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZTogYm9vbGVhbjtcblxuICBwYWdpbmF0aW9uUGFnZVNpemU6IG51bWJlciA9IDIwO1xuXG4gIG1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHM6IG51bWJlcjtcblxuICBibG9ja0xvYWREZWJvdW5jZU1pbGxpczogbnVtYmVyO1xuXG4gIHBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yOiBudW1iZXJbXSB8IGJvb2xlYW4gPSBbMTAsIDIwXTtcblxuICBzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlQ29tcG9uZW50O1xuXG4gIHNlbGVjdGlvbk1vZGU6IHN0cmluZztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ydGwgPT0gbnVsbCkge1xuICAgICAgdGhpcy5ydGwgPVxuICAgICAgICB3aW5kb3dcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCBudWxsKVxuICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCc7XG4gICAgfVxuICB9XG5cbiAgb25Eb25lQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcykge1xuICAgICAgdGhpcy5jbG9zZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcm93RG91YmxlQ2xpY2tlZChlKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZSA9PSAnc2luZ2xlJykge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbHRlcihcbiAgICAgIChjKSA9PiBjW3RoaXMua2V5RmllbGRdICE9IGUuZGF0YS5kYXRhW3RoaXMua2V5RmllbGRdXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChlLmRhdGEuZGF0YSk7XG5cbiAgICB0aGlzLm9uRG9uZUNsaWNrKCk7XG4gIH1cblxuICBvbkNhbmNlbENsaWNrKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHJvd1NlbGVjdGlvbkNoYW5nZShlKSB7XG4gICAgaWYgKGUuZGF0YS5ub2RlLnNlbGVjdGVkID09IHRydWUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuc2VsZWN0ZWRJdGVtcy5maWx0ZXIoXG4gICAgICAgIChjKSA9PiBjW3RoaXMua2V5RmllbGRdICE9IGUuZGF0YS5ub2RlLmRhdGFbdGhpcy5rZXlGaWVsZF1cbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChlLmRhdGEubm9kZS5kYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFsbG93TnVsbCA9PSB0cnVlIHx8XG4gICAgICAgICh0aGlzLmFsbG93TnVsbCA9PSBmYWxzZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSlcbiAgICAgICkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKFxuICAgICAgICAgIChjKSA9PiBjW3RoaXMua2V5RmllbGRdICE9IGUuZGF0YS5ub2RlLmRhdGFbdGhpcy5rZXlGaWVsZF1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKGVsZSkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MucHVzaChlbGUpO1xuICAgIH0pO1xuICAgIHRoaXMuc2VhcmNoQm94LmZvY3VzKCk7XG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5vbkRhdGFSZWNlaXZlZCkge1xuICAgICAgdGhpcy5kYXRhU291cmNlLm9uRGF0YVJlY2VpdmVkLnN1YnNjcmliZSgoYXJnKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBvblZhbHVlU2VhcmNoQ2hhbmdlZChlKSB7XG5cbiAgLy8gICAgIGNvbnN0IHBhcmFtczogQVhEYXRhU291cmNlUmVhZFBhcmFtcyA9IHt9XG4gIC8vICAgICBwYXJhbXMuc2VhcmNoVGV4dCA9IGUudmFsdWU7XG4gIC8vICAgICAvLyBwYXJhbXMudGFrZSA9IDEwMDtcbiAgLy8gICAgIC8vIHBhcmFtcy5za2lwID0gMFxuICAvLyAgICAgdGhpcy5kYXRhU291cmNlLmZldGNoKHBhcmFtcyk7XG4gIC8vIH1cblxuICBnZXRGb290ZXJCdXR0b25zKCk6IEFYQnV0dG9uSXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdjb21tb24uY29uZmlybScpLFxuICAgICAgICBuYW1lOiAnY29uZmlybScsXG4gICAgICAgIHN0eWxlOiAnYXggcHJpbWFyeScsXG4gICAgICAgIGljb246ICdmYXIgZmEtY2hlY2stY2lyY2xlJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2NvbW1vbi5jYW5jZWwnKSxcbiAgICAgICAgbmFtZTogJ2NhbmNlbCcsXG4gICAgICAgIHN0eWxlOiAnYXggbGlnaHQnLFxuICAgICAgICBpY29uOiAnZmFyIGZhLXRpbWVzJyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG9uRm9vdGVyQnV0dG9uQ2xpY2soZTogQVhNZW51SXRlbUNsaWNrRXZlbnQpIHtcbiAgICBpZiAoZS5uYW1lID09PSAnY29uZmlybScpIHtcbiAgICAgIHRoaXMub25Eb25lQ2xpY2soKTtcbiAgICB9XG4gICAgaWYgKGUubmFtZSA9PT0gJ2NhbmNlbCcpIHtcbiAgICAgIHRoaXMub25DYW5jZWxDbGljaygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBzdHlsZT1cImhlaWdodDogNzB2aDsgcGFkZGluZzogMC41ZW1cIj5cbiAgPGRpdiBzdHlsZT1cImhlaWdodDogY2FsYyg5OCUpXCI+XG4gICAgPGF4LWRhdGEtZ3JpZFxuICAgICAgW3Nob3dSZWZyZXNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICAgIFtwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3Rvcl09XCJwYWdpbmF0aW9uUGFnZVNpemVTZWxlY3RvclwiXG4gICAgICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgICAgIFtzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uXT1cInN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb25cIlxuICAgICAgW3BhZ2luYXRpb25BdXRvUGFnZVNpemVdPVwicGFnaW5hdGlvbkF1dG9QYWdlU2l6ZVwiXG4gICAgICBbcGFnaW5hdGlvblBhZ2VTaXplXT1cInBhZ2luYXRpb25QYWdlU2l6ZVwiXG4gICAgICBbcnRsXT1cInJ0bFwiXG4gICAgICBbbWF4Q29uY3VycmVudERhdGFzb3VyY2VSZXF1ZXN0c109XCJtYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzXCJcbiAgICAgIFtibG9ja0xvYWREZWJvdW5jZU1pbGxpc109XCJibG9ja0xvYWREZWJvdW5jZU1pbGxpc1wiXG4gICAgICBba2V5RmllbGRdPVwia2V5RmllbGRcIlxuICAgICAgW2hhc0NoaWxkRmllbGRdPVwiaGFzQ2hpbGRGaWVsZFwiXG4gICAgICBbc2VsZWN0Um93XT1cInNlbGVjdGVkSXRlbXNcIlxuICAgICAgI2dyaWRcbiAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCJcbiAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGVcIlxuICAgICAgKHJvd0RiQ2xpY2spPVwicm93RG91YmxlQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgIChyb3dTZWxlY3Rpb25DaGFuZ2UpPVwicm93U2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgPlxuICAgICAgPGF4LXRvb2xiYXI+XG4gICAgICAgIDxheC10b29sYmFyLXNlYXJjaCAjc2VhcmNoQm94IHN0eWxlPVwid2lkdGg6IDEwMCVcIj48L2F4LXRvb2xiYXItc2VhcmNoPlxuICAgICAgPC9heC10b29sYmFyPlxuICAgICAgPGF4LXNlbGVjdGlvbi1jb2x1bW5cbiAgICAgICAgKm5nSWY9XCJzZWxlY3Rpb25Nb2RlID09ICdzaW5nbGUnID8gZmFsc2UgOiB0cnVlXCJcbiAgICAgID48L2F4LXNlbGVjdGlvbi1jb2x1bW4+XG4gICAgICA8IS0tIDxheC1kYXRhLXNvdXJjZSBbcHJvdmlkZURhdGFdPVwiZGF0YVNvdXJjZS5wcm92aWRlRGF0YVwiPlxuICAgICAgICAgICAgICA8L2F4LWRhdGEtc291cmNlPiAtLT5cbiAgICA8L2F4LWRhdGEtZ3JpZD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -35,6 +35,7 @@ export class AXLOVComponent extends AXValidatableComponent {
35
35
  selectedItems = [];
36
36
  paginationAutoPageSize = false;
37
37
  paginationPageSize = 20;
38
+ suppressRowClickSelection = true;
38
39
  // @Input()
39
40
  // selectedValues: any[] = [];
40
41
  maxConcurrentDatasourceRequests;
@@ -89,6 +90,7 @@ export class AXLOVComponent extends AXValidatableComponent {
89
90
  size: this.popupSize,
90
91
  // closable: false,
91
92
  data: {
93
+ suppressRowClickSelection: this.suppressRowClickSelection,
92
94
  dataSource: this.dataSource,
93
95
  selectionMode: this.mode,
94
96
  columns: this.columns.toArray(),
@@ -136,7 +138,7 @@ export class AXLOVComponent extends AXValidatableComponent {
136
138
  });
137
139
  }
138
140
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXLOVComponent, deps: [{ token: i1.AXPopupService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
139
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXLOVComponent, selector: "ax-lov", inputs: { validation: "validation", textField: "textField", allowSearch: "allowSearch", valueField: "valueField", hasChildField: "hasChildField", allowNull: "allowNull", popupSize: "popupSize", pagination: "pagination", selectedItems: "selectedItems", paginationAutoPageSize: "paginationAutoPageSize", paginationPageSize: "paginationPageSize", maxConcurrentDatasourceRequests: "maxConcurrentDatasourceRequests", blockLoadDebounceMillis: "blockLoadDebounceMillis", readonly: "readonly", disabled: "disabled", chipsWidth: "chipsWidth", size: "size", caption: "caption", mode: "mode", placeholder: "placeholder", rtl: "rtl", multiLine: "multiLine", paginationPageSizeSelector: "paginationPageSizeSelector" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }], queries: [{ propertyName: "_contentValidation", first: true, predicate: AXValidation, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "rowTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "columns", predicate: AXGridDataColumn }], viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<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", dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "multiLine", "onDemandTranslate", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], encapsulation: i0.ViewEncapsulation.None });
141
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXLOVComponent, selector: "ax-lov", inputs: { validation: "validation", textField: "textField", allowSearch: "allowSearch", valueField: "valueField", hasChildField: "hasChildField", allowNull: "allowNull", popupSize: "popupSize", pagination: "pagination", selectedItems: "selectedItems", paginationAutoPageSize: "paginationAutoPageSize", paginationPageSize: "paginationPageSize", suppressRowClickSelection: "suppressRowClickSelection", maxConcurrentDatasourceRequests: "maxConcurrentDatasourceRequests", blockLoadDebounceMillis: "blockLoadDebounceMillis", readonly: "readonly", disabled: "disabled", chipsWidth: "chipsWidth", size: "size", caption: "caption", mode: "mode", placeholder: "placeholder", rtl: "rtl", multiLine: "multiLine", paginationPageSizeSelector: "paginationPageSizeSelector" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }], queries: [{ propertyName: "_contentValidation", first: true, predicate: AXValidation, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "rowTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "columns", predicate: AXGridDataColumn }], viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<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", dependencies: [{ kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "multiLine", "onDemandTranslate", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], encapsulation: i0.ViewEncapsulation.None });
140
142
  }
141
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXLOVComponent, decorators: [{
142
144
  type: Component,
@@ -178,6 +180,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
178
180
  type: Input
179
181
  }], paginationPageSize: [{
180
182
  type: Input
183
+ }], suppressRowClickSelection: [{
184
+ type: Input
181
185
  }], maxConcurrentDatasourceRequests: [{
182
186
  type: Input
183
187
  }], blockLoadDebounceMillis: [{
@@ -205,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
205
209
  }], paginationPageSizeSelector: [{
206
210
  type: Input
207
211
  }] } });
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==
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxxQkFBcUIsRUFFckIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsWUFBWSxHQUNiLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7O0FBU3BGLE1BQU0sT0FBTyxjQUNYLFNBQVEsc0JBQXNCO0lBZVY7SUFBK0I7SUFYM0Msa0JBQWtCLENBQWU7SUFDakMsV0FBVyxDQUFlO0lBRWxDLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUN2RSxDQUFDO0lBQ0QsSUFBVyxVQUFVLENBQUMsQ0FBZTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBb0IsS0FBcUIs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LFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXhDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTdDLE9BQU87c0JBRGQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBSWpDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5QyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUlOLHNCQUFzQjtzQkFEckIsS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSU4seUJBQXlCO3NCQUR4QixLQUFLO2dCQU9OLCtCQUErQjtzQkFEOUIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFNUCxHQUFHO3NCQURGLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHTiwwQkFBMEI7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWEJhc2VJbnB1dENvbXBvbmVudCxcbiAgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCxcbiAgQVhEYXRhRXZlbnQsXG4gIEFYRGF0YVNvdXJjZUNvbXBvbmVudCxcbiAgQVhFbGVtZW50U2l6ZSxcbiAgQVhQb3B1cFNlcnZpY2UsXG4gIEFYU2VsZWN0Qm94Q29tcG9uZW50LFxuICBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LFxuICBBWFZhbGlkYXRpb24sXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhHcmlkRGF0YUNvbHVtbiB9IGZyb20gJy4uL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWxvdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxvdi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgc3R5bGU6ICd3aWR0aDogMTAwJScgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhMT1ZDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTE9WQ29tcG9uZW50XG4gIGV4dGVuZHMgQVhWYWxpZGF0YWJsZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZUlucHV0Q29tcG9uZW50XG57XG4gIEBDb250ZW50Q2hpbGQoQVhWYWxpZGF0aW9uLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwcml2YXRlIF9jb250ZW50VmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xuICBwcml2YXRlIF92YWxpZGF0aW9uOiBBWFZhbGlkYXRpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGdldCB2YWxpZGF0aW9uKCk6IEFYVmFsaWRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRpb24gPyB0aGlzLl92YWxpZGF0aW9uIDogdGhpcy5fY29udGVudFZhbGlkYXRpb247XG4gIH1cbiAgcHVibGljIHNldCB2YWxpZGF0aW9uKHY6IEFYVmFsaWRhdGlvbikge1xuICAgIHRoaXMuX3ZhbGlkYXRpb24gPSB2O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3B1cDogQVhQb3B1cFNlcnZpY2UsIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHNlbGVjdEJveDogQVhTZWxlY3RCb3hDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGRhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZUNvbXBvbmVudDtcblxuICBAQ29udGVudENoaWxkcmVuKEFYR3JpZERhdGFDb2x1bW4pXG4gIHByaXZhdGUgY29sdW1uczogUXVlcnlMaXN0PEFYR3JpZERhdGFDb2x1bW4+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJvd1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIHRleHRGaWVsZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgYWxsb3dTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHZhbHVlRmllbGQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGhhc0NoaWxkRmllbGQ6IHN0cmluZyA9ICdudWxsJztcblxuICBASW5wdXQoKVxuICBhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHBvcHVwU2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ2Z1bGwnID0gJ21kJztcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgc2VsZWN0ZWRJdGVtczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBwYWdpbmF0aW9uQXV0b1BhZ2VTaXplID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcGFnaW5hdGlvblBhZ2VTaXplOiBudW1iZXIgPSAyMDtcblxuICBASW5wdXQoKVxuICBzdXBwcmVzc1Jvd0NsaWNrU2VsZWN0aW9uID0gdHJ1ZTtcblxuICAvLyBASW5wdXQoKVxuICAvLyBzZWxlY3RlZFZhbHVlczogYW55W10gPSBbXTtcblxuICBASW5wdXQoKVxuICBtYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgYmxvY2tMb2FkRGVib3VuY2VNaWxsaXM6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgY2hpcHNXaWR0aDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgc2l6ZTogQVhFbGVtZW50U2l6ZSA9ICdtZCc7XG5cbiAgQElucHV0KClcbiAgY2FwdGlvbjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG1vZGU6ICdzaW5nbGUnIHwgJ211bHRpcGxlJyA9ICdzaW5nbGUnO1xuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIG9uU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8QVhEYXRhRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgIEFYRGF0YUV2ZW50PGFueT5cbiAgPigpO1xuXG4gIEBJbnB1dCgpXG4gIHJ0bDogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpO1xuXG4gIEBJbnB1dCgpIG11bHRpTGluZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yOiBudW1iZXJbXSB8IGJvb2xlYW4gPSBbMTAsIDIwXTtcblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEJveC5mb2N1cygpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnNlbGVjdEJveC5yZWZyZXNoKCk7XG4gIH1cblxuICBoYW5kbGVCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9XG4gICAgICAgIHdpbmRvd1xuICAgICAgICAgIC5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpXG4gICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gICAgLy8gIHRoaXMuc2VsZWN0VmFsID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcbiAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRWYWxpZGF0aW9uKHRoaXMucmVmLCAnc2VsZWN0ZWRJdGVtcycsIHRoaXMudmFsaWRhdGlvbik7XG4gIH1cblxuICBoYW5kbGVTZWxlY3RDaGFuZ2UoZSkge1xuICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICBkYXRhOiB0aGlzLnNlbGVjdGVkSXRlbXMsXG4gICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdEJveC5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAgdGhpcy5wb3B1cFxuICAgICAgICAub3BlbihBWERhdGFMb3ZQb3B1cENvbXBvbmVudCwge1xuICAgICAgICAgIHNpemU6IHRoaXMucG9wdXBTaXplLFxuICAgICAgICAgIC8vICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IHRoaXMuc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbixcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU6IHRoaXMubW9kZSxcbiAgICAgICAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucy50b0FycmF5KCksXG4gICAgICAgICAgICAvLyAgc2VsZWN0ZWRJdGVtczogdGhpcy5zZWxlY3RlZFZhbHVlcyxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtcyxcbiAgICAgICAgICAgIGtleUZpZWxkOiB0aGlzLnZhbHVlRmllbGQsXG4gICAgICAgICAgICBhbGxvd051bGw6IHRoaXMuYWxsb3dOdWxsLFxuICAgICAgICAgICAgaGFzQ2hpbGRGaWVsZDogdGhpcy5oYXNDaGlsZEZpZWxkLFxuICAgICAgICAgICAgcnRsOiB0aGlzLnJ0bCxcbiAgICAgICAgICAgIHBhZ2luYXRpb246IHRoaXMucGFnaW5hdGlvbixcbiAgICAgICAgICAgIHBhZ2luYXRpb25BdXRvUGFnZVNpemU6IHRoaXMucGFnaW5hdGlvbkF1dG9QYWdlU2l6ZSxcbiAgICAgICAgICAgIHBhZ2luYXRpb25QYWdlU2l6ZTogdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUsXG4gICAgICAgICAgICBtYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzOlxuICAgICAgICAgICAgICB0aGlzLm1heENvbmN1cnJlbnREYXRhc291cmNlUmVxdWVzdHMsXG4gICAgICAgICAgICBibG9ja0xvYWREZWJvdW5jZU1pbGxpczogdGhpcy5ibG9ja0xvYWREZWJvdW5jZU1pbGxpcyxcbiAgICAgICAgICAgIHBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yOiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZVNlbGVjdG9yLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6IHRoaXMuY2FwdGlvbixcbiAgICAgICAgICAvLyBzaXplOiB0aGlzLnNpemUsXG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKChjKSA9PiB7XG4gICAgICAgICAgaWYgKGMuZGF0YSkge1xuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgICAgICAgICBjLmRhdGEuZm9yRWFjaCgoZWxtKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGVsbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBjLmRhdGE7XG4gICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xuICAgICAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgZGF0YTogdGhpcy5zZWxlY3RlZEl0ZW1zLFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZSkge1xuICAgICAgICAgICAgICByZXNvbHZlKGMuZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChyZXNvbHZlKSB7XG4gICAgICAgICAgICAgIHJlc29sdmUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNlbGVjdEJveC5yZWZyZXNoKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8YXgtc2VsZWN0LWJveFxuICBbcm93SW5wdXRUZW1wbGF0ZV09XCJyb3dUZW1wbGF0ZVwiXG4gIFttdWx0aUxpbmVdPVwibXVsdGlMaW5lXCJcbiAgW3J0bF09XCJydGxcIlxuICBbYWxsb3dTZWFyY2hdPVwiYWxsb3dTZWFyY2hcIlxuICAjc2VsZWN0Qm94XG4gIFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIlxuICBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gIFtyZW1vdGVPcGVyYXRpb25dPVwidHJ1ZVwiXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gIFtzaXplXT1cInNpemVcIlxuICBbdGV4dEZpZWxkXT1cInRleHRGaWVsZFwiXG4gIFt2YWx1ZUZpZWxkXT1cInZhbHVlRmllbGRcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgWyhzZWxlY3RlZEl0ZW1zKV09XCJzZWxlY3RlZEl0ZW1zXCJcbiAgKHNlbGVjdGlvbkNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0Q2hhbmdlKCRldmVudClcIlxuICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbj5cbiAgPG5nLWNvbnRhaW5lciBzdGFydD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+IDwvbmctY29udGVudD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgZW5kPlxuICAgIDxheC1idXR0b25cbiAgICAgIGljb249XCJmYXIgZmEtYmFycyBpY29uXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICB0eXBlPVwibGlnaHQgYmxhbmtcIlxuICAgICAgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIlxuICAgICAgZW5kXG4gICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgID5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW5kXVwiPiA8L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9heC1zZWxlY3QtYm94PlxuXG48IS0tIDxheC1zZWxlY3QtYm94MiBbcnRsXT1cInJ0bFwiIFthbGxvd1NlYXJjaF09XCJhbGxvd1NlYXJjaFwiICNzZWxlY3RCb3ggW3Nob3dEcm9wRG93bkJ1dHRvbl09XCJmYWxzZVwiIFthbGxvd051bGxdPVwiYWxsb3dOdWxsXCJcbiAgICBbcmVtb3RlT3BlcmF0aW9uXT1cInRydWVcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbc2l6ZV09XCJzaXplXCIgW3RleHRGaWVsZF09XCJ0ZXh0RmllbGRcIiBbdmFsdWVGaWVsZF09XCJ2YWx1ZUZpZWxkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbc2VsZWN0aW9uTW9kZV09XCJtb2RlXCIgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQpXCIgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgWyh2YWx1ZSldPVwic2VsZWN0ZWRJdGVtc1wiIHNlbGVjdGlvbkRhdGFNb2RlPVwiaXRlbVwiPlxuICAgIDxuZy1jb250YWluZXIgc3RhcnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydF1cIj5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgZW5kPlxuICAgICAgICA8YXgtYnV0dG9uIGljb249XCJmYXIgZmEtYmFycyBpY29uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgdHlwZT1cInByaW1hcnkgYmxhbmtcIiAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soKVwiIGVuZFxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIi0xXCI+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW5kXVwiPlxuICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2F4LXNlbGVjdC1ib3gyPiAtLT5cblxuPCEtLSA8ZGl2IGNsYXNzPVwiYXgtbG92LWJveFwiIFtzdHlsZS5kaXNwbGF5XT1cIm1vZGU9PSdoaWRkZW4nID8gJ25vbmUnOid1bnNldCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1maWVsZC1zZXQtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInsgJ25vLWxhYmVsJzogIWxhYmVsIH1cIj5cbiAgICAgICAgICAgIDxmaWVsZHNldCBbbmdDbGFzc109XCJ7ICdpbnB1dC1mb2N1c2VkJzogaXNGb2N1c2VkLCAnaW5wdXQtZXJyb3InOiBlcnJvclRleHQgfVwiPlxuICAgICAgICAgICAgICAgIDxsZWdlbmQgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvbGVnZW5kPlxuICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChrZXl1cCk9XCJoYW5kbGVLZXlFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJoYW5kbGVCbHVyRXZlbnQoJGV2ZW50KVwiIChmb2N1cyk9XCJoYW5kbGVGb2N1c0V2ZW50KCRldmVudClcIiBjbGFzcz1cImF4LXRleHQtYm94XCIgZGlzYWJsZWQgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1maWVsZC1zZXQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRleHQgJiYgYWxsb3dDbGVhclwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiAoY2xpY2spPVwiY2xlYXJUZXh0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtdGltZXNcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCIgYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtY2hlY2stY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLXRleHRcIiAqbmdJZj1cImVycm9yVGV4dFwiPlxuICAgICAgICB7eyBlcnJvclRleHQgfX1cbiAgICA8L2Rpdj5cblxuPC9kaXY+IC0tPlxuIl19
@@ -91,6 +91,7 @@ class AXGridDataColumn {
91
91
  menuItemDisable = false;
92
92
  columnGroupShow;
93
93
  wrapText = false;
94
+ cellStyle = {};
94
95
  constructor() { }
95
96
  render() {
96
97
  const col = {
@@ -169,6 +170,9 @@ class AXGridDataColumn {
169
170
  col.cellClass = this.cellClass;
170
171
  }
171
172
  }
173
+ if (Object.keys(this.cellStyle)?.length) {
174
+ col.cellStyle = this.cellStyle;
175
+ }
172
176
  //
173
177
  if (this.cellTemplate != null) {
174
178
  col.cellRenderer = this.cellTemplate.renderer;
@@ -186,7 +190,7 @@ class AXGridDataColumn {
186
190
  return col;
187
191
  }
188
192
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXGridDataColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
189
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.5", type: AXGridDataColumn, inputs: { width: "width", maxWidth: "maxWidth", minWidth: "minWidth", pinned: "pinned", allowSorting: "allowSorting", allowFiltering: "allowFiltering", cellClass: "cellClass", sort: "sort", field: "field", caption: "caption", cellRendererParams: "cellRendererParams", checkbox: "checkbox", headerCheckbox: "headerCheckbox", groupIndex: "groupIndex", treeIndex: "treeIndex", enableRowGroup: "enableRowGroup", hide: "hide", floatingFilter: "floatingFilter", disableMenu: "disableMenu", resizable: "resizable", menuColumnDisable: "menuColumnDisable", menuItemDisable: "menuItemDisable", columnGroupShow: "columnGroupShow", wrapText: "wrapText" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: AXDataGridCellTemplateComponent, descendants: true }], ngImport: i0 });
193
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.5", type: AXGridDataColumn, inputs: { width: "width", maxWidth: "maxWidth", minWidth: "minWidth", pinned: "pinned", allowSorting: "allowSorting", allowFiltering: "allowFiltering", cellClass: "cellClass", sort: "sort", field: "field", caption: "caption", cellRendererParams: "cellRendererParams", checkbox: "checkbox", headerCheckbox: "headerCheckbox", groupIndex: "groupIndex", treeIndex: "treeIndex", enableRowGroup: "enableRowGroup", hide: "hide", floatingFilter: "floatingFilter", disableMenu: "disableMenu", resizable: "resizable", menuColumnDisable: "menuColumnDisable", menuItemDisable: "menuItemDisable", columnGroupShow: "columnGroupShow", wrapText: "wrapText", cellStyle: "cellStyle" }, queries: [{ propertyName: "cellTemplate", first: true, predicate: AXDataGridCellTemplateComponent, descendants: true }], ngImport: i0 });
190
194
  }
191
195
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXGridDataColumn, decorators: [{
192
196
  type: Directive
@@ -241,6 +245,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
241
245
  type: Input
242
246
  }], wrapText: [{
243
247
  type: Input
248
+ }], cellStyle: [{
249
+ type: Input
244
250
  }] } });
245
251
 
246
252
  class AXDataGridFilterComponent {
@@ -1817,6 +1823,7 @@ class AXDataLovPopupComponent extends AXBasePopupPageComponent {
1817
1823
  maxConcurrentDatasourceRequests;
1818
1824
  blockLoadDebounceMillis;
1819
1825
  paginationPageSizeSelector = [10, 20];
1826
+ suppressRowClickSelection;
1820
1827
  constructor(cdr, ref) {
1821
1828
  super();
1822
1829
  this.cdr = cdr;
@@ -1907,11 +1914,11 @@ class AXDataLovPopupComponent extends AXBasePopupPageComponent {
1907
1914
  }
1908
1915
  }
1909
1916
  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 [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"] }] });
1917
+ 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 [suppressRowClickSelection]=\"suppressRowClickSelection\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\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
1918
  }
1912
1919
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXDataLovPopupComponent, decorators: [{
1913
1920
  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 [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" }]
1921
+ 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 [suppressRowClickSelection]=\"suppressRowClickSelection\"\n [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\"\n [rtl]=\"rtl\"\n [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\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
1922
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { grid: [{
1916
1923
  type: ViewChild,
1917
1924
  args: ['grid', { static: true }]
@@ -1950,6 +1957,7 @@ class AXLOVComponent extends AXValidatableComponent {
1950
1957
  selectedItems = [];
1951
1958
  paginationAutoPageSize = false;
1952
1959
  paginationPageSize = 20;
1960
+ suppressRowClickSelection = true;
1953
1961
  // @Input()
1954
1962
  // selectedValues: any[] = [];
1955
1963
  maxConcurrentDatasourceRequests;
@@ -2004,6 +2012,7 @@ class AXLOVComponent extends AXValidatableComponent {
2004
2012
  size: this.popupSize,
2005
2013
  // closable: false,
2006
2014
  data: {
2015
+ suppressRowClickSelection: this.suppressRowClickSelection,
2007
2016
  dataSource: this.dataSource,
2008
2017
  selectionMode: this.mode,
2009
2018
  columns: this.columns.toArray(),
@@ -2051,7 +2060,7 @@ class AXLOVComponent extends AXValidatableComponent {
2051
2060
  });
2052
2061
  }
2053
2062
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXLOVComponent, deps: [{ token: i1$1.AXPopupService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2054
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXLOVComponent, selector: "ax-lov", inputs: { validation: "validation", textField: "textField", allowSearch: "allowSearch", valueField: "valueField", hasChildField: "hasChildField", allowNull: "allowNull", popupSize: "popupSize", pagination: "pagination", selectedItems: "selectedItems", paginationAutoPageSize: "paginationAutoPageSize", paginationPageSize: "paginationPageSize", maxConcurrentDatasourceRequests: "maxConcurrentDatasourceRequests", blockLoadDebounceMillis: "blockLoadDebounceMillis", readonly: "readonly", disabled: "disabled", chipsWidth: "chipsWidth", size: "size", caption: "caption", mode: "mode", placeholder: "placeholder", rtl: "rtl", multiLine: "multiLine", paginationPageSizeSelector: "paginationPageSizeSelector" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }], queries: [{ propertyName: "_contentValidation", first: true, predicate: AXValidation, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "rowTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "columns", predicate: AXGridDataColumn }], viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<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", dependencies: [{ kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i1$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "multiLine", "onDemandTranslate", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], encapsulation: i0.ViewEncapsulation.None });
2063
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.5", type: AXLOVComponent, selector: "ax-lov", inputs: { validation: "validation", textField: "textField", allowSearch: "allowSearch", valueField: "valueField", hasChildField: "hasChildField", allowNull: "allowNull", popupSize: "popupSize", pagination: "pagination", selectedItems: "selectedItems", paginationAutoPageSize: "paginationAutoPageSize", paginationPageSize: "paginationPageSize", suppressRowClickSelection: "suppressRowClickSelection", maxConcurrentDatasourceRequests: "maxConcurrentDatasourceRequests", blockLoadDebounceMillis: "blockLoadDebounceMillis", readonly: "readonly", disabled: "disabled", chipsWidth: "chipsWidth", size: "size", caption: "caption", mode: "mode", placeholder: "placeholder", rtl: "rtl", multiLine: "multiLine", paginationPageSizeSelector: "paginationPageSizeSelector" }, outputs: { onSelectionChange: "onSelectionChange" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }], queries: [{ propertyName: "_contentValidation", first: true, predicate: AXValidation, descendants: true, static: true }, { propertyName: "dataSource", first: true, predicate: AXDataSourceComponent, descendants: true, static: true }, { propertyName: "rowTemplate", first: true, predicate: ["itemTemplate"], descendants: true, static: true }, { propertyName: "columns", predicate: AXGridDataColumn }], viewQueries: [{ propertyName: "selectBox", first: true, predicate: ["selectBox"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<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", dependencies: [{ kind: "component", type: i1$1.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "component", type: i1$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "fitParent", "dropdownWidth", "multiLine", "onDemandTranslate", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], encapsulation: i0.ViewEncapsulation.None });
2055
2064
  }
2056
2065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: AXLOVComponent, decorators: [{
2057
2066
  type: Component,
@@ -2093,6 +2102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
2093
2102
  type: Input
2094
2103
  }], paginationPageSize: [{
2095
2104
  type: Input
2105
+ }], suppressRowClickSelection: [{
2106
+ type: Input
2096
2107
  }], maxConcurrentDatasourceRequests: [{
2097
2108
  type: Input
2098
2109
  }], blockLoadDebounceMillis: [{