@elderbyte/ngx-starter 18.13.0-beta.0 → 18.13.0
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/_index.scss +6 -18
- package/esm2022/lib/common/exceptions/public_api.mjs +2 -0
- package/esm2022/lib/common/exceptions/unreachable-case-error.mjs +6 -0
- package/esm2022/lib/common/public_api.mjs +2 -1
- package/esm2022/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.mjs +3 -3
- package/esm2022/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.mjs +3 -3
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs +97 -0
- package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs +50 -0
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs +102 -0
- package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs +50 -0
- package/esm2022/lib/components/forms/directives/elder-forms-directives.module.mjs +9 -3
- package/esm2022/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.mjs +5 -12
- package/esm2022/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.mjs +3 -3
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +3 -3
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +3 -3
- package/esm2022/lib/components/select/popup/templated-selection-dialog/templated-selection-dialog.component.mjs +3 -3
- package/esm2022/lib/components/select/single/elder-select/elder-select.component.mjs +5 -3
- package/esm2022/lib/components/shell/header/elder-app-header/elder-app-header.component.mjs +3 -3
- package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +3 -3
- package/fesm2022/elderbyte-ngx-starter.mjs +343 -174
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/exceptions/public_api.d.ts +1 -0
- package/lib/common/exceptions/unreachable-case-error.d.ts +4 -0
- package/lib/common/public_api.d.ts +1 -0
- package/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.d.ts +46 -0
- package/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.d.ts +34 -0
- package/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.d.ts +47 -0
- package/lib/components/forms/directives/{elder-triple-state-checkbox.directive.d.ts → checkbox/elder-triple-state-checkbox.directive.d.ts} +10 -23
- package/lib/components/forms/directives/elder-forms-directives.module.d.ts +9 -7
- package/lib/components/input/autocomplete/elder-autocomplete/elder-suggestion-panel.component.d.ts +1 -2
- package/package.json +1 -1
- package/src/lib/components/button-group/elder-button-group/elder-button-group.component.scss +7 -1
- package/src/lib/components/card-organizer/card-stack/elder-card-stack.component.scss +14 -3
- package/src/lib/components/cards/elder-card/elder-card.component.scss +8 -2
- package/src/lib/components/chips/_elder-chip-theme.scss +12 -101
- package/src/lib/components/data-transfer/http-data-transfer-indicator/http-data-transfer-indicator.component.scss +6 -0
- package/src/lib/components/data-transfer/http-data-transfer-overview/http-data-transfer-overview.component.scss +0 -11
- package/src/lib/components/data-view/grid/elder-grid/elder-grid.component.scss +22 -15
- package/src/lib/components/data-view/table/elder-table/elder-table.component.scss +18 -11
- package/src/lib/components/errors/exception-detail/elder-exception-detail.component.scss +9 -2
- package/src/lib/components/expand-toggle-button/elder-expand-toggle-button.component.scss +8 -2
- package/src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component.scss +10 -7
- package/src/lib/components/iframes/iframe-host/iframe-host.component.scss +4 -0
- package/src/lib/components/navigation/nav/_elder-nav-theme.scss +24 -12
- package/src/lib/components/page/exit-guard/page-exit-lock-indicator/page-exit-lock-indicator.component.scss +4 -1
- package/src/lib/components/panels/card-panel/elder-card-panel.component.scss +12 -3
- package/src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component.scss +12 -4
- package/src/lib/components/panels/flat/_elder-panel-theme.scss +9 -26
- package/src/lib/components/select/_elder-select-base.scss +9 -1
- package/src/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.scss +4 -1
- package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +39 -10
- package/src/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.scss +52 -19
- package/src/lib/components/select/single/elder-select/elder-select.component.scss +40 -24
- package/src/lib/components/time/_elder-time-input.theme.scss +3 -0
- package/theming/_elder-common.scss +399 -6
- package/theming/_elder-defaults.scss +7 -3
- package/theming/_elder-mdc-support.scss +142 -59
- package/theming/_elder-palettes.scss +148 -0
- package/theming/_elder-scrollbar-theme.scss +12 -2
- package/theming/_elder-style-fixes.scss +109 -41
- package/theming/_elder-theme.scss +51 -0
- package/theming/_elder-toast-theme.scss +46 -0
- package/theming/_elder-typography-utils.scss +11 -0
- package/theming/_mat-icon-button-size.scss +34 -0
- package/theming/_mixins.scss +0 -35
- package/esm2022/lib/components/forms/directives/elder-triple-state-checkbox.directive.mjs +0 -120
- package/src/lib/components/chips/_elder-chip-theme-old.scss +0 -122
- package/theming/_elder-color-variants.scss +0 -26
- package/theming/_elder-form.scss +0 -308
- package/theming/_elder-layout-system.scss +0 -242
- package/theming/_elder-m3-theme.scss +0 -754
package/_index.scss
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
@use '@angular/material' as mat;
|
|
2
|
-
|
|
3
1
|
@forward './theming/elder-scrollbar-theme';
|
|
2
|
+
@forward './theming/elder-palettes';
|
|
3
|
+
@forward './theming/elder-theme';
|
|
4
4
|
@forward './theming/elder-defaults';
|
|
5
5
|
|
|
6
|
-
@use './theming/elder-
|
|
6
|
+
@use './theming/elder-toast-theme' as elder-toast;
|
|
7
7
|
@use './src/lib/components/chips/elder-chip-theme' as elder-chip;
|
|
8
8
|
@use './theming/elder-style-fixes' as elder-fixes;
|
|
9
9
|
@use './theming/elder-scrollbar-theme' as elder-scrollbar-theme;
|
|
10
10
|
@use './theming/elder-defaults' as elder-defaults;
|
|
11
11
|
@use './theming/elder-mdc-support' as elder-mdc-support;
|
|
12
12
|
@use './theming/elder-common' as elder-common;
|
|
13
|
-
@use './theming/elder-layout-system' as elder-layout-system;
|
|
14
|
-
@use './theming/elder-form' as elder-form;
|
|
15
13
|
@use './theming/elder-flex-layout' as elder-flex-layout;
|
|
16
14
|
@use './src/lib/components/panels/flat/elder-panel-theme' as elder-panel;
|
|
17
15
|
@use './src/lib/components/errors/exception-detail/elder-exception-detail.component' as
|
|
@@ -35,9 +33,9 @@
|
|
|
35
33
|
as elder-multi-select-chips;
|
|
36
34
|
@use './src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component'
|
|
37
35
|
as elder-multi-select-chip-options;
|
|
36
|
+
@use './src/lib/components/iframes/iframe-host/iframe-host.component' as iframe-host;
|
|
38
37
|
@use './src/lib/components/files/drag-n-drop/elder-drop-zone/elder-drop-zone.component' as
|
|
39
38
|
elder-drop-zone;
|
|
40
|
-
//@use './src/lib/components/iframes/iframe-host/iframe-host.component' as iframe-host;
|
|
41
39
|
|
|
42
40
|
@use 'sass:map';
|
|
43
41
|
|
|
@@ -47,10 +45,9 @@
|
|
|
47
45
|
@include elder-fixes.elder-style-fixes($theme);
|
|
48
46
|
@include elder-mdc-support.mdc-theme-support($theme);
|
|
49
47
|
@include elder-common.elder-common-styles($theme);
|
|
50
|
-
@include elder-form.elder-form-styles($theme);
|
|
51
48
|
@include elder-flex-layout.elder-flex-layout($theme);
|
|
52
|
-
@include elder-layout-system.elder-layout-system($theme);
|
|
53
49
|
|
|
50
|
+
@include elder-toast.theme($theme);
|
|
54
51
|
@include elder-chip.theme($theme);
|
|
55
52
|
@include elder-exception-detail.theme($theme);
|
|
56
53
|
|
|
@@ -58,7 +55,6 @@
|
|
|
58
55
|
@include elder-card-panel.theme($theme);
|
|
59
56
|
@include elder-dialog-panel.theme($theme);
|
|
60
57
|
@include elder-nav.theme($theme);
|
|
61
|
-
|
|
62
58
|
@include elder-expand-toggle-button.theme($theme);
|
|
63
59
|
@include elder-select.theme($theme);
|
|
64
60
|
@include elder-time.theme($theme);
|
|
@@ -70,14 +66,6 @@
|
|
|
70
66
|
@include elder-grid.theme($theme);
|
|
71
67
|
@include elder-button-group.theme($theme);
|
|
72
68
|
@include elder-scrollbar-theme.theme($theme);
|
|
73
|
-
|
|
74
|
-
// $theme
|
|
75
|
-
// ); // interesting, iframe-host renders css, while mixin is empty. bug?
|
|
76
|
-
|
|
69
|
+
@include iframe-host.theme($theme);
|
|
77
70
|
@include elder-drop-zone.theme($theme);
|
|
78
|
-
|
|
79
|
-
// Custom Color variants for m3. They can already be provided through
|
|
80
|
-
// "mat.color-variants-backwards-compatibility()"
|
|
81
|
-
// But can be customized in this mixin below:
|
|
82
|
-
@include elder-color-variants.elder-color-variants($theme);
|
|
83
71
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './unreachable-case-error';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9leGNlcHRpb25zL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdW5yZWFjaGFibGUtY2FzZS1lcnJvcidcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export class UnreachableCaseError {
|
|
2
|
+
constructor(value) {
|
|
3
|
+
this.value = value;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5yZWFjaGFibGUtY2FzZS1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9leGNlcHRpb25zL3VucmVhY2hhYmxlLWNhc2UtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFtQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztJQUFJLENBQUM7Q0FDckMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjbGFzcyBVbnJlYWNoYWJsZUNhc2VFcnJvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2YWx1ZTogbmV2ZXIpIHsgfVxufVxuIl19
|
|
@@ -13,10 +13,11 @@ export * from './http/public_api';
|
|
|
13
13
|
export * from './i18n/public_api';
|
|
14
14
|
export * from './enums/public_api';
|
|
15
15
|
export * from './errors/public_api';
|
|
16
|
+
export * from './exceptions/public_api';
|
|
16
17
|
export * from './csv/public_api';
|
|
17
18
|
export * from './async/public_api';
|
|
18
19
|
export * from './url/public_api';
|
|
19
20
|
export * from './suggestion-provider';
|
|
20
21
|
export * from './reactive-map';
|
|
21
22
|
export * from './theme-sizes';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbW1vbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFBO0FBQ3pCLGNBQWMsVUFBVSxDQUFBO0FBQ3hCLGNBQWMsUUFBUSxDQUFBO0FBQ3RCLGNBQWMsWUFBWSxDQUFBO0FBRTFCLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUE7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLGtCQUFrQixDQUFBO0FBRWhDLGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vb2JqZWN0cydcbmV4cG9ydCAqIGZyb20gJy4vYXJyYXlzJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXRzJ1xuZXhwb3J0ICogZnJvbSAnLi9qc29uLW1hcCdcblxuZXhwb3J0ICogZnJvbSAnLi9yeGpzL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi90aW1lL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2RhdGEvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZm9ybXMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0aW9uL3B1YmxpY19hcGknXG5leHBvcnQgKiBmcm9tICcuL2h0dHAvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vaTE4bi9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvcnMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vZXhjZXB0aW9ucy9wdWJsaWNfYXBpJ1xuZXhwb3J0ICogZnJvbSAnLi9jc3YvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMvcHVibGljX2FwaSdcbmV4cG9ydCAqIGZyb20gJy4vdXJsL3B1YmxpY19hcGknXG5cbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbi1wcm92aWRlcidcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3RpdmUtbWFwJ1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS1zaXplcydcbiJdfQ==
|
|
@@ -34,7 +34,7 @@ export class HttpDataTransferIndicatorComponent {
|
|
|
34
34
|
this.aggregate$ = this.transferService.transferAggregate;
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferIndicatorComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferIndicatorComponent, isStandalone: true, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferIndicatorComponent, isStandalone: true, selector: "elder-data-transfer-indicator", inputs: { activeColor: "activeColor", inactiveColor: "inactiveColor" }, ngImport: i0, template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: HttpDataTransferOverviewComponent, selector: "elder-data-transfer-overview" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferIndicatorComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
@@ -48,10 +48,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
48
48
|
ElderOverlayComponent,
|
|
49
49
|
HttpDataTransferOverviewComponent,
|
|
50
50
|
AsyncPipe,
|
|
51
|
-
], template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px}\n"] }]
|
|
51
|
+
], template: "<ng-container *ngIf=\"aggregate$ | async as aggregate\">\n <button\n mat-icon-button\n type=\"button\"\n class=\"layout-row place-center-center\"\n [elderOverlayTrigger]=\"overlay\"\n >\n <mat-icon *ngIf=\"aggregate.inTransfer == 0\" [color]=\"inactiveColor\">cloud_upload</mat-icon>\n <mat-progress-spinner\n *ngIf=\"aggregate.inTransfer > 0\"\n [matBadge]=\"aggregate.inTransfer\"\n matBadgePosition=\"above after\"\n matBadgeSize=\"small\"\n [matBadgeColor]=\"activeColor\"\n [color]=\"activeColor\"\n [strokeWidth]=\"3\"\n [diameter]=\"24\"\n [value]=\"aggregate.percentDone\"\n mode=\"determinate\"\n >\n </mat-progress-spinner>\n </button>\n</ng-container>\n\n<elder-overlay #overlay=\"elderOverlay\" originX=\"center\" overlayX=\"center\">\n <elder-data-transfer-overview class=\"panel\"> </elder-data-transfer-overview>\n</elder-overlay>\n", styles: [".panel{width:380px;height:350px;border-radius:4px;overflow:hidden;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}\n"] }]
|
|
52
52
|
}], ctorParameters: () => [{ type: i1.ElderDataTransferService }], propDecorators: { activeColor: [{
|
|
53
53
|
type: Input
|
|
54
54
|
}], inactiveColor: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdHJhbnNmZXIvaHR0cC1kYXRhLXRyYW5zZmVyLWluZGljYXRvci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUE7QUFLakYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUE7QUFDeEgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDOUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQTtBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7O0FBb0JqRCxNQUFNLE9BQU8sa0NBQWtDO0lBZTdDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFwQjdEOzs7O29GQUk0RTtRQUdyRSxnQkFBVyxHQUFpQixTQUFTLENBQUE7UUFHckMsa0JBQWEsR0FBaUIsU0FBUyxDQUFBO0lBVWtCLENBQUM7SUFFakU7Ozs7Z0ZBSTRFO0lBRXJFLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUE7SUFDMUQsQ0FBQzs4R0EvQlUsa0NBQWtDO2tHQUFsQyxrQ0FBa0MsaUtDaEMvQywrNUJBMkJBLGdORE5JLElBQUksNkZBQ0osYUFBYSw2RkFDYiw0QkFBNEIsNEpBQzVCLE9BQU8sMklBQ1Asa0JBQWtCLCtLQUNsQixRQUFRLGtOQUNSLHFCQUFxQiw4UkFDckIsaUNBQWlDLG9FQUNqQyxTQUFTOzsyRkFHQSxrQ0FBa0M7a0JBbEI5QyxTQUFTOytCQUNFLCtCQUErQixtQkFHeEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLFFBQVE7d0JBQ1IscUJBQXFCO3dCQUNyQixpQ0FBaUM7d0JBQ2pDLFNBQVM7cUJBQ1Y7NkZBVU0sV0FBVztzQkFEakIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IEVsZGVyRGF0YVRyYW5zZmVyU2VydmljZSB9IGZyb20gJy4uL2VsZGVyLWRhdGEtdHJhbnNmZXIuc2VydmljZSdcbmltcG9ydCB7IERhdGFUcmFuc2ZlclByb2dyZXNzQWdncmVnYXRlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2h0dHAvdHJhbnNmZXIvZGF0YS10cmFuc2Zlci1wcm9ncmVzcy1hZ2dyZWdhdGUnXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3L2h0dHAtZGF0YS10cmFuc2Zlci1vdmVydmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9vdmVybGF5cy9lbGRlci1vdmVybGF5LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEJhZGdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgTWF0SWNvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nXG5pbXBvcnQgeyBFbGRlck92ZXJsYXlUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vb3ZlcmxheXMvZWxkZXItb3ZlcmxheS10cmlnZ2VyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE1hdEljb25CdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtZGF0YS10cmFuc2Zlci1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9odHRwLWRhdGEtdHJhbnNmZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBNYXRJY29uQnV0dG9uLFxuICAgIEVsZGVyT3ZlcmxheVRyaWdnZXJEaXJlY3RpdmUsXG4gICAgTWF0SWNvbixcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXIsXG4gICAgTWF0QmFkZ2UsXG4gICAgRWxkZXJPdmVybGF5Q29tcG9uZW50LFxuICAgIEh0dHBEYXRhVHJhbnNmZXJPdmVydmlld0NvbXBvbmVudCxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhVHJhbnNmZXJJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlQ29sb3I6IFRoZW1lUGFsZXR0ZSA9IHVuZGVmaW5lZFxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbmFjdGl2ZUNvbG9yOiBUaGVtZVBhbGV0dGUgPSB1bmRlZmluZWRcblxuICBwdWJsaWMgYWdncmVnYXRlJDogT2JzZXJ2YWJsZTxEYXRhVHJhbnNmZXJQcm9ncmVzc0FnZ3JlZ2F0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zZmVyU2VydmljZTogRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlKSB7fVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFnZ3JlZ2F0ZSQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlckFnZ3JlZ2F0ZVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRlJCB8IGFzeW5jIGFzIGFnZ3JlZ2F0ZVwiPlxuICA8YnV0dG9uXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJsYXlvdXQtcm93IHBsYWNlLWNlbnRlci1jZW50ZXJcIlxuICAgIFtlbGRlck92ZXJsYXlUcmlnZ2VyXT1cIm92ZXJsYXlcIlxuICA+XG4gICAgPG1hdC1pY29uICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPT0gMFwiIFtjb2xvcl09XCJpbmFjdGl2ZUNvbG9yXCI+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICpuZ0lmPVwiYWdncmVnYXRlLmluVHJhbnNmZXIgPiAwXCJcbiAgICAgIFttYXRCYWRnZV09XCJhZ2dyZWdhdGUuaW5UcmFuc2ZlclwiXG4gICAgICBtYXRCYWRnZVBvc2l0aW9uPVwiYWJvdmUgYWZ0ZXJcIlxuICAgICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxuICAgICAgW21hdEJhZGdlQ29sb3JdPVwiYWN0aXZlQ29sb3JcIlxuICAgICAgW2NvbG9yXT1cImFjdGl2ZUNvbG9yXCJcbiAgICAgIFtzdHJva2VXaWR0aF09XCIzXCJcbiAgICAgIFtkaWFtZXRlcl09XCIyNFwiXG4gICAgICBbdmFsdWVdPVwiYWdncmVnYXRlLnBlcmNlbnREb25lXCJcbiAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgPlxuICAgIDwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gIDwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbjxlbGRlci1vdmVybGF5ICNvdmVybGF5PVwiZWxkZXJPdmVybGF5XCIgb3JpZ2luWD1cImNlbnRlclwiIG92ZXJsYXlYPVwiY2VudGVyXCI+XG4gIDxlbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3IGNsYXNzPVwicGFuZWxcIj4gPC9lbGRlci1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3PlxuPC9lbGRlci1vdmVybGF5PlxuIl19
|
|
@@ -17,7 +17,7 @@ export class HttpDataTransferOverviewComponent {
|
|
|
17
17
|
this.transfers$ = this.transferService.transfers;
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferOverviewComponent, deps: [{ token: i1.ElderDataTransferService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferOverviewComponent, isStandalone: true, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card class=\"layout-col full
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: HttpDataTransferOverviewComponent, isStandalone: true, selector: "elder-data-transfer-overview", ngImport: i0, template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n </div>\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: HttpDataTransferComponent, selector: "elder-data-transfer", inputs: ["transfer"] }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: HttpDataTransferAggregateComponent, selector: "elder-data-transfer-aggregate", inputs: ["hiddenWhenInactive"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: HttpDataTransferOverviewComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
@@ -29,6 +29,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
29
29
|
MatToolbar,
|
|
30
30
|
HttpDataTransferAggregateComponent,
|
|
31
31
|
AsyncPipe,
|
|
32
|
-
], template: "<mat-card class=\"layout-col full
|
|
32
|
+
], template: "<mat-card appearance=\"raised\" class=\"layout-col full\">\n <div class=\"layout-col flex\" *ngIf=\"transfers$ | async as transfers\">\n <div *ngIf=\"transfers.length > 0; else noData\" class=\"layout-col flex scroll-list\">\n <elder-data-transfer\n class=\"flex-none\"\n *ngFor=\"let transfer of transfers\"\n [transfer]=\"transfer\"\n >\n </elder-data-transfer>\n </div>\n\n <ng-template #noData>\n <div class=\"layout-col place-center-center flex\">\n <span class=\"mat-subtitle-2 noselect\" style=\"color: gray\">No data transfers.</span>\n </div>\n </ng-template>\n </div>\n\n <mat-toolbar class=\"flex-none mat-elevation-z5\">\n <elder-data-transfer-aggregate\n class=\"flex\"\n [hiddenWhenInactive]=\"false\"\n ></elder-data-transfer-aggregate>\n </mat-toolbar>\n</mat-card>\n", styles: [":host{min-width:0;min-height:0}.scroll-list{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-fix{min-width:0;min-height:0}\n"] }]
|
|
33
33
|
}], ctorParameters: () => [{ type: i1.ElderDataTransferService }] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS10cmFuc2Zlci9odHRwLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcvaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFJbEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0VBQXdFLENBQUE7QUFDM0gsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFBO0FBQzlGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTs7O0FBa0JoRCxNQUFNLE9BQU8saUNBQWlDO0lBUzVDOzs7O2dGQUk0RTtJQUU1RSxZQUFvQixlQUF5QztRQUF6QyxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQTtJQUNsRCxDQUFDOzhHQWpCVSxpQ0FBaUM7a0dBQWpDLGlDQUFpQyx3RkMxQjlDLHMyQkF5QkEsZ05EUkksT0FBTyxvR0FDUCxJQUFJLDZGQUNKLEtBQUssbUhBQ0wseUJBQXlCLHNGQUN6QixVQUFVLHFHQUNWLGtDQUFrQyxxR0FDbEMsU0FBUzs7MkZBR0EsaUNBQWlDO2tCQWhCN0MsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLHlCQUF5Qjt3QkFDekIsVUFBVTt3QkFDVixrQ0FBa0M7d0JBQ2xDLFNBQVM7cUJBQ1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgRWxkZXJEYXRhVHJhbnNmZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZWxkZXItZGF0YS10cmFuc2Zlci5zZXJ2aWNlJ1xuaW1wb3J0IHsgSHR0cERhdGFUcmFuc2ZlciB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9odHRwL3RyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2ZlcidcbmltcG9ydCB7IEh0dHBEYXRhVHJhbnNmZXJBZ2dyZWdhdGVDb21wb25lbnQgfSBmcm9tICcuLi9odHRwLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlL2h0dHAtZGF0YS10cmFuc2Zlci1hZ2dyZWdhdGUuY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbGJhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInXG5pbXBvcnQgeyBIdHRwRGF0YVRyYW5zZmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHR0cC1kYXRhLXRyYW5zZmVyL2h0dHAtZGF0YS10cmFuc2Zlci5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTWF0Q2FyZCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VsZGVyLWRhdGEtdHJhbnNmZXItb3ZlcnZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1kYXRhLXRyYW5zZmVyLW92ZXJ2aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0Q2FyZCxcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIEh0dHBEYXRhVHJhbnNmZXJDb21wb25lbnQsXG4gICAgTWF0VG9vbGJhcixcbiAgICBIdHRwRGF0YVRyYW5zZmVyQWdncmVnYXRlQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cERhdGFUcmFuc2Zlck92ZXJ2aWV3Q29tcG9uZW50IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVycyQ6IE9ic2VydmFibGU8SHR0cERhdGFUcmFuc2ZlcltdPlxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNmZXJTZXJ2aWNlOiBFbGRlckRhdGFUcmFuc2ZlclNlcnZpY2UpIHtcbiAgICB0aGlzLnRyYW5zZmVycyQgPSB0aGlzLnRyYW5zZmVyU2VydmljZS50cmFuc2ZlcnNcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJyYWlzZWRcIiBjbGFzcz1cImxheW91dC1jb2wgZnVsbFwiPlxuICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4XCIgKm5nSWY9XCJ0cmFuc2ZlcnMkIHwgYXN5bmMgYXMgdHJhbnNmZXJzXCI+XG4gICAgPGRpdiAqbmdJZj1cInRyYW5zZmVycy5sZW5ndGggPiAwOyBlbHNlIG5vRGF0YVwiIGNsYXNzPVwibGF5b3V0LWNvbCBmbGV4IHNjcm9sbC1saXN0XCI+XG4gICAgICA8ZWxkZXItZGF0YS10cmFuc2ZlclxuICAgICAgICBjbGFzcz1cImZsZXgtbm9uZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCB0cmFuc2ZlciBvZiB0cmFuc2ZlcnNcIlxuICAgICAgICBbdHJhbnNmZXJdPVwidHJhbnNmZXJcIlxuICAgICAgPlxuICAgICAgPC9lbGRlci1kYXRhLXRyYW5zZmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWNvbCBwbGFjZS1jZW50ZXItY2VudGVyIGZsZXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMiBub3NlbGVjdFwiIHN0eWxlPVwiY29sb3I6IGdyYXlcIj5ObyBkYXRhIHRyYW5zZmVycy48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cblxuICA8bWF0LXRvb2xiYXIgY2xhc3M9XCJmbGV4LW5vbmUgbWF0LWVsZXZhdGlvbi16NVwiPlxuICAgIDxlbGRlci1kYXRhLXRyYW5zZmVyLWFnZ3JlZ2F0ZVxuICAgICAgY2xhc3M9XCJmbGV4XCJcbiAgICAgIFtoaWRkZW5XaGVuSW5hY3RpdmVdPVwiZmFsc2VcIlxuICAgID48L2VsZGVyLWRhdGEtdHJhbnNmZXItYWdncmVnYXRlPlxuICA8L21hdC10b29sYmFyPlxuPC9tYXQtY2FyZD5cbiJdfQ==
|
package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox-controller.mjs
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ParseUtil } from '../../../../common/utils/parse-util';
|
|
2
|
+
import { UnreachableCaseError } from '../../../../common/exceptions/unreachable-case-error';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
export var ElderCheckboxState;
|
|
6
|
+
(function (ElderCheckboxState) {
|
|
7
|
+
ElderCheckboxState[ElderCheckboxState["UNCHECKED"] = 0] = "UNCHECKED";
|
|
8
|
+
ElderCheckboxState[ElderCheckboxState["CHECKED"] = 1] = "CHECKED";
|
|
9
|
+
})(ElderCheckboxState || (ElderCheckboxState = {}));
|
|
10
|
+
export class ElderSingleStateCheckboxController {
|
|
11
|
+
/***************************************************************************
|
|
12
|
+
* *
|
|
13
|
+
* Constructor *
|
|
14
|
+
* *
|
|
15
|
+
**************************************************************************/
|
|
16
|
+
constructor(checkbox, ngModel) {
|
|
17
|
+
this.checkbox = checkbox;
|
|
18
|
+
this.ngModel = ngModel;
|
|
19
|
+
this._stateChange = this.ngModel.valueChanges.pipe(takeUntilDestroyed(), map((value) => this.controlValueToState(value)));
|
|
20
|
+
this.stateChange.subscribe((value) => this.writeState(value));
|
|
21
|
+
}
|
|
22
|
+
/***************************************************************************
|
|
23
|
+
* *
|
|
24
|
+
* Properties *
|
|
25
|
+
* *
|
|
26
|
+
**************************************************************************/
|
|
27
|
+
get stateChange() {
|
|
28
|
+
return this._stateChange;
|
|
29
|
+
}
|
|
30
|
+
/***************************************************************************
|
|
31
|
+
* *
|
|
32
|
+
* Public API *
|
|
33
|
+
* *
|
|
34
|
+
**************************************************************************/
|
|
35
|
+
toggleNextState() {
|
|
36
|
+
const current = this.readState();
|
|
37
|
+
this.writeState((current + 1) % 2);
|
|
38
|
+
}
|
|
39
|
+
writeState(state) {
|
|
40
|
+
switch (state) {
|
|
41
|
+
case ElderCheckboxState.UNCHECKED:
|
|
42
|
+
this.writeValueToControlAndModel(undefined);
|
|
43
|
+
break;
|
|
44
|
+
case ElderCheckboxState.CHECKED:
|
|
45
|
+
this.writeValueToControlAndModel(true);
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
throw new UnreachableCaseError(state);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
readState() {
|
|
52
|
+
return this.controlValueToState(this.readControlValue());
|
|
53
|
+
}
|
|
54
|
+
/***************************************************************************
|
|
55
|
+
* *
|
|
56
|
+
* Private methods *
|
|
57
|
+
* *
|
|
58
|
+
**************************************************************************/
|
|
59
|
+
controlValueToState(value) {
|
|
60
|
+
const state = ParseUtil.parseBoolOrUndefined(value);
|
|
61
|
+
switch (state) {
|
|
62
|
+
case undefined:
|
|
63
|
+
case false:
|
|
64
|
+
return ElderCheckboxState.UNCHECKED;
|
|
65
|
+
case true:
|
|
66
|
+
return ElderCheckboxState.CHECKED;
|
|
67
|
+
default:
|
|
68
|
+
throw new UnreachableCaseError(state);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
readControlValue() {
|
|
72
|
+
if (this.ngModel) {
|
|
73
|
+
return this.ngModel.viewModel;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return this.checkbox.value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
writeValueToControlAndModel(value) {
|
|
80
|
+
const isTrue = value === true;
|
|
81
|
+
this.checkbox.value = isTrue ? String(value) : undefined;
|
|
82
|
+
this.checkbox.checked = isTrue;
|
|
83
|
+
this.checkbox.indeterminate = false;
|
|
84
|
+
this.updateModelIfPresent(value);
|
|
85
|
+
}
|
|
86
|
+
updateModelIfPresent(val) {
|
|
87
|
+
if (this.ngModel !== null && this.ngModel.viewModel !== val) {
|
|
88
|
+
this.ngModel.control.setValue(val, {
|
|
89
|
+
onlySelf: false,
|
|
90
|
+
emitEvent: true,
|
|
91
|
+
emitModelToViewChange: true,
|
|
92
|
+
emitViewToModelChange: true,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvY2hlY2tib3gvZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBRTNGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxNQUFNLENBQU4sSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLHFFQUFhLENBQUE7SUFDYixpRUFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0I7QUFFRCxNQUFNLE9BQU8sa0NBQWtDO0lBUzdDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUNyQixPQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFFakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELGtCQUFrQixFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUE7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENB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L2NoZWNrYm94J1xuaW1wb3J0IHsgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgUGFyc2VVdGlsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3V0aWxzL3BhcnNlLXV0aWwnXG5pbXBvcnQgeyBVbnJlYWNoYWJsZUNhc2VFcnJvciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9leGNlcHRpb25zL3VucmVhY2hhYmxlLWNhc2UtZXJyb3InXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnXG5cbmV4cG9ydCBlbnVtIEVsZGVyQ2hlY2tib3hTdGF0ZSB7XG4gIFVOQ0hFQ0tFRCA9IDAsXG4gIENIRUNLRUQgPSAxLFxufVxuXG5leHBvcnQgY2xhc3MgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlOiBPYnNlcnZhYmxlPEVsZGVyQ2hlY2tib3hTdGF0ZT5cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja2JveDogTWF0Q2hlY2tib3gsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ01vZGVsOiBOZ01vZGVsXG4gICkge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlID0gdGhpcy5uZ01vZGVsLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICBtYXAoKHZhbHVlKSA9PiB0aGlzLmNvbnRyb2xWYWx1ZVRvU3RhdGUodmFsdWUpKVxuICAgIClcbiAgICB0aGlzLnN0YXRlQ2hhbmdlLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMud3JpdGVTdGF0ZSh2YWx1ZSkpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJvcGVydGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgZ2V0IHN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8RWxkZXJDaGVja2JveFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlQ2hhbmdlXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgdG9nZ2xlTmV4dFN0YXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnJlYWRTdGF0ZSgpXG4gICAgdGhpcy53cml0ZVN0YXRlKChjdXJyZW50ICsgMSkgJSAyKVxuICB9XG5cbiAgcHVibGljIHdyaXRlU3RhdGUoc3RhdGU6IEVsZGVyQ2hlY2tib3hTdGF0ZSk6IHZvaWQge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgRWxkZXJDaGVja2JveFN0YXRlLlVOQ0hFQ0tFRDpcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodW5kZWZpbmVkKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBFbGRlckNoZWNrYm94U3RhdGUuQ0hFQ0tFRDpcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodHJ1ZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBVbnJlYWNoYWJsZUNhc2VFcnJvcihzdGF0ZSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVhZFN0YXRlKCk6IEVsZGVyQ2hlY2tib3hTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlVG9TdGF0ZSh0aGlzLnJlYWRDb250cm9sVmFsdWUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY29udHJvbFZhbHVlVG9TdGF0ZSh2YWx1ZTogYW55KTogRWxkZXJDaGVja2JveFN0YXRlIHtcbiAgICBjb25zdCBzdGF0ZSA9IFBhcnNlVXRpbC5wYXJzZUJvb2xPclVuZGVmaW5lZCh2YWx1ZSlcbiAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgIGNhc2UgZmFsc2U6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuVU5DSEVDS0VEXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHJldHVybiBFbGRlckNoZWNrYm94U3RhdGUuQ0hFQ0tFRFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ2FzZUVycm9yKHN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZENvbnRyb2xWYWx1ZSgpOiBhbnkge1xuICAgIGlmICh0aGlzLm5nTW9kZWwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5nTW9kZWwudmlld01vZGVsXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrYm94LnZhbHVlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBpc1RydWUgPSB2YWx1ZSA9PT0gdHJ1ZVxuXG4gICAgdGhpcy5jaGVja2JveC52YWx1ZSA9IGlzVHJ1ZSA/IFN0cmluZyh2YWx1ZSkgOiB1bmRlZmluZWRcbiAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSBpc1RydWVcbiAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZVxuICAgIHRoaXMudXBkYXRlTW9kZWxJZlByZXNlbnQodmFsdWUpXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU1vZGVsSWZQcmVzZW50KHZhbDogYW55KTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdNb2RlbCAhPT0gbnVsbCAmJiB0aGlzLm5nTW9kZWwudmlld01vZGVsICE9PSB2YWwpIHtcbiAgICAgIHRoaXMubmdNb2RlbC5jb250cm9sLnNldFZhbHVlKHZhbCwge1xuICAgICAgICBvbmx5U2VsZjogZmFsc2UsXG4gICAgICAgIGVtaXRFdmVudDogdHJ1ZSxcbiAgICAgICAgZW1pdE1vZGVsVG9WaWV3Q2hhbmdlOiB0cnVlLFxuICAgICAgICBlbWl0Vmlld1RvTW9kZWxDaGFuZ2U6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
|
package/esm2022/lib/components/forms/directives/checkbox/elder-single-state-checkbox.directive.mjs
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
+
import { ElderSingleStateCheckboxController } from './elder-single-state-checkbox-controller';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/checkbox";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
export class ElderSingleStateCheckboxDirective {
|
|
8
|
+
/***************************************************************************
|
|
9
|
+
* *
|
|
10
|
+
* Constructor *
|
|
11
|
+
* *
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
constructor(checkbox, ngModel) {
|
|
14
|
+
this.checkbox = checkbox;
|
|
15
|
+
/***************************************************************************
|
|
16
|
+
* *
|
|
17
|
+
* Fields *
|
|
18
|
+
* *
|
|
19
|
+
**************************************************************************/
|
|
20
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
21
|
+
this.controller = new ElderSingleStateCheckboxController(checkbox, ngModel);
|
|
22
|
+
}
|
|
23
|
+
/***************************************************************************
|
|
24
|
+
* *
|
|
25
|
+
* Life Cycle *
|
|
26
|
+
* *
|
|
27
|
+
**************************************************************************/
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.controller.writeState(this.controller.readState());
|
|
30
|
+
this.checkbox.registerOnChange(() => this.toggleNextState());
|
|
31
|
+
}
|
|
32
|
+
/***************************************************************************
|
|
33
|
+
* *
|
|
34
|
+
* Public API *
|
|
35
|
+
* *
|
|
36
|
+
**************************************************************************/
|
|
37
|
+
toggleNextState() {
|
|
38
|
+
this.controller.toggleNextState();
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderSingleStateCheckboxDirective, deps: [{ token: i1.MatCheckbox }, { token: i2.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ElderSingleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderSingleStateCheckbox]", ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderSingleStateCheckboxDirective, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: 'mat-checkbox[elderSingleStateCheckbox]',
|
|
47
|
+
standalone: true,
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.MatCheckbox }, { type: i2.NgModel }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9jaGVja2JveC9lbGRlci1zaW5nbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBSTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUdwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7OztBQU03RixNQUFNLE9BQU8saUNBQWlDO0lBVTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUN0QyxPQUFnQjtRQURDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFoQnhDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBYW5FLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDbkMsQ0FBQzs4R0ExQ1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUM7OzJGQUFqQyxpQ0FBaUM7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBQYXJzZVV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvcGFyc2UtdXRpbCdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFVucmVhY2hhYmxlQ2FzZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2V4Y2VwdGlvbnMvdW5yZWFjaGFibGUtY2FzZS1lcnJvcidcbmltcG9ydCB7IEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveENvbnRyb2xsZXIgfSBmcm9tICcuL2VsZGVyLXRyaXBsZS1zdGF0ZS1jaGVja2JveC1jb250cm9sbGVyJ1xuaW1wb3J0IHsgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB9IGZyb20gJy4vZWxkZXItc2luZ2xlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXInXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ21hdC1jaGVja2JveFtlbGRlclNpbmdsZVN0YXRlQ2hlY2tib3hdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbGxlcjogRWxkZXJTaW5nbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlclxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tib3g6IE1hdENoZWNrYm94LFxuICAgIG5nTW9kZWw6IE5nTW9kZWxcbiAgKSB7XG4gICAgdGhpcy5jb250cm9sbGVyID0gbmV3IEVsZGVyU2luZ2xlU3RhdGVDaGVja2JveENvbnRyb2xsZXIoY2hlY2tib3gsIG5nTW9kZWwpXG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogTGlmZSBDeWNsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sbGVyLndyaXRlU3RhdGUodGhpcy5jb250cm9sbGVyLnJlYWRTdGF0ZSgpKVxuICAgIHRoaXMuY2hlY2tib3gucmVnaXN0ZXJPbkNoYW5nZSgoKSA9PiB0aGlzLnRvZ2dsZU5leHRTdGF0ZSgpKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIHRvZ2dsZU5leHRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIudG9nZ2xlTmV4dFN0YXRlKClcbiAgfVxufVxuIl19
|
package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox-controller.mjs
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { ParseUtil } from '../../../../common/utils/parse-util';
|
|
2
|
+
import { UnreachableCaseError } from '../../../../common/exceptions/unreachable-case-error';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
export var TripleCheckboxState;
|
|
6
|
+
(function (TripleCheckboxState) {
|
|
7
|
+
TripleCheckboxState[TripleCheckboxState["UNCHECKED"] = 0] = "UNCHECKED";
|
|
8
|
+
TripleCheckboxState[TripleCheckboxState["CHECKED"] = 1] = "CHECKED";
|
|
9
|
+
TripleCheckboxState[TripleCheckboxState["INDETERMINATE"] = 2] = "INDETERMINATE";
|
|
10
|
+
})(TripleCheckboxState || (TripleCheckboxState = {}));
|
|
11
|
+
export class ElderTripleStateCheckboxController {
|
|
12
|
+
/***************************************************************************
|
|
13
|
+
* *
|
|
14
|
+
* Constructor *
|
|
15
|
+
* *
|
|
16
|
+
**************************************************************************/
|
|
17
|
+
constructor(checkbox, ngModel) {
|
|
18
|
+
this.checkbox = checkbox;
|
|
19
|
+
this.ngModel = ngModel;
|
|
20
|
+
this._stateChange = this.ngModel.valueChanges.pipe(takeUntilDestroyed(), map((value) => this.controlValueToState(value)));
|
|
21
|
+
this.stateChange.subscribe((value) => this.writeState(value));
|
|
22
|
+
}
|
|
23
|
+
/***************************************************************************
|
|
24
|
+
* *
|
|
25
|
+
* Properties *
|
|
26
|
+
* *
|
|
27
|
+
**************************************************************************/
|
|
28
|
+
get stateChange() {
|
|
29
|
+
return this._stateChange;
|
|
30
|
+
}
|
|
31
|
+
/***************************************************************************
|
|
32
|
+
* *
|
|
33
|
+
* Public API *
|
|
34
|
+
* *
|
|
35
|
+
**************************************************************************/
|
|
36
|
+
toggleNextState() {
|
|
37
|
+
const current = this.readState();
|
|
38
|
+
this.writeState((current + 1) % 3);
|
|
39
|
+
}
|
|
40
|
+
writeState(state) {
|
|
41
|
+
switch (state) {
|
|
42
|
+
case TripleCheckboxState.UNCHECKED:
|
|
43
|
+
this.writeValueToControlAndModel(false);
|
|
44
|
+
break;
|
|
45
|
+
case TripleCheckboxState.CHECKED:
|
|
46
|
+
this.writeValueToControlAndModel(true);
|
|
47
|
+
break;
|
|
48
|
+
case TripleCheckboxState.INDETERMINATE:
|
|
49
|
+
this.writeValueToControlAndModel(undefined);
|
|
50
|
+
break;
|
|
51
|
+
default:
|
|
52
|
+
throw new UnreachableCaseError(state);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
readState() {
|
|
56
|
+
return this.controlValueToState(this.readControlValue());
|
|
57
|
+
}
|
|
58
|
+
/***************************************************************************
|
|
59
|
+
* *
|
|
60
|
+
* Private methods *
|
|
61
|
+
* *
|
|
62
|
+
**************************************************************************/
|
|
63
|
+
controlValueToState(value) {
|
|
64
|
+
const state = ParseUtil.parseBoolOrUndefined(value);
|
|
65
|
+
switch (state) {
|
|
66
|
+
case false:
|
|
67
|
+
return TripleCheckboxState.UNCHECKED;
|
|
68
|
+
case true:
|
|
69
|
+
return TripleCheckboxState.CHECKED;
|
|
70
|
+
case undefined:
|
|
71
|
+
return TripleCheckboxState.INDETERMINATE;
|
|
72
|
+
default:
|
|
73
|
+
throw new UnreachableCaseError(state);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
readControlValue() {
|
|
77
|
+
if (this.ngModel) {
|
|
78
|
+
return this.ngModel.viewModel;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
return this.checkbox.value;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
writeValueToControlAndModel(value) {
|
|
85
|
+
const isDefined = value !== undefined;
|
|
86
|
+
this.checkbox.value = isDefined ? String(value) : undefined;
|
|
87
|
+
this.checkbox.checked = !!value;
|
|
88
|
+
this.checkbox.indeterminate = !isDefined;
|
|
89
|
+
this.updateModelIfPresent(value);
|
|
90
|
+
}
|
|
91
|
+
updateModelIfPresent(val) {
|
|
92
|
+
if (this.ngModel !== null && this.ngModel.viewModel !== val) {
|
|
93
|
+
this.ngModel.control.setValue(val, {
|
|
94
|
+
onlySelf: false,
|
|
95
|
+
emitEvent: true,
|
|
96
|
+
emitModelToViewChange: true,
|
|
97
|
+
emitViewToModelChange: true,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2RpcmVjdGl2ZXMvY2hlY2tib3gvZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFBO0FBRTNGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLHVFQUFhLENBQUE7SUFDYixtRUFBVyxDQUFBO0lBQ1gsK0VBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLE9BQU8sa0NBQWtDO0lBUzdDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUNyQixPQUFnQjtRQURoQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFFakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hELGtCQUFrQixFQUFFLEVBQ3BCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2hELENBQUE7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFD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QXFCLEVBQUUsSUFBSTtnQkFDM0IscUJBQXFCLEVBQUUsSUFBSTthQUM1QixDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0Q2hlY2tib3ggfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCdcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFBhcnNlVXRpbCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi91dGlscy9wYXJzZS11dGlsJ1xuaW1wb3J0IHsgVW5yZWFjaGFibGVDYXNlRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vZXhjZXB0aW9ucy91bnJlYWNoYWJsZS1jYXNlLWVycm9yJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJ1xuXG5leHBvcnQgZW51bSBUcmlwbGVDaGVja2JveFN0YXRlIHtcbiAgVU5DSEVDS0VEID0gMCxcbiAgQ0hFQ0tFRCA9IDEsXG4gIElOREVURVJNSU5BVEUgPSAyLFxufVxuXG5leHBvcnQgY2xhc3MgRWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94Q29udHJvbGxlciB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlOiBPYnNlcnZhYmxlPFRyaXBsZUNoZWNrYm94U3RhdGU+XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tib3g6IE1hdENoZWNrYm94LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdNb2RlbDogTmdNb2RlbFxuICApIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZSA9IHRoaXMubmdNb2RlbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgbWFwKCh2YWx1ZSkgPT4gdGhpcy5jb250cm9sVmFsdWVUb1N0YXRlKHZhbHVlKSlcbiAgICApXG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLndyaXRlU3RhdGUodmFsdWUpKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBzdGF0ZUNoYW5nZSgpOiBPYnNlcnZhYmxlPFRyaXBsZUNoZWNrYm94U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVDaGFuZ2VcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b2dnbGVOZXh0U3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMucmVhZFN0YXRlKClcbiAgICB0aGlzLndyaXRlU3RhdGUoKGN1cnJlbnQgKyAxKSAlIDMpXG4gIH1cblxuICBwdWJsaWMgd3JpdGVTdGF0ZShzdGF0ZTogVHJpcGxlQ2hlY2tib3hTdGF0ZSk6IHZvaWQge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgIGNhc2UgVHJpcGxlQ2hlY2tib3hTdGF0ZS5VTkNIRUNLRUQ6XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZVRvQ29udHJvbEFuZE1vZGVsKGZhbHNlKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSBUcmlwbGVDaGVja2JveFN0YXRlLkNIRUNLRUQ6XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZVRvQ29udHJvbEFuZE1vZGVsKHRydWUpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFRyaXBsZUNoZWNrYm94U3RhdGUuSU5ERVRFUk1JTkFURTpcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlVG9Db250cm9sQW5kTW9kZWwodW5kZWZpbmVkKVxuICAgICAgICBicmVha1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFVucmVhY2hhYmxlQ2FzZUVycm9yKHN0YXRlKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWFkU3RhdGUoKTogVHJpcGxlQ2hlY2tib3hTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFZhbHVlVG9TdGF0ZSh0aGlzLnJlYWRDb250cm9sVmFsdWUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY29udHJvbFZhbHVlVG9TdGF0ZSh2YWx1ZTogYW55KTogVHJpcGxlQ2hlY2tib3hTdGF0ZSB7XG4gICAgY29uc3Qgc3RhdGUgPSBQYXJzZVV0aWwucGFyc2VCb29sT3JVbmRlZmluZWQodmFsdWUpXG4gICAgc3dpdGNoIChzdGF0ZSkge1xuICAgICAgY2FzZSBmYWxzZTpcbiAgICAgICAgcmV0dXJuIFRyaXBsZUNoZWNrYm94U3RhdGUuVU5DSEVDS0VEXG4gICAgICBjYXNlIHRydWU6XG4gICAgICAgIHJldHVybiBUcmlwbGVDaGVja2JveFN0YXRlLkNIRUNLRURcbiAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICByZXR1cm4gVHJpcGxlQ2hlY2tib3hTdGF0ZS5JTkRFVEVSTUlOQVRFXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgVW5yZWFjaGFibGVDYXNlRXJyb3Ioc3RhdGUpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWFkQ29udHJvbFZhbHVlKCk6IGFueSB7XG4gICAgaWYgKHRoaXMubmdNb2RlbCkge1xuICAgICAgcmV0dXJuIHRoaXMubmdNb2RlbC52aWV3TW9kZWxcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tib3gudmFsdWVcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHdyaXRlVmFsdWVUb0NvbnRyb2xBbmRNb2RlbCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IGlzRGVmaW5lZCA9IHZhbHVlICE9PSB1bmRlZmluZWRcblxuICAgIHRoaXMuY2hlY2tib3gudmFsdWUgPSBpc0RlZmluZWQgPyBTdHJpbmcodmFsdWUpIDogdW5kZWZpbmVkXG4gICAgdGhpcy5jaGVja2JveC5jaGVja2VkID0gISF2YWx1ZVxuICAgIHRoaXMuY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9ICFpc0RlZmluZWRcbiAgICB0aGlzLnVwZGF0ZU1vZGVsSWZQcmVzZW50KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVNb2RlbElmUHJlc2VudCh2YWw6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nTW9kZWwgIT09IG51bGwgJiYgdGhpcy5uZ01vZGVsLnZpZXdNb2RlbCAhPT0gdmFsKSB7XG4gICAgICB0aGlzLm5nTW9kZWwuY29udHJvbC5zZXRWYWx1ZSh2YWwsIHtcbiAgICAgICAgb25seVNlbGY6IGZhbHNlLFxuICAgICAgICBlbWl0RXZlbnQ6IHRydWUsXG4gICAgICAgIGVtaXRNb2RlbFRvVmlld0NoYW5nZTogdHJ1ZSxcbiAgICAgICAgZW1pdFZpZXdUb01vZGVsQ2hhbmdlOiB0cnVlLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/components/forms/directives/checkbox/elder-triple-state-checkbox.directive.mjs
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
3
|
+
import { ElderTripleStateCheckboxController } from './elder-triple-state-checkbox-controller';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/checkbox";
|
|
6
|
+
import * as i2 from "@angular/forms";
|
|
7
|
+
export class ElderTripleStateCheckboxDirective {
|
|
8
|
+
/***************************************************************************
|
|
9
|
+
* *
|
|
10
|
+
* Constructor *
|
|
11
|
+
* *
|
|
12
|
+
**************************************************************************/
|
|
13
|
+
constructor(checkbox, ngModel) {
|
|
14
|
+
this.checkbox = checkbox;
|
|
15
|
+
/***************************************************************************
|
|
16
|
+
* *
|
|
17
|
+
* Fields *
|
|
18
|
+
* *
|
|
19
|
+
**************************************************************************/
|
|
20
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
21
|
+
this.controller = new ElderTripleStateCheckboxController(checkbox, ngModel);
|
|
22
|
+
}
|
|
23
|
+
/***************************************************************************
|
|
24
|
+
* *
|
|
25
|
+
* Life Cycle *
|
|
26
|
+
* *
|
|
27
|
+
**************************************************************************/
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.controller.writeState(this.controller.readState());
|
|
30
|
+
this.checkbox.registerOnChange(() => this.toggleNextState());
|
|
31
|
+
}
|
|
32
|
+
/***************************************************************************
|
|
33
|
+
* *
|
|
34
|
+
* Public API *
|
|
35
|
+
* *
|
|
36
|
+
**************************************************************************/
|
|
37
|
+
toggleNextState() {
|
|
38
|
+
this.controller.toggleNextState();
|
|
39
|
+
}
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1.MatCheckbox }, { token: i2.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: ElderTripleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderTripleStateCheckbox]", ngImport: i0 }); }
|
|
42
|
+
}
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTripleStateCheckboxDirective, decorators: [{
|
|
44
|
+
type: Directive,
|
|
45
|
+
args: [{
|
|
46
|
+
selector: 'mat-checkbox[elderTripleStateCheckbox]',
|
|
47
|
+
standalone: true,
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.MatCheckbox }, { type: i2.NgModel }] });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdHJpcGxlLXN0YXRlLWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvZGlyZWN0aXZlcy9jaGVja2JveC9lbGRlci10cmlwbGUtc3RhdGUtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFBO0FBSTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVwRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7OztBQU03RixNQUFNLE9BQU8saUNBQWlDO0lBVTVDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixRQUFxQixFQUN0QyxPQUFnQjtRQURDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFoQnhDOzs7O29GQUk0RTtRQUUzRCxRQUFHLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBYW5FLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDbkMsQ0FBQzs4R0ExQ1UsaUNBQWlDO2tHQUFqQyxpQ0FBaUM7OzJGQUFqQyxpQ0FBaUM7a0JBSjdDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdENoZWNrYm94IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBQYXJzZVV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdXRpbHMvcGFyc2UtdXRpbCdcbmltcG9ydCB7IExvZ2dlckZhY3RvcnkgfSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcidcbmltcG9ydCB7IFVucmVhY2hhYmxlQ2FzZUVycm9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2V4Y2VwdGlvbnMvdW5yZWFjaGFibGUtY2FzZS1lcnJvcidcbmltcG9ydCB7IEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveENvbnRyb2xsZXIgfSBmcm9tICcuL2VsZGVyLXRyaXBsZS1zdGF0ZS1jaGVja2JveC1jb250cm9sbGVyJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdtYXQtY2hlY2tib3hbZWxkZXJUcmlwbGVTdGF0ZUNoZWNrYm94XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xsZXI6IEVsZGVyVHJpcGxlU3RhdGVDaGVja2JveENvbnRyb2xsZXJcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoZWNrYm94OiBNYXRDaGVja2JveCxcbiAgICBuZ01vZGVsOiBOZ01vZGVsXG4gICkge1xuICAgIHRoaXMuY29udHJvbGxlciA9IG5ldyBFbGRlclRyaXBsZVN0YXRlQ2hlY2tib3hDb250cm9sbGVyKGNoZWNrYm94LCBuZ01vZGVsKVxuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbGxlci53cml0ZVN0YXRlKHRoaXMuY29udHJvbGxlci5yZWFkU3RhdGUoKSlcbiAgICB0aGlzLmNoZWNrYm94LnJlZ2lzdGVyT25DaGFuZ2UoKCkgPT4gdGhpcy50b2dnbGVOZXh0U3RhdGUoKSlcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyB0b2dnbGVOZXh0U3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sbGVyLnRvZ2dsZU5leHRTdGF0ZSgpXG4gIH1cbn1cbiJdfQ==
|