@acorex/data-grid 4.2.0 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/acorex-data-grid.d.ts +5 -0
  2. package/esm2020/acorex-data-grid.mjs +5 -0
  3. package/esm2020/lib/data-grid/columns/check-column.component.mjs +117 -0
  4. package/esm2020/lib/data-grid/columns/column.component.mjs +164 -0
  5. package/esm2020/lib/data-grid/columns/command-column.component.mjs +115 -0
  6. package/esm2020/lib/data-grid/columns/date-column.component.mjs +111 -0
  7. package/esm2020/lib/data-grid/columns/row-number-column.component.mjs +37 -0
  8. package/esm2020/lib/data-grid/columns/selection-column.component.mjs +42 -0
  9. package/esm2020/lib/data-grid/columns/text-column.component.mjs +89 -0
  10. package/esm2020/lib/data-grid/datagrid.component.mjs +667 -0
  11. package/esm2020/lib/data-grid/datagrid.events.mjs +2 -0
  12. package/esm2020/lib/data-grid/datagrid.module.mjs +145 -0
  13. package/esm2020/lib/data-grid/filters/filter.component.mjs +39 -0
  14. package/esm2020/lib/data-grid/templates/cell-template.component.mjs +53 -0
  15. package/esm2020/lib/data-grid/templates/detail-template.component.mjs +46 -0
  16. package/esm2020/lib/data-grid/templates/row-template.component.mjs +43 -0
  17. package/esm2020/lib/data-lov/data-lov-popup/data-lov-popup.component.mjs +113 -0
  18. package/esm2020/lib/data-lov/data-lov.component.mjs +161 -0
  19. package/esm2020/lib/data-lov/data-lov.module.mjs +23 -0
  20. package/esm2020/public-api.mjs +18 -0
  21. package/fesm2015/acorex-data-grid.mjs +1876 -0
  22. package/fesm2015/acorex-data-grid.mjs.map +1 -0
  23. package/fesm2020/acorex-data-grid.mjs +1876 -0
  24. package/fesm2020/acorex-data-grid.mjs.map +1 -0
  25. package/lib/data-grid/columns/check-column.component.d.ts +37 -0
  26. package/lib/data-grid/columns/column.component.d.ts +32 -0
  27. package/lib/data-grid/columns/command-column.component.d.ts +27 -0
  28. package/lib/data-grid/columns/date-column.component.d.ts +32 -0
  29. package/lib/data-grid/columns/row-number-column.component.d.ts +10 -0
  30. package/lib/data-grid/columns/selection-column.component.d.ts +12 -0
  31. package/lib/data-grid/columns/text-column.component.d.ts +25 -0
  32. package/lib/data-grid/datagrid.component.d.ts +142 -0
  33. package/{src/lib/data-grid/datagrid.events.ts → lib/data-grid/datagrid.events.d.ts} +1 -4
  34. package/lib/data-grid/datagrid.module.d.ts +23 -0
  35. package/lib/data-grid/filters/filter.component.d.ts +5 -0
  36. package/lib/data-grid/templates/cell-template.component.d.ts +22 -0
  37. package/lib/data-grid/templates/detail-template.component.d.ts +21 -0
  38. package/lib/data-grid/templates/row-template.component.d.ts +20 -0
  39. package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +32 -0
  40. package/lib/data-lov/data-lov.component.d.ts +42 -0
  41. package/lib/data-lov/data-lov.module.d.ts +12 -0
  42. package/package.json +37 -17
  43. package/{src/public-api.ts → public-api.d.ts} +0 -3
  44. package/karma.conf.js +0 -32
  45. package/ng-package.json +0 -12
  46. package/src/lib/data-grid/columns/check-column.component.ts +0 -113
  47. package/src/lib/data-grid/columns/column.component.ts +0 -182
  48. package/src/lib/data-grid/columns/command-column.component.ts +0 -101
  49. package/src/lib/data-grid/columns/date-column.component.ts +0 -118
  50. package/src/lib/data-grid/columns/row-number-column.component.ts +0 -36
  51. package/src/lib/data-grid/columns/selection-column.component.ts +0 -39
  52. package/src/lib/data-grid/columns/text-column.component.ts +0 -92
  53. package/src/lib/data-grid/datagrid.component.html +0 -27
  54. package/src/lib/data-grid/datagrid.component.ts +0 -769
  55. package/src/lib/data-grid/datagrid.module.ts +0 -81
  56. package/src/lib/data-grid/filters/filter.component.ts +0 -21
  57. package/src/lib/data-grid/templates/cell-template.component.ts +0 -47
  58. package/src/lib/data-grid/templates/detail-template.component.ts +0 -43
  59. package/src/lib/data-grid/templates/row-template.component.ts +0 -41
  60. package/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html +0 -16
  61. package/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts +0 -130
  62. package/src/lib/data-lov/data-lov.component.html +0 -61
  63. package/src/lib/data-lov/data-lov.component.ts +0 -181
  64. package/src/lib/data-lov/data-lov.module.ts +0 -16
  65. package/src/test.ts +0 -28
  66. package/tsconfig.lib.json +0 -23
  67. package/tsconfig.lib.prod.json +0 -6
  68. package/tsconfig.spec.json +0 -17
  69. package/tslint.json +0 -17
@@ -0,0 +1,161 @@
1
+ import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, ContentChild, ViewChild, ViewEncapsulation, ElementRef, TemplateRef } from '@angular/core';
2
+ import { AXPopupService, AXValidation } from '@acorex/components';
3
+ import { AXDataSourceComponent, AXSelectBoxComponent, AXValidatableComponent } from '@acorex/components';
4
+ import { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';
5
+ import { AXGridDataColumn } from '../data-grid/columns/column.component';
6
+ import { AXConfig } from '@acorex/core';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@acorex/components";
9
+ export class AXLOVComponent extends AXValidatableComponent {
10
+ constructor(popup, ref) {
11
+ super();
12
+ this.popup = popup;
13
+ this.ref = ref;
14
+ this.textField = '';
15
+ this.allowSearch = true;
16
+ this.valueField = '';
17
+ this.hasChildField = 'null';
18
+ this.allowNull = true;
19
+ this.popupSize = 'md';
20
+ this.selectedItems = [];
21
+ // @Input()
22
+ // selectedValues: any[] = [];
23
+ this.readonly = false;
24
+ this.disabled = false;
25
+ this.chipsWidth = '';
26
+ this.size = 'md';
27
+ this.mode = 'single';
28
+ this.onSelectionChange = new EventEmitter();
29
+ this.rtl = AXConfig.get('layout.rtl');
30
+ }
31
+ get validation() {
32
+ return this._validation ? this._validation : this._contentValidation;
33
+ }
34
+ set validation(v) {
35
+ this._validation = v;
36
+ }
37
+ focus() {
38
+ this.selectBox.focus();
39
+ }
40
+ refresh() {
41
+ this.selectBox.refresh();
42
+ }
43
+ handleButtonClick() {
44
+ this.open();
45
+ }
46
+ ngOnInit() {
47
+ if (this.rtl == null) {
48
+ this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';
49
+ }
50
+ // this.selectVal = this.selectedValues;
51
+ this.onSelectionChange.subscribe((c) => {
52
+ this.clearValidationStyle(this.ref.nativeElement);
53
+ });
54
+ }
55
+ ngAfterContentInit() {
56
+ this.initValidation(this.ref, 'selectedItems', this.validation);
57
+ }
58
+ handleSelectChange(e) {
59
+ this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });
60
+ }
61
+ open() {
62
+ return new Promise((resolve) => {
63
+ this.selectBox.dropdown.close();
64
+ this.popup
65
+ .open(AXDataLovPopupComponent, {
66
+ size: this.popupSize,
67
+ // closable: false,
68
+ data: {
69
+ dataSource: this.dataSource,
70
+ selectionMode: this.mode,
71
+ columns: this.columns.toArray(),
72
+ // selectedItems: this.selectedValues,
73
+ selectedItems: this.selectedItems,
74
+ keyField: this.valueField,
75
+ allowNull: this.allowNull,
76
+ hasChildField: this.hasChildField,
77
+ rtl: this.rtl
78
+ },
79
+ title: this.caption
80
+ // size: this.size,
81
+ })
82
+ .then((c) => {
83
+ if (c.data) {
84
+ // this.selectedValues = [];
85
+ this.selectedItems = [];
86
+ c.data.forEach((elm) => {
87
+ this.selectedItems.push(elm);
88
+ });
89
+ // this.selectedItems = c.data;
90
+ // this.selectBox.refresh();
91
+ this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });
92
+ if (resolve) {
93
+ resolve(c.data);
94
+ }
95
+ }
96
+ else {
97
+ if (resolve) {
98
+ resolve(this.selectedItems);
99
+ }
100
+ }
101
+ this.selectBox.refresh();
102
+ });
103
+ });
104
+ }
105
+ }
106
+ AXLOVComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLOVComponent, deps: [{ token: i1.AXPopupService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
107
+ AXLOVComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXLOVComponent, selector: "ax-lov", inputs: { validation: "validation", textField: "textField", allowSearch: "allowSearch", valueField: "valueField", hasChildField: "hasChildField", allowNull: "allowNull", popupSize: "popupSize", selectedItems: "selectedItems", readonly: "readonly", disabled: "disabled", chipsWidth: "chipsWidth", size: "size", caption: "caption", mode: "mode", placeholder: "placeholder", rtl: "rtl" }, 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 [rowInputTemplate]=\"rowTemplate\" [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\r\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\r\n [disabled]=\"disabled\" [mode]=\"mode\" [(selectedItems)]=\"selectedItems\"\r\n (selectionChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"light blank\" (click)=\"handleButtonClick()\" end\r\n [tabIndex]=\"-1\">\r\n </ax-button>\r\n <ng-content select=\"[end]\">\r\n </ng-content>\r\n </ng-container>\r\n</ax-select-box>\r\n\r\n\r\n<!-- <ax-select-box2 [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\r\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\r\n [disabled]=\"disabled\" [selectionMode]=\"mode\" (onValueChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\"\r\n [(value)]=\"selectedItems\" selectionDataMode=\"item\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"primary blank\" (click)=\"handleButtonClick()\" end\r\n [tabIndex]=\"-1\">\r\n </ax-button>\r\n <ng-content select=\"[end]\">\r\n </ng-content>\r\n </ng-container>\r\n</ax-select-box2> -->\r\n\r\n\r\n<!-- <div class=\"ax-lov-box\" [style.display]=\"mode=='hidden' ? 'none':'unset'\">\r\n <div class=\"ax-field-set\">\r\n <div class=\"ax-field-set-wrapper\" [ngClass]=\"{ 'no-label': !label }\">\r\n <fieldset [ngClass]=\"{ 'input-focused': isFocused, 'input-error': errorText }\">\r\n <legend *ngIf=\"label\">\r\n {{ label }}\r\n </legend>\r\n </fieldset>\r\n <input type=\"text\" [(ngModel)]=\"text\" [placeholder]=\"placeholder\" (keyup)=\"handleKeyEvent($event)\"\r\n (blur)=\"handleBlurEvent($event)\" (focus)=\"handleFocusEvent($event)\" class=\"ax-text-box\" disabled />\r\n <div class=\"ax-field-set-button\">\r\n <button *ngIf=\"text && allowClear\" type=\"button\" class=\"btn btn-light\" (click)=\"clearText()\">\r\n <i class=\"far fa-times\"></i>\r\n </button>\r\n <button type=\"button\" class=\" btn btn-primary\" (click)=\"handleButtonClick($event)\">\r\n <i class=\"far fa-check-circle\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"validation-text\" *ngIf=\"errorText\">\r\n {{ errorText }}\r\n </div>\r\n\r\n</div> -->", components: [{ type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }, { type: i1.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], encapsulation: i0.ViewEncapsulation.None });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLOVComponent, decorators: [{
109
+ type: Component,
110
+ args: [{ selector: 'ax-lov', encapsulation: ViewEncapsulation.None, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }], template: "<ax-select-box [rowInputTemplate]=\"rowTemplate\" [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\r\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\r\n [disabled]=\"disabled\" [mode]=\"mode\" [(selectedItems)]=\"selectedItems\"\r\n (selectionChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"light blank\" (click)=\"handleButtonClick()\" end\r\n [tabIndex]=\"-1\">\r\n </ax-button>\r\n <ng-content select=\"[end]\">\r\n </ng-content>\r\n </ng-container>\r\n</ax-select-box>\r\n\r\n\r\n<!-- <ax-select-box2 [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\r\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\r\n [disabled]=\"disabled\" [selectionMode]=\"mode\" (onValueChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\"\r\n [(value)]=\"selectedItems\" selectionDataMode=\"item\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"primary blank\" (click)=\"handleButtonClick()\" end\r\n [tabIndex]=\"-1\">\r\n </ax-button>\r\n <ng-content select=\"[end]\">\r\n </ng-content>\r\n </ng-container>\r\n</ax-select-box2> -->\r\n\r\n\r\n<!-- <div class=\"ax-lov-box\" [style.display]=\"mode=='hidden' ? 'none':'unset'\">\r\n <div class=\"ax-field-set\">\r\n <div class=\"ax-field-set-wrapper\" [ngClass]=\"{ 'no-label': !label }\">\r\n <fieldset [ngClass]=\"{ 'input-focused': isFocused, 'input-error': errorText }\">\r\n <legend *ngIf=\"label\">\r\n {{ label }}\r\n </legend>\r\n </fieldset>\r\n <input type=\"text\" [(ngModel)]=\"text\" [placeholder]=\"placeholder\" (keyup)=\"handleKeyEvent($event)\"\r\n (blur)=\"handleBlurEvent($event)\" (focus)=\"handleFocusEvent($event)\" class=\"ax-text-box\" disabled />\r\n <div class=\"ax-field-set-button\">\r\n <button *ngIf=\"text && allowClear\" type=\"button\" class=\"btn btn-light\" (click)=\"clearText()\">\r\n <i class=\"far fa-times\"></i>\r\n </button>\r\n <button type=\"button\" class=\" btn btn-primary\" (click)=\"handleButtonClick($event)\">\r\n <i class=\"far fa-check-circle\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"validation-text\" *ngIf=\"errorText\">\r\n {{ errorText }}\r\n </div>\r\n\r\n</div> -->" }]
111
+ }], ctorParameters: function () { return [{ type: i1.AXPopupService }, { type: i0.ElementRef }]; }, propDecorators: { _contentValidation: [{
112
+ type: ContentChild,
113
+ args: [AXValidation, { static: true }]
114
+ }], validation: [{
115
+ type: Input
116
+ }], selectBox: [{
117
+ type: ViewChild,
118
+ args: ['selectBox', { static: true }]
119
+ }], dataSource: [{
120
+ type: ContentChild,
121
+ args: [AXDataSourceComponent, { static: true }]
122
+ }], columns: [{
123
+ type: ContentChildren,
124
+ args: [AXGridDataColumn]
125
+ }], rowTemplate: [{
126
+ type: ContentChild,
127
+ args: ['itemTemplate', { static: true }]
128
+ }], textField: [{
129
+ type: Input
130
+ }], allowSearch: [{
131
+ type: Input
132
+ }], valueField: [{
133
+ type: Input
134
+ }], hasChildField: [{
135
+ type: Input
136
+ }], allowNull: [{
137
+ type: Input
138
+ }], popupSize: [{
139
+ type: Input
140
+ }], selectedItems: [{
141
+ type: Input
142
+ }], readonly: [{
143
+ type: Input
144
+ }], disabled: [{
145
+ type: Input
146
+ }], chipsWidth: [{
147
+ type: Input
148
+ }], size: [{
149
+ type: Input
150
+ }], caption: [{
151
+ type: Input
152
+ }], mode: [{
153
+ type: Input
154
+ }], placeholder: [{
155
+ type: Input
156
+ }], onSelectionChange: [{
157
+ type: Output
158
+ }], rtl: [{
159
+ type: Input
160
+ }] } });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFdBQVcsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUErRCxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQWUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFTeEMsTUFBTSxPQUFPLGNBQWUsU0FBUSxzQkFBc0I7SUFheEQsWUFBb0IsS0FBcUIsRUFBVSxHQUFlO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBaUJsRSxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3ZCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBRzVCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFHeEIsa0JBQWEsR0FBVyxNQUFN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biAgQ29udGVudENoaWxkcmVuLFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgRWxlbWVudFJlZixcclxuICBUZW1wbGF0ZVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWFBvcHVwU2VydmljZSwgQVhCYXNlSW5wdXRDb21wb25lbnQsIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYRWxlbWVudFNpemUsIEFYVmFsaWRhdGlvbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEFYRGF0YVNvdXJjZUNvbXBvbmVudCwgQVhTZWxlY3RCb3hDb21wb25lbnQsIEFYRGF0YUV2ZW50LCBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYR3JpZERhdGFDb2x1bW4gfSBmcm9tICcuLi9kYXRhLWdyaWQvY29sdW1ucy9jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhDb25maWcgfSBmcm9tICdAYWNvcmV4L2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1sb3YnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxvdi5jb21wb25lbnQuaHRtbCcsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7IHN0eWxlOiAnd2lkdGg6IDEwMCUnIH0sXHJcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhMT1ZDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTE9WQ29tcG9uZW50IGV4dGVuZHMgQVhWYWxpZGF0YWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFYQmFzZVNpemFibGVDb21wb25lbnQsIEFYQmFzZUlucHV0Q29tcG9uZW50IHtcclxuICBAQ29udGVudENoaWxkKEFYVmFsaWRhdGlvbiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIF9jb250ZW50VmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xyXG4gIHByaXZhdGUgX3ZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb24oKTogQVhWYWxpZGF0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLl92YWxpZGF0aW9uID8gdGhpcy5fdmFsaWRhdGlvbiA6IHRoaXMuX2NvbnRlbnRWYWxpZGF0aW9uO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHZhbGlkYXRpb24odjogQVhWYWxpZGF0aW9uKSB7XHJcbiAgICB0aGlzLl92YWxpZGF0aW9uID0gdjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXA6IEFYUG9wdXBTZXJ2aWNlLCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEJveCcsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgc2VsZWN0Qm94OiBBWFNlbGVjdEJveENvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZChBWERhdGFTb3VyY2VDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgZGF0YVNvdXJjZTogQVhEYXRhU291cmNlQ29tcG9uZW50O1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKEFYR3JpZERhdGFDb2x1bW4pXHJcbiAgcHJpdmF0ZSBjb2x1bW5zOiBRdWVyeUxpc3Q8QVhHcmlkRGF0YUNvbHVtbj47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcm93VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdGV4dEZpZWxkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBhbGxvd1NlYXJjaDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdmFsdWVGaWVsZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaGFzQ2hpbGRGaWVsZDogc3RyaW5nID0gJ251bGwnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93TnVsbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcG9wdXBTaXplOiAnc20nIHwgJ21kJyB8ICdsZycgfCAnZnVsbCcgPSAnbWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XHJcblxyXG4gIC8vIEBJbnB1dCgpXHJcbiAgLy8gc2VsZWN0ZWRWYWx1ZXM6IGFueVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNoaXBzV2lkdGg6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEFYRWxlbWVudFNpemUgPSAnbWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGNhcHRpb246IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBtb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgPSAnc2luZ2xlJztcclxuXHJcbiAgQElucHV0KClcclxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBvblNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEFYRGF0YUV2ZW50PGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWERhdGFFdmVudDxhbnk+PigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHJ0bDogYm9vbGVhbiA9IEFYQ29uZmlnLmdldCgnbGF5b3V0LnJ0bCcpO1xyXG5cclxuICBmb2N1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0Qm94LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQnV0dG9uQ2xpY2soKSB7XHJcbiAgICB0aGlzLm9wZW4oKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucnRsID09IG51bGwpIHtcclxuICAgICAgdGhpcy5ydGwgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXJlY3Rpb24nKSA9PT0gJ3J0bCc7XHJcbiAgICB9XHJcbiAgICAvLyAgdGhpcy5zZWxlY3RWYWwgPSB0aGlzLnNlbGVjdGVkVmFsdWVzO1xyXG4gICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5zdWJzY3JpYmUoKGMpID0+IHtcclxuICAgICAgdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0VmFsaWRhdGlvbih0aGlzLnJlZiwgJ3NlbGVjdGVkSXRlbXMnLCB0aGlzLnZhbGlkYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0Q2hhbmdlKGUpIHtcclxuICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtcywgY29tcG9uZW50OiB0aGlzLCBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuKCk6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5zZWxlY3RCb3guZHJvcGRvd24uY2xvc2UoKTtcclxuICAgICAgdGhpcy5wb3B1cFxyXG4gICAgICAgIC5vcGVuKEFYRGF0YUxvdlBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICBzaXplOiB0aGlzLnBvcHVwU2l6ZSxcclxuICAgICAgICAgIC8vICAgY2xvc2FibGU6IGZhbHNlLFxyXG4gICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU6IHRoaXMubW9kZSxcclxuICAgICAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLnRvQXJyYXkoKSxcclxuICAgICAgICAgICAgLy8gIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRWYWx1ZXMsXHJcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtcyxcclxuICAgICAgICAgICAga2V5RmllbGQ6IHRoaXMudmFsdWVGaWVsZCxcclxuICAgICAgICAgICAgYWxsb3dOdWxsOiB0aGlzLmFsbG93TnVsbCxcclxuICAgICAgICAgICAgaGFzQ2hpbGRGaWVsZDogdGhpcy5oYXNDaGlsZEZpZWxkLFxyXG4gICAgICAgICAgICBydGw6IHRoaXMucnRsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdGl0bGU6IHRoaXMuY2FwdGlvblxyXG4gICAgICAgICAgLy8gc2l6ZTogdGhpcy5zaXplLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oKGMpID0+IHtcclxuICAgICAgICAgIGlmIChjLmRhdGEpIHtcclxuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZFZhbHVlcyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgYy5kYXRhLmZvckVhY2goKGVsbSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5wdXNoKGVsbSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gYy5kYXRhO1xyXG4gICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RCb3gucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQoeyBkYXRhOiB0aGlzLnNlbGVjdGVkSXRlbXMsIGNvbXBvbmVudDogdGhpcywgaHRtbEVsZW1lbnQ6IHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQgfSk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlKSB7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZShjLmRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAocmVzb2x2ZSkge1xyXG4gICAgICAgICAgICAgIHJlc29sdmUodGhpcy5zZWxlY3RlZEl0ZW1zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8YXgtc2VsZWN0LWJveCBbcm93SW5wdXRUZW1wbGF0ZV09XCJyb3dUZW1wbGF0ZVwiIFtydGxdPVwicnRsXCIgW2FsbG93U2VhcmNoXT1cImFsbG93U2VhcmNoXCIgI3NlbGVjdEJveCBbc2hvd0Ryb3BEb3duQnV0dG9uXT1cImZhbHNlXCIgW2FsbG93TnVsbF09XCJhbGxvd051bGxcIlxyXG4gICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NpemVdPVwic2l6ZVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbbW9kZV09XCJtb2RlXCIgWyhzZWxlY3RlZEl0ZW1zKV09XCJzZWxlY3RlZEl0ZW1zXCJcclxuICAgIChzZWxlY3Rpb25DaGFuZ2VkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQpXCIgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzdGFydD5cclxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIGVuZD5cclxuICAgICAgICA8YXgtYnV0dG9uIGljb249XCJmYXIgZmEtYmFycyBpY29uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgdHlwZT1cImxpZ2h0IGJsYW5rXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIiBlbmRcclxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIi0xXCI+XHJcbiAgICAgICAgPC9heC1idXR0b24+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj5cclxuICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9heC1zZWxlY3QtYm94PlxyXG5cclxuXHJcbjwhLS0gPGF4LXNlbGVjdC1ib3gyIFtydGxdPVwicnRsXCIgW2FsbG93U2VhcmNoXT1cImFsbG93U2VhcmNoXCIgI3NlbGVjdEJveCBbc2hvd0Ryb3BEb3duQnV0dG9uXT1cImZhbHNlXCIgW2FsbG93TnVsbF09XCJhbGxvd051bGxcIlxyXG4gICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NpemVdPVwic2l6ZVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbc2VsZWN0aW9uTW9kZV09XCJtb2RlXCIgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVNlbGVjdENoYW5nZSgkZXZlbnQpXCIgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcbiAgICBbKHZhbHVlKV09XCJzZWxlY3RlZEl0ZW1zXCIgc2VsZWN0aW9uRGF0YU1vZGU9XCJpdGVtXCI+XHJcbiAgICA8bmctY29udGFpbmVyIHN0YXJ0PlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydF1cIj5cclxuICAgICAgICA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgZW5kPlxyXG4gICAgICAgIDxheC1idXR0b24gaWNvbj1cImZhciBmYS1iYXJzIGljb25cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiB0eXBlPVwicHJpbWFyeSBibGFua1wiIChjbGljayk9XCJoYW5kbGVCdXR0b25DbGljaygpXCIgZW5kXHJcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiPlxyXG4gICAgICAgIDwvYXgtYnV0dG9uPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbmRdXCI+XHJcbiAgICAgICAgPC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvYXgtc2VsZWN0LWJveDI+IC0tPlxyXG5cclxuXHJcbjwhLS0gPGRpdiBjbGFzcz1cImF4LWxvdi1ib3hcIiBbc3R5bGUuZGlzcGxheV09XCJtb2RlPT0naGlkZGVuJyA/ICdub25lJzondW5zZXQnXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZpZWxkLXNldC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieyAnbm8tbGFiZWwnOiAhbGFiZWwgfVwiPlxyXG4gICAgICAgICAgICA8ZmllbGRzZXQgW25nQ2xhc3NdPVwieyAnaW5wdXQtZm9jdXNlZCc6IGlzRm9jdXNlZCwgJ2lucHV0LWVycm9yJzogZXJyb3JUZXh0IH1cIj5cclxuICAgICAgICAgICAgICAgIDxsZWdlbmQgKm5nSWY9XCJsYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IGxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cclxuICAgICAgICAgICAgPC9maWVsZHNldD5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGtleXVwKT1cImhhbmRsZUtleUV2ZW50KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwiaGFuZGxlQmx1ckV2ZW50KCRldmVudClcIiAoZm9jdXMpPVwiaGFuZGxlRm9jdXNFdmVudCgkZXZlbnQpXCIgY2xhc3M9XCJheC10ZXh0LWJveFwiIGRpc2FibGVkIC8+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1maWVsZC1zZXQtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidGV4dCAmJiBhbGxvd0NsZWFyXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodFwiIChjbGljayk9XCJjbGVhclRleHQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLXRpbWVzXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIiBidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrLWNpcmNsZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tdGV4dFwiICpuZ0lmPVwiZXJyb3JUZXh0XCI+XHJcbiAgICAgICAge3sgZXJyb3JUZXh0IH19XHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PiAtLT4iXX0=
@@ -0,0 +1,23 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXLOVComponent } from './data-lov.component';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';
6
+ import { AXDataGridModule } from '../data-grid/datagrid.module';
7
+ import { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';
8
+ import * as i0 from "@angular/core";
9
+ export class AXLOVModule {
10
+ }
11
+ AXLOVModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLOVModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ AXLOVModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLOVModule, declarations: [AXLOVComponent, AXDataLovPopupComponent], imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule], exports: [AXLOVComponent, AXDataLovPopupComponent] });
13
+ AXLOVModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLOVModule, providers: [], imports: [[CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule]] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXLOVModule, decorators: [{
15
+ type: NgModule,
16
+ args: [{
17
+ declarations: [AXLOVComponent, AXDataLovPopupComponent],
18
+ imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],
19
+ exports: [AXLOVComponent, AXDataLovPopupComponent],
20
+ providers: []
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBUy9ILE1BQU0sT0FBTyxXQUFXOzt5R0FBWCxXQUFXOzBHQUFYLFdBQVcsaUJBTEwsY0FBYyxFQUFFLHVCQUF1QixhQUM1QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLGFBQ3RJLGNBQWMsRUFBRSx1QkFBdUI7MEdBR3hDLFdBQVcsYUFGVCxFQUFFLFlBRkosQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7NEZBSXhJLFdBQVc7a0JBTnZCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLHVCQUF1QixDQUFDO29CQUN2RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7b0JBQ2pKLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQztvQkFDbEQsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQVhMT1ZDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbG92LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBWERhdGFMb3ZQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1sb3YtcG9wdXAvZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhEYXRhR3JpZE1vZHVsZSB9IGZyb20gJy4uL2RhdGEtZ3JpZC9kYXRhZ3JpZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBWERhdGFTb3VyY2VNb2R1bGUsIEFYQnV0dG9uTW9kdWxlLCBBWFRvb2xiYXJNb2R1bGUsIEFYU2VhcmNoQm94TW9kdWxlLCBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cyc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FYTE9WQ29tcG9uZW50LCBBWERhdGFMb3ZQb3B1cENvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhEYXRhR3JpZE1vZHVsZSwgQVhEYXRhU291cmNlTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhUb29sYmFyTW9kdWxlLCBBWFNlbGVjdEJveE1vZHVsZSwgQVhTZWFyY2hCb3hNb2R1bGVdLFxyXG4gICAgZXhwb3J0czogW0FYTE9WQ29tcG9uZW50LCBBWERhdGFMb3ZQb3B1cENvbXBvbmVudF0sXHJcbiAgICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWExPVk1vZHVsZSB7IH0iXX0=
@@ -0,0 +1,18 @@
1
+ export * from './lib/data-grid/columns/check-column.component';
2
+ export * from './lib/data-grid/columns/column.component';
3
+ export * from './lib/data-grid/columns/command-column.component';
4
+ export * from './lib/data-grid/columns/date-column.component';
5
+ export * from './lib/data-grid/columns/selection-column.component';
6
+ export * from './lib/data-grid/columns/text-column.component';
7
+ export * from './lib/data-grid/columns/row-number-column.component';
8
+ export * from './lib/data-grid/datagrid.component';
9
+ export * from './lib/data-grid/datagrid.events';
10
+ export * from './lib/data-grid/datagrid.module';
11
+ export * from './lib/data-grid/filters/filter.component';
12
+ export * from './lib/data-grid/templates/cell-template.component';
13
+ export * from './lib/data-grid/templates/row-template.component';
14
+ export * from './lib/data-grid/templates/detail-template.component';
15
+ export * from './lib/data-lov/data-lov-popup/data-lov-popup.component';
16
+ export * from './lib/data-lov/data-lov.component';
17
+ export * from './lib/data-lov/data-lov.module';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9kYXRhLWdyaWQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxREFBcUQsQ0FBQztBQUVwRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1ncmlkL2NvbHVtbnMvY2hlY2stY29sdW1uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtZ3JpZC9jb2x1bW5zL2NvbHVtbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9jb21tYW5kLWNvbHVtbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9kYXRlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvY29sdW1ucy9zZWxlY3Rpb24tY29sdW1uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtZ3JpZC9jb2x1bW5zL3RleHQtY29sdW1uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtZ3JpZC9jb2x1bW5zL3Jvdy1udW1iZXItY29sdW1uLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvZGF0YWdyaWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1ncmlkL2RhdGFncmlkLmV2ZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtZ3JpZC9kYXRhZ3JpZC5tb2R1bGUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1ncmlkL2ZpbHRlcnMvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGEtZ3JpZC90ZW1wbGF0ZXMvY2VsbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvdGVtcGxhdGVzL3Jvdy10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLWdyaWQvdGVtcGxhdGVzL2RldGFpbC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1sb3YvZGF0YS1sb3YtcG9wdXAvZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1sb3YvZGF0YS1sb3YuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0YS1sb3YvZGF0YS1sb3YubW9kdWxlJztcclxuIl19