@wizishop/angular-components 14.3.16 → 14.3.18
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/esm2020/lib/components/calendar/calendar.component.mjs +104 -70
- package/esm2020/lib/components/selects/option/option-selection-handler.interface.mjs +1 -1
- package/esm2020/lib/components/selects/option/option.component.mjs +11 -50
- package/esm2020/lib/components/selects/option/select-option.directive.mjs +37 -14
- package/esm2020/lib/components/selects/select-test/select.directive.mjs +23 -5
- package/esm2020/lib/components/selects/select-test/value-change.service.mjs +11 -4
- package/fesm2015/wizishop-angular-components.mjs +199 -157
- package/fesm2015/wizishop-angular-components.mjs.map +1 -1
- package/fesm2020/wizishop-angular-components.mjs +198 -157
- package/fesm2020/wizishop-angular-components.mjs.map +1 -1
- package/lib/components/calendar/calendar.component.d.ts +28 -10
- package/lib/components/selects/option/option-selection-handler.interface.d.ts +2 -0
- package/lib/components/selects/option/option.component.d.ts +8 -20
- package/lib/components/selects/option/select-option.directive.d.ts +12 -7
- package/lib/components/selects/select-test/select.directive.d.ts +6 -2
- package/lib/components/selects/select-test/value-change.service.d.ts +2 -0
- package/package.json +1 -1
- package/wizishop-angular-components-14.3.18.tgz +0 -0
- package/wizishop-angular-components-14.3.16.tgz +0 -0
|
@@ -3,57 +3,78 @@ import { OPTION_SELECTION_HANDLER } from './option-selection-handler.token';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
// todo create a select module and in the select-option.directive.ts
|
|
5
5
|
export class SelectOptionDirective {
|
|
6
|
-
constructor(contentRef) {
|
|
6
|
+
constructor(contentRef, changeDetectorRef) {
|
|
7
7
|
this.contentRef = contentRef;
|
|
8
|
-
this.
|
|
8
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
9
9
|
this.disabled = false;
|
|
10
|
+
this.disabledByParent = false;
|
|
10
11
|
this.selected = false;
|
|
12
|
+
this.onClickEventPreventDefault = true;
|
|
11
13
|
this.selectedChange = new EventEmitter();
|
|
12
14
|
}
|
|
13
|
-
onClick() {
|
|
15
|
+
onClick(event) {
|
|
14
16
|
this.onSelectOption();
|
|
17
|
+
if (this.onClickEventPreventDefault) {
|
|
18
|
+
event.preventDefault();
|
|
19
|
+
}
|
|
15
20
|
}
|
|
16
21
|
get isOptionSelected() {
|
|
17
22
|
return this.selected;
|
|
18
23
|
}
|
|
24
|
+
get isOptionDisabled() {
|
|
25
|
+
return this.disabled || this.disabledByParent;
|
|
26
|
+
}
|
|
27
|
+
get cursor() {
|
|
28
|
+
return this.disabled || this.disabledByParent ? 'not-allowed' : 'pointer';
|
|
29
|
+
}
|
|
30
|
+
setSelected(selected) {
|
|
31
|
+
this.selected = selected;
|
|
32
|
+
this.changeDetectorRef.markForCheck();
|
|
33
|
+
}
|
|
19
34
|
onSelectOption() {
|
|
20
|
-
if (this.disabled) {
|
|
35
|
+
if (this.disabled || this.disabledByParent) {
|
|
21
36
|
return;
|
|
22
37
|
}
|
|
23
38
|
this.selected = !this.selected;
|
|
24
39
|
this.selectedChange.emit(this.selected);
|
|
40
|
+
this.changeDetectorRef.markForCheck();
|
|
25
41
|
}
|
|
26
42
|
getValue() {
|
|
27
43
|
return this.value;
|
|
28
44
|
}
|
|
29
45
|
setValue(value) {
|
|
30
46
|
this.value = value;
|
|
47
|
+
this.changeDetectorRef.markForCheck();
|
|
31
48
|
}
|
|
32
49
|
isSelected() {
|
|
33
50
|
return this.selected;
|
|
34
51
|
}
|
|
35
|
-
setSelected(selected) {
|
|
36
|
-
this.selected = selected;
|
|
37
|
-
this.selectedChange.emit(this.selected);
|
|
38
|
-
}
|
|
39
52
|
getContentRef() {
|
|
40
53
|
return this.contentRef;
|
|
41
54
|
}
|
|
55
|
+
setDisabledState(isDisabled) {
|
|
56
|
+
this.disabledByParent = isDisabled;
|
|
57
|
+
this.changeDetectorRef.markForCheck();
|
|
58
|
+
}
|
|
42
59
|
}
|
|
43
|
-
SelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectOptionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
44
|
-
SelectOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", type: SelectOptionDirective, selector: "[wacOption]", inputs: { disabled: "disabled", value: "value", selected: "selected" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "click": "onClick()" }, properties: { "class.wac-option-selected": "this.isOptionSelected", "style.cursor": "this.cursor" } }, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }], ngImport: i0 });
|
|
60
|
+
SelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
61
|
+
SelectOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", type: SelectOptionDirective, selector: "[wacOption]", inputs: { disabled: "disabled", value: "value", selected: "selected", onClickEventPreventDefault: "onClickEventPreventDefault" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.wac-option-selected": "this.isOptionSelected", "class.wac-option-disabled": "this.isOptionDisabled", "style.cursor": "this.cursor" } }, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }], exportAs: ["wacOption"], ngImport: i0 });
|
|
45
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectOptionDirective, decorators: [{
|
|
46
63
|
type: Directive,
|
|
47
64
|
args: [{
|
|
48
65
|
selector: '[wacOption]',
|
|
49
|
-
providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }]
|
|
66
|
+
providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }],
|
|
67
|
+
exportAs: 'wacOption'
|
|
50
68
|
}]
|
|
51
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onClick: [{
|
|
69
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onClick: [{
|
|
52
70
|
type: HostListener,
|
|
53
|
-
args: ['click']
|
|
71
|
+
args: ['click', ['$event']]
|
|
54
72
|
}], isOptionSelected: [{
|
|
55
73
|
type: HostBinding,
|
|
56
74
|
args: ['class.wac-option-selected']
|
|
75
|
+
}], isOptionDisabled: [{
|
|
76
|
+
type: HostBinding,
|
|
77
|
+
args: ['class.wac-option-disabled']
|
|
57
78
|
}], cursor: [{
|
|
58
79
|
type: HostBinding,
|
|
59
80
|
args: ['style.cursor']
|
|
@@ -63,7 +84,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
63
84
|
type: Input
|
|
64
85
|
}], selected: [{
|
|
65
86
|
type: Input
|
|
87
|
+
}], onClickEventPreventDefault: [{
|
|
88
|
+
type: Input
|
|
66
89
|
}], selectedChange: [{
|
|
67
90
|
type: Output
|
|
68
91
|
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdHMvb3B0aW9uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRTVFLG9FQUFvRTtBQU1wRSxNQUFNLE9BQU8scUJBQXFCO0lBcUNoQyxZQUFzQixVQUFzQixFQUFZLGlCQUFvQztRQUF0RSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVksc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWY1RixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVQscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBTWpDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFakIsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO1FBRzNDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVrRCxDQUFDO0lBbkM3RCxPQUFPLENBQUMsS0FBbUI7UUFDNUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxJQUE4QyxnQkFBZ0I7UUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUE4QyxnQkFBZ0I7UUFDNUQsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBaUMsTUFBTTtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RSxDQUFDO0lBb0JELFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzFDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFtQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7O2tIQXpFVSxxQkFBcUI7c0dBQXJCLHFCQUFxQix1YUFIckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsQ0FBQzsyRkFHM0UscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLHVCQUF1QixFQUFFLENBQUM7b0JBQ3RGLFFBQVEsRUFBRSxXQUFXO2lCQUN0QjtpSUFHb0MsT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT2EsZ0JBQWdCO3NCQUE3RCxXQUFXO3VCQUFDLDJCQUEyQjtnQkFJTSxnQkFBZ0I7c0JBQTdELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUlQLE1BQU07c0JBQXRDLFdBQVc7dUJBQUMsY0FBYztnQkFLM0IsUUFBUTtzQkFEUCxLQUFLO2dCQU1OLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBR0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3B0aW9uU2VsZWN0aW9uSGFuZGxlciB9IGZyb20gJy4vb3B0aW9uLXNlbGVjdGlvbi1oYW5kbGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPUFRJT05fU0VMRUNUSU9OX0hBTkRMRVIgfSBmcm9tICcuL29wdGlvbi1zZWxlY3Rpb24taGFuZGxlci50b2tlbic7XG5cbi8vIHRvZG8gY3JlYXRlIGEgc2VsZWN0IG1vZHVsZSBhbmQgaW4gdGhlIHNlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2FjT3B0aW9uXScsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogT1BUSU9OX1NFTEVDVElPTl9IQU5ETEVSLCB1c2VFeGlzdGluZzogU2VsZWN0T3B0aW9uRGlyZWN0aXZlIH1dLFxuICBleHBvcnRBczogJ3dhY09wdGlvbidcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0T3B0aW9uRGlyZWN0aXZlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyBPcHRpb25TZWxlY3Rpb25IYW5kbGVyPFRPcHRpb25WYWx1ZT4ge1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSkgb25DbGljayhldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5vblNlbGVjdE9wdGlvbigpO1xuICAgIGlmICh0aGlzLm9uQ2xpY2tFdmVudFByZXZlbnREZWZhdWx0KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mud2FjLW9wdGlvbi1zZWxlY3RlZCcpIGdldCBpc09wdGlvblNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy53YWMtb3B0aW9uLWRpc2FibGVkJykgZ2V0IGlzT3B0aW9uRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEJ5UGFyZW50O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5jdXJzb3InKSBnZXQgY3Vyc29yICgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkQnlQYXJlbnQgPyAnbm90LWFsbG93ZWQnIDogJ3BvaW50ZXInO1xuICB9XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGRpc2FibGVkQnlQYXJlbnQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB2YWx1ZTogVE9wdGlvblZhbHVlO1xuXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgb25DbGlja0V2ZW50UHJldmVudERlZmF1bHQgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY29udGVudFJlZjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBzZXRTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25TZWxlY3RPcHRpb24oKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5kaXNhYmxlZEJ5UGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgc2V0VmFsdWUodmFsdWU6IFRPcHRpb25WYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgaXNTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZDtcbiAgfVxuXG4gIGdldENvbnRlbnRSZWYoKTogRWxlbWVudFJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50UmVmO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZEJ5UGFyZW50ID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59Il19
|
|
@@ -10,7 +10,7 @@ export class SelectDirective {
|
|
|
10
10
|
constructor(valueChangeService) {
|
|
11
11
|
this.valueChangeService = valueChangeService;
|
|
12
12
|
this.valueChange = new EventEmitter();
|
|
13
|
-
this.
|
|
13
|
+
this._disabled = false;
|
|
14
14
|
this.tabIndex = 0;
|
|
15
15
|
this.isDestroyed$ = new Subject();
|
|
16
16
|
// ControlValueAccessor methods
|
|
@@ -20,6 +20,9 @@ export class SelectDirective {
|
|
|
20
20
|
get tabindex() {
|
|
21
21
|
return this.tabIndex;
|
|
22
22
|
}
|
|
23
|
+
get isSelectDisabled() {
|
|
24
|
+
return this.disabled;
|
|
25
|
+
}
|
|
23
26
|
/** Handles all keydown events on the select. */
|
|
24
27
|
onKeydown(event) {
|
|
25
28
|
if (event.keyCode === TAB) {
|
|
@@ -40,6 +43,13 @@ export class SelectDirective {
|
|
|
40
43
|
get value() {
|
|
41
44
|
return this._value;
|
|
42
45
|
}
|
|
46
|
+
set disabled(disabled) {
|
|
47
|
+
this._disabled = disabled;
|
|
48
|
+
this.valueChangeService.setDisabledState(disabled);
|
|
49
|
+
}
|
|
50
|
+
get disabled() {
|
|
51
|
+
return this._disabled;
|
|
52
|
+
}
|
|
43
53
|
ngOnInit() {
|
|
44
54
|
this.handleValueChange();
|
|
45
55
|
}
|
|
@@ -94,16 +104,20 @@ export class SelectDirective {
|
|
|
94
104
|
registerOnTouched(fn) {
|
|
95
105
|
this.onTouch = fn;
|
|
96
106
|
}
|
|
107
|
+
setDisabledState(isDisabled) {
|
|
108
|
+
this.disabled = isDisabled;
|
|
109
|
+
}
|
|
110
|
+
;
|
|
97
111
|
ngOnDestroy() {
|
|
98
112
|
this.isDestroyed$.next();
|
|
99
113
|
this.isDestroyed$.complete();
|
|
100
114
|
}
|
|
101
115
|
}
|
|
102
116
|
SelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
103
|
-
SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", type: SelectDirective, selector: "[wacSelect]", inputs: { value: "value", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex" } }, providers: [
|
|
117
|
+
SelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.7", type: SelectDirective, selector: "[wacSelect]", inputs: { value: "value", disabled: "disabled", tabIndex: "tabIndex" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.wac-select-disabled": "this.isSelectDisabled" } }, providers: [
|
|
104
118
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
|
|
105
119
|
ValueChangeService
|
|
106
|
-
], queries: [{ propertyName: "optionChildren", predicate: OPTION_SELECTION_HANDLER, descendants: true }], ngImport: i0 });
|
|
120
|
+
], queries: [{ propertyName: "optionChildren", predicate: OPTION_SELECTION_HANDLER, descendants: true }], exportAs: ["wacSelect"], ngImport: i0 });
|
|
107
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectDirective, decorators: [{
|
|
108
122
|
type: Directive,
|
|
109
123
|
args: [{
|
|
@@ -111,11 +125,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
111
125
|
providers: [
|
|
112
126
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
|
|
113
127
|
ValueChangeService
|
|
114
|
-
]
|
|
128
|
+
],
|
|
129
|
+
exportAs: 'wacSelect'
|
|
115
130
|
}]
|
|
116
131
|
}], ctorParameters: function () { return [{ type: i1.ValueChangeService }]; }, propDecorators: { tabindex: [{
|
|
117
132
|
type: HostBinding,
|
|
118
133
|
args: ['attr.tabindex']
|
|
134
|
+
}], isSelectDisabled: [{
|
|
135
|
+
type: HostBinding,
|
|
136
|
+
args: ['class.wac-select-disabled']
|
|
119
137
|
}], onKeydown: [{
|
|
120
138
|
type: HostListener,
|
|
121
139
|
args: ['keydown', ['$event']]
|
|
@@ -131,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
131
149
|
}], tabIndex: [{
|
|
132
150
|
type: Input
|
|
133
151
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3QtdGVzdC9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdHLE9BQU8sRUFBaUIsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoSyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFVNUQsTUFBTSxPQUFPLGVBQWU7SUE0Q3hCLFlBQXNCLGtCQUFvRDtRQUFwRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWtDO1FBUjFFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBRTlCLGlCQUFZLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUF1RDVDLCtCQUErQjtRQUUvQixhQUFRLEdBQXlCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUUxQyxZQUFPLEdB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QUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR25FLEtBQUs7c0JBRFIsS0FBSztnQkFpQk4sV0FBVztzQkFEVixNQUFNO2dCQUdFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPV05fQVJST1csIFVQX0FSUk9XLCBMRUZUX0FSUk9XLCBSSUdIVF9BUlJPVywgQSwgWiwgWkVSTywgTklORSwgVEFCIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcHRpb25TZWxlY3Rpb25IYW5kbGVyIH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi1zZWxlY3Rpb24taGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT1BUSU9OX1NFTEVDVElPTl9IQU5ETEVSIH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi1zZWxlY3Rpb24taGFuZGxlci50b2tlbic7XG5pbXBvcnQgeyBWYWx1ZUNoYW5nZVNlcnZpY2UgfSBmcm9tICcuL3ZhbHVlLWNoYW5nZS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZShcbiAge1xuICAgIHNlbGVjdG9yOiAnW3dhY1NlbGVjdF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogU2VsZWN0RGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9LFxuICAgICAgICBWYWx1ZUNoYW5nZVNlcnZpY2VcbiAgICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RGlyZWN0aXZlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyAgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIGdldCB0YWJpbmRleCgpIHtcbiAgICAgIHJldHVybiB0aGlzLnRhYkluZGV4O1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIGFsbCBrZXlkb3duIGV2ZW50cyBvbiB0aGUgc2VsZWN0LiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKSBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBUQUIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5oYW5kbGVLZXlib2FyZEFjdGlvbihldmVudCk7XG4gICAgfVxuXG4gICAgQENvbnRlbnRDaGlsZHJlbihPUFRJT05fU0VMRUNUSU9OX0hBTkRMRVIgYXMgYW55LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG9wdGlvbkNoaWxkcmVuITogUXVlcnlMaXN0PE9wdGlvblNlbGVjdGlvbkhhbmRsZXI8VE9wdGlvblZhbHVlPj47XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZSh2YWx1ZTogVE9wdGlvblZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuXG4gICAgICBpZiAoIXRoaXMub3B0aW9uQ2hpbGRyZW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5hc3NpZ25WYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCkgOiBUT3B0aW9uVmFsdWUge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgICBfdmFsdWU6IFRPcHRpb25WYWx1ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUT3B0aW9uVmFsdWU+KCk7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgdGFiSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgICBpc0Rlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlQ2hhbmdlU2VydmljZTogVmFsdWVDaGFuZ2VTZXJ2aWNlPFRPcHRpb25WYWx1ZT4pIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICB0aGlzLmhhbmRsZU9wdGlvbkNoaWxkcmVuKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UudmFsdWVDaGFuZ2UkLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQkKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgIHRoaXMub25Ub3VjaCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVPcHRpb25DaGlsZHJlbigpIHtcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQkKSwgc3RhcnRXaXRoKHRoaXMub3B0aW9uQ2hpbGRyZW4pKS5zdWJzY3JpYmUob3B0aW9uQ2hpbGRyZW4gPT4geyAvLyB0b2RvIHVuc3Vic2NyaWJlIGFuZCBkZXN0cm95XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5oYW5kbGVTZWxlY3RPcHRpb25zQ2hhbmdlKG9wdGlvbkNoaWxkcmVuLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXMga2V5Ym9hcmQgZXZlbnRzIHdoZW4gdGhlIHNlbGVjdGVkIGlzIG9wZW4uICovXG4gIHByb3RlY3RlZCBoYW5kbGVLZXlib2FyZEFjdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIGNvbnN0IGlzQXJyb3dLZXkgPVxuICAgICAga2V5Q29kZSA9PT0gRE9XTl9BUlJPVyB8fFxuICAgICAga2V5Q29kZSA9PT0gVVBfQVJST1cgfHxcbiAgICAgIGtleUNvZGUgPT09IExFRlRfQVJST1cgfHxcbiAgICAgIGtleUNvZGUgPT09IFJJR0hUX0FSUk9XO1xuICAgIGNvbnN0IGlzVHlwaW5nID0gKGtleUNvZGUgPj0gQSAmJiBrZXlDb2RlIDw9IFopIHx8IChrZXlDb2RlID49IFpFUk8gJiYga2V5Q29kZSA8PSBOSU5FKTtcblxuICAgIGlmIChpc0Fycm93S2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50cyB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZ1xuICAgICAgLy8gc2VsZWN0IHRoZSBuZXh0IG9wdGlvbiBvbiBhcnJvdyBrZXkgZG93blxuICAgICAgaWYgKGtleUNvZGUgPT09IERPV05fQVJST1cgfHwga2V5Q29kZSA9PT0gUklHSFRfQVJST1cpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWxlY3RQcmV2aW91c09wdGlvbigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc1R5cGluZykge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VhcmNoT3B0aW9uQnlGaXJzdExldHRlcihldmVudC5rZXkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gICAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgbWV0aG9kc1xuXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBvblRvdWNoOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KXtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpe1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpe1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5pc0Rlc3Ryb3llZCQubmV4dCgpO1xuICAgICAgICB0aGlzLmlzRGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICAgICAgfVxuXG59Il19
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0cy9zZWxlY3QtdGVzdC9zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzdHLE9BQU8sRUFBaUIsZUFBZSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNoSyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFXNUQsTUFBTSxPQUFPLGVBQWU7SUEwRHhCLFlBQXNCLGtCQUFvRDtRQUFwRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWtDO1FBbEIxRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBVy9DLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFHbEIsYUFBUSxHQUFXLENBQUMsQ0FBQztRQUU5QixpQkFBWSxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBdUQ1QywrQkFBK0I7UUFFL0IsYUFBUSxHQUF5QixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFMUMsWUFBTyxH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a0JBQWtCO0tBQ25CLHlEQXdCYyx3QkFBK0I7MkZBckJ2QyxlQUFlO2tCQVQzQixTQUFTO21CQUNSO29CQUNFLFFBQVEsRUFBRSxhQUFhO29CQUN2QixTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUN6RSxrQkFBa0I7cUJBQ25CO29CQUNILFFBQVEsRUFBRSxXQUFXO2lCQUN4Qjt5R0FHcUMsUUFBUTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlO2dCQUlrQixnQkFBZ0I7c0JBQTdELFdBQVc7dUJBQUMsMkJBQTJCO2dCQUtILFNBQVM7c0JBQTdDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVzQyxjQUFjO3NCQUF0RixlQUFlO3VCQUFDLHdCQUErQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHbkUsS0FBSztzQkFEUixLQUFLO2dCQWlCTixXQUFXO3NCQURWLE1BQU07Z0JBS0gsUUFBUTtzQkFEWCxLQUFLO2dCQVdHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET1dOX0FSUk9XLCBVUF9BUlJPVywgTEVGVF9BUlJPVywgUklHSFRfQVJST1csIEEsIFosIFpFUk8sIE5JTkUsIFRBQiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9uU2VsZWN0aW9uSGFuZGxlciB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24tc2VsZWN0aW9uLWhhbmRsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9QVElPTl9TRUxFQ1RJT05fSEFORExFUiB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24tc2VsZWN0aW9uLWhhbmRsZXIudG9rZW4nO1xuaW1wb3J0IHsgVmFsdWVDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi92YWx1ZS1jaGFuZ2Uuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoXG4gIHtcbiAgICBzZWxlY3RvcjogJ1t3YWNTZWxlY3RdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IFNlbGVjdERpcmVjdGl2ZSwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgVmFsdWVDaGFuZ2VTZXJ2aWNlXG4gICAgICBdLFxuICAgIGV4cG9ydEFzOiAnd2FjU2VsZWN0J1xufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3REaXJlY3RpdmU8VE9wdGlvblZhbHVlPiBpbXBsZW1lbnRzICBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgZ2V0IHRhYmluZGV4KCkge1xuICAgICAgcmV0dXJuIHRoaXMudGFiSW5kZXg7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy53YWMtc2VsZWN0LWRpc2FibGVkJykgZ2V0IGlzU2VsZWN0RGlzYWJsZWQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlcyBhbGwga2V5ZG93biBldmVudHMgb24gdGhlIHNlbGVjdC4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSkgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuaGFuZGxlS2V5Ym9hcmRBY3Rpb24oZXZlbnQpO1xuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oT1BUSU9OX1NFTEVDVElPTl9IQU5ETEVSIGFzIGFueSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBvcHRpb25DaGlsZHJlbiE6IFF1ZXJ5TGlzdDxPcHRpb25TZWxlY3Rpb25IYW5kbGVyPFRPcHRpb25WYWx1ZT4+O1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUodmFsdWU6IFRPcHRpb25WYWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcblxuICAgICAgaWYgKCF0aGlzLm9wdGlvbkNoaWxkcmVuKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UuYXNzaWduVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpIDogVE9wdGlvblZhbHVlIHtcbiAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG4gICAgX3ZhbHVlOiBUT3B0aW9uVmFsdWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VE9wdGlvblZhbHVlPigpO1xuXG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VTZXJ2aWNlLnNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQpO1xuICAgIH1cbiAgICBnZXQgZGlzYWJsZWQoKSA6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cbiAgICBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuXG4gICAgQElucHV0KCkgdGFiSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgICBpc0Rlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHZhbHVlQ2hhbmdlU2VydmljZTogVmFsdWVDaGFuZ2VTZXJ2aWNlPFRPcHRpb25WYWx1ZT4pIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICB0aGlzLmhhbmRsZU9wdGlvbkNoaWxkcmVuKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UudmFsdWVDaGFuZ2UkLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQkKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgIHRoaXMub25Ub3VjaCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVPcHRpb25DaGlsZHJlbigpIHtcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuaXNEZXN0cm95ZWQkKSwgc3RhcnRXaXRoKHRoaXMub3B0aW9uQ2hpbGRyZW4pKS5zdWJzY3JpYmUob3B0aW9uQ2hpbGRyZW4gPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2UuaGFuZGxlU2VsZWN0T3B0aW9uc0NoYW5nZShvcHRpb25DaGlsZHJlbiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVzIGtleWJvYXJkIGV2ZW50cyB3aGVuIHRoZSBzZWxlY3RlZCBpcyBvcGVuLiAqL1xuICAgIHByb3RlY3RlZCBoYW5kbGVLZXlib2FyZEFjdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG4gICAgICBjb25zdCBpc0Fycm93S2V5ID1cbiAgICAgICAga2V5Q29kZSA9PT0gRE9XTl9BUlJPVyB8fFxuICAgICAgICBrZXlDb2RlID09PSBVUF9BUlJPVyB8fFxuICAgICAgICBrZXlDb2RlID09PSBMRUZUX0FSUk9XIHx8XG4gICAgICAgIGtleUNvZGUgPT09IFJJR0hUX0FSUk9XO1xuICAgICAgY29uc3QgaXNUeXBpbmcgPSAoa2V5Q29kZSA+PSBBICYmIGtleUNvZGUgPD0gWikgfHwgKGtleUNvZGUgPj0gWkVSTyAmJiBrZXlDb2RlIDw9IE5JTkUpO1xuXG4gICAgICBpZiAoaXNBcnJvd0tleSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50cyB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZ1xuICAgICAgICAvLyBzZWxlY3QgdGhlIG5leHQgb3B0aW9uIG9uIGFycm93IGtleSBkb3duXG4gICAgICAgIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XIHx8IGtleUNvZGUgPT09IFJJR0hUX0FSUk9XKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZVNlcnZpY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWxlY3RQcmV2aW91c09wdGlvbigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1R5cGluZykge1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlU2VydmljZS5zZWFyY2hPcHRpb25CeUZpcnN0TGV0dGVyKGV2ZW50LmtleSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBtZXRob2RzXG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIG9uVG91Y2g6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpe1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpe1xuICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KXtcbiAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfTtcblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgdGhpcy5pc0Rlc3Ryb3llZCQubmV4dCgpO1xuICAgICAgdGhpcy5pc0Rlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgICB9XG5cbn0iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { merge, Subject } from 'rxjs';
|
|
3
|
-
import { map, takeUntil } from 'rxjs/operators';
|
|
3
|
+
import { filter, map, takeUntil } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class ValueChangeService {
|
|
6
6
|
constructor(changeDetectorRef) {
|
|
@@ -50,6 +50,10 @@ export class ValueChangeService {
|
|
|
50
50
|
this.updateSelectPlaceholder();
|
|
51
51
|
this.changeDetectorRef.markForCheck();
|
|
52
52
|
}
|
|
53
|
+
setDisabledState(isDisabled) {
|
|
54
|
+
this.disabled = isDisabled;
|
|
55
|
+
this.optionChildren?.forEach((option) => option.setDisabledState(isDisabled));
|
|
56
|
+
}
|
|
53
57
|
selectNextOption() {
|
|
54
58
|
if (this.indexSelectedOption + 1 >= this.optionChildren.length) {
|
|
55
59
|
return;
|
|
@@ -91,6 +95,9 @@ export class ValueChangeService {
|
|
|
91
95
|
this.findInitialSelectedOption();
|
|
92
96
|
return;
|
|
93
97
|
}
|
|
98
|
+
if (this.disabled) {
|
|
99
|
+
this.optionChildren.forEach((option) => option.setDisabledState(true));
|
|
100
|
+
}
|
|
94
101
|
this.handleValueChange();
|
|
95
102
|
}, 0);
|
|
96
103
|
}
|
|
@@ -119,13 +126,13 @@ export class ValueChangeService {
|
|
|
119
126
|
}
|
|
120
127
|
optionSelectedChangeListeners() {
|
|
121
128
|
const selectedChange$ = this.optionChildren.map((option) => {
|
|
122
|
-
return option.selectedChange.pipe(map((selected) => option.getValue()));
|
|
129
|
+
return option.selectedChange.pipe(filter(() => !this.disabled), map((selected) => option.getValue()));
|
|
123
130
|
});
|
|
124
131
|
return merge(...selectedChange$).pipe(takeUntil(this.resetListeners$));
|
|
125
132
|
}
|
|
126
133
|
changeSelectedOption() {
|
|
127
134
|
this.optionChildren.forEach((optionComponent, index) => {
|
|
128
|
-
optionComponent.
|
|
135
|
+
optionComponent.setSelected(this.value == undefined ? false : optionComponent.value === this.value);
|
|
129
136
|
if (optionComponent.selected) {
|
|
130
137
|
this.indexSelectedOption = index;
|
|
131
138
|
}
|
|
@@ -141,4 +148,4 @@ ValueChangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
|
|
|
141
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ValueChangeService, decorators: [{
|
|
142
149
|
type: Injectable
|
|
143
150
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdHMvc2VsZWN0LXRlc3QvdmFsdWUtY2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUWhELE1BQU0sT0FBTyxrQkFBa0I7SUF3QjNCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBdEJ4RCxpQkFBWSxHQUEwQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBa0JwRCx3QkFBbUIsR0FBVyxJQUFJLENBQUM7UUFFbkMsb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQXdFdkMseUJBQW9CLEdBQUcsQ0FBQyxNQUFxQyxFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUNwRyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3RELENBQUMsQ0FBQTtRQUVLLGNBQVMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUN6QyxPQUFPLEtBQUssS0FBSyxJQUFJLENBQUM7UUFDMUIsQ0FBQyxDQUFBO1FBRU8sMkJBQXNCLEdBQUcs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QUFLLENBQUM7WUFFbEcsSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFO2dCQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzsrR0FqTFEsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG50eXBlIFNlbGVjdGVkRXZlbnQgPSB7XG4gICAgdmFsdWU6IGFueVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmFsdWVDaGFuZ2VTZXJ2aWNlPFRPcHRpb25WYWx1ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgdmFsdWVDaGFuZ2UkOiBTdWJqZWN0PFRPcHRpb25WYWx1ZT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBUT3B0aW9uVmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVE9wdGlvblZhbHVlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZhbHVlOiBUT3B0aW9uVmFsdWU7XG5cbiAgICBvcHRpb25DaGlsZHJlbjogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUT3B0aW9uVmFsdWU+PjtcblxuICAgIHNlbGVjdGVkT3B0aW9uQ29udGVudDogYW55O1xuXG4gICAgaW5kZXhTZWxlY3RlZE9wdGlvbjogbnVtYmVyID0gbnVsbDtcblxuICAgIHJlc2V0TGlzdGVuZXJzJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICB9XG5cbiAgICBoYW5kbGVTZWxlY3RPcHRpb25zQ2hhbmdlKG9wdGlvbkNoaWxkcmVuOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PFRPcHRpb25WYWx1ZT4+LCB2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMucmVzZXRMaXN0ZW5lcnMkLm5leHQoKTtcblxuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuID0gb3B0aW9uQ2hpbGRyZW47XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IG51bGw7XG5cbiAgICAgICAgdGhpcy5oYW5kbGVJbml0aWFsU2VsZWN0ZWRPcHRpb24oKTtcbiAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RlZE9wdGlvbnNFdmVudCgpO1xuICAgIH1cblxuICAgIGFzc2lnblZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xuICAgIH1cblxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xuICAgICAgICB0aGlzLmNoYW5nZVNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VsZWN0UGxhY2Vob2xkZXIoKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBzZWxlY3ROZXh0T3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsxID49IHRoaXMub3B0aW9uQ2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHNlbGVjdFByZXZpb3VzT3B0aW9uKCkge1xuXG4gICAgICAgIGlmICghdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25WYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiAtIDE7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHNlYXJjaE9wdGlvbkJ5Rmlyc3RMZXR0ZXIobGV0dGVyOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbnNJbmRleCA9IHRoaXMub3B0aW9uQ2hpbGRyZW5cbiAgICAgICAgICAgIC5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHRoaXMuaW5kZXhPZk1hdGNoZWRPcHRpb24ob3B0aW9uLCBpbmRleCwgbGV0dGVyKSlcbiAgICAgICAgICAgIC5maWx0ZXIodGhpcy5pc05vdE51bGwpO1xuXG4gICAgICAgIGlmICghbWF0Y2hlZE9wdGlvbnNJbmRleC5sZW5ndGgpIHsgLy8gcmVzZXQgdGhlIHNlbGVjdGlvblxuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmluZCB0aGUgbmV4dCBvcHRpb24gYWZ0ZXIgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb3B0aW9uLCBvciB0aGUgZmlyc3Qgb3B0aW9uXG5cbiAgICAgICAgY29uc3QgdmFsaWRPcHRpb25JbmRleCA9IG1hdGNoZWRPcHRpb25zSW5kZXguZmluZCh0aGlzLmhpZ2hlc3RBbmRDbG9zZXN0SW5kZXgpO1xuXG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IGlzTmFOKHZhbGlkT3B0aW9uSW5kZXgpID8gbWF0Y2hlZE9wdGlvbnNJbmRleFswXSA6IHZhbGlkT3B0aW9uSW5kZXg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5kZXhPZk1hdGNoZWRPcHRpb24gPSAob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPiwgaW5kZXg6IG51bWJlciwgbGV0dGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dE9wdGlvbiA9IG9wdGlvbi5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIHRleHRPcHRpb24uc3RhcnRzV2l0aChsZXR0ZXIpID8gaW5kZXggOiBudWxsO1xuICAgICAgfVxuXG4gICAgcHJpdmF0ZSBpc05vdE51bGwgPSAoaW5kZXg6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlnaGVzdEFuZENsb3Nlc3RJbmRleCA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPiB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gISBBdm9pZCBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkLi4uXG4gICAgICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgdGhpcy5maW5kSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRJbml0aWFsU2VsZWN0ZWRPcHRpb24oKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudCgpO1xuXG4gICAgICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkT3B0aW9uLnZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2VsZWN0ZWRPcHRpb25zRXZlbnQoKSB7XG4gICAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWRDaGFuZ2VMaXN0ZW5lcnMoKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdFBsYWNlaG9sZGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25Db250ZW50ID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uQ29udGVudCA9IHNlbGVjdGVkT3B0aW9uPy5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgfHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRPcHRpb25Db21wb25lbnQoKTogT3B0aW9uQ29tcG9uZW50PFRPcHRpb25WYWx1ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25DaGlsZHJlbi5maW5kKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3B0aW9uU2VsZWN0ZWRDaGFuZ2VMaXN0ZW5lcnMoKTogT2JzZXJ2YWJsZTxUT3B0aW9uVmFsdWU+IHtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZENoYW5nZSQgPSAgdGhpcy5vcHRpb25DaGlsZHJlbi5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi5zZWxlY3RlZENoYW5nZS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoc2VsZWN0ZWQ6IGFueSkgPT4gb3B0aW9uLmdldFZhbHVlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbWVyZ2UoLi4uc2VsZWN0ZWRDaGFuZ2UkKS5waXBlKHRha2VVbnRpbCh0aGlzLnJlc2V0TGlzdGVuZXJzJCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlU2VsZWN0ZWRPcHRpb24oKSB7XG4gICAgICAgIHRoaXMub3B0aW9uQ2hpbGRyZW4uZm9yRWFjaCgob3B0aW9uQ29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgb3B0aW9uQ29tcG9uZW50LnNlbGVjdGVkID0gdGhpcy52YWx1ZSA9PSB1bmRlZmluZWQgPyBmYWxzZSA6IG9wdGlvbkNvbXBvbmVudC52YWx1ZSA9PT0gdGhpcy52YWx1ZTtcblxuICAgICAgICAgICAgaWYgKG9wdGlvbkNvbXBvbmVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQubmV4dCgpO1xuICAgICAgICB0aGlzLnJlc2V0TGlzdGVuZXJzJC5jb21wbGV0ZSgpO1xuICAgIH1cbn0iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdHMvc2VsZWN0LXRlc3QvdmFsdWUtY2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUl4RCxNQUFNLE9BQU8sa0JBQWtCO0lBMEIzQixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXhCeEQsaUJBQVksR0FBMEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQW9CcEQsd0JBQW1CLEdBQVcsSUFBSSxDQUFDO1FBRW5DLG9CQUFlLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUE2RXZDLHlCQUFvQixHQUFHLENBQUMsTUFBcUMsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDcEcsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekYsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN0RCxDQUFDLENBQUE7UUFFSyxjQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDekMsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDO1FBQzFCLENBQUMsQ0FBQTtRQUVPLDJC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QyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQzVDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ25ELGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFcEcsSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFO2dCQUMxQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzsrR0EzTFEsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWYWx1ZUNoYW5nZVNlcnZpY2U8VE9wdGlvblZhbHVlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICB2YWx1ZUNoYW5nZSQ6IFN1YmplY3Q8VE9wdGlvblZhbHVlPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IFRPcHRpb25WYWx1ZSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBUT3B0aW9uVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsdWU6IFRPcHRpb25WYWx1ZTtcblxuICAgIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgb3B0aW9uQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPj47XG5cbiAgICBzZWxlY3RlZE9wdGlvbkNvbnRlbnQ6IGFueTtcblxuICAgIGluZGV4U2VsZWN0ZWRPcHRpb246IG51bWJlciA9IG51bGw7XG5cbiAgICByZXNldExpc3RlbmVycyQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgfVxuXG4gICAgaGFuZGxlU2VsZWN0T3B0aW9uc0NoYW5nZShvcHRpb25DaGlsZHJlbjogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUT3B0aW9uVmFsdWU+PiwgdmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnJlc2V0TGlzdGVuZXJzJC5uZXh0KCk7XG5cbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbiA9IG9wdGlvbkNoaWxkcmVuO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0ZWRPcHRpb25zRXZlbnQoKTtcbiAgICB9XG5cbiAgICBhc3NpZ25WYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVWYWx1ZUNoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTZWxlY3RlZE9wdGlvbigpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdFBsYWNlaG9sZGVyKCk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuPy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpKTtcbiAgICB9XG5cbiAgICBzZWxlY3ROZXh0T3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsxID49IHRoaXMub3B0aW9uQ2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHNlbGVjdFByZXZpb3VzT3B0aW9uKCkge1xuXG4gICAgICAgIGlmICghdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hc3NpZ25WYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiAtIDE7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHNlYXJjaE9wdGlvbkJ5Rmlyc3RMZXR0ZXIobGV0dGVyOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbnNJbmRleCA9IHRoaXMub3B0aW9uQ2hpbGRyZW5cbiAgICAgICAgICAgIC5tYXAoKG9wdGlvbiwgaW5kZXgpID0+IHRoaXMuaW5kZXhPZk1hdGNoZWRPcHRpb24ob3B0aW9uLCBpbmRleCwgbGV0dGVyKSlcbiAgICAgICAgICAgIC5maWx0ZXIodGhpcy5pc05vdE51bGwpO1xuXG4gICAgICAgIGlmICghbWF0Y2hlZE9wdGlvbnNJbmRleC5sZW5ndGgpIHsgLy8gcmVzZXQgdGhlIHNlbGVjdGlvblxuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmluZCB0aGUgbmV4dCBvcHRpb24gYWZ0ZXIgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgb3B0aW9uLCBvciB0aGUgZmlyc3Qgb3B0aW9uXG5cbiAgICAgICAgY29uc3QgdmFsaWRPcHRpb25JbmRleCA9IG1hdGNoZWRPcHRpb25zSW5kZXguZmluZCh0aGlzLmhpZ2hlc3RBbmRDbG9zZXN0SW5kZXgpO1xuXG4gICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IGlzTmFOKHZhbGlkT3B0aW9uSW5kZXgpID8gbWF0Y2hlZE9wdGlvbnNJbmRleFswXSA6IHZhbGlkT3B0aW9uSW5kZXg7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5kZXhPZk1hdGNoZWRPcHRpb24gPSAob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPiwgaW5kZXg6IG51bWJlciwgbGV0dGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dE9wdGlvbiA9IG9wdGlvbi5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuIHRleHRPcHRpb24uc3RhcnRzV2l0aChsZXR0ZXIpID8gaW5kZXggOiBudWxsO1xuICAgICAgfVxuXG4gICAgcHJpdmF0ZSBpc05vdE51bGwgPSAoaW5kZXg6IG51bWJlciB8IG51bGwpID0+IHtcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlnaGVzdEFuZENsb3Nlc3RJbmRleCA9IChpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChpc05hTih0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPiB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gISBBdm9pZCBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkLi4uXG4gICAgICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgdGhpcy5maW5kSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXREaXNhYmxlZFN0YXRlKHRydWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgICB9LCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRJbml0aWFsU2VsZWN0ZWRPcHRpb24oKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudCgpO1xuXG4gICAgICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkT3B0aW9uLnZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2VsZWN0ZWRPcHRpb25zRXZlbnQoKSB7XG4gICAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWRDaGFuZ2VMaXN0ZW5lcnMoKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdFBsYWNlaG9sZGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25Db250ZW50ID0gbnVsbDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudCgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uQ29udGVudCA9IHNlbGVjdGVkT3B0aW9uPy5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgfHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRPcHRpb25Db21wb25lbnQoKTogT3B0aW9uQ29tcG9uZW50PFRPcHRpb25WYWx1ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25DaGlsZHJlbi5maW5kKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3B0aW9uU2VsZWN0ZWRDaGFuZ2VMaXN0ZW5lcnMoKTogT2JzZXJ2YWJsZTxUT3B0aW9uVmFsdWU+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDaGFuZ2UkID0gIHRoaXMub3B0aW9uQ2hpbGRyZW4ubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb24uc2VsZWN0ZWRDaGFuZ2UucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMuZGlzYWJsZWQgKSxcbiAgICAgICAgICAgICAgICBtYXAoKHNlbGVjdGVkOiBhbnkpID0+IG9wdGlvbi5nZXRWYWx1ZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnNlbGVjdGVkQ2hhbmdlJCkucGlwZSh0YWtlVW50aWwodGhpcy5yZXNldExpc3RlbmVycyQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZVNlbGVjdGVkT3B0aW9uKCkge1xuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuLmZvckVhY2goKG9wdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIG9wdGlvbkNvbXBvbmVudC5zZXRTZWxlY3RlZCh0aGlzLnZhbHVlID09IHVuZGVmaW5lZCA/IGZhbHNlIDogb3B0aW9uQ29tcG9uZW50LnZhbHVlID09PSB0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKG9wdGlvbkNvbXBvbmVudC5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IGluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQubmV4dCgpO1xuICAgICAgICB0aGlzLnJlc2V0TGlzdGVuZXJzJC5jb21wbGV0ZSgpO1xuICAgIH1cbn0iXX0=
|