@acorex/data-grid 6.5.70 → 6.5.72
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +7 -2
- package/esm2022/acorex-data-grid.mjs +5 -0
- package/esm2022/index.mjs +18 -0
- package/esm2022/lib/data-grid/columns/check-column.component.mjs +109 -0
- package/esm2022/lib/data-grid/columns/column.component.mjs +168 -0
- package/esm2022/lib/data-grid/columns/command-column.component.mjs +115 -0
- package/esm2022/lib/data-grid/columns/date-column.component.mjs +115 -0
- package/esm2022/lib/data-grid/columns/row-number-column.component.mjs +38 -0
- package/esm2022/lib/data-grid/columns/selection-column.component.mjs +43 -0
- package/esm2022/lib/data-grid/columns/text-column.component.mjs +97 -0
- package/esm2022/lib/data-grid/datagrid.component.mjs +721 -0
- package/esm2022/lib/data-grid/datagrid.events.mjs +2 -0
- package/esm2022/lib/data-grid/datagrid.module.mjs +143 -0
- package/esm2022/lib/data-grid/filters/filter.component.mjs +39 -0
- package/esm2022/lib/data-grid/templates/cell-template.component.mjs +58 -0
- package/esm2022/lib/data-grid/templates/detail-template.component.mjs +51 -0
- package/esm2022/lib/data-grid/templates/row-template.component.mjs +48 -0
- package/esm2022/lib/data-lov/data-lov-popup/data-lov-popup.component.mjs +121 -0
- package/esm2022/lib/data-lov/data-lov.component.mjs +175 -0
- package/esm2022/lib/data-lov/data-lov.module.mjs +23 -0
- package/{fesm2020 → fesm2022}/acorex-data-grid.mjs +380 -319
- package/fesm2022/acorex-data-grid.mjs.map +1 -0
- package/lib/data-grid/columns/check-column.component.d.ts +4 -4
- package/lib/data-grid/columns/column.component.d.ts +1 -1
- package/lib/data-grid/columns/command-column.component.d.ts +3 -3
- package/lib/data-grid/columns/date-column.component.d.ts +2 -2
- package/lib/data-grid/columns/row-number-column.component.d.ts +1 -1
- package/lib/data-grid/columns/selection-column.component.d.ts +1 -1
- package/lib/data-grid/columns/text-column.component.d.ts +3 -3
- package/lib/data-grid/datagrid.component.d.ts +1 -1
- package/lib/data-grid/filters/filter.component.d.ts +1 -1
- package/lib/data-grid/templates/cell-template.component.d.ts +2 -2
- package/lib/data-grid/templates/detail-template.component.d.ts +2 -2
- package/lib/data-grid/templates/row-template.component.d.ts +2 -2
- package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +1 -1
- package/lib/data-lov/data-lov.component.d.ts +1 -1
- package/package.json +12 -21
- package/acorex-data-grid.d.ts +0 -5
- package/esm2020/acorex-data-grid.mjs +0 -5
- package/esm2020/lib/data-grid/columns/check-column.component.mjs +0 -117
- package/esm2020/lib/data-grid/columns/column.component.mjs +0 -164
- package/esm2020/lib/data-grid/columns/command-column.component.mjs +0 -117
- package/esm2020/lib/data-grid/columns/date-column.component.mjs +0 -111
- package/esm2020/lib/data-grid/columns/row-number-column.component.mjs +0 -37
- package/esm2020/lib/data-grid/columns/selection-column.component.mjs +0 -42
- package/esm2020/lib/data-grid/columns/text-column.component.mjs +0 -89
- package/esm2020/lib/data-grid/datagrid.component.mjs +0 -698
- package/esm2020/lib/data-grid/datagrid.events.mjs +0 -2
- package/esm2020/lib/data-grid/datagrid.module.mjs +0 -145
- package/esm2020/lib/data-grid/filters/filter.component.mjs +0 -39
- package/esm2020/lib/data-grid/templates/cell-template.component.mjs +0 -53
- package/esm2020/lib/data-grid/templates/detail-template.component.mjs +0 -46
- package/esm2020/lib/data-grid/templates/row-template.component.mjs +0 -43
- package/esm2020/lib/data-lov/data-lov-popup/data-lov-popup.component.mjs +0 -114
- package/esm2020/lib/data-lov/data-lov.component.mjs +0 -165
- package/esm2020/lib/data-lov/data-lov.module.mjs +0 -23
- package/esm2020/public-api.mjs +0 -18
- package/fesm2015/acorex-data-grid.mjs +0 -1915
- package/fesm2015/acorex-data-grid.mjs.map +0 -1
- package/fesm2020/acorex-data-grid.mjs.map +0 -1
- /package/{public-api.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,175 @@
|
|
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
|
+
popup;
|
11
|
+
ref;
|
12
|
+
_contentValidation;
|
13
|
+
_validation;
|
14
|
+
get validation() {
|
15
|
+
return this._validation ? this._validation : this._contentValidation;
|
16
|
+
}
|
17
|
+
set validation(v) {
|
18
|
+
this._validation = v;
|
19
|
+
}
|
20
|
+
constructor(popup, ref) {
|
21
|
+
super();
|
22
|
+
this.popup = popup;
|
23
|
+
this.ref = ref;
|
24
|
+
}
|
25
|
+
selectBox;
|
26
|
+
dataSource;
|
27
|
+
columns;
|
28
|
+
rowTemplate;
|
29
|
+
textField = '';
|
30
|
+
allowSearch = true;
|
31
|
+
valueField = '';
|
32
|
+
hasChildField = 'null';
|
33
|
+
allowNull = true;
|
34
|
+
popupSize = 'md';
|
35
|
+
pagination = true;
|
36
|
+
selectedItems = [];
|
37
|
+
// @Input()
|
38
|
+
// selectedValues: any[] = [];
|
39
|
+
readonly = false;
|
40
|
+
disabled = false;
|
41
|
+
chipsWidth = '';
|
42
|
+
size = 'md';
|
43
|
+
caption;
|
44
|
+
mode = 'single';
|
45
|
+
placeholder;
|
46
|
+
onSelectionChange = new EventEmitter();
|
47
|
+
rtl = AXConfig.get('layout.rtl');
|
48
|
+
focus() {
|
49
|
+
this.selectBox.focus();
|
50
|
+
}
|
51
|
+
refresh() {
|
52
|
+
this.selectBox.refresh();
|
53
|
+
}
|
54
|
+
handleButtonClick() {
|
55
|
+
this.open();
|
56
|
+
}
|
57
|
+
ngOnInit() {
|
58
|
+
if (this.rtl == null) {
|
59
|
+
this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';
|
60
|
+
}
|
61
|
+
// this.selectVal = this.selectedValues;
|
62
|
+
this.onSelectionChange.subscribe((c) => {
|
63
|
+
this.clearValidationStyle(this.ref.nativeElement);
|
64
|
+
});
|
65
|
+
}
|
66
|
+
ngAfterContentInit() {
|
67
|
+
this.initValidation(this.ref, 'selectedItems', this.validation);
|
68
|
+
}
|
69
|
+
handleSelectChange(e) {
|
70
|
+
this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });
|
71
|
+
}
|
72
|
+
open() {
|
73
|
+
return new Promise((resolve) => {
|
74
|
+
this.selectBox.dropdown.close();
|
75
|
+
this.popup
|
76
|
+
.open(AXDataLovPopupComponent, {
|
77
|
+
size: this.popupSize,
|
78
|
+
// closable: false,
|
79
|
+
data: {
|
80
|
+
dataSource: this.dataSource,
|
81
|
+
selectionMode: this.mode,
|
82
|
+
columns: this.columns.toArray(),
|
83
|
+
// selectedItems: this.selectedValues,
|
84
|
+
selectedItems: this.selectedItems,
|
85
|
+
keyField: this.valueField,
|
86
|
+
allowNull: this.allowNull,
|
87
|
+
hasChildField: this.hasChildField,
|
88
|
+
rtl: this.rtl,
|
89
|
+
pagination: this.pagination
|
90
|
+
},
|
91
|
+
title: this.caption
|
92
|
+
// size: this.size,
|
93
|
+
})
|
94
|
+
.then((c) => {
|
95
|
+
if (c.data) {
|
96
|
+
// this.selectedValues = [];
|
97
|
+
this.selectedItems = [];
|
98
|
+
c.data.forEach((elm) => {
|
99
|
+
this.selectedItems.push(elm);
|
100
|
+
});
|
101
|
+
// this.selectedItems = c.data;
|
102
|
+
// this.selectBox.refresh();
|
103
|
+
this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });
|
104
|
+
if (resolve) {
|
105
|
+
resolve(c.data);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
else {
|
109
|
+
if (resolve) {
|
110
|
+
resolve(this.selectedItems);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
this.selectBox.refresh();
|
114
|
+
});
|
115
|
+
});
|
116
|
+
}
|
117
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXLOVComponent, deps: [{ token: i1.AXPopupService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
118
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AXLOVComponent, selector: "ax-lov", inputs: { validation: "validation", textField: "textField", allowSearch: "allowSearch", valueField: "valueField", hasChildField: "hasChildField", allowNull: "allowNull", popupSize: "popupSize", pagination: "pagination", 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\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [mode]=\"mode\" [(selectedItems)]=\"selectedItems\"\n (selectionChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\">\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=\"light blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box>\n\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\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> -->", 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", "onDemandTranslate", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }], encapsulation: i0.ViewEncapsulation.None });
|
119
|
+
}
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXLOVComponent, decorators: [{
|
121
|
+
type: Component,
|
122
|
+
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\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [mode]=\"mode\" [(selectedItems)]=\"selectedItems\"\n (selectionChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\">\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=\"light blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box>\n\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\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> -->" }]
|
123
|
+
}], ctorParameters: function () { return [{ type: i1.AXPopupService }, { type: i0.ElementRef }]; }, propDecorators: { _contentValidation: [{
|
124
|
+
type: ContentChild,
|
125
|
+
args: [AXValidation, { static: true }]
|
126
|
+
}], validation: [{
|
127
|
+
type: Input
|
128
|
+
}], selectBox: [{
|
129
|
+
type: ViewChild,
|
130
|
+
args: ['selectBox', { static: true }]
|
131
|
+
}], dataSource: [{
|
132
|
+
type: ContentChild,
|
133
|
+
args: [AXDataSourceComponent, { static: true }]
|
134
|
+
}], columns: [{
|
135
|
+
type: ContentChildren,
|
136
|
+
args: [AXGridDataColumn]
|
137
|
+
}], rowTemplate: [{
|
138
|
+
type: ContentChild,
|
139
|
+
args: ['itemTemplate', { static: true }]
|
140
|
+
}], textField: [{
|
141
|
+
type: Input
|
142
|
+
}], allowSearch: [{
|
143
|
+
type: Input
|
144
|
+
}], valueField: [{
|
145
|
+
type: Input
|
146
|
+
}], hasChildField: [{
|
147
|
+
type: Input
|
148
|
+
}], allowNull: [{
|
149
|
+
type: Input
|
150
|
+
}], popupSize: [{
|
151
|
+
type: Input
|
152
|
+
}], pagination: [{
|
153
|
+
type: Input
|
154
|
+
}], selectedItems: [{
|
155
|
+
type: Input
|
156
|
+
}], readonly: [{
|
157
|
+
type: Input
|
158
|
+
}], disabled: [{
|
159
|
+
type: Input
|
160
|
+
}], chipsWidth: [{
|
161
|
+
type: Input
|
162
|
+
}], size: [{
|
163
|
+
type: Input
|
164
|
+
}], caption: [{
|
165
|
+
type: Input
|
166
|
+
}], mode: [{
|
167
|
+
type: Input
|
168
|
+
}], placeholder: [{
|
169
|
+
type: Input
|
170
|
+
}], onSelectionChange: [{
|
171
|
+
type: Output
|
172
|
+
}], rtl: [{
|
173
|
+
type: Input
|
174
|
+
}] } });
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtZ3JpZC9zcmMvbGliL2RhdGEtbG92L2RhdGEtbG92LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQStELFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBZSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQVN4QyxNQUFNLE9BQU8sY0FBZSxTQUFRLHNCQUFzQjtJQWFwQztJQUErQjtJQVgzQyxrQkFBa0IsQ0FBZTtJQUNqQyxXQUFXLENBQWU7SUFFbEMsSUFDVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3ZFLENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxDQUFlO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxD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QUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBSVAsR0FBRztzQkFERixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDb250ZW50Q2hpbGQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIEVsZW1lbnRSZWYsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UsIEFYQmFzZUlucHV0Q29tcG9uZW50LCBBWEJhc2VTaXphYmxlQ29tcG9uZW50LCBBWEVsZW1lbnRTaXplLCBBWFZhbGlkYXRpb24gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhEYXRhU291cmNlQ29tcG9uZW50LCBBWFNlbGVjdEJveENvbXBvbmVudCwgQVhEYXRhRXZlbnQsIEFYVmFsaWRhdGFibGVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhEYXRhTG92UG9wdXBDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbG92LXBvcHVwL2RhdGEtbG92LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWEdyaWREYXRhQ29sdW1uIH0gZnJvbSAnLi4vZGF0YS1ncmlkL2NvbHVtbnMvY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBWENvbmZpZyB9IGZyb20gJ0BhY29yZXgvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWxvdicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLWxvdi5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgc3R5bGU6ICd3aWR0aDogMTAwJScgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhMT1ZDb21wb25lbnQgfV1cbn0pXG5leHBvcnQgY2xhc3MgQVhMT1ZDb21wb25lbnQgZXh0ZW5kcyBBWFZhbGlkYXRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQVhCYXNlU2l6YWJsZUNvbXBvbmVudCwgQVhCYXNlSW5wdXRDb21wb25lbnQge1xuICBAQ29udGVudENoaWxkKEFYVmFsaWRhdGlvbiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfY29udGVudFZhbGlkYXRpb246IEFYVmFsaWRhdGlvbjtcbiAgcHJpdmF0ZSBfdmFsaWRhdGlvbjogQVhWYWxpZGF0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgdmFsaWRhdGlvbigpOiBBWFZhbGlkYXRpb24ge1xuICAgIHJldHVybiB0aGlzLl92YWxpZGF0aW9uID8gdGhpcy5fdmFsaWRhdGlvbiA6IHRoaXMuX2NvbnRlbnRWYWxpZGF0aW9uO1xuICB9XG4gIHB1YmxpYyBzZXQgdmFsaWRhdGlvbih2OiBBWFZhbGlkYXRpb24pIHtcbiAgICB0aGlzLl92YWxpZGF0aW9uID0gdjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wdXA6IEFYUG9wdXBTZXJ2aWNlLCBwcml2YXRlIHJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdzZWxlY3RCb3gnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBzZWxlY3RCb3g6IEFYU2VsZWN0Qm94Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGQoQVhEYXRhU291cmNlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBkYXRhU291cmNlOiBBWERhdGFTb3VyY2VDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihBWEdyaWREYXRhQ29sdW1uKVxuICBwcml2YXRlIGNvbHVtbnM6IFF1ZXJ5TGlzdDxBWEdyaWREYXRhQ29sdW1uPjtcblxuICBAQ29udGVudENoaWxkKCdpdGVtVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICB0ZXh0RmllbGQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGFsbG93U2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICB2YWx1ZUZpZWxkOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBoYXNDaGlsZEZpZWxkOiBzdHJpbmcgPSAnbnVsbCc7XG5cbiAgQElucHV0KClcbiAgYWxsb3dOdWxsOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwb3B1cFNpemU6ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICdmdWxsJyA9ICdtZCc7XG5cbiAgQElucHV0KClcbiAgcGFnaW5hdGlvbjpib29sZWFuID10cnVlO1xuICBASW5wdXQoKVxuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIC8vIEBJbnB1dCgpXG4gIC8vIHNlbGVjdGVkVmFsdWVzOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjaGlwc1dpZHRoOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBzaXplOiBBWEVsZW1lbnRTaXplID0gJ21kJztcblxuICBASW5wdXQoKVxuICBjYXB0aW9uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgbW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnID0gJ3NpbmdsZSc7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgb25TZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWERhdGFFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhEYXRhRXZlbnQ8YW55Pj4oKTtcblxuICBASW5wdXQoKVxuICBydGw6IGJvb2xlYW4gPSBBWENvbmZpZy5nZXQoJ2xheW91dC5ydGwnKTtcblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEJveC5mb2N1cygpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLnNlbGVjdEJveC5yZWZyZXNoKCk7XG4gIH1cblxuICBoYW5kbGVCdXR0b25DbGljaygpIHtcbiAgICB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJ0bCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJ0bCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcbiAgICB9XG4gICAgLy8gIHRoaXMuc2VsZWN0VmFsID0gdGhpcy5zZWxlY3RlZFZhbHVlcztcbiAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLnN1YnNjcmliZSgoYykgPT4ge1xuICAgICAgdGhpcy5jbGVhclZhbGlkYXRpb25TdHlsZSh0aGlzLnJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRWYWxpZGF0aW9uKHRoaXMucmVmLCAnc2VsZWN0ZWRJdGVtcycsIHRoaXMudmFsaWRhdGlvbik7XG4gIH1cblxuICBoYW5kbGVTZWxlY3RDaGFuZ2UoZSkge1xuICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtcywgY29tcG9uZW50OiB0aGlzLCBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdEJveC5kcm9wZG93bi5jbG9zZSgpO1xuICAgICAgdGhpcy5wb3B1cFxuICAgICAgICAub3BlbihBWERhdGFMb3ZQb3B1cENvbXBvbmVudCwge1xuICAgICAgICAgIHNpemU6IHRoaXMucG9wdXBTaXplLFxuICAgICAgICAgIC8vICAgY2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YVNvdXJjZSxcbiAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU6IHRoaXMubW9kZSxcbiAgICAgICAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucy50b0FycmF5KCksXG4gICAgICAgICAgICAvLyAgc2VsZWN0ZWRJdGVtczogdGhpcy5zZWxlY3RlZFZhbHVlcyxcbiAgICAgICAgICAgIHNlbGVjdGVkSXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtcyxcbiAgICAgICAgICAgIGtleUZpZWxkOiB0aGlzLnZhbHVlRmllbGQsXG4gICAgICAgICAgICBhbGxvd051bGw6IHRoaXMuYWxsb3dOdWxsLFxuICAgICAgICAgICAgaGFzQ2hpbGRGaWVsZDogdGhpcy5oYXNDaGlsZEZpZWxkLFxuICAgICAgICAgICAgcnRsOiB0aGlzLnJ0bCxcbiAgICAgICAgICAgIHBhZ2luYXRpb246dGhpcy5wYWdpbmF0aW9uXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZTogdGhpcy5jYXB0aW9uXG4gICAgICAgICAgLy8gc2l6ZTogdGhpcy5zaXplLFxuICAgICAgICB9KVxuICAgICAgICAudGhlbigoYykgPT4ge1xuICAgICAgICAgIGlmIChjLmRhdGEpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgICAgICAgICAgYy5kYXRhLmZvckVhY2goKGVsbSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaChlbG0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gYy5kYXRhO1xuICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcbiAgICAgICAgICAgIHRoaXMub25TZWxlY3Rpb25DaGFuZ2UuZW1pdCh7IGRhdGE6IHRoaXMuc2VsZWN0ZWRJdGVtcywgY29tcG9uZW50OiB0aGlzLCBodG1sRWxlbWVudDogdGhpcy5yZWYubmF0aXZlRWxlbWVudCB9KTtcbiAgICAgICAgICAgIGlmIChyZXNvbHZlKSB7XG4gICAgICAgICAgICAgIHJlc29sdmUoYy5kYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHJlc29sdmUpIHtcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuc2VsZWN0Qm94LnJlZnJlc2goKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxheC1zZWxlY3QtYm94IFtyb3dJbnB1dFRlbXBsYXRlXT1cInJvd1RlbXBsYXRlXCIgW3J0bF09XCJydGxcIiBbYWxsb3dTZWFyY2hdPVwiYWxsb3dTZWFyY2hcIiAjc2VsZWN0Qm94IFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIiBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NpemVdPVwic2l6ZVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW21vZGVdPVwibW9kZVwiIFsoc2VsZWN0ZWRJdGVtcyldPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgKHNlbGVjdGlvbkNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0Q2hhbmdlKCRldmVudClcIiBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XG4gICAgPG5nLWNvbnRhaW5lciBzdGFydD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPlxuICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBlbmQ+XG4gICAgICAgIDxheC1idXR0b24gaWNvbj1cImZhciBmYS1iYXJzIGljb25cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiB0eXBlPVwibGlnaHQgYmxhbmtcIiAoY2xpY2spPVwiaGFuZGxlQnV0dG9uQ2xpY2soKVwiIGVuZFxuICAgICAgICAgICAgW3RhYkluZGV4XT1cIi0xXCI+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZW5kXVwiPlxuICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2F4LXNlbGVjdC1ib3g+XG5cblxuPCEtLSA8YXgtc2VsZWN0LWJveDIgW3J0bF09XCJydGxcIiBbYWxsb3dTZWFyY2hdPVwiYWxsb3dTZWFyY2hcIiAjc2VsZWN0Qm94IFtzaG93RHJvcERvd25CdXR0b25dPVwiZmFsc2VcIiBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gICAgW3JlbW90ZU9wZXJhdGlvbl09XCJ0cnVlXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3NpemVdPVwic2l6ZVwiIFt0ZXh0RmllbGRdPVwidGV4dEZpZWxkXCIgW3ZhbHVlRmllbGRdPVwidmFsdWVGaWVsZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3NlbGVjdGlvbk1vZGVdPVwibW9kZVwiIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVTZWxlY3RDaGFuZ2UoJGV2ZW50KVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgIFsodmFsdWUpXT1cInNlbGVjdGVkSXRlbXNcIiBzZWxlY3Rpb25EYXRhTW9kZT1cIml0ZW1cIj5cbiAgICA8bmctY29udGFpbmVyIHN0YXJ0PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc3RhcnRdXCI+XG4gICAgICAgIDwvbmctY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIGVuZD5cbiAgICAgICAgPGF4LWJ1dHRvbiBpY29uPVwiZmFyIGZhLWJhcnMgaWNvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIHR5cGU9XCJwcmltYXJ5IGJsYW5rXCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKClcIiBlbmRcbiAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9heC1zZWxlY3QtYm94Mj4gLS0+XG5cblxuPCEtLSA8ZGl2IGNsYXNzPVwiYXgtbG92LWJveFwiIFtzdHlsZS5kaXNwbGF5XT1cIm1vZGU9PSdoaWRkZW4nID8gJ25vbmUnOid1bnNldCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmllbGQtc2V0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1maWVsZC1zZXQtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInsgJ25vLWxhYmVsJzogIWxhYmVsIH1cIj5cbiAgICAgICAgICAgIDxmaWVsZHNldCBbbmdDbGFzc109XCJ7ICdpbnB1dC1mb2N1c2VkJzogaXNGb2N1c2VkLCAnaW5wdXQtZXJyb3InOiBlcnJvclRleHQgfVwiPlxuICAgICAgICAgICAgICAgIDxsZWdlbmQgKm5nSWY9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvbGVnZW5kPlxuICAgICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIChrZXl1cCk9XCJoYW5kbGVLZXlFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJoYW5kbGVCbHVyRXZlbnQoJGV2ZW50KVwiIChmb2N1cyk9XCJoYW5kbGVGb2N1c0V2ZW50KCRldmVudClcIiBjbGFzcz1cImF4LXRleHQtYm94XCIgZGlzYWJsZWQgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1maWVsZC1zZXQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInRleHQgJiYgYWxsb3dDbGVhclwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tbGlnaHRcIiAoY2xpY2spPVwiY2xlYXJUZXh0KClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtdGltZXNcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCIgYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImhhbmRsZUJ1dHRvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXIgZmEtY2hlY2stY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLXRleHRcIiAqbmdJZj1cImVycm9yVGV4dFwiPlxuICAgICAgICB7eyBlcnJvclRleHQgfX1cbiAgICA8L2Rpdj5cblxuPC9kaXY+IC0tPiJdfQ==
|
@@ -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
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXLOVModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
11
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AXLOVModule, declarations: [AXLOVComponent, AXDataLovPopupComponent], imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule], exports: [AXLOVComponent, AXDataLovPopupComponent] });
|
12
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXLOVModule, imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule] });
|
13
|
+
}
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1sb3YubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWdyaWQvc3JjL2xpYi9kYXRhLWxvdi9kYXRhLWxvdi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQVMvSCxNQUFNLE9BQU8sV0FBVzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBTEwsY0FBYyxFQUFFLHVCQUF1QixhQUM1QyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLGFBQ3RJLGNBQWMsRUFBRSx1QkFBdUI7eUdBR3hDLFdBQVcsWUFKVixZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCOzs0RkFJdkksV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDakosT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLHVCQUF1QixDQUFDO29CQUNsRCxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYTE9WQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLWxvdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWERhdGFMb3ZQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1sb3YtcG9wdXAvZGF0YS1sb3YtcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7IEFYRGF0YUdyaWRNb2R1bGUgfSBmcm9tICcuLi9kYXRhLWdyaWQvZGF0YWdyaWQubW9kdWxlJztcbmltcG9ydCB7IEFYRGF0YVNvdXJjZU1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYVG9vbGJhck1vZHVsZSwgQVhTZWFyY2hCb3hNb2R1bGUsIEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FYTE9WQ29tcG9uZW50LCBBWERhdGFMb3ZQb3B1cENvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYRGF0YUdyaWRNb2R1bGUsIEFYRGF0YVNvdXJjZU1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYVG9vbGJhck1vZHVsZSwgQVhTZWxlY3RCb3hNb2R1bGUsIEFYU2VhcmNoQm94TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbQVhMT1ZDb21wb25lbnQsIEFYRGF0YUxvdlBvcHVwQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEFYTE9WTW9kdWxlIHsgfSJdfQ==
|