@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.
- package/esm2022/lib/common/utils/parse-util.mjs +5 -4
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +22 -12
- package/fesm2022/elderbyte-ngx-starter.mjs +24 -14
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/utils/parse-util.d.ts +3 -2
- package/lib/components/forms/directives/elder-triple-state-checkbox.directive.d.ts +3 -1
- package/package.json +1 -1
|
@@ -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
|
|
5
|
+
* @return undefined, if the value is null/undefined/empty
|
|
6
|
+
* @return false, if the value is false, else true.
|
|
6
7
|
*/
|
|
7
|
-
static
|
|
8
|
-
if (bool === undefined || bool
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
85
|
-
if (this.ngModel
|
|
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.
|
|
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,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzFELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFHbkQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixxRUFBYSxDQUFBO0lBQ2IsaUVBQVcsQ0FBQTtJQUNYLDZFQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBS0QsTUFBTSxPQUFPLGlDQUFpQztJQUk1Qzs7OztnRkFJNEU7SUFFNUUsWUFDVSxRQUFxQixFQUNULE9BQWdCO1FBRDVCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDVCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBVnJCLFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFZdEUsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7O2dGQUk0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WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdENoZWNrYm94fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge05nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UGFyc2VVdGlsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbHMvcGFyc2UtdXRpbCc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcblxuXG5leHBvcnQgZW51bSBFbGRlckNoZWNrYm94U3RhdGUge1xuICBVTkNIRUNLRUQgPSAwLFxuICBDSEVDS0VEID0gMSxcbiAgSU5ERVRFUk1JTkFURSA9IDJcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnbWF0LWNoZWNrYm94W2VsZGVyVHJpcGxlU3RhdGVDaGVja2JveF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hlY2tib3g6IE1hdENoZWNrYm94LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgbmdNb2RlbDogTmdNb2RlbFxuICApIHtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gdGhpcy5zdGF0ZTtcbiAgICB0aGlzLmNoZWNrYm94LnJlZ2lzdGVyT25DaGFuZ2UoKCkgPT4gdGhpcy50b2dnbGVOZXh0U3RhdGUoKSk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGdldCBzdGF0ZSgpOiBFbGRlckNoZWNrYm94U3RhdGUge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xWYWx1ZVRvU3RhdGUoXG4gICAgICB0aGlzLnJlYWRDb250cm9sVmFsdWUoKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldCBzdGF0ZShuZXdTdGF0ZTogRWxkZXJDaGVja2JveFN0YXRlKSB7XG4gICAgc3dpdGNoIChuZXdTdGF0ZSkge1xuICAgICAgY2FzZSBFbGRlckNoZWNrYm94U3RhdGUuVU5DSEVDS0VEOlxuICAgICAgICB0aGlzLnNldENoZWNrYm94VW5jaGVja2VkKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVsZGVyQ2hlY2tib3hTdGF0ZS5DSEVDS0VEOlxuICAgICAgICB0aGlzLnNldENoZWNrYm94Q2hlY2tlZCgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBFbGRlckNoZWNrYm94U3RhdGUuSU5ERVRFUk1JTkFURTpcbiAgICAgICAgdGhpcy5zZXRDaGVja2JveEluZGV0ZXJtaW5hdGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSBjb250cm9sVmFsdWVUb1N0YXRlKHZhbHVlOiBhbnkpOiBFbGRlckNoZWNrYm94U3RhdGUge1xuICAgIHN3aXRjaCAoUGFyc2VVdGlsLnBhcnNlQm9vbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgcmV0dXJuIEVsZGVyQ2hlY2tib3hTdGF0ZS5VTkNIRUNLRUQ7XG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuQ0hFQ0tFRDtcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gRWxkZXJDaGVja2JveFN0YXRlLklOREVURVJNSU5BVEU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVOZXh0U3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICh0aGlzLnN0YXRlICsgMSkgJSAzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveFVuY2hlY2tlZCgpIHtcbiAgICB0aGlzLmNoZWNrYm94LnZhbHVlID0gJ2ZhbHNlJztcbiAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsSWZQcmVzZW50KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2hlY2tib3hDaGVja2VkKCkge1xuICAgIHRoaXMuY2hlY2tib3gudmFsdWUgPSAndHJ1ZSc7XG4gICAgdGhpcy5jaGVja2JveC5jaGVja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsSWZQcmVzZW50KHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGVja2JveEluZGV0ZXJtaW5hdGUoKSB7XG4gICAgdGhpcy5jaGVja2JveC52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgIHRoaXMudXBkYXRlTW9kZWxJZlByZXNlbnQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZENvbnRyb2xWYWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nTW9kZWwudmlld01vZGVsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5jaGVja2JveC52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGVsSWZQcmVzZW50KHZhbDogYW55KSB7XG4gICAgaWYgKHRoaXMubmdNb2RlbCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5uZ01vZGVsLmNvbnRyb2wuc2V0VmFsdWUodmFsLCB7XG4gICAgICAgIG9ubHlTZWxmOiBmYWxzZSxcbiAgICAgICAgZW1pdEV2ZW50OiB0cnVlLFxuICAgICAgICBlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U6IHRydWUsXG4gICAgICAgIGVtaXRWaWV3VG9Nb2RlbENoYW5nZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -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
|
|
7451
|
+
* @return undefined, if the value is null/undefined/empty
|
|
7452
|
+
* @return false, if the value is false, else true.
|
|
7452
7453
|
*/
|
|
7453
|
-
static
|
|
7454
|
-
if (bool === undefined || bool
|
|
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
|
-
|
|
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
|
-
|
|
15839
|
-
if (this.ngModel
|
|
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.
|
|
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 }); }
|