@elderbyte/ngx-starter 16.4.7 → 16.4.8

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.
@@ -2,10 +2,11 @@ export class ParseUtil {
2
2
  /**
3
3
  * Tries to parse a given value to a boolean.
4
4
  * @param bool a value representing a boolean state.
5
- * @return undefined, if the value is null or undefined, false, if the value is false, else true.
5
+ * @return undefined, if the value is null/undefined/empty
6
+ * @return false, if the value is false, else true.
6
7
  */
7
- static parseBoolean(bool) {
8
- if (bool === undefined || bool == null) {
8
+ static parseBoolOrUndefined(bool) {
9
+ if (bool === undefined || bool === null || bool === '') {
9
10
  return undefined;
10
11
  }
11
12
  else {
@@ -13,4 +14,4 @@ export class ParseUtil {
13
14
  }
14
15
  }
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi91dGlscy9wYXJzZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBRXBCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQVM7UUFFaEMsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDdEMsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFBhcnNlVXRpbCB7XG5cbiAgLyoqXG4gICAqIFRyaWVzIHRvIHBhcnNlIGEgZ2l2ZW4gdmFsdWUgdG8gYSBib29sZWFuLlxuICAgKiBAcGFyYW0gYm9vbCBhIHZhbHVlIHJlcHJlc2VudGluZyBhIGJvb2xlYW4gc3RhdGUuXG4gICAqIEByZXR1cm4gdW5kZWZpbmVkLCBpZiB0aGUgdmFsdWUgaXMgbnVsbCBvciB1bmRlZmluZWQsIGZhbHNlLCBpZiB0aGUgdmFsdWUgaXMgZmFsc2UsIGVsc2UgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2VCb29sZWFuKGJvb2w6IGFueSk6IGJvb2xlYW4ge1xuXG4gICAgICBpZiAoYm9vbCA9PT0gdW5kZWZpbmVkIHx8IGJvb2wgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICEoYm9vbCA9PT0gJ2ZhbHNlJyB8fCBib29sID09PSBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi91dGlscy9wYXJzZS11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBRXBCOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQVM7UUFDMUMsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUN0RCxPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsT0FBTyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUGFyc2VVdGlsIHtcblxuICAvKipcbiAgICogVHJpZXMgdG8gcGFyc2UgYSBnaXZlbiB2YWx1ZSB0byBhIGJvb2xlYW4uXG4gICAqIEBwYXJhbSBib29sIGEgdmFsdWUgcmVwcmVzZW50aW5nIGEgYm9vbGVhbiBzdGF0ZS5cbiAgICogQHJldHVybiB1bmRlZmluZWQsIGlmIHRoZSB2YWx1ZSBpcyBudWxsL3VuZGVmaW5lZC9lbXB0eVxuICAgKiBAcmV0dXJuIGZhbHNlLCBpZiB0aGUgdmFsdWUgaXMgZmFsc2UsIGVsc2UgdHJ1ZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2VCb29sT3JVbmRlZmluZWQoYm9vbDogYW55KTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGJvb2wgPT09IHVuZGVmaW5lZCB8fCBib29sID09PSBudWxsIHx8IGJvb2wgPT09ICcnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIShib29sID09PSAnZmFsc2UnIHx8IGJvb2wgPT09IGZhbHNlKTtcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { Directive, Optional } from '@angular/core';
2
2
  import { ParseUtil } from '../../../common/utils/parse-util';
3
+ import { LoggerFactory } from '@elderbyte/ts-logger';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/material/checkbox";
5
6
  import * as i2 from "@angular/forms";
@@ -18,6 +19,7 @@ export class ElderTripleStateCheckboxDirective {
18
19
  constructor(checkbox, ngModel) {
19
20
  this.checkbox = checkbox;
20
21
  this.ngModel = ngModel;
22
+ this.log = LoggerFactory.getLogger(this.constructor.name);
21
23
  }
22
24
  /***************************************************************************
23
25
  * *
@@ -34,14 +36,7 @@ export class ElderTripleStateCheckboxDirective {
34
36
  * *
35
37
  **************************************************************************/
36
38
  get state() {
37
- switch (ParseUtil.parseBoolean(this.getModelValOrFallback())) {
38
- case false:
39
- return ElderCheckboxState.UNCHECKED;
40
- case true:
41
- return ElderCheckboxState.CHECKED;
42
- case undefined:
43
- return ElderCheckboxState.INDETERMINATE;
44
- }
39
+ return this.controlValueToState(this.readControlValue());
45
40
  }
46
41
  set state(newState) {
47
42
  switch (newState) {
@@ -61,6 +56,16 @@ export class ElderTripleStateCheckboxDirective {
61
56
  * Private methods *
62
57
  * *
63
58
  **************************************************************************/
59
+ controlValueToState(value) {
60
+ switch (ParseUtil.parseBoolOrUndefined(value)) {
61
+ case false:
62
+ return ElderCheckboxState.UNCHECKED;
63
+ case true:
64
+ return ElderCheckboxState.CHECKED;
65
+ case undefined:
66
+ return ElderCheckboxState.INDETERMINATE;
67
+ }
68
+ }
64
69
  toggleNextState() {
65
70
  this.state = (this.state + 1) % 3;
66
71
  }
@@ -81,8 +86,8 @@ export class ElderTripleStateCheckboxDirective {
81
86
  this.checkbox.indeterminate = true;
82
87
  this.updateModelIfPresent(undefined);
83
88
  }
84
- getModelValOrFallback() {
85
- if (this.ngModel !== null) {
89
+ readControlValue() {
90
+ if (this.ngModel) {
86
91
  return this.ngModel.viewModel;
87
92
  }
88
93
  else {
@@ -91,7 +96,12 @@ export class ElderTripleStateCheckboxDirective {
91
96
  }
92
97
  updateModelIfPresent(val) {
93
98
  if (this.ngModel !== null) {
94
- this.ngModel.viewToModelUpdate(val);
99
+ this.ngModel.control.setValue(val, {
100
+ onlySelf: false,
101
+ emitEvent: true,
102
+ emitModelToViewChange: true,
103
+ emitViewToModelChange: true
104
+ });
95
105
  }
96
106
  }
97
107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1.MatCheckbox }, { token: i2.NgModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
@@ -105,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
105
115
  }], ctorParameters: function () { return [{ type: i1.MatCheckbox }, { type: i2.NgModel, decorators: [{
106
116
  type: Optional
107
117
  }] }]; } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQUczRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLHFFQUFhLENBQUE7SUFDYixpRUFBVyxDQUFBO0lBQ1gsNkVBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFLRCxNQUFNLE9BQU8saUNBQWlDO0lBRTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNVLFFBQXFCLEVBQ1QsT0FBZ0I7UUFENUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNULFlBQU8sR0FBUCxPQUFPLENBQVM7SUFFdEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFZLEtBQUs7UUFDZixRQUFRLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsRUFBRTtZQUM1RCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7WUFDdEMsS0FBSyxJQUFJO2dCQUNQLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDO1lBQ3BDLEtBQUssU0FBUztnQkFDWixPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRCxJQUFZLEtBQUssQ0FBQyxRQUE0QjtRQUM1QyxRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLGtCQUFrQixDQUFDLFNBQVM7Z0JBQy9CLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUM1QixNQUFNO1lBRVIsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO2dCQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsTUFBTTtZQUVSLEtBQUssa0JBQWtCLENBQUMsYUFBYTtnQkFDbkMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2hDLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFcEUsZUFBZTtRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztTQUMvQjthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxHQUFRO1FBQ25DLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7K0dBcEdVLGlDQUFpQzttR0FBakMsaUNBQWlDOzs0RkFBakMsaUNBQWlDO2tCQUg3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7aUJBQ25EOzswQkFXSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIE9uSW5pdCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRDaGVja2JveH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHtOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1BhcnNlVXRpbH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxzL3BhcnNlLXV0aWwnO1xuXG5cbmV4cG9ydCBlbnVtIEVsZGVyQ2hlY2tib3hTdGF0ZSB7XG4gIFVOQ0hFQ0tFRCA9IDAsXG4gIENIRUNLRUQgPSAxLFxuICBJTkRFVEVSTUlOQVRFID0gMlxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdtYXQtY2hlY2tib3hbZWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94XSdcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoZWNrYm94OiBNYXRDaGVja2JveCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG5nTW9kZWw6IE5nTW9kZWxcbiAgKSB7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9IHRoaXMuc3RhdGU7XG4gICAgdGhpcy5jaGVja2JveC5yZWdpc3Rlck9uQ2hhbmdlKCgpID0+IHRoaXMudG9nZ2xlTmV4dFN0YXRlKCkpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBnZXQgc3RhdGUoKTogRWxkZXJDaGVja2JveFN0YXRlIHtcbiAgICBzd2l0Y2ggKFBhcnNlVXRpbC5wYXJzZUJvb2xlYW4odGhpcy5nZXRNb2RlbFZhbE9yRmFsbGJhY2soKSkpIHtcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuVU5DSEVDS0VEO1xuICAgICAgY2FzZSB0cnVlOlxuICAgICAgICByZXR1cm4gRWxkZXJDaGVja2JveFN0YXRlLkNIRUNLRUQ7XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgcmV0dXJuIEVsZGVyQ2hlY2tib3hTdGF0ZS5JTkRFVEVSTUlOQVRFO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0IHN0YXRlKG5ld1N0YXRlOiBFbGRlckNoZWNrYm94U3RhdGUpIHtcbiAgICBzd2l0Y2ggKG5ld1N0YXRlKSB7XG4gICAgICBjYXNlIEVsZGVyQ2hlY2tib3hTdGF0ZS5VTkNIRUNLRUQ6XG4gICAgICAgIHRoaXMuc2V0Q2hlY2tib3hVbmNoZWNrZWQoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRWxkZXJDaGVja2JveFN0YXRlLkNIRUNLRUQ6XG4gICAgICAgIHRoaXMuc2V0Q2hlY2tib3hDaGVja2VkKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVsZGVyQ2hlY2tib3hTdGF0ZS5JTkRFVEVSTUlOQVRFOlxuICAgICAgICB0aGlzLnNldENoZWNrYm94SW5kZXRlcm1pbmF0ZSgpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHRvZ2dsZU5leHRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gKHRoaXMuc3RhdGUgKyAxKSAlIDM7XG4gIH1cblxuICBwcml2YXRlIHNldENoZWNrYm94VW5jaGVja2VkKCkge1xuICAgIHRoaXMuY2hlY2tib3gudmFsdWUgPSAnZmFsc2UnO1xuICAgIHRoaXMuY2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgIHRoaXMudXBkYXRlTW9kZWxJZlByZXNlbnQoZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveENoZWNrZWQoKSB7XG4gICAgdGhpcy5jaGVja2JveC52YWx1ZSA9ICd0cnVlJztcbiAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgIHRoaXMudXBkYXRlTW9kZWxJZlByZXNlbnQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldENoZWNrYm94SW5kZXRlcm1pbmF0ZSgpIHtcbiAgICB0aGlzLmNoZWNrYm94LnZhbHVlID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVNb2RlbElmUHJlc2VudCh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbFZhbE9yRmFsbGJhY2soKTogYW55IHtcbiAgICBpZiAodGhpcy5uZ01vZGVsICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5uZ01vZGVsLnZpZXdNb2RlbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tib3gudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNb2RlbElmUHJlc2VudCh2YWw6IGFueSkge1xuICAgIGlmICh0aGlzLm5nTW9kZWwgIT09IG51bGwpIHtcbiAgICAgIHRoaXMubmdNb2RlbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWwpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFHbkQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixxRUFBYSxDQUFBO0lBQ2IsaUVBQVcsQ0FBQTtJQUNYLDZFQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBS0QsTUFBTSxPQUFPLGlDQUFpQztJQUk1Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxRQUFxQixFQUNULE9BQWdCO1FBRDVCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDVCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBVnJCLFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFZdEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUU1RSxJQUFZLEtBQUs7UUFDZixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FDN0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBWSxLQUFLLENBQUMsUUFBNEI7UUFDNUMsUUFBUSxRQUFRLEVBQUU7WUFDaEIsS0FBSyxrQkFBa0IsQ0FBQyxTQUFTO2dCQUMvQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsTUFBTTtZQUVSLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLE1BQU07WUFFUixLQUFLLGtCQUFrQixDQUFDLGFBQWE7Z0JBQ25DLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO2dCQUNoQyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLG1CQUFtQixDQUFDLEtBQVU7UUFDcEMsUUFBUSxTQUFTLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0MsS0FBSyxLQUFLO2dCQUNSLE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDO1lBQ3RDLEtBQUssSUFBSTtnQkFDUCxPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUNwQyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7U0FDM0M7SUFDSCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQy9CO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVPLG9CQUFvQixDQUFDLEdBQVE7UUFDbkMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFO2dCQUNqQyxRQUFRLEVBQUUsS0FBSztnQkFDZixTQUFTLEVBQUUsSUFBSTtnQkFDZixxQkFBcUIsRUFBRSxJQUFJO2dCQUMzQixxQkFBcUIsRUFBRSxJQUFJO2FBQzVCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzsrR0FqSFUsaUNBQWlDO21HQUFqQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBSDdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztpQkFDbkQ7OzBCQWFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdENoZWNrYm94fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge05nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UGFyc2VVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcGFyc2UtdXRpbCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcblxuXG5leHBvcnQgZW51bSBFbGRlckNoZWNrYm94U3RhdGUge1xuICBVTkNIRUNLRUQgPSAwLFxuICBDSEVDS0VEID0gMSxcbiAgSU5ERVRFUk1JTkFURSA9IDJcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbWF0LWNoZWNrYm94W2VsZGVyVHJpcGxlU3RhdGVDaGVja2JveF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hlY2tib3g6IE1hdENoZWNrYm94LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgbmdNb2RlbDogTmdNb2RlbFxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5zdGF0ZTtcbiAgICB0aGlzLmNoZWNrYm94LnJlZ2lzdGVyT25DaGFuZ2UoKCkgPT4gdGhpcy50b2dnbGVOZXh0U3RhdGUoKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBzdGF0ZSgpOiBFbGRlckNoZWNrYm94U3RhdGUge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xWYWx1ZVRvU3RhdGUoXG4gICAgICB0aGlzLnJlYWRDb250cm9sVmFsdWUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldCBzdGF0ZShuZXdTdGF0ZTogRWxkZXJDaGVja2JveFN0YXRlKSB7XG4gICAgc3dpdGNoIChuZXdTdGF0ZSkge1xuICAgICAgY2FzZSBFbGRlckNoZWNrYm94U3RhdGUuVU5DSEVDS0VEOlxuICAgICAgICB0aGlzLnNldENoZWNrYm94VW5jaGVja2VkKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVsZGVyQ2hlY2tib3hTdGF0ZS5DSEVDS0VEOlxuICAgICAgICB0aGlzLnNldENoZWNrYm94Q2hlY2tlZCgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBFbGRlckNoZWNrYm94U3RhdGUuSU5ERVRFUk1JTkFURTpcbiAgICAgICAgdGhpcy5zZXRDaGVja2JveEluZGV0ZXJtaW5hdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjb250cm9sVmFsdWVUb1N0YXRlKHZhbHVlOiBhbnkpOiBFbGRlckNoZWNrYm94U3RhdGUge1xuICAgIHN3aXRjaCAoUGFyc2VVdGlsLnBhcnNlQm9vbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgcmV0dXJuIEVsZGVyQ2hlY2tib3hTdGF0ZS5VTkNIRUNLRUQ7XG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuQ0hFQ0tFRDtcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gRWxkZXJDaGVja2JveFN0YXRlLklOREVURVJNSU5BVEU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVOZXh0U3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICh0aGlzLnN0YXRlICsgMSkgJSAzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveFVuY2hlY2tlZCgpIHtcbiAgICB0aGlzLmNoZWNrYm94LnZhbHVlID0gJ2ZhbHNlJztcbiAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsSWZQcmVzZW50KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hlY2tib3hDaGVja2VkKCkge1xuICAgIHRoaXMuY2hlY2tib3gudmFsdWUgPSAndHJ1ZSc7XG4gICAgdGhpcy5jaGVja2JveC5jaGVja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsSWZQcmVzZW50KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveEluZGV0ZXJtaW5hdGUoKSB7XG4gICAgdGhpcy5jaGVja2JveC52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlTW9kZWxJZlByZXNlbnQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZENvbnRyb2xWYWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nTW9kZWwudmlld01vZGVsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGVja2JveC52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGVsSWZQcmVzZW50KHZhbDogYW55KSB7XG4gICAgaWYgKHRoaXMubmdNb2RlbCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5uZ01vZGVsLmNvbnRyb2wuc2V0VmFsdWUodmFsLCB7XG4gICAgICAgIG9ubHlTZWxmOiBmYWxzZSxcbiAgICAgICAgZW1pdEV2ZW50OiB0cnVlLFxuICAgICAgICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U6IHRydWUsXG4gICAgICAgIGVtaXRWaWV3VG9Nb2RlbENoYW5nZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -7448,10 +7448,11 @@ class ParseUtil {
7448
7448
  /**
7449
7449
  * Tries to parse a given value to a boolean.
7450
7450
  * @param bool a value representing a boolean state.
7451
- * @return undefined, if the value is null or undefined, false, if the value is false, else true.
7451
+ * @return undefined, if the value is null/undefined/empty
7452
+ * @return false, if the value is false, else true.
7452
7453
  */
7453
- static parseBoolean(bool) {
7454
- if (bool === undefined || bool == null) {
7454
+ static parseBoolOrUndefined(bool) {
7455
+ if (bool === undefined || bool === null || bool === '') {
7455
7456
  return undefined;
7456
7457
  }
7457
7458
  else {
@@ -15772,6 +15773,7 @@ class ElderTripleStateCheckboxDirective {
15772
15773
  constructor(checkbox, ngModel) {
15773
15774
  this.checkbox = checkbox;
15774
15775
  this.ngModel = ngModel;
15776
+ this.log = LoggerFactory.getLogger(this.constructor.name);
15775
15777
  }
15776
15778
  /***************************************************************************
15777
15779
  * *
@@ -15788,14 +15790,7 @@ class ElderTripleStateCheckboxDirective {
15788
15790
  * *
15789
15791
  **************************************************************************/
15790
15792
  get state() {
15791
- switch (ParseUtil.parseBoolean(this.getModelValOrFallback())) {
15792
- case false:
15793
- return ElderCheckboxState.UNCHECKED;
15794
- case true:
15795
- return ElderCheckboxState.CHECKED;
15796
- case undefined:
15797
- return ElderCheckboxState.INDETERMINATE;
15798
- }
15793
+ return this.controlValueToState(this.readControlValue());
15799
15794
  }
15800
15795
  set state(newState) {
15801
15796
  switch (newState) {
@@ -15815,6 +15810,16 @@ class ElderTripleStateCheckboxDirective {
15815
15810
  * Private methods *
15816
15811
  * *
15817
15812
  **************************************************************************/
15813
+ controlValueToState(value) {
15814
+ switch (ParseUtil.parseBoolOrUndefined(value)) {
15815
+ case false:
15816
+ return ElderCheckboxState.UNCHECKED;
15817
+ case true:
15818
+ return ElderCheckboxState.CHECKED;
15819
+ case undefined:
15820
+ return ElderCheckboxState.INDETERMINATE;
15821
+ }
15822
+ }
15818
15823
  toggleNextState() {
15819
15824
  this.state = (this.state + 1) % 3;
15820
15825
  }
@@ -15835,8 +15840,8 @@ class ElderTripleStateCheckboxDirective {
15835
15840
  this.checkbox.indeterminate = true;
15836
15841
  this.updateModelIfPresent(undefined);
15837
15842
  }
15838
- getModelValOrFallback() {
15839
- if (this.ngModel !== null) {
15843
+ readControlValue() {
15844
+ if (this.ngModel) {
15840
15845
  return this.ngModel.viewModel;
15841
15846
  }
15842
15847
  else {
@@ -15845,7 +15850,12 @@ class ElderTripleStateCheckboxDirective {
15845
15850
  }
15846
15851
  updateModelIfPresent(val) {
15847
15852
  if (this.ngModel !== null) {
15848
- this.ngModel.viewToModelUpdate(val);
15853
+ this.ngModel.control.setValue(val, {
15854
+ onlySelf: false,
15855
+ emitEvent: true,
15856
+ emitModelToViewChange: true,
15857
+ emitViewToModelChange: true
15858
+ });
15849
15859
  }
15850
15860
  }
15851
15861
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$8.MatCheckbox }, { token: i3.NgModel, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }