novo-elements 10.6.0 → 10.6.1-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/elements/data-table/interfaces.d.ts +26 -1
- package/elements/query-builder/condition-definitions/abstract-condition.definition.d.ts +14 -3
- package/elements/query-builder/condition-definitions/address-condition.definition.d.ts +8 -7
- package/elements/query-builder/condition-definitions/boolean-condition.definition.d.ts +2 -0
- package/elements/query-builder/condition-definitions/date-condition.definition.d.ts +2 -0
- package/elements/query-builder/condition-definitions/date-time-condition.definition.d.ts +2 -0
- package/elements/query-builder/condition-definitions/number-condition.definition.d.ts +2 -0
- package/elements/query-builder/condition-definitions/picker-condition.definition.d.ts +3 -1
- package/elements/query-builder/condition-definitions/string-condition.definition.d.ts +3 -1
- package/esm2022/elements/data-table/interfaces.mjs +1 -1
- package/esm2022/elements/field/formats/date-format.mjs +4 -1
- package/esm2022/elements/query-builder/condition-definitions/abstract-condition.definition.mjs +41 -4
- package/esm2022/elements/query-builder/condition-definitions/address-condition.definition.mjs +29 -16
- package/esm2022/elements/query-builder/condition-definitions/boolean-condition.definition.mjs +15 -12
- package/esm2022/elements/query-builder/condition-definitions/date-condition.definition.mjs +17 -14
- package/esm2022/elements/query-builder/condition-definitions/date-time-condition.definition.mjs +17 -14
- package/esm2022/elements/query-builder/condition-definitions/number-condition.definition.mjs +16 -13
- package/esm2022/elements/query-builder/condition-definitions/picker-condition.definition.mjs +17 -14
- package/esm2022/elements/query-builder/condition-definitions/string-condition.definition.mjs +20 -17
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-field.mjs +3 -0
- package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs +125 -71
- package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -21,7 +21,7 @@ export interface IDataTablePreferences {
|
|
|
21
21
|
export interface DataTableWhere {
|
|
22
22
|
query: string;
|
|
23
23
|
criteria?: AdaptiveCriteria;
|
|
24
|
-
keywords?:
|
|
24
|
+
keywords?: SearchKeywords;
|
|
25
25
|
form: any;
|
|
26
26
|
}
|
|
27
27
|
export interface DataTableSavedSearchOwner {
|
|
@@ -227,3 +227,28 @@ export declare enum AdaptiveOperator {
|
|
|
227
227
|
EndsWith = "endsWith",
|
|
228
228
|
Radius = "radius"
|
|
229
229
|
}
|
|
230
|
+
export interface IKeywordSearchResponse {
|
|
231
|
+
items: IKeywordGroup[];
|
|
232
|
+
meta: {
|
|
233
|
+
currentPage: number;
|
|
234
|
+
itemCount: number;
|
|
235
|
+
itemsPerPage: number;
|
|
236
|
+
totalItems: number;
|
|
237
|
+
totalPages: number;
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
export interface IKeyword {
|
|
241
|
+
id: number;
|
|
242
|
+
name: string;
|
|
243
|
+
}
|
|
244
|
+
export interface IKeywordGroup {
|
|
245
|
+
id: number;
|
|
246
|
+
name: string;
|
|
247
|
+
keywords: IKeyword[];
|
|
248
|
+
}
|
|
249
|
+
export interface IKeywordBlock {
|
|
250
|
+
exclude: boolean;
|
|
251
|
+
keywordGroups: IKeywordGroup[];
|
|
252
|
+
}
|
|
253
|
+
export type NestedKeywordGroups = IKeywordBlock[];
|
|
254
|
+
export type SearchKeywords = string[] | NestedKeywordGroups;
|
|
@@ -1,20 +1,31 @@
|
|
|
1
|
-
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
1
|
+
import { AfterViewInit, OnDestroy, OnInit, QueryList } from '@angular/core';
|
|
2
|
+
import { FormControlName, UntypedFormGroup } from '@angular/forms';
|
|
3
3
|
import { NovoLabelService } from 'novo-elements/services';
|
|
4
4
|
import { NovoConditionFieldDef } from '../query-builder.directives';
|
|
5
5
|
import { Operator } from '../query-builder.types';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare abstract class AbstractConditionFieldDef implements OnDestroy, OnInit {
|
|
7
|
+
export declare abstract class AbstractConditionFieldDef implements OnDestroy, OnInit, AfterViewInit {
|
|
8
8
|
labels: NovoLabelService;
|
|
9
9
|
/** Column name that should be used to reference this column. */
|
|
10
10
|
get name(): string;
|
|
11
11
|
set name(name: string);
|
|
12
12
|
_name: string;
|
|
13
13
|
defaultOperator: Operator | string;
|
|
14
|
+
protected _previousOperatorValue: Operator;
|
|
15
|
+
protected operatorEditGroups: Set<Operator>[];
|
|
14
16
|
fieldDef: NovoConditionFieldDef;
|
|
17
|
+
formControlsByName: QueryList<FormControlName>;
|
|
15
18
|
constructor(labels: NovoLabelService);
|
|
16
19
|
ngOnInit(): void;
|
|
20
|
+
ngAfterViewInit(): void;
|
|
21
|
+
frameAfterViewInit(): void;
|
|
17
22
|
ngOnDestroy(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Define an edit group of operators. Once defined, if the user switches from one of these operators to another,
|
|
25
|
+
* then the condition value will not be cleared. This makes sense if both operators use the same UI controls for editing.
|
|
26
|
+
* @param operators The set of Operator values intended to share UI controls.
|
|
27
|
+
*/
|
|
28
|
+
protected defineOperatorEditGroup(...operators: Operator[]): void;
|
|
18
29
|
onOperatorSelect(formGroup: UntypedFormGroup): void;
|
|
19
30
|
/** Synchronizes the column definition name with the text column name. */
|
|
20
31
|
private _syncFieldDefName;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AbstractControl } from '@angular/forms';
|
|
1
|
+
import { ElementRef, InputSignal, OnDestroy, QueryList, Signal, WritableSignal } from '@angular/core';
|
|
2
|
+
import { AbstractControl, UntypedFormGroup } from '@angular/forms';
|
|
3
3
|
import { NovoPickerToggleElement } from 'novo-elements/elements/field';
|
|
4
4
|
import { PlacesListComponent } from 'novo-elements/elements/places';
|
|
5
5
|
import { NovoLabelService } from 'novo-elements/services';
|
|
@@ -9,12 +9,11 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
/**
|
|
10
10
|
* Handle selection of field values when a list of options is provided.
|
|
11
11
|
*/
|
|
12
|
-
export declare class NovoDefaultAddressConditionDef extends AbstractConditionFieldDef implements
|
|
13
|
-
element: ElementRef;
|
|
14
|
-
labels: NovoLabelService;
|
|
12
|
+
export declare class NovoDefaultAddressConditionDef extends AbstractConditionFieldDef implements OnDestroy {
|
|
15
13
|
overlayChildren: QueryList<NovoPickerToggleElement>;
|
|
16
14
|
inputChildren: QueryList<ElementRef>;
|
|
17
15
|
placesPicker: PlacesListComponent;
|
|
16
|
+
addressSideTest: any;
|
|
18
17
|
radiusValues: number[];
|
|
19
18
|
defaultRadius: number;
|
|
20
19
|
defaults: AddressCriteriaConfig;
|
|
@@ -30,8 +29,9 @@ export declare class NovoDefaultAddressConditionDef extends AbstractConditionFie
|
|
|
30
29
|
chipListModel: any;
|
|
31
30
|
term: string;
|
|
32
31
|
private _addressChangesSubscription;
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
element: ElementRef<any>;
|
|
33
|
+
constructor(labelService: NovoLabelService);
|
|
34
|
+
frameAfterViewInit(): void;
|
|
35
35
|
ngOnDestroy(): void;
|
|
36
36
|
onKeyup(event: any, viewIndex: any): void;
|
|
37
37
|
onKeydown(event: any, viewIndex: any): void;
|
|
@@ -42,6 +42,7 @@ export declare class NovoDefaultAddressConditionDef extends AbstractConditionFie
|
|
|
42
42
|
closePlacesList(viewIndex: any): void;
|
|
43
43
|
selectPlace(event: any, formGroup: AbstractControl, viewIndex: string): void;
|
|
44
44
|
remove(valueToRemove: AddressData, formGroup: AbstractControl, viewIndex: string): void;
|
|
45
|
+
onOperatorSelect(formGroup: UntypedFormGroup): void;
|
|
45
46
|
onRadiusSelect(formGroup: AbstractControl, radius: number): void;
|
|
46
47
|
private assignRadiusFromValue;
|
|
47
48
|
private updateRadiusInValues;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { AbstractConditionFieldDef } from './abstract-condition.definition';
|
|
2
2
|
import { Operator } from '../query-builder.types';
|
|
3
|
+
import { NovoLabelService } from 'novo-elements/services';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
/**
|
|
5
6
|
* When constructing a query using a field that is a boolean with only true/false as possible values.
|
|
6
7
|
*/
|
|
7
8
|
export declare class NovoDefaultBooleanConditionDef extends AbstractConditionFieldDef {
|
|
8
9
|
defaultOperator: Operator;
|
|
10
|
+
constructor(labelService: NovoLabelService);
|
|
9
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoDefaultBooleanConditionDef, never>;
|
|
10
12
|
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDefaultBooleanConditionDef, "novo-boolean-condition-def", never, {}, {}, never, never, false, never>;
|
|
11
13
|
}
|
|
@@ -2,6 +2,7 @@ import { QueryList } from '@angular/core';
|
|
|
2
2
|
import { NovoPickerToggleElement } from 'novo-elements/elements/field';
|
|
3
3
|
import { AbstractConditionFieldDef } from './abstract-condition.definition';
|
|
4
4
|
import { Operator } from '../query-builder.types';
|
|
5
|
+
import { NovoLabelService } from 'novo-elements/services';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* Most complicated of the default conditions defs, a date needs to provide a different
|
|
@@ -10,6 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
10
11
|
export declare class NovoDefaultDateConditionDef extends AbstractConditionFieldDef {
|
|
11
12
|
overlayChildren: QueryList<NovoPickerToggleElement>;
|
|
12
13
|
defaultOperator: Operator;
|
|
14
|
+
constructor(labelService: NovoLabelService);
|
|
13
15
|
closePanel(event: any, viewIndex: any): void;
|
|
14
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoDefaultDateConditionDef, never>;
|
|
15
17
|
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDefaultDateConditionDef, "novo-date-condition-def", never, {}, {}, never, never, false, never>;
|
|
@@ -2,6 +2,7 @@ import { QueryList } from '@angular/core';
|
|
|
2
2
|
import { NovoPickerToggleElement } from 'novo-elements/elements/field';
|
|
3
3
|
import { AbstractConditionFieldDef } from './abstract-condition.definition';
|
|
4
4
|
import { Operator } from '../query-builder.types';
|
|
5
|
+
import { NovoLabelService } from 'novo-elements/services';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
/**
|
|
7
8
|
* Most complicated of the default conditions defs, a date needs to provide a different
|
|
@@ -10,6 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
10
11
|
export declare class NovoDefaultDateTimeConditionDef extends AbstractConditionFieldDef {
|
|
11
12
|
overlayChildren: QueryList<NovoPickerToggleElement>;
|
|
12
13
|
defaultOperator: Operator;
|
|
14
|
+
constructor(labelService: NovoLabelService);
|
|
13
15
|
closePanel(event: any, viewIndex: any): void;
|
|
14
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoDefaultDateTimeConditionDef, never>;
|
|
15
17
|
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDefaultDateTimeConditionDef, "novo-date-time-condition-def", never, {}, {}, never, never, false, never>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AbstractConditionFieldDef } from './abstract-condition.definition';
|
|
2
2
|
import { Operator } from '../query-builder.types';
|
|
3
|
+
import { NovoLabelService } from 'novo-elements/services';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
/**
|
|
5
6
|
* When constructing a query using a field that is an Int, Double, Number ...etc.
|
|
@@ -7,6 +8,7 @@ import * as i0 from "@angular/core";
|
|
|
7
8
|
*/
|
|
8
9
|
export declare class NovoDefaultNumberConditionDef extends AbstractConditionFieldDef {
|
|
9
10
|
defaultOperator: Operator;
|
|
11
|
+
constructor(labelService: NovoLabelService);
|
|
10
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoDefaultNumberConditionDef, never>;
|
|
11
13
|
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDefaultNumberConditionDef, "novo-number-condition-def", never, {}, {}, never, never, false, never>;
|
|
12
14
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NovoLabelService } from 'novo-elements/services';
|
|
2
2
|
import { Operator } from '../query-builder.types';
|
|
3
|
+
import { AbstractConditionFieldDef } from './abstract-condition.definition';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
/**
|
|
5
6
|
* Handle selection of field values when a list of options is provided.
|
|
6
7
|
*/
|
|
7
8
|
export declare class NovoDefaultPickerConditionDef extends AbstractConditionFieldDef {
|
|
8
9
|
defaultOperator: Operator;
|
|
10
|
+
constructor(labelService: NovoLabelService);
|
|
9
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoDefaultPickerConditionDef, never>;
|
|
10
12
|
static ɵcmp: i0.ɵɵComponentDeclaration<NovoDefaultPickerConditionDef, "novo-picker-condition-def", never, {}, {}, never, never, false, never>;
|
|
11
13
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AbstractControl } from '@angular/forms';
|
|
2
|
-
import {
|
|
2
|
+
import { NovoLabelService } from 'novo-elements/services';
|
|
3
3
|
import { Operator } from '../query-builder.types';
|
|
4
|
+
import { AbstractConditionFieldDef } from './abstract-condition.definition';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
/**
|
|
6
7
|
* Constructing filters against String fields can be complex. Each "chip" added to the
|
|
@@ -10,6 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
10
11
|
*/
|
|
11
12
|
export declare class NovoDefaultStringConditionDef extends AbstractConditionFieldDef {
|
|
12
13
|
defaultOperator: Operator;
|
|
14
|
+
constructor(labelService: NovoLabelService);
|
|
13
15
|
getValue(formGroup: AbstractControl): any[];
|
|
14
16
|
add(event: any, formGroup: AbstractControl): void;
|
|
15
17
|
remove(valueToRemove: string, formGroup: AbstractControl): void;
|
|
@@ -26,4 +26,4 @@ export var AdaptiveOperator;
|
|
|
26
26
|
AdaptiveOperator["EndsWith"] = "endsWith";
|
|
27
27
|
AdaptiveOperator["Radius"] = "radius";
|
|
28
28
|
})(AdaptiveOperator || (AdaptiveOperator = {}));
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2RhdGEtdGFibGUvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ0EsTUFBTSxDQUFOLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsa0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCO0FBK01ELE1BQU0sQ0FBTixJQUFZLHdCQUlYO0FBSkQsV0FBWSx3QkFBd0I7SUFDbEMsdUNBQVcsQ0FBQTtJQUNYLHFDQUFTLENBQUE7SUFDVCx1Q0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFJbkM7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFjWDtBQWRELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLDZCQUFTLENBQUE7SUFDVCw2Q0FBeUIsQ0FBQTtJQUN6Qiw2Q0FBeUIsQ0FBQTtJQUN6Qiw2QkFBUyxDQUFBO0lBQ1QsbUNBQWUsQ0FBQTtJQUNmLDBDQUFzQixDQUFBO0lBQ3RCLHNDQUFrQixDQUFBO0lBQ2xCLDZDQUF5QixDQUFBO0lBQ3pCLGlDQUFhLENBQUE7SUFDYiw2Q0FBeUIsQ0FBQTtJQUN6Qix5Q0FBcUIsQ0FBQTtJQUNyQixxQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQWMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlUHJlZmVyZW5jZXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNvcnQ/OiBJRGF0YVRhYmxlU29ydDtcbiAgZmlsdGVyPzogSURhdGFUYWJsZUZpbHRlciB8IElEYXRhVGFibGVGaWx0ZXJbXTtcbiAgd2hlcmU/OiBEYXRhVGFibGVXaGVyZTtcbiAgZ2xvYmFsU2VhcmNoPzogYW55O1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgZGlzcGxheWVkQ29sdW1ucz86IHN0cmluZ1tdO1xuICBjb2x1bW5XaWR0aHM/OiB7IGlkOiBzdHJpbmc7IHdpZHRoOiBudW1iZXIgfVtdO1xuICBzYXZlZFNlYXJjaElkPzogbnVtYmVyO1xuICBzYXZlZFNlYXJjaE5hbWU/OiBzdHJpbmc7XG4gIHNhdmVkU2VhcmNoT3duZXI/OiBEYXRhVGFibGVTYXZlZFNlYXJjaE93bmVyO1xuICBhcHBsaWVkU2VhcmNoVHlwZT86IEFwcGxpZWRTZWFyY2hUeXBlO1xuICBoYXNVbnNhdmVkQ2hhbmdlcz86IGJvb2xlYW47XG4gIHVuc2F2ZWRDaGFuZ2VzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVdoZXJlIHtcbiAgcXVlcnk6IHN0cmluZztcbiAgY3JpdGVyaWE/OiBBZGFwdGl2ZUNyaXRlcmlhO1xuICBrZXl3b3Jkcz86IHN0cmluZ1tdO1xuICBmb3JtOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlU2F2ZWRTZWFyY2hPd25lciB7XG4gIGlkOiBudW1iZXI7XG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBBcHBsaWVkU2VhcmNoVHlwZSB7XG4gIFNhdmVkID0gJ3NhdmVkJyxcbiAgUmVjZW50ID0gJ3JlY2VudCcsXG4gIE5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZUNvbHVtbjxUPiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBsYWJlbEljb24/OiBzdHJpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICB0eXBlOlxuICAgIHwgJ3RleHQnXG4gICAgfCAnbGluaydcbiAgICB8ICdsaW5rOnRlbCdcbiAgICB8ICdsaW5rOm1haWx0bydcbiAgICB8ICdkYXRlJ1xuICAgIHwgJ2RhdGV0aW1lJ1xuICAgIHwgJ3RpbWUnXG4gICAgfCAnY3VycmVuY3knXG4gICAgfCAnYmlnZGVjaW1hbCdcbiAgICB8ICdudW1iZXInXG4gICAgfCAncGVyY2VudCdcbiAgICB8ICdhY3Rpb24nXG4gICAgfCAnZXhwYW5kJztcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGNlbGxDbGFzcz86IChyb3c6IFQpID0+IHN0cmluZztcbiAgZGlzYWJsZWRGdW5jPzogKHJvdzogVCkgPT4gYm9vbGVhbjtcbiAgaGFuZGxlcnM/OiB7XG4gICAgY2xpY2s/KGV2ZW50PzogYW55KTogYW55O1xuICB9O1xuICB3aWR0aD86IG51bWJlcjtcbiAgc29ydGFibGU/OiBib29sZWFuIHwgSURhdGFUYWJsZUNvbHVtblNvcnRDb25maWc7XG4gIGZpbHRlcmFibGU/OiBib29sZWFuIHwgSURhdGFUYWJsZUNvbHVtbkZpbHRlckNvbmZpZztcbiAgcmVzaXphYmxlPzogYm9vbGVhbjtcbiAgYWN0aW9uPzoge1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdG9vbHRpcD86IHN0cmluZztcbiAgICBvcHRpb25zPzoge1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgIGhhbmRsZXJzOiB7XG4gICAgICAgIGNsaWNrPyhldmVudD86IGFueSk6IGFueTtcbiAgICAgIH07XG4gICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICBkaXNhYmxlZEZ1bmM/OiAocm93OiBUKSA9PiBib29sZWFuO1xuICAgIH1bXTtcbiAgfTtcbiAgYXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07IC8vIGZvciBhbnkgY3VzdG9tIGNvbmZpZyBpbiBjZWxsc1xuICBpbml0aWFsUmVzaXphYmxlPzoge1xuICAgIHJlc2l6YWJsZTogYm9vbGVhbjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICB9O1xuICByaWdodEFsaWduQ2VsbENvbnRlbnQ/OiBib29sZWFuO1xuICBjb25maWd1cmF0aW9uPzogYW55OyAvLyBpbnRlbmRlZCB0byBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIGNvbHVtbiB0eXBlIGlmIGFuZCBhcyBuZWVkZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlUGFnaW5hdGlvbk9wdGlvbnMge1xuICB0aGVtZTogJ2Jhc2ljJyB8ICdzdGFuZGFyZCcgfCAnYmFzaWMtd2lkZSc7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gfCB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgZXJyb3JMb2FkaW5nPzogYm9vbGVhbjtcbiAgb25Gb290ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVDb2x1bW5Tb3J0Q29uZmlnIHtcbiAgdHJhbnNmb3JtPzogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZUNvbHVtbkZpbHRlckNvbmZpZyB7XG4gIHR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgJ3NlbGVjdCcgfCAnbXVsdGktc2VsZWN0JyB8ICdjdXN0b20nO1xuICBjdXN0b21UZW1wbGF0ZT86IHN0cmluZztcbiAgdXNlQ3VzdG9tSGVhZGVyPzogYm9vbGVhbjtcbiAgb3B0aW9ucz86IHN0cmluZ1tdIHwgSURhdGFUYWJsZUNvbHVtbkZpbHRlck9wdGlvbltdO1xuICBhbGxvd0N1c3RvbVJhbmdlPzogYm9vbGVhbjtcbiAgdHJhbnNmb3JtPzogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZUNvbHVtbkZpbHRlck9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlPzogYW55O1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlU2VhcmNoT3B0aW9ucyB7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVTb3J0RmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgZGlyZWN0aW9uPzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBmaWx0ZXI/OiBzdHJpbmcgfCBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVDaGFuZ2VFdmVudCB7XG4gIHNvcnQ/OiBJRGF0YVRhYmxlU29ydDtcbiAgZmlsdGVyPzogSURhdGFUYWJsZUZpbHRlciB8IElEYXRhVGFibGVGaWx0ZXJbXTtcbiAgcGFnZT86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIGdsb2JhbFNlYXJjaD86IHN0cmluZztcbiAgb3V0c2lkZUZpbHRlcj86IElEYXRhVGFibGVGaWx0ZXIgfCBJRGF0YVRhYmxlRmlsdGVyW107XG4gIHdoZXJlPzogeyBxdWVyeTogc3RyaW5nOyBmb3JtOiBhbnkgfTtcbiAgc2F2ZWRTZWFyY2hOYW1lPzogc3RyaW5nO1xuICBkaXNwbGF5ZWRDb2x1bW5zPzogc3RyaW5nW107XG4gIGFwcGxpZWRTZWFyY2hUeXBlPzogQXBwbGllZFNlYXJjaFR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcbiAgc2VsZWN0ZWQ6IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVTZWxlY3Rpb25PcHRpb24ge1xuICBsYWJlbDogJ25vbmUnIHwgJ3BhZ2UnIHwgJ3BhZ2VTaXplJyB8ICdzb3J0JyB8ICdmaWx0ZXInIHwgJ2dsb2JhbFNlYXJjaCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVBhZ2luYXRpb25FdmVudCB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgbGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVNvcnQge1xuICBpZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0cmFuc2Zvcm0/OiBGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICB0cmFuc2Zvcm0/OiBGdW5jdGlvbjtcbiAgdHlwZT86IHN0cmluZztcbiAgc2VsZWN0ZWRPcHRpb24/OiBPYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVNlcnZpY2U8VD4ge1xuICBnZXRUYWJsZVJlc3VsdHMoXG4gICAgc29ydDogSURhdGFUYWJsZVNvcnQsXG4gICAgZmlsdGVyOiB7IGlkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IHRyYW5zZm9ybT86IEZ1bmN0aW9uIH0gfCBJRGF0YVRhYmxlRmlsdGVyIHwgSURhdGFUYWJsZUZpbHRlcltdLFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICAgIGdsb2JhbFNlYXJjaD86IHN0cmluZyxcbiAgICBvdXRzaWRlRmlsdGVyPzogYW55LFxuICAgIHdoZXJlPzogeyBxdWVyeTogc3RyaW5nOyBmb3JtOiBhbnkgfSxcbiAgKTogT2JzZXJ2YWJsZTx7IHJlc3VsdHM6IFRbXTsgdG90YWw6IG51bWJlciB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlQ2VsbDxUPiB7fVxuXG4vKipcbiAqIEFkYXB0aXZlIGNyaXRlcmlhIHN5bnRheCBpcyBhIGpzb24gcmVwcmVzZW50YXRpb24gb2YgYSBzZWFyY2ggb3IgcXVlcnkgc3RyaW5nIHRoYXQgc3VwcG9ydHMgYWxsIGN1cnJlbnQgYW5kIGZ1dHVyZSBzZWFyY2ggZm9ybWF0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZVF1ZXJ5IHtcbiAgY3JpdGVyaWE6IEFkYXB0aXZlQ3JpdGVyaWE7XG5cbiAgLy8gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZHMgdG8gcmVxdWVzdHNcbiAgZmllbGRzPzogc3RyaW5nO1xuXG4gIC8vIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZywgb3IgYSBzdHJpbmcgYXJyYXkgd2l0aCB0aGUgc2FtZSBkYXRhXG4gIG9yZGVyQnk/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBwYWdpbmF0aW9uPzogUGFnaW5hdGlvbk9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uT2JqZWN0IHtcbiAgcGFnZTogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBZGFwdGl2ZUNyaXRlcmlhID0gQWRhcHRpdmVDb25kaXRpb24gfCBBZGFwdGl2ZUNvbmp1bmN0aW9uO1xuXG4vKipcbiAqIE9ubHkgYSBzaW5nbGUgZmllbGQgaXMgdmFsaWQuXG4gKiBDb21iaW5lIG11bHRpcGxlIGZpZWxkcyB3aXRoIGNvbmp1bmN0aW9ucywgbm90IHNpYmxpbmcgcHJvcGVydGllcy5cbiAqIElmIG11bHRpcGxlIHNpYmxpbmcgcHJvcGVydGllcyBhcmUgdXNlZCBpbiBhIGNvbmRpdGlvbiwgZXJyb3JzIG1heSBvY2N1ciBpbiB0cmFuc2xhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZUNvbmRpdGlvbiB7XG4gIFtmaWVsZE5hbWU6IHN0cmluZ106IEFkYXB0aXZlQ29uZGl0aW9uT3BlcmF0b3JPYmplY3Q7XG59XG5cbi8qKlxuICogT25seSBhIHNpbmdsZSBvcGVyYXRvciBmb3IgYSBjb25kaXRpb24gaXMgdmFsaWQuXG4gKiBDb21iaW5lIG11bHRpcGxlIG9wZXJhdG9ycyB3aXRoIGNvbmp1bmN0aW9ucywgbm90IHNpYmxpbmcgcHJvcGVydGllcy5cbiAqIElmIG11bHRpcGxlIHNpYmxpbmcgb3BlcmF0b3JzIGFyZSB1c2VkIGluIGEgY29uZGl0aW9uLCBvbmx5IHRoZSBmaXJzdCB3aWxsIGJlIHVzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEFkYXB0aXZlQ29uZGl0aW9uT3BlcmF0b3JPYmplY3QgPSB7XG4gIFtLIGluIEFkYXB0aXZlT3BlcmF0b3IgYXMgYCR7S31gXT86IEFkYXB0aXZlVmFsdWU7XG59O1xuXG5leHBvcnQgdHlwZSBBZGFwdGl2ZVZhbHVlID0gc3RyaW5nIHwgc3RyaW5nW10gfCBib29sZWFuIHwgYm9vbGVhbltdIHwgbnVtYmVyIHwgbnVtYmVyW107XG5cbmV4cG9ydCB0eXBlIEFkYXB0aXZlQ29uanVuY3Rpb24gPSBBZGFwdGl2ZUFuZCB8IEFkYXB0aXZlT3IgfCBBZGFwdGl2ZU5vdDtcblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZUFuZCB7XG4gIGFuZDogQXJyYXk8QWRhcHRpdmVDcml0ZXJpYT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRpdmVPciB7XG4gIG9yOiBBcnJheTxBZGFwdGl2ZUNyaXRlcmlhPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZU5vdCB7XG4gIG5vdDogQWRhcHRpdmVDcml0ZXJpYTtcbn1cblxuZXhwb3J0IGVudW0gQWRhcHRpdmVDb25qdW5jdGlvbk5hbWVzIHtcbiAgQU5EID0gJ2FuZCcsXG4gIE9SID0gJ29yJyxcbiAgTk9UID0gJ25vdCcsXG59XG5cbmV4cG9ydCBlbnVtIEFkYXB0aXZlT3BlcmF0b3Ige1xuICBFcXVhbFRvID0gJ2VxdWFsVG8nLFxuICBJbiA9ICdpbicsXG4gIEluY2x1ZGVBbnkgPSAnaW5jbHVkZUFueScsXG4gIEluY2x1ZGVBbGwgPSAnaW5jbHVkZUFsbCcsXG4gIElzID0gJ2lzJyxcbiAgTGVzc1RoYW4gPSAnbHQnLFxuICBMZXNzVGhhbkVxdWFscyA9ICdsdGUnLFxuICBHcmVhdGVyVGhhbiA9ICdndCcsXG4gIEdyZWF0ZXJUaGFuRXF1YWxzID0gJ2d0ZScsXG4gIExpa2UgPSAnbGlrZScsXG4gIFN0YXJ0c1dpdGggPSAnc3RhcnRzV2l0aCcsXG4gIEVuZHNXaXRoID0gJ2VuZHNXaXRoJyxcbiAgUmFkaXVzID0gJ3JhZGl1cycsXG59XG4iXX0=
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25vdm8tZWxlbWVudHMvc3JjL2VsZW1lbnRzL2RhdGEtdGFibGUvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ0EsTUFBTSxDQUFOLElBQVksaUJBSVg7QUFKRCxXQUFZLGlCQUFpQjtJQUMzQixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsa0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCO0FBK01ELE1BQU0sQ0FBTixJQUFZLHdCQUlYO0FBSkQsV0FBWSx3QkFBd0I7SUFDbEMsdUNBQVcsQ0FBQTtJQUNYLHFDQUFTLENBQUE7SUFDVCx1Q0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUpXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFJbkM7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFjWDtBQWRELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLDZCQUFTLENBQUE7SUFDVCw2Q0FBeUIsQ0FBQTtJQUN6Qiw2Q0FBeUIsQ0FBQTtJQUN6Qiw2QkFBUyxDQUFBO0lBQ1QsbUNBQWUsQ0FBQTtJQUNmLDBDQUFzQixDQUFBO0lBQ3RCLHNDQUFrQixDQUFBO0lBQ2xCLDZDQUF5QixDQUFBO0lBQ3pCLGlDQUFhLENBQUE7SUFDYiw2Q0FBeUIsQ0FBQTtJQUN6Qix5Q0FBcUIsQ0FBQTtJQUNyQixxQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBZFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQWMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlUHJlZmVyZW5jZXMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNvcnQ/OiBJRGF0YVRhYmxlU29ydDtcbiAgZmlsdGVyPzogSURhdGFUYWJsZUZpbHRlciB8IElEYXRhVGFibGVGaWx0ZXJbXTtcbiAgd2hlcmU/OiBEYXRhVGFibGVXaGVyZTtcbiAgZ2xvYmFsU2VhcmNoPzogYW55O1xuICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgZGlzcGxheWVkQ29sdW1ucz86IHN0cmluZ1tdO1xuICBjb2x1bW5XaWR0aHM/OiB7IGlkOiBzdHJpbmc7IHdpZHRoOiBudW1iZXIgfVtdO1xuICBzYXZlZFNlYXJjaElkPzogbnVtYmVyO1xuICBzYXZlZFNlYXJjaE5hbWU/OiBzdHJpbmc7XG4gIHNhdmVkU2VhcmNoT3duZXI/OiBEYXRhVGFibGVTYXZlZFNlYXJjaE93bmVyO1xuICBhcHBsaWVkU2VhcmNoVHlwZT86IEFwcGxpZWRTZWFyY2hUeXBlO1xuICBoYXNVbnNhdmVkQ2hhbmdlcz86IGJvb2xlYW47XG4gIHVuc2F2ZWRDaGFuZ2VzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVdoZXJlIHtcbiAgcXVlcnk6IHN0cmluZztcbiAgY3JpdGVyaWE/OiBBZGFwdGl2ZUNyaXRlcmlhO1xuICBrZXl3b3Jkcz86IFNlYXJjaEtleXdvcmRzO1xuICBmb3JtOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlU2F2ZWRTZWFyY2hPd25lciB7XG4gIGlkOiBudW1iZXI7XG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBBcHBsaWVkU2VhcmNoVHlwZSB7XG4gIFNhdmVkID0gJ3NhdmVkJyxcbiAgUmVjZW50ID0gJ3JlY2VudCcsXG4gIE5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZUNvbHVtbjxUPiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBsYWJlbEljb24/OiBzdHJpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICB0eXBlOlxuICAgIHwgJ3RleHQnXG4gICAgfCAnbGluaydcbiAgICB8ICdsaW5rOnRlbCdcbiAgICB8ICdsaW5rOm1haWx0bydcbiAgICB8ICdkYXRlJ1xuICAgIHwgJ2RhdGV0aW1lJ1xuICAgIHwgJ3RpbWUnXG4gICAgfCAnY3VycmVuY3knXG4gICAgfCAnYmlnZGVjaW1hbCdcbiAgICB8ICdudW1iZXInXG4gICAgfCAncGVyY2VudCdcbiAgICB8ICdhY3Rpb24nXG4gICAgfCAnZXhwYW5kJztcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGNlbGxDbGFzcz86IChyb3c6IFQpID0+IHN0cmluZztcbiAgZGlzYWJsZWRGdW5jPzogKHJvdzogVCkgPT4gYm9vbGVhbjtcbiAgaGFuZGxlcnM/OiB7XG4gICAgY2xpY2s/KGV2ZW50PzogYW55KTogYW55O1xuICB9O1xuICB3aWR0aD86IG51bWJlcjtcbiAgc29ydGFibGU/OiBib29sZWFuIHwgSURhdGFUYWJsZUNvbHVtblNvcnRDb25maWc7XG4gIGZpbHRlcmFibGU/OiBib29sZWFuIHwgSURhdGFUYWJsZUNvbHVtbkZpbHRlckNvbmZpZztcbiAgcmVzaXphYmxlPzogYm9vbGVhbjtcbiAgYWN0aW9uPzoge1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdG9vbHRpcD86IHN0cmluZztcbiAgICBvcHRpb25zPzoge1xuICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgIGhhbmRsZXJzOiB7XG4gICAgICAgIGNsaWNrPyhldmVudD86IGFueSk6IGFueTtcbiAgICAgIH07XG4gICAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gICAgICBkaXNhYmxlZEZ1bmM/OiAocm93OiBUKSA9PiBib29sZWFuO1xuICAgIH1bXTtcbiAgfTtcbiAgYXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07IC8vIGZvciBhbnkgY3VzdG9tIGNvbmZpZyBpbiBjZWxsc1xuICBpbml0aWFsUmVzaXphYmxlPzoge1xuICAgIHJlc2l6YWJsZTogYm9vbGVhbjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICB9O1xuICByaWdodEFsaWduQ2VsbENvbnRlbnQ/OiBib29sZWFuO1xuICBjb25maWd1cmF0aW9uPzogYW55OyAvLyBpbnRlbmRlZCB0byBiZSBpbXBsZW1lbnRlZCBieSBlYWNoIGNvbHVtbiB0eXBlIGlmIGFuZCBhcyBuZWVkZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlUGFnaW5hdGlvbk9wdGlvbnMge1xuICB0aGVtZTogJ2Jhc2ljJyB8ICdzdGFuZGFyZCcgfCAnYmFzaWMtd2lkZSc7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIHBhZ2VTaXplT3B0aW9uczogbnVtYmVyW10gfCB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgZXJyb3JMb2FkaW5nPzogYm9vbGVhbjtcbiAgb25Gb290ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVDb2x1bW5Tb3J0Q29uZmlnIHtcbiAgdHJhbnNmb3JtPzogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZUNvbHVtbkZpbHRlckNvbmZpZyB7XG4gIHR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2RhdGUnIHwgJ3NlbGVjdCcgfCAnbXVsdGktc2VsZWN0JyB8ICdjdXN0b20nO1xuICBjdXN0b21UZW1wbGF0ZT86IHN0cmluZztcbiAgdXNlQ3VzdG9tSGVhZGVyPzogYm9vbGVhbjtcbiAgb3B0aW9ucz86IHN0cmluZ1tdIHwgSURhdGFUYWJsZUNvbHVtbkZpbHRlck9wdGlvbltdO1xuICBhbGxvd0N1c3RvbVJhbmdlPzogYm9vbGVhbjtcbiAgdHJhbnNmb3JtPzogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZUNvbHVtbkZpbHRlck9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlPzogYW55O1xuICBtaW4/OiBudW1iZXI7XG4gIG1heD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlU2VhcmNoT3B0aW9ucyB7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVTb3J0RmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgZGlyZWN0aW9uPzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBmaWx0ZXI/OiBzdHJpbmcgfCBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVDaGFuZ2VFdmVudCB7XG4gIHNvcnQ/OiBJRGF0YVRhYmxlU29ydDtcbiAgZmlsdGVyPzogSURhdGFUYWJsZUZpbHRlciB8IElEYXRhVGFibGVGaWx0ZXJbXTtcbiAgcGFnZT86IG51bWJlcjtcbiAgcGFnZVNpemU/OiBudW1iZXI7XG4gIGdsb2JhbFNlYXJjaD86IHN0cmluZztcbiAgb3V0c2lkZUZpbHRlcj86IElEYXRhVGFibGVGaWx0ZXIgfCBJRGF0YVRhYmxlRmlsdGVyW107XG4gIHdoZXJlPzogeyBxdWVyeTogc3RyaW5nOyBmb3JtOiBhbnkgfTtcbiAgc2F2ZWRTZWFyY2hOYW1lPzogc3RyaW5nO1xuICBkaXNwbGF5ZWRDb2x1bW5zPzogc3RyaW5nW107XG4gIGFwcGxpZWRTZWFyY2hUeXBlPzogQXBwbGllZFNlYXJjaFR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVNlbGVjdGlvbkNoYW5nZUV2ZW50IHtcbiAgc2VsZWN0ZWQ6IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGVTZWxlY3Rpb25PcHRpb24ge1xuICBsYWJlbDogJ25vbmUnIHwgJ3BhZ2UnIHwgJ3BhZ2VTaXplJyB8ICdzb3J0JyB8ICdmaWx0ZXInIHwgJ2dsb2JhbFNlYXJjaCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVBhZ2luYXRpb25FdmVudCB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgbGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVNvcnQge1xuICBpZDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICB0cmFuc2Zvcm0/OiBGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlRmlsdGVyIHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICB0cmFuc2Zvcm0/OiBGdW5jdGlvbjtcbiAgdHlwZT86IHN0cmluZztcbiAgc2VsZWN0ZWRPcHRpb24/OiBPYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFUYWJsZVNlcnZpY2U8VD4ge1xuICBnZXRUYWJsZVJlc3VsdHMoXG4gICAgc29ydDogSURhdGFUYWJsZVNvcnQsXG4gICAgZmlsdGVyOiB7IGlkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IHRyYW5zZm9ybT86IEZ1bmN0aW9uIH0gfCBJRGF0YVRhYmxlRmlsdGVyIHwgSURhdGFUYWJsZUZpbHRlcltdLFxuICAgIHBhZ2U6IG51bWJlcixcbiAgICBwYWdlU2l6ZTogbnVtYmVyLFxuICAgIGdsb2JhbFNlYXJjaD86IHN0cmluZyxcbiAgICBvdXRzaWRlRmlsdGVyPzogYW55LFxuICAgIHdoZXJlPzogeyBxdWVyeTogc3RyaW5nOyBmb3JtOiBhbnkgfSxcbiAgKTogT2JzZXJ2YWJsZTx7IHJlc3VsdHM6IFRbXTsgdG90YWw6IG51bWJlciB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlQ2VsbDxUPiB7fVxuXG4vKipcbiAqIEFkYXB0aXZlIGNyaXRlcmlhIHN5bnRheCBpcyBhIGpzb24gcmVwcmVzZW50YXRpb24gb2YgYSBzZWFyY2ggb3IgcXVlcnkgc3RyaW5nIHRoYXQgc3VwcG9ydHMgYWxsIGN1cnJlbnQgYW5kIGZ1dHVyZSBzZWFyY2ggZm9ybWF0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZVF1ZXJ5IHtcbiAgY3JpdGVyaWE6IEFkYXB0aXZlQ3JpdGVyaWE7XG5cbiAgLy8gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZHMgdG8gcmVxdWVzdHNcbiAgZmllbGRzPzogc3RyaW5nO1xuXG4gIC8vIGEgY29tbWEgc2VwYXJhdGVkIHN0cmluZywgb3IgYSBzdHJpbmcgYXJyYXkgd2l0aCB0aGUgc2FtZSBkYXRhXG4gIG9yZGVyQnk/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICBwYWdpbmF0aW9uPzogUGFnaW5hdGlvbk9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0aW9uT2JqZWN0IHtcbiAgcGFnZTogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBZGFwdGl2ZUNyaXRlcmlhID0gQWRhcHRpdmVDb25kaXRpb24gfCBBZGFwdGl2ZUNvbmp1bmN0aW9uO1xuXG4vKipcbiAqIE9ubHkgYSBzaW5nbGUgZmllbGQgaXMgdmFsaWQuXG4gKiBDb21iaW5lIG11bHRpcGxlIGZpZWxkcyB3aXRoIGNvbmp1bmN0aW9ucywgbm90IHNpYmxpbmcgcHJvcGVydGllcy5cbiAqIElmIG11bHRpcGxlIHNpYmxpbmcgcHJvcGVydGllcyBhcmUgdXNlZCBpbiBhIGNvbmRpdGlvbiwgZXJyb3JzIG1heSBvY2N1ciBpbiB0cmFuc2xhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZUNvbmRpdGlvbiB7XG4gIFtmaWVsZE5hbWU6IHN0cmluZ106IEFkYXB0aXZlQ29uZGl0aW9uT3BlcmF0b3JPYmplY3Q7XG59XG5cbi8qKlxuICogT25seSBhIHNpbmdsZSBvcGVyYXRvciBmb3IgYSBjb25kaXRpb24gaXMgdmFsaWQuXG4gKiBDb21iaW5lIG11bHRpcGxlIG9wZXJhdG9ycyB3aXRoIGNvbmp1bmN0aW9ucywgbm90IHNpYmxpbmcgcHJvcGVydGllcy5cbiAqIElmIG11bHRpcGxlIHNpYmxpbmcgb3BlcmF0b3JzIGFyZSB1c2VkIGluIGEgY29uZGl0aW9uLCBvbmx5IHRoZSBmaXJzdCB3aWxsIGJlIHVzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEFkYXB0aXZlQ29uZGl0aW9uT3BlcmF0b3JPYmplY3QgPSB7XG4gIFtLIGluIEFkYXB0aXZlT3BlcmF0b3IgYXMgYCR7S31gXT86IEFkYXB0aXZlVmFsdWU7XG59O1xuXG5leHBvcnQgdHlwZSBBZGFwdGl2ZVZhbHVlID0gc3RyaW5nIHwgc3RyaW5nW10gfCBib29sZWFuIHwgYm9vbGVhbltdIHwgbnVtYmVyIHwgbnVtYmVyW107XG5cbmV4cG9ydCB0eXBlIEFkYXB0aXZlQ29uanVuY3Rpb24gPSBBZGFwdGl2ZUFuZCB8IEFkYXB0aXZlT3IgfCBBZGFwdGl2ZU5vdDtcblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZUFuZCB7XG4gIGFuZDogQXJyYXk8QWRhcHRpdmVDcml0ZXJpYT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRpdmVPciB7XG4gIG9yOiBBcnJheTxBZGFwdGl2ZUNyaXRlcmlhPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZU5vdCB7XG4gIG5vdDogQWRhcHRpdmVDcml0ZXJpYTtcbn1cblxuZXhwb3J0IGVudW0gQWRhcHRpdmVDb25qdW5jdGlvbk5hbWVzIHtcbiAgQU5EID0gJ2FuZCcsXG4gIE9SID0gJ29yJyxcbiAgTk9UID0gJ25vdCcsXG59XG5cbmV4cG9ydCBlbnVtIEFkYXB0aXZlT3BlcmF0b3Ige1xuICBFcXVhbFRvID0gJ2VxdWFsVG8nLFxuICBJbiA9ICdpbicsXG4gIEluY2x1ZGVBbnkgPSAnaW5jbHVkZUFueScsXG4gIEluY2x1ZGVBbGwgPSAnaW5jbHVkZUFsbCcsXG4gIElzID0gJ2lzJyxcbiAgTGVzc1RoYW4gPSAnbHQnLFxuICBMZXNzVGhhbkVxdWFscyA9ICdsdGUnLFxuICBHcmVhdGVyVGhhbiA9ICdndCcsXG4gIEdyZWF0ZXJUaGFuRXF1YWxzID0gJ2d0ZScsXG4gIExpa2UgPSAnbGlrZScsXG4gIFN0YXJ0c1dpdGggPSAnc3RhcnRzV2l0aCcsXG4gIEVuZHNXaXRoID0gJ2VuZHNXaXRoJyxcbiAgUmFkaXVzID0gJ3JhZGl1cycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtleXdvcmRTZWFyY2hSZXNwb25zZSB7XG4gIGl0ZW1zOiBJS2V5d29yZEdyb3VwW107XG4gIG1ldGE6IHtcbiAgICBjdXJyZW50UGFnZTogbnVtYmVyO1xuICAgIGl0ZW1Db3VudDogbnVtYmVyO1xuICAgIGl0ZW1zUGVyUGFnZTogbnVtYmVyO1xuICAgIHRvdGFsSXRlbXM6IG51bWJlcjtcbiAgICB0b3RhbFBhZ2VzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtleXdvcmQge1xuICBpZDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtleXdvcmRHcm91cCB7XG4gIGlkOiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAga2V5d29yZHM6IElLZXl3b3JkW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUtleXdvcmRCbG9jayB7XG4gIGV4Y2x1ZGU6IGJvb2xlYW47XG4gIGtleXdvcmRHcm91cHM6IElLZXl3b3JkR3JvdXBbXTtcbn1cblxuZXhwb3J0IHR5cGUgTmVzdGVkS2V5d29yZEdyb3VwcyA9IElLZXl3b3JkQmxvY2tbXTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoS2V5d29yZHMgPSBzdHJpbmdbXSB8IE5lc3RlZEtleXdvcmRHcm91cHM7XG4iXX0=
|
|
@@ -58,6 +58,9 @@ export class NovoDateFormatDirective extends IMaskDirective {
|
|
|
58
58
|
}
|
|
59
59
|
normalize(value) {
|
|
60
60
|
const pattern = this.labels.dateFormat.toUpperCase();
|
|
61
|
+
if (!value) {
|
|
62
|
+
return "";
|
|
63
|
+
}
|
|
61
64
|
return DateUtil.format(DateUtil.parse(value), pattern);
|
|
62
65
|
}
|
|
63
66
|
formatAsIso(date) {
|
|
@@ -113,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
113
116
|
}], ctorParameters: () => [{ type: i1.NovoLabelService }], propDecorators: { dateFormat: [{
|
|
114
117
|
type: Input
|
|
115
118
|
}] } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9maWVsZC9mb3JtYXRzL2RhdGUtZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBVSxLQUFLLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBMkIsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVoRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7SUFDdEQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQW1CO0lBSzlELFlBQW9CLE1BQXdCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRFUsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFKNUMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyxlQUFVLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFJcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFD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Q0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQW9CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUM1QixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDckIsUUFBUSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssWUFBWSxDQUFDLE9BQU87b0JBQ3ZCLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNuQyxNQUFNO2dCQUNSLEtBQUssWUFBWSxDQUFDLE1BQU07b0JBQ3RCLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNuQyxNQUFNO2dCQUNSO29CQUNFLFNBQVMsR0FBRyxJQUFJLENBQUM7b0JBQ2pCLE1BQU07WUFDVixDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBNUZVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGdJQUZ2QixDQUFDLHlCQUF5QixFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDOzsyRkFFakcsdUJBQXVCO2tCQVBuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsa0JBQWtCO3FCQUMxQjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUM7aUJBQzdHO3FGQUlVLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ09NUE9TSVRJT05fQlVGRkVSX01PREUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU1hc2tEaXJlY3RpdmUsIElNYXNrRmFjdG9yeSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHsgaXNWYWxpZCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE1hc2tlZFJhbmdlIH0gZnJvbSAnaW1hc2snO1xuaW1wb3J0IHsgTm92b0xhYmVsU2VydmljZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvc2VydmljZXMnO1xuaW1wb3J0IHsgRGF0ZVV0aWwgfSBmcm9tICdub3ZvLWVsZW1lbnRzL3V0aWxzJztcbmltcG9ydCB7IERBVEVfRk9STUFUUywgTk9WT19JTlBVVF9GT1JNQVQgfSBmcm9tICcuL2Jhc2UtZm9ybWF0JztcblxuZXhwb3J0IGNvbnN0IERBVEVGT1JNQVRfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOb3ZvRGF0ZUZvcm1hdERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnaW5wdXRbZGF0ZUZvcm1hdF0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdub3ZvLWRhdGUtZm9ybWF0JyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbREFURUZPUk1BVF9WQUxVRV9BQ0NFU1NPUiwgeyBwcm92aWRlOiBOT1ZPX0lOUFVUX0ZPUk1BVCwgdXNlRXhpc3Rpbmc6IE5vdm9EYXRlRm9ybWF0RGlyZWN0aXZlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBOb3ZvRGF0ZUZvcm1hdERpcmVjdGl2ZSBleHRlbmRzIElNYXNrRGlyZWN0aXZlPGFueT4ge1xuICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgZGF0ZUZvcm1hdDogREFURV9GT1JNQVRTID0gREFURV9GT1JNQVRTLkRBVEU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYWJlbHM6IE5vdm9MYWJlbFNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGRhdGVGb3JtYXQgPSB0aGlzLmxhYmVscy5kYXRlRm9ybWF0LnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy51bm1hc2sgPSAndHlwZWQnIGFzIHVua25vd24gYXMgZmFsc2U7IC8vIHR5cGluZyBpcyB0byB3b3JrIGFyb3VuZCBhbmd1bGFyLWltYXNrIGJ1Z1xuICAgIHRoaXMuaW1hc2sgPSB7XG4gICAgICBtYXNrOiBEYXRlLFxuICAgICAgcGF0dGVybjogJ217L31gZHsvfWBZJyxcbiAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICAgIGF1dG9maXg6IHRydWUsXG4gICAgICBsYXp5OiBmYWxzZSxcbiAgICAgIG1pbjogbmV3IERhdGUoMTkwMCwgMCwgMSksXG4gICAgICBtYXg6IG5ldyBEYXRlKDIxMDAsIDAsIDEpLFxuICAgICAgcHJlcGFyZTogKHN0cikgPT4gc3RyLnRvVXBwZXJDYXNlKCksXG4gICAgICBmb3JtYXQ6IChkYXRlKSA9PiB0aGlzLmZvcm1hdFZhbHVlKGRhdGUpLFxuICAgICAgcGFyc2U6IChzdHIpID0+IERhdGVVdGlsLnBhcnNlKHN0ciksXG4gICAgICBibG9ja3M6IHtcbiAgICAgICAgZDoge1xuICAgICAgICAgIG1hc2s6IE1hc2tlZFJhbmdlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJ0QnLFxuICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgdG86IDMxLFxuICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgfSxcbiAgICAgICAgbToge1xuICAgICAgICAgIG1hc2s6IE1hc2tlZFJhbmdlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJ00nLFxuICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgdG86IDEyLFxuICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgfSxcbiAgICAgICAgWToge1xuICAgICAgICAgIG1hc2s6IE1hc2tlZFJhbmdlLFxuICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogJ1knLFxuICAgICAgICAgIGZyb206IDE5MDAsXG4gICAgICAgICAgdG86IDk5OTksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBub3JtYWxpemUodmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IHBhdHRlcm4gPSB0aGlzLmxhYmVscy5kYXRlRm9ybWF0LnRvVXBwZXJDYXNlKCk7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBEYXRlVXRpbC5mb3JtYXQoRGF0ZVV0aWwucGFyc2UodmFsdWUpLCBwYXR0ZXJuKTtcbiAgfVxuXG4gIGZvcm1hdEFzSXNvKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGlmIChkYXRlICYmIGlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvcm1hdFZhbHVlKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gJyc7XG4gICAgLy8gVXNlIGBwYXJzZWAgYmVjYXVzZSBpdCBrZWVwcyBkYXRlcyBpbiBsb2NhbGVcbiAgICBjb25zdCBkYXRlID0gRGF0ZVV0aWwucGFyc2UodmFsdWUpO1xuICAgIGlmIChpc1ZhbGlkKGRhdGUpKSB7XG4gICAgICBjb25zdCBkYXRlRm9ybWF0ID0gdGhpcy5sYWJlbHMuZGF0ZUZvcm1hdC50b1VwcGVyQ2FzZSgpO1xuICAgICAgcmV0dXJuIERhdGVVdGlsLmZvcm1hdChkYXRlLCBkYXRlRm9ybWF0KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9ybWFsaXplKHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHN1cGVyLndyaXRlVmFsdWUodGhpcy5mb3JtYXRWYWx1ZSh2YWx1ZSkpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSAoZGF0ZTogYW55KSA9PiB7XG4gICAgICBsZXQgZm9ybWF0dGVkID0gZGF0ZTtcbiAgICAgIHN3aXRjaCAodGhpcy5kYXRlRm9ybWF0KSB7XG4gICAgICAgIGNhc2UgREFURV9GT1JNQVRTLklTTzg2MDE6XG4gICAgICAgICAgZm9ybWF0dGVkID0gdGhpcy5mb3JtYXRBc0lzbyhkYXRlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBEQVRFX0ZPUk1BVFMuU1RSSU5HOlxuICAgICAgICAgIGZvcm1hdHRlZCA9IHRoaXMuZm9ybWF0VmFsdWUoZGF0ZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgZm9ybWF0dGVkID0gZGF0ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChkYXRlKTtcbiAgICAgIGZuKGZvcm1hdHRlZCk7XG4gICAgfTtcbiAgfVxufVxuIl19
|
package/esm2022/elements/query-builder/condition-definitions/abstract-condition.definition.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Directive, Input, ViewChild } from '@angular/core';
|
|
1
|
+
import { Directive, Input, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
|
2
|
+
import { FormControlName } from '@angular/forms';
|
|
2
3
|
import { NovoLabelService } from 'novo-elements/services';
|
|
3
4
|
import { NovoConditionFieldDef } from '../query-builder.directives';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
@@ -16,18 +17,51 @@ export class AbstractConditionFieldDef {
|
|
|
16
17
|
}
|
|
17
18
|
constructor(labels) {
|
|
18
19
|
this.labels = labels;
|
|
20
|
+
this.operatorEditGroups = [];
|
|
19
21
|
}
|
|
20
22
|
ngOnInit() {
|
|
21
23
|
this._syncFieldDefName();
|
|
22
24
|
this._syncFieldDefOperatorValue();
|
|
25
|
+
this._previousOperatorValue = this.defaultOperator;
|
|
23
26
|
// Need to add self to FilterBuilder because "ContentChildren won't find it"
|
|
24
27
|
this.fieldDef?.register();
|
|
25
28
|
}
|
|
29
|
+
ngAfterViewInit() {
|
|
30
|
+
setTimeout(() => {
|
|
31
|
+
this.frameAfterViewInit();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
frameAfterViewInit() {
|
|
35
|
+
const operatorField = this.formControlsByName.find(formControlDirective => formControlDirective.name === 'operator')?.control;
|
|
36
|
+
if (operatorField) {
|
|
37
|
+
this._previousOperatorValue = operatorField.value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
26
40
|
ngOnDestroy() {
|
|
27
41
|
this.fieldDef?.unregister();
|
|
28
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Define an edit group of operators. Once defined, if the user switches from one of these operators to another,
|
|
45
|
+
* then the condition value will not be cleared. This makes sense if both operators use the same UI controls for editing.
|
|
46
|
+
* @param operators The set of Operator values intended to share UI controls.
|
|
47
|
+
*/
|
|
48
|
+
defineOperatorEditGroup(...operators) {
|
|
49
|
+
this.operatorEditGroups.push(new Set(operators));
|
|
50
|
+
}
|
|
29
51
|
onOperatorSelect(formGroup) {
|
|
30
|
-
|
|
52
|
+
let clearVal = true;
|
|
53
|
+
if (this._previousOperatorValue && this.operatorEditGroups?.length) {
|
|
54
|
+
const previousOperatorGroupIndex = this.operatorEditGroups.findIndex(grp => grp.has(this._previousOperatorValue));
|
|
55
|
+
const newOperatorValue = formGroup.get('operator').getRawValue();
|
|
56
|
+
const newOperatorGroupIndex = this.operatorEditGroups.findIndex(grp => grp.has(newOperatorValue));
|
|
57
|
+
if (previousOperatorGroupIndex !== -1 && newOperatorGroupIndex !== -1 && previousOperatorGroupIndex === newOperatorGroupIndex) {
|
|
58
|
+
clearVal = false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
this._previousOperatorValue = formGroup.get('operator').value;
|
|
62
|
+
if (clearVal) {
|
|
63
|
+
formGroup.get('value').setValue(null);
|
|
64
|
+
}
|
|
31
65
|
}
|
|
32
66
|
/** Synchronizes the column definition name with the text column name. */
|
|
33
67
|
_syncFieldDefName() {
|
|
@@ -41,7 +75,7 @@ export class AbstractConditionFieldDef {
|
|
|
41
75
|
}
|
|
42
76
|
}
|
|
43
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AbstractConditionFieldDef, deps: [{ token: i1.NovoLabelService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.3", type: AbstractConditionFieldDef, inputs: { name: "name" }, viewQueries: [{ propertyName: "fieldDef", first: true, predicate: NovoConditionFieldDef, descendants: true, static: true }], ngImport: i0 }); }
|
|
78
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.3", type: AbstractConditionFieldDef, inputs: { name: "name" }, viewQueries: [{ propertyName: "fieldDef", first: true, predicate: NovoConditionFieldDef, descendants: true, static: true }, { propertyName: "formControlsByName", predicate: FormControlName, descendants: true }], ngImport: i0 }); }
|
|
45
79
|
}
|
|
46
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: AbstractConditionFieldDef, decorators: [{
|
|
47
81
|
type: Directive
|
|
@@ -50,5 +84,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
|
|
|
50
84
|
}], fieldDef: [{
|
|
51
85
|
type: ViewChild,
|
|
52
86
|
args: [NovoConditionFieldDef, { static: true }]
|
|
87
|
+
}], formControlsByName: [{
|
|
88
|
+
type: ViewChildren,
|
|
89
|
+
args: [FormControlName]
|
|
53
90
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29uZGl0aW9uLmRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ub3ZvLWVsZW1lbnRzL3NyYy9lbGVtZW50cy9xdWVyeS1idWlsZGVyL2NvbmRpdGlvbi1kZWZpbml0aW9ucy9hYnN0cmFjdC1jb25kaXRpb24uZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBd0IsZUFBZSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBNkIsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBSS9GLE1BQU0sT0FBZ0IseUJBQXlCO0lBQzdDLGdFQUFnRTtJQUNoRSxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsc0VBQXNFO1FBQ3RFLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBV0QsWUFBbUIsTUFBd0I7UUFBeEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFMakMsdUJBQWtCLEdBQW9CLEVBQUUsQ0FBQztJQUtMLENBQUM7SUFFL0MsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsZUFBMkIsQ0FBQztRQUMvRCw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUM5SCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyx1QkFBdUIsQ0FBQyxHQUFHLFNBQXFCO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBMkI7UUFDMUMsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNuRSxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7WUFDbEgsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pFLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ2xHLElBQUksMEJBQTBCLEtBQUssQ0FBQyxDQUFDLElBQUkscUJBQXFCLEtBQUssQ0FBQyxDQUFDLElBQUksMEJBQTBCLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztnQkFDOUgsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM5RCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCx5RUFBeUU7SUFDakUsaUJBQWlCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs4R0FyRm1CLHlCQUF5QjtrR0FBekIseUJBQXlCLDhGQW1CbEMscUJBQXFCLHNGQUNsQixlQUFlOzsyRkFwQlQseUJBQXlCO2tCQUQ5QyxTQUFTO3FGQUlKLElBQUk7c0JBRFAsS0FBSztnQkFpQjhDLFFBQVE7c0JBQTNELFNBQVM7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNuQixrQkFBa0I7c0JBQWhELFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybUNvbnRyb2xOYW1lLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTm92b0xhYmVsU2VydmljZSB9IGZyb20gJ25vdm8tZWxlbWVudHMvc2VydmljZXMnO1xuaW1wb3J0IHsgTm92b0NvbmRpdGlvbkZpZWxkRGVmLCBOb3ZvQ29uZGl0aW9uT3BlcmF0b3JzRGVmIH0gZnJvbSAnLi4vcXVlcnktYnVpbGRlci5kaXJlY3RpdmVzJztcbmltcG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi4vcXVlcnktYnVpbGRlci50eXBlcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29uZGl0aW9uRmllbGREZWYgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBDb2x1bW4gbmFtZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIHJlZmVyZW5jZSB0aGlzIGNvbHVtbi4gKi9cbiAgQElucHV0KClcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgfVxuICBzZXQgbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9uYW1lID0gbmFtZTtcbiAgICAvLyBXaXRoIEl2eSwgaW5wdXRzIGNhbiBiZSBpbml0aWFsaXplZCBiZWZvcmUgc3RhdGljIHF1ZXJ5IHJlc3VsdHMgYXJlXG4gICAgLy8gYXZhaWxhYmxlLiBJbiB0aGF0IGNhc2UsIHdlIGRlZmVyIHRoZSBzeW5jaHJvbml6YXRpb24gdW50aWwgXCJuZ09uSW5pdFwiIGZpcmVzLlxuICAgIHRoaXMuX3N5bmNGaWVsZERlZk5hbWUoKTtcbiAgfVxuICBfbmFtZTogc3RyaW5nO1xuXG4gIGRlZmF1bHRPcGVyYXRvcjogT3BlcmF0b3IgfCBzdHJpbmc7XG4gIHByb3RlY3RlZCBfcHJldmlvdXNPcGVyYXRvclZhbHVlOiBPcGVyYXRvcjtcblxuICBwcm90ZWN0ZWQgb3BlcmF0b3JFZGl0R3JvdXBzOiBTZXQ8T3BlcmF0b3I+W10gPSBbXTtcblxuICBAVmlld0NoaWxkKE5vdm9Db25kaXRpb25GaWVsZERlZiwgeyBzdGF0aWM6IHRydWUgfSkgZmllbGREZWY6IE5vdm9Db25kaXRpb25GaWVsZERlZjtcbiAgQFZpZXdDaGlsZHJlbihGb3JtQ29udHJvbE5hbWUpIGZvcm1Db250cm9sc0J5TmFtZTogUXVlcnlMaXN0PEZvcm1Db250cm9sTmFtZT47XG5cbiAgY29uc3RydWN0b3IocHVibGljIGxhYmVsczogTm92b0xhYmVsU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9zeW5jRmllbGREZWZOYW1lKCk7XG4gICAgdGhpcy5fc3luY0ZpZWxkRGVmT3BlcmF0b3JWYWx1ZSgpO1xuICAgIHRoaXMuX3ByZXZpb3VzT3BlcmF0b3JWYWx1ZSA9IHRoaXMuZGVmYXVsdE9wZXJhdG9yIGFzIE9wZXJhdG9yO1xuICAgIC8vIE5lZWQgdG8gYWRkIHNlbGYgdG8gRmlsdGVyQnVpbGRlciBiZWNhdXNlIFwiQ29udGVudENoaWxkcmVuIHdvbid0IGZpbmQgaXRcIlxuICAgIHRoaXMuZmllbGREZWY/LnJlZ2lzdGVyKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZyYW1lQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH0pO1xuICB9XG5cbiAgZnJhbWVBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IG9wZXJhdG9yRmllbGQgPSB0aGlzLmZvcm1Db250cm9sc0J5TmFtZS5maW5kKGZvcm1Db250cm9sRGlyZWN0aXZlID0+IGZvcm1Db250cm9sRGlyZWN0aXZlLm5hbWUgPT09ICdvcGVyYXRvcicpPy5jb250cm9sO1xuICAgIGlmIChvcGVyYXRvckZpZWxkKSB7XG4gICAgICB0aGlzLl9wcmV2aW91c09wZXJhdG9yVmFsdWUgPSBvcGVyYXRvckZpZWxkLnZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZmllbGREZWY/LnVucmVnaXN0ZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgYW4gZWRpdCBncm91cCBvZiBvcGVyYXRvcnMuIE9uY2UgZGVmaW5lZCwgaWYgdGhlIHVzZXIgc3dpdGNoZXMgZnJvbSBvbmUgb2YgdGhlc2Ugb3BlcmF0b3JzIHRvIGFub3RoZXIsXG4gICAqIHRoZW4gdGhlIGNvbmRpdGlvbiB2YWx1ZSB3aWxsIG5vdCBiZSBjbGVhcmVkLiBUaGlzIG1ha2VzIHNlbnNlIGlmIGJvdGggb3BlcmF0b3JzIHVzZSB0aGUgc2FtZSBVSSBjb250cm9scyBmb3IgZWRpdGluZy5cbiAgICogQHBhcmFtIG9wZXJhdG9ycyBUaGUgc2V0IG9mIE9wZXJhdG9yIHZhbHVlcyBpbnRlbmRlZCB0byBzaGFyZSBVSSBjb250cm9scy5cbiAgICovXG4gIHByb3RlY3RlZCBkZWZpbmVPcGVyYXRvckVkaXRHcm91cCguLi5vcGVyYXRvcnM6IE9wZXJhdG9yW10pOiB2b2lkIHtcbiAgICB0aGlzLm9wZXJhdG9yRWRpdEdyb3Vwcy5wdXNoKG5ldyBTZXQob3BlcmF0b3JzKSk7XG4gIH1cblxuICBvbk9wZXJhdG9yU2VsZWN0KGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCk6IHZvaWQge1xuICAgIGxldCBjbGVhclZhbCA9IHRydWU7XG4gICAgaWYgKHRoaXMuX3ByZXZpb3VzT3BlcmF0b3JWYWx1ZSAmJiB0aGlzLm9wZXJhdG9yRWRpdEdyb3Vwcz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBwcmV2aW91c09wZXJhdG9yR3JvdXBJbmRleCA9IHRoaXMub3BlcmF0b3JFZGl0R3JvdXBzLmZpbmRJbmRleChncnAgPT4gZ3JwLmhhcyh0aGlzLl9wcmV2aW91c09wZXJhdG9yVmFsdWUpKTtcbiAgICAgIGNvbnN0IG5ld09wZXJhdG9yVmFsdWUgPSBmb3JtR3JvdXAuZ2V0KCdvcGVyYXRvcicpLmdldFJhd1ZhbHVlKCk7XG4gICAgICBjb25zdCBuZXdPcGVyYXRvckdyb3VwSW5kZXggPSB0aGlzLm9wZXJhdG9yRWRpdEdyb3Vwcy5maW5kSW5kZXgoZ3JwID0+IGdycC5oYXMobmV3T3BlcmF0b3JWYWx1ZSkpO1xuICAgICAgaWYgKHByZXZpb3VzT3BlcmF0b3JHcm91cEluZGV4ICE9PSAtMSAmJiBuZXdPcGVyYXRvckdyb3VwSW5kZXggIT09IC0xICYmIHByZXZpb3VzT3BlcmF0b3JHcm91cEluZGV4ID09PSBuZXdPcGVyYXRvckdyb3VwSW5kZXgpIHtcbiAgICAgICAgY2xlYXJWYWwgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fcHJldmlvdXNPcGVyYXRvclZhbHVlID0gZm9ybUdyb3VwLmdldCgnb3BlcmF0b3InKS52YWx1ZTtcbiAgICBpZiAoY2xlYXJWYWwpIHtcbiAgICAgIGZvcm1Hcm91cC5nZXQoJ3ZhbHVlJykuc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFN5bmNocm9uaXplcyB0aGUgY29sdW1uIGRlZmluaXRpb24gbmFtZSB3aXRoIHRoZSB0ZXh0IGNvbHVtbiBuYW1lLiAqL1xuICBwcml2YXRlIF9zeW5jRmllbGREZWZOYW1lKCkge1xuICAgIGlmICh0aGlzLmZpZWxkRGVmKSB7XG4gICAgICB0aGlzLmZpZWxkRGVmLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc3luY0ZpZWxkRGVmT3BlcmF0b3JWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5maWVsZERlZikge1xuICAgICAgdGhpcy5maWVsZERlZi5kZWZhdWx0T3BlcmF0b3IgPSB0aGlzLmRlZmF1bHRPcGVyYXRvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|