@kms-ngx-ui/presentational 16.12.8 → 16.12.10
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/ui/dropdown-from-data/dropdown-from-data.component.mjs +37 -7
- package/esm2022/lib/ui/slide-toggle/slide-toggle.component.mjs +6 -3
- package/fesm2022/kms-ngx-ui-presentational.mjs +37 -5
- package/fesm2022/kms-ngx-ui-presentational.mjs.map +1 -1
- package/lib/ui/dropdown-from-data/dropdown-from-data.component.d.ts +10 -2
- package/lib/ui/slide-toggle/slide-toggle.component.d.ts +1 -0
- package/package.json +1 -1
- package/src/lib/ui/dropdown-from-data/dropdown-from-data.component.scss +36 -0
- package/src/styles/styles.scss +2 -0
|
@@ -5,9 +5,10 @@ import { FormControlParentComponent } from '../../parent-components/form-control
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/forms";
|
|
7
7
|
import * as i2 from "@angular/common";
|
|
8
|
-
import * as i3 from "@angular/material/
|
|
9
|
-
import * as i4 from "@angular/material/
|
|
10
|
-
import * as i5 from "@angular/material/
|
|
8
|
+
import * as i3 from "@angular/material/checkbox";
|
|
9
|
+
import * as i4 from "@angular/material/form-field";
|
|
10
|
+
import * as i5 from "@angular/material/select";
|
|
11
|
+
import * as i6 from "@angular/material/core";
|
|
11
12
|
/**
|
|
12
13
|
* Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}
|
|
13
14
|
*/
|
|
@@ -120,14 +121,41 @@ export class DropdownFromDataComponent extends FormControlParentComponent {
|
|
|
120
121
|
});
|
|
121
122
|
this.onSelectItemEmitter.emit(value);
|
|
122
123
|
}
|
|
124
|
+
setDisabledState(isDisabled) {
|
|
125
|
+
this.disabled = isDisabled;
|
|
126
|
+
}
|
|
127
|
+
get selectedElements() {
|
|
128
|
+
return this.form.controls.dropdownData;
|
|
129
|
+
}
|
|
130
|
+
allElementsChecked() {
|
|
131
|
+
return (this.values && this.selectedElements?.value?.length === this.values.length);
|
|
132
|
+
}
|
|
133
|
+
isCheckboxIndeterminate() {
|
|
134
|
+
return Boolean(this.values &&
|
|
135
|
+
this.selectedElements?.value?.length < this.values.length &&
|
|
136
|
+
this.selectedElements?.value?.length !== 0);
|
|
137
|
+
}
|
|
138
|
+
toggleAllSelection(change) {
|
|
139
|
+
if (change.checked) {
|
|
140
|
+
this.checkAllFilters();
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
this.form.controls.dropdownData.setValue([]);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
checkAllFilters() {
|
|
147
|
+
if (this.values) {
|
|
148
|
+
this.form.controls.dropdownData.setValue(this.values);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
123
151
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownFromDataComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownFromDataComponent, selector: "kms-dropdown-from-data", inputs: { optionsEnum: "optionsEnum", optionsPlainArray: "optionsPlainArray", optionsObjArray: "optionsObjArray", mapKey: "mapKey", mapValue: "mapValue", hasNullOption: "hasNullOption", preselectedKeys: "preselectedKeys", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple", control: "control" }, providers: [
|
|
152
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownFromDataComponent, selector: "kms-dropdown-from-data", inputs: { optionsEnum: "optionsEnum", optionsPlainArray: "optionsPlainArray", optionsObjArray: "optionsObjArray", mapKey: "mapKey", mapValue: "mapValue", hasNullOption: "hasNullOption", preselectedKeys: "preselectedKeys", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple", control: "control", selectAllText: "selectAllText" }, providers: [
|
|
125
153
|
{
|
|
126
154
|
provide: NG_VALUE_ACCESSOR,
|
|
127
155
|
useExisting: forwardRef(() => DropdownFromDataComponent),
|
|
128
156
|
multi: true,
|
|
129
157
|
},
|
|
130
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type:
|
|
158
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <ng-container *ngIf=\"selectAllText\">\n <mat-checkbox\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n </ng-container>\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }] }); }
|
|
131
159
|
}
|
|
132
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownFromDataComponent, decorators: [{
|
|
133
161
|
type: Component,
|
|
@@ -137,7 +165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
137
165
|
useExisting: forwardRef(() => DropdownFromDataComponent),
|
|
138
166
|
multi: true,
|
|
139
167
|
},
|
|
140
|
-
], template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n" }]
|
|
168
|
+
], template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <ng-container *ngIf=\"selectAllText\">\n <mat-checkbox\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n </ng-container>\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n" }]
|
|
141
169
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Renderer2 }]; }, propDecorators: { optionsEnum: [{
|
|
142
170
|
type: Input
|
|
143
171
|
}], optionsPlainArray: [{
|
|
@@ -166,5 +194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
166
194
|
type: Input
|
|
167
195
|
}], control: [{
|
|
168
196
|
type: Input
|
|
197
|
+
}], selectAllText: [{
|
|
198
|
+
type: Input
|
|
169
199
|
}] } });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7O0FBRTVGOztHQUVHO0FBWUgsTUFBTSxPQUFPLHlCQUNYLFNBQVEsMEJBQTBCO0lBdUNsQyxZQUNTLFdBQStCLEVBQy9CLFFBQW1CO1FBRTFCLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUF6QjVCLDJFQUEyRTtRQUNsRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQU90QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFckMscUJBQXFCO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FB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QkFBaEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVudW1WYWx1ZXMgfSBmcm9tICdlbnVtLXZhbHVlcy9zcmMvZW51bVZhbHVlcyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFBhcmVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcmVudC1jb21wb25lbnRzL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuXG4vKipcbiAqIERyb3Bkb3duIGZyb20gZGF0YSBjb21wb25lbnQge0BsaW5rIGh0dHBzOi8vbGVhc2VwbGFuLWRldi5yZW50b2ZmaWNlLmRlL3N0eWxlZ3VpZGUjdWktZWxlbWVudHN9XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ttcy1kcm9wZG93bi1mcm9tLWRhdGEnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEcm9wZG93bkZyb21EYXRhQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRnJvbURhdGFDb21wb25lbnRcbiAgZXh0ZW5kcyBGb3JtQ29udHJvbFBhcmVudENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlc1xue1xuICAvLyBzdHJ1Y3R1cmVkIGRhdGEgYXMgYSBlbnVtIHNldC4gQ2FuIGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCAnb3B0aW9uc1BsYWluQXJyYXknIHRvIHNldCBkaWZlcmVudCB2YWx1ZXMgYnkgaW5kZXhcbiAgQElucHV0KCkgb3B0aW9uc0VudW06IGFueTtcblxuICAvLyBzdHJ1Y3R1cmVkIGRhdGEgYXMgYSBzaW1wbGUgYXJyYXkgb2YgZWxlbWVudHNcbiAgQElucHV0KCkgb3B0aW9uc1BsYWluQXJyYXk6IGFueTtcblxuICAvLyBzdHJ1Y3R1cmVkIGRhdGEgYXMgYW4gYXJyYXkgb2Ygb2JqZWN0cyB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIGlucHV0ICdtYXBLZXknIGFuZCAnbWFwVmFsdWUnXG4gIEBJbnB1dCgpIG9wdGlvbnNPYmpBcnJheTogYW55O1xuICAvLyBrZXkgaWRlbnRpZmllciBvZiB0aGUgb2JqLiBJZiBtYXBWYWx1ZSBkb2VzbnQgZXhpc3QsIG1hcEtleSBpcyBhbHNvIHRoZSB2YWx1ZVxuICBASW5wdXQoKSBtYXBLZXk/OiBhbnk7XG4gIC8vIHZhbHVlIGlkZW50aWZpZXIgb2YgdGhlIG9ialxuICBASW5wdXQoKSBtYXBWYWx1ZT86IGFueTtcblxuICAvLyBvcHRpb25zIGZvciB0aGUgZHJvcGRvd24gaGF2ZSBhIG51bGwgdmFsdWUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYXJyYXlcbiAgQElucHV0KCkgaGFzTnVsbE9wdGlvbiA9IGZhbHNlO1xuXG4gIC8vIHByZXNlbGVjdGVkIGtleXMgb2YgdGhlIGRyb3Bkb3duXG4gIEBJbnB1dCgpIHByZXNlbGVjdGVkS2V5czogYW55O1xuXG4gIC8vIHRyYW5zbGF0aW9uIG9iamVjdCBmb3IgdGhlIGxhYmVsIGFuZCBwbGFjZWhvbGRlclxuICBASW5wdXQoKSB0cmFuc2xhdGlvbj86IElUcmFuc2xhdGlvbjtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgdXNlRW51bUluZGV4QXNWYWx1ZSA9IGZhbHNlO1xuXG4gIC8vIG11bHRpcGxlIHNlbGVjdGlvblxuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHVibGljIGtleXM6IGFueVtdID0gW107XG4gIHB1YmxpYyB2YWx1ZXM6IGFueVtdID0gW107XG5cbiAgT2JqZWN0ID0gT2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIHN1cGVyKGZvcm1CdWlsZGVyLCByZW5kZXJlcik7XG4gIH1cblxuICAvKipcbiAgICogSG9vayB1c2VkIHRvIHN5bmMgY2hhbmdlcyBvbiBzZXQgTGFiZWwgYW5kIFR5cGVcbiAgICogQHBhcmFtIGNoYW5nZXNcbiAgICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlcy5vcHRpb25zUGxhaW5BcnJheSkge1xuICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLm9wdGlvbnNQbGFpbkFycmF5O1xuICAgICAgdGhpcy5rZXlzID0gdGhpcy5vcHRpb25zUGxhaW5BcnJheTtcbiAgICB9XG4gICAgdGhpcy5zZXRLZXlWYWx1ZXMoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgZHJvcGRvd25EYXRhOiBbXSxcbiAgICB9KTtcbiAgICB0aGlzLmZvcm1Jbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlLmRyb3Bkb3duRGF0YTtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUuZHJvcGRvd25EYXRhKTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnByZXNlbGVjdGVkS2V5cylcbiAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgZHJvcGRvd25EYXRhOiB0aGlzLnByZXNlbGVjdGVkS2V5cyxcbiAgICAgIH0pO1xuXG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB0cmFuc29mcm1zIHRoZSBkYXRhIHZhbHVlcyB0byB0aGUgY29ycmVjdCBmb3JtYXQgZm9yIGJlIHVzZWQgYnkgdGhlIHRlbXBsYXRlXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXRLZXlWYWx1ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9uc09iakFycmF5ICYmIHRoaXMubWFwS2V5ICYmIHRoaXMubWFwVmFsdWUpIHtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcCgob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcEtleX1gXSk7XG4gICAgICB0aGlzLnZhbHVlcyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcChcbiAgICAgICAgKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBWYWx1ZX1gXVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9uc09iakFycmF5ICYmIHRoaXMubWFwS2V5KSB7XG4gICAgICB0aGlzLmtleXMgPSB0aGlzLm9wdGlvbnNPYmpBcnJheS5tYXAoKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBLZXl9YF0pO1xuICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLm9wdGlvbnNPYmpBcnJheS5tYXAoXG4gICAgICAgIChvYmo6IGFueSkgPT4gb2JqW2Ake3RoaXMubWFwS2V5fWBdXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zRW51bSkge1xuICAgICAgdGhpcy5rZXlzID0gRW51bVZhbHVlcy5nZXROYW1lcyh0aGlzLm9wdGlvbnNFbnVtKTtcbiAgICAgIGlmICh0aGlzLm9wdGlvbnNQbGFpbkFycmF5KSB7XG4gICAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zUGxhaW5BcnJheTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IEVudW1WYWx1ZXMuZ2V0VmFsdWVzKHRoaXMub3B0aW9uc0VudW0pO1xuXG4gICAgICAgIC8vIHZhciB3aG8gZGVmaW5lcyBpZiBlbnVtIGlzIGNvbXBvbmVkIGp1c3Qgd2l0aCBrZXlzIG9yIGtleVZhbHVlcy4gRS5nIGVudW0gS2V5RW51bSB7IFZBTFVFMSwgVkFMVUUyIH0gb3IgZW51bSBLZXlWYWx1ZUVudW0geyBWQUxVRTQgPSAnVjQnLCBWQUxVRTUgPSAnVjUnIH1cbiAgICAgICAgbGV0IGtleVZhbHVlRW51bSA9IGZhbHNlO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5rZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKGkgIT09IHZhbHVlc1tpXSkge1xuICAgICAgICAgICAga2V5VmFsdWVFbnVtID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleVZhbHVlRW51bSB8fCB0aGlzLnVzZUVudW1JbmRleEFzVmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZhbHVlcyA9IEVudW1WYWx1ZXMuZ2V0TmFtZXModGhpcy5vcHRpb25zRW51bSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzTnVsbE9wdGlvbiA9PT0gdHJ1ZSkgdGhpcy5rZXlzLnVuc2hpZnQobnVsbCk7XG4gICAgaWYgKHRoaXMuaGFzTnVsbE9wdGlvbiA9PT0gdHJ1ZSkgdGhpcy52YWx1ZXMudW5zaGlmdChudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBzZXQgdGhlIHZhbHVlIG9mIHRoZSBkcm9wZG93biBiYXNlZCBpZiB0cmFuc2xhdGlvbiBpcyBzZXRcbiAgICogQHBhcmFtIGtleVxuICAgKi9cbiAgcHVibGljIHNldERpc3BsYXlLZXkoa2V5OiBhbnkpIHtcbiAgICBpZiAodGhpcy50cmFuc2xhdGlvbikge1xuICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb24uaXNQcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uc2VydmljZT8uaW5zdGFudD8uKFxuICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24ucGF0aCArICcuJyArIGtleVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRyYW5zbGF0aW9uLnVzZUtleUFzVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uc2VydmljZT8uaW5zdGFudD8uKHRoaXMudHJhbnNsYXRpb24ucGF0aCwge1xuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLnNlcnZpY2U/Lmluc3RhbnQ/Lih0aGlzLnRyYW5zbGF0aW9uLnBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ga2V5O1xuICB9XG5cbiAgdmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBkcm9wZG93bkRhdGE6IHZhbHVlLFxuICAgIH0pO1xuICAgIHRoaXMub25TZWxlY3RJdGVtRW1pdHRlci5lbWl0KHZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSB0aGF0IGRlZmluZXMgdGhlIHRyYW5zbGF0aW9uIG9iamVjdCBpbiB0ZW1wbGF0ZVxuICovXG5pbnRlcmZhY2UgSVRyYW5zbGF0aW9uIHtcbiAgcGF0aDogc3RyaW5nO1xuICBpc1ByZWZpeD86IGJvb2xlYW47XG4gIHVzZUtleUFzVmFsdWU/OiBib29sZWFuO1xuICBzZXJ2aWNlOiBhbnk7XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtmbG9hdExhYmVsXT1cInBsYWNlaG9sZGVyID8gJ2Fsd2F5cycgOiAnYXV0bydcIlxuICA+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCJcbiAgICAgIGRpc2FibGVPcHRpb25DZW50ZXJpbmdcbiAgICAgIFsodmFsdWUpXT1cImNvbnRyb2w/LnZhbHVlID8gY29udHJvbC52YWx1ZSA6IHZhbHVlXCJcbiAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwidmFsdWVDaGFuZ2VkKCRldmVudD8udmFsdWUpXCJcbiAgICAgICNjaGlsZFxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGtleSBvZiBrZXlzOyBsZXQgaSA9IGluZGV4XCIgW3ZhbHVlXT1cInZhbHVlc1tpXVwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIihoYXNOdWxsT3B0aW9uICYmIGkgIT0gMCkgfHwgIWhhc051bGxPcHRpb25cIj57e1xuICAgICAgICAgIHNldERpc3BsYXlLZXkoa2V5KVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1zZWxlY3Q+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Zvcm0+XG4iXX0=
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7OztBQUc1Rjs7R0FFRztBQVlILE1BQU0sT0FBTyx5QkFDWCxTQUFRLDBCQUEwQjtJQXdDbEMsWUFDUyxXQUErQixFQUMvQixRQUFtQjtRQUUxQixLQUFLLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSHRCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBMUI1QiwyRUFBMkU7UUFDbEUsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFPdEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRXJDLHFCQUFxQjtRQUNaLGFBQVEsR0FBRyxLQUFLLENB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IGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1BcnJheSxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRW51bVZhbHVlcyB9IGZyb20gJ2VudW0tdmFsdWVzL3NyYy9lbnVtVmFsdWVzJztcbmltcG9ydCB7IEZvcm1Db250cm9sUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGFyZW50LWNvbXBvbmVudHMvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcblxuLyoqXG4gKiBEcm9wZG93biBmcm9tIGRhdGEgY29tcG9uZW50IHtAbGluayBodHRwczovL2xlYXNlcGxhbi1kZXYucmVudG9mZmljZS5kZS9zdHlsZWd1aWRlI3VpLWVsZW1lbnRzfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrbXMtZHJvcGRvd24tZnJvbS1kYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZyb20tZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25Gcm9tRGF0YUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZyb21EYXRhQ29tcG9uZW50XG4gIGV4dGVuZHMgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXNcbntcbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgZW51bSBzZXQuIENhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggJ29wdGlvbnNQbGFpbkFycmF5JyB0byBzZXQgZGlmZXJlbnQgdmFsdWVzIGJ5IGluZGV4XG4gIEBJbnB1dCgpIG9wdGlvbnNFbnVtOiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgc2ltcGxlIGFycmF5IG9mIGVsZW1lbnRzXG4gIEBJbnB1dCgpIG9wdGlvbnNQbGFpbkFycmF5OiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGFuIGFycmF5IG9mIG9iamVjdHMgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBpbnB1dCAnbWFwS2V5JyBhbmQgJ21hcFZhbHVlJ1xuICBASW5wdXQoKSBvcHRpb25zT2JqQXJyYXk6IGFueTtcbiAgLy8ga2V5IGlkZW50aWZpZXIgb2YgdGhlIG9iai4gSWYgbWFwVmFsdWUgZG9lc250IGV4aXN0LCBtYXBLZXkgaXMgYWxzbyB0aGUgdmFsdWVcbiAgQElucHV0KCkgbWFwS2V5PzogYW55O1xuICAvLyB2YWx1ZSBpZGVudGlmaWVyIG9mIHRoZSBvYmpcbiAgQElucHV0KCkgbWFwVmFsdWU/OiBhbnk7XG5cbiAgLy8gb3B0aW9ucyBmb3IgdGhlIGRyb3Bkb3duIGhhdmUgYSBudWxsIHZhbHVlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gIEBJbnB1dCgpIGhhc051bGxPcHRpb24gPSBmYWxzZTtcblxuICAvLyBwcmVzZWxlY3RlZCBrZXlzIG9mIHRoZSBkcm9wZG93blxuICBASW5wdXQoKSBwcmVzZWxlY3RlZEtleXM6IGFueTtcblxuICAvLyB0cmFuc2xhdGlvbiBvYmplY3QgZm9yIHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXJcbiAgQElucHV0KCkgdHJhbnNsYXRpb24/OiBJVHJhbnNsYXRpb247XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUVudW1JbmRleEFzVmFsdWUgPSBmYWxzZTtcblxuICAvLyBtdWx0aXBsZSBzZWxlY3Rpb25cbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb250cm9sPzogQWJzdHJhY3RDb250cm9sO1xuICBASW5wdXQoKSBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xuXG4gIHB1YmxpYyBrZXlzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdmFsdWVzOiBhbnlbXSA9IFtdO1xuXG4gIE9iamVjdCA9IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlciwgcmVuZGVyZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2sgdXNlZCB0byBzeW5jIGNoYW5nZXMgb24gc2V0IExhYmVsIGFuZCBUeXBlXG4gICAqIEBwYXJhbSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMub3B0aW9uc1BsYWluQXJyYXkpIHtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zUGxhaW5BcnJheTtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc1BsYWluQXJyYXk7XG4gICAgfVxuICAgIHRoaXMuc2V0S2V5VmFsdWVzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGRyb3Bkb3duRGF0YTogW10sXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZS5kcm9wZG93bkRhdGE7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlLmRyb3Bkb3duRGF0YSk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wcmVzZWxlY3RlZEtleXMpXG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIGRyb3Bkb3duRGF0YTogdGhpcy5wcmVzZWxlY3RlZEtleXMsXG4gICAgICB9KTtcblxuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxuICAvKipcbiAgICogdHJhbnNvZnJtcyB0aGUgZGF0YSB2YWx1ZXMgdG8gdGhlIGNvcnJlY3QgZm9ybWF0IGZvciBiZSB1c2VkIGJ5IHRoZSB0ZW1wbGF0ZVxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIHByaXZhdGUgc2V0S2V5VmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wdGlvbnNPYmpBcnJheSAmJiB0aGlzLm1hcEtleSAmJiB0aGlzLm1hcFZhbHVlKSB7XG4gICAgICB0aGlzLmtleXMgPSB0aGlzLm9wdGlvbnNPYmpBcnJheS5tYXAoKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBLZXl9YF0pO1xuICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLm9wdGlvbnNPYmpBcnJheS5tYXAoXG4gICAgICAgIChvYmo6IGFueSkgPT4gb2JqW2Ake3RoaXMubWFwVmFsdWV9YF1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnNPYmpBcnJheSAmJiB0aGlzLm1hcEtleSkge1xuICAgICAgdGhpcy5rZXlzID0gdGhpcy5vcHRpb25zT2JqQXJyYXkubWFwKChvYmo6IGFueSkgPT4gb2JqW2Ake3RoaXMubWFwS2V5fWBdKTtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zT2JqQXJyYXkubWFwKFxuICAgICAgICAob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcEtleX1gXVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMub3B0aW9uc0VudW0pIHtcbiAgICAgIHRoaXMua2V5cyA9IEVudW1WYWx1ZXMuZ2V0TmFtZXModGhpcy5vcHRpb25zRW51bSk7XG4gICAgICBpZiAodGhpcy5vcHRpb25zUGxhaW5BcnJheSkge1xuICAgICAgICB0aGlzLnZhbHVlcyA9IHRoaXMub3B0aW9uc1BsYWluQXJyYXk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBFbnVtVmFsdWVzLmdldFZhbHVlcyh0aGlzLm9wdGlvbnNFbnVtKTtcblxuICAgICAgICAvLyB2YXIgd2hvIGRlZmluZXMgaWYgZW51bSBpcyBjb21wb25lZCBqdXN0IHdpdGgga2V5cyBvciBrZXlWYWx1ZXMuIEUuZyBlbnVtIEtleUVudW0geyBWQUxVRTEsIFZBTFVFMiB9IG9yIGVudW0gS2V5VmFsdWVFbnVtIHsgVkFMVUU0ID0gJ1Y0JywgVkFMVUU1ID0gJ1Y1JyB9XG4gICAgICAgIGxldCBrZXlWYWx1ZUVudW0gPSBmYWxzZTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMua2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChpICE9PSB2YWx1ZXNbaV0pIHtcbiAgICAgICAgICAgIGtleVZhbHVlRW51bSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChrZXlWYWx1ZUVudW0gfHwgdGhpcy51c2VFbnVtSW5kZXhBc1ZhbHVlKSB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52YWx1ZXMgPSBFbnVtVmFsdWVzLmdldE5hbWVzKHRoaXMub3B0aW9uc0VudW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc051bGxPcHRpb24gPT09IHRydWUpIHRoaXMua2V5cy51bnNoaWZ0KG51bGwpO1xuICAgIGlmICh0aGlzLmhhc051bGxPcHRpb24gPT09IHRydWUpIHRoaXMudmFsdWVzLnVuc2hpZnQobnVsbCk7XG4gIH1cblxuICAvKipcbiAgICogc2V0IHRoZSB2YWx1ZSBvZiB0aGUgZHJvcGRvd24gYmFzZWQgaWYgdHJhbnNsYXRpb24gaXMgc2V0XG4gICAqIEBwYXJhbSBrZXlcbiAgICovXG4gIHB1YmxpYyBzZXREaXNwbGF5S2V5KGtleTogYW55KSB7XG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb24pIHtcbiAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uLmlzUHJlZml4KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLnNlcnZpY2U/Lmluc3RhbnQ/LihcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnBhdGggKyAnLicgKyBrZXlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50cmFuc2xhdGlvbi51c2VLZXlBc1ZhbHVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLnNlcnZpY2U/Lmluc3RhbnQ/Lih0aGlzLnRyYW5zbGF0aW9uLnBhdGgsIHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5zZXJ2aWNlPy5pbnN0YW50Py4odGhpcy50cmFuc2xhdGlvbi5wYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuXG4gIHZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgZHJvcGRvd25EYXRhOiB2YWx1ZSxcbiAgICB9KTtcbiAgICB0aGlzLm9uU2VsZWN0SXRlbUVtaXR0ZXIuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZEVsZW1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHMuZHJvcGRvd25EYXRhIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGFsbEVsZW1lbnRzQ2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy52YWx1ZXMgJiYgdGhpcy5zZWxlY3RlZEVsZW1lbnRzPy52YWx1ZT8ubGVuZ3RoID09PSB0aGlzLnZhbHVlcy5sZW5ndGhcbiAgICApO1xuICB9XG5cbiAgaXNDaGVja2JveEluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICB0aGlzLnZhbHVlcyAmJlxuICAgICAgICB0aGlzLnNlbGVjdGVkRWxlbWVudHM/LnZhbHVlPy5sZW5ndGggPCB0aGlzLnZhbHVlcy5sZW5ndGggJiZcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnRzPy52YWx1ZT8ubGVuZ3RoICE9PSAwXG4gICAgKTtcbiAgfVxuXG4gIHRvZ2dsZUFsbFNlbGVjdGlvbihjaGFuZ2U6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZS5jaGVja2VkKSB7XG4gICAgICB0aGlzLmNoZWNrQWxsRmlsdGVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuZHJvcGRvd25EYXRhLnNldFZhbHVlKFtdKTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FsbEZpbHRlcnMoKSB7XG4gICAgaWYgKHRoaXMudmFsdWVzKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuZHJvcGRvd25EYXRhLnNldFZhbHVlKHRoaXMudmFsdWVzKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgdGhhdCBkZWZpbmVzIHRoZSB0cmFuc2xhdGlvbiBvYmplY3QgaW4gdGVtcGxhdGVcbiAqL1xuaW50ZXJmYWNlIElUcmFuc2xhdGlvbiB7XG4gIHBhdGg6IHN0cmluZztcbiAgaXNQcmVmaXg/OiBib29sZWFuO1xuICB1c2VLZXlBc1ZhbHVlPzogYm9vbGVhbjtcbiAgc2VydmljZTogYW55O1xufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbZmxvYXRMYWJlbF09XCJwbGFjZWhvbGRlciA/ICdhbHdheXMnIDogJ2F1dG8nXCJcbiAgPlxuICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB9fVwiXG4gICAgICBkaXNhYmxlT3B0aW9uQ2VudGVyaW5nXG4gICAgICBbKHZhbHVlKV09XCJjb250cm9sPy52YWx1ZSA/IGNvbnRyb2wudmFsdWUgOiB2YWx1ZVwiXG4gICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInZhbHVlQ2hhbmdlZCgkZXZlbnQ/LnZhbHVlKVwiXG4gICAgICAjY2hpbGRcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RBbGxUZXh0XCI+XG4gICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1mcm9tLWRhdGFfX2NoZWNrYm94XCJcbiAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpc0NoZWNrYm94SW5kZXRlcm1pbmF0ZSgpXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCJhbGxFbGVtZW50c0NoZWNrZWQoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVBbGxTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBzZWxlY3RBbGxUZXh0IH19XG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQga2V5IG9mIGtleXM7IGxldCBpID0gaW5kZXhcIiBbdmFsdWVdPVwidmFsdWVzW2ldXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiKGhhc051bGxPcHRpb24gJiYgaSAhPSAwKSB8fCAhaGFzTnVsbE9wdGlvblwiPnt7XG4gICAgICAgICAgc2V0RGlzcGxheUtleShrZXkpXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -37,6 +37,9 @@ export class SlideToggleComponent {
|
|
|
37
37
|
emitOnChange($event) {
|
|
38
38
|
this.change.emit($event.checked);
|
|
39
39
|
}
|
|
40
|
+
setDisabledState(isDisabled) {
|
|
41
|
+
this.disabled = isDisabled;
|
|
42
|
+
}
|
|
40
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlideToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
44
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SlideToggleComponent, selector: "kms-slide-toggle", inputs: { leftLabel: "leftLabel", rightLabel: "rightLabel", checked: "checked", disabled: "disabled", name: "name" }, outputs: { change: "change" }, providers: [
|
|
42
45
|
{
|
|
@@ -44,7 +47,7 @@ export class SlideToggleComponent {
|
|
|
44
47
|
useExisting: forwardRef(() => SlideToggleComponent),
|
|
45
48
|
multi: true,
|
|
46
49
|
},
|
|
47
|
-
], ngImport: i0, template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"
|
|
50
|
+
], ngImport: i0, template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n <mat-label\n *ngIf=\"rightLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }] }); }
|
|
48
51
|
}
|
|
49
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlideToggleComponent, decorators: [{
|
|
50
53
|
type: Component,
|
|
@@ -54,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
54
57
|
useExisting: forwardRef(() => SlideToggleComponent),
|
|
55
58
|
multi: true,
|
|
56
59
|
},
|
|
57
|
-
], template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"
|
|
60
|
+
], template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n <mat-label\n *ngIf=\"rightLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n</div>\n" }]
|
|
58
61
|
}], propDecorators: { leftLabel: [{
|
|
59
62
|
type: Input
|
|
60
63
|
}], rightLabel: [{
|
|
@@ -68,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
68
71
|
}], change: [{
|
|
69
72
|
type: Output
|
|
70
73
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFlekUsTUFBTSxPQUFPLG9CQUFvQjtJQVpqQztRQWVXLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEMsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBK0J6QjtJQTdCQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQTRCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQzsrR0ExQ1Usb0JBQW9CO21HQUFwQixvQkFBb0IsZ01BUnBCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3hCSCx3a0JBcUJBOzs0RkRLYSxvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDOzRCQUNuRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFHUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBLTVMgR21iSFxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna21zLXNsaWRlLXRvZ2dsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZS10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZS10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlkZVRvZ2dsZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTbGlkZVRvZ2dsZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQElucHV0KCkgbGVmdExhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSByaWdodExhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBjaGVja2VkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbmFtZSA9ICcnO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gIGdldCB2YWx1ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2VkO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGVja2VkID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoKHZhbHVlKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIGVtaXRPbkNoYW5nZSgkZXZlbnQ6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlKSB7XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCgkZXZlbnQuY2hlY2tlZCk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImttcy1zbGlkZS10b2dnbGVcIj5cbiAgPG1hdC1sYWJlbFxuICAgICpuZ0lmPVwibGVmdExhYmVsXCJcbiAgICBjbGFzcz1cImttcy1zbGlkZS10b2dnbGVfX2xhYmVsXCJcbiAgICBbY2xhc3Mua21zLXNsaWRlLXRvZ2dsZV9fbGFiZWwtLWJvbGRdPVwicmlnaHRMYWJlbCAmJiAhY2hlY2tlZFwiXG4gICAgPnt7IGxlZnRMYWJlbCB9fTwvbWF0LWxhYmVsXG4gID5cbiAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtoaWRlSWNvbl09XCJ0cnVlXCJcbiAgICAoY2hhbmdlKT1cImVtaXRPbkNoYW5nZSgkZXZlbnQpXCJcbiAgLz5cbiAgPG1hdC1sYWJlbFxuICAgICpuZ0lmPVwicmlnaHRMYWJlbFwiXG4gICAgY2xhc3M9XCJrbXMtc2xpZGUtdG9nZ2xlX19sYWJlbFwiXG4gICAgW2NsYXNzLmttcy1zbGlkZS10b2dnbGVfX2xhYmVsLS1ib2xkXT1cImxlZnRMYWJlbCAmJiBjaGVja2VkXCJcbiAgICA+e3sgcmlnaHRMYWJlbCB9fTwvbWF0LWxhYmVsXG4gID5cbjwvZGl2PlxuIl19
|
|
@@ -2444,14 +2444,41 @@ class DropdownFromDataComponent extends FormControlParentComponent {
|
|
|
2444
2444
|
});
|
|
2445
2445
|
this.onSelectItemEmitter.emit(value);
|
|
2446
2446
|
}
|
|
2447
|
+
setDisabledState(isDisabled) {
|
|
2448
|
+
this.disabled = isDisabled;
|
|
2449
|
+
}
|
|
2450
|
+
get selectedElements() {
|
|
2451
|
+
return this.form.controls.dropdownData;
|
|
2452
|
+
}
|
|
2453
|
+
allElementsChecked() {
|
|
2454
|
+
return (this.values && this.selectedElements?.value?.length === this.values.length);
|
|
2455
|
+
}
|
|
2456
|
+
isCheckboxIndeterminate() {
|
|
2457
|
+
return Boolean(this.values &&
|
|
2458
|
+
this.selectedElements?.value?.length < this.values.length &&
|
|
2459
|
+
this.selectedElements?.value?.length !== 0);
|
|
2460
|
+
}
|
|
2461
|
+
toggleAllSelection(change) {
|
|
2462
|
+
if (change.checked) {
|
|
2463
|
+
this.checkAllFilters();
|
|
2464
|
+
}
|
|
2465
|
+
else {
|
|
2466
|
+
this.form.controls.dropdownData.setValue([]);
|
|
2467
|
+
}
|
|
2468
|
+
}
|
|
2469
|
+
checkAllFilters() {
|
|
2470
|
+
if (this.values) {
|
|
2471
|
+
this.form.controls.dropdownData.setValue(this.values);
|
|
2472
|
+
}
|
|
2473
|
+
}
|
|
2447
2474
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownFromDataComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2448
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownFromDataComponent, selector: "kms-dropdown-from-data", inputs: { optionsEnum: "optionsEnum", optionsPlainArray: "optionsPlainArray", optionsObjArray: "optionsObjArray", mapKey: "mapKey", mapValue: "mapValue", hasNullOption: "hasNullOption", preselectedKeys: "preselectedKeys", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple", control: "control" }, providers: [
|
|
2475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DropdownFromDataComponent, selector: "kms-dropdown-from-data", inputs: { optionsEnum: "optionsEnum", optionsPlainArray: "optionsPlainArray", optionsObjArray: "optionsObjArray", mapKey: "mapKey", mapValue: "mapValue", hasNullOption: "hasNullOption", preselectedKeys: "preselectedKeys", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple", control: "control", selectAllText: "selectAllText" }, providers: [
|
|
2449
2476
|
{
|
|
2450
2477
|
provide: NG_VALUE_ACCESSOR,
|
|
2451
2478
|
useExisting: forwardRef(() => DropdownFromDataComponent),
|
|
2452
2479
|
multi: true,
|
|
2453
2480
|
},
|
|
2454
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i3$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }] }); }
|
|
2481
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <ng-container *ngIf=\"selectAllText\">\n <mat-checkbox\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n </ng-container>\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i3$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4$2.MatOption, selector: "mat-option", exportAs: ["matOption"] }] }); }
|
|
2455
2482
|
}
|
|
2456
2483
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownFromDataComponent, decorators: [{
|
|
2457
2484
|
type: Component,
|
|
@@ -2461,7 +2488,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2461
2488
|
useExisting: forwardRef(() => DropdownFromDataComponent),
|
|
2462
2489
|
multi: true,
|
|
2463
2490
|
},
|
|
2464
|
-
], template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n" }]
|
|
2491
|
+
], template: "<form [formGroup]=\"form\">\n <mat-form-field\n [attr.required]=\"required\"\n [floatLabel]=\"placeholder ? 'always' : 'auto'\"\n >\n <mat-label>{{ label }}</mat-label>\n <mat-select\n placeholder=\"{{ placeholder }}\"\n disableOptionCentering\n [(value)]=\"control?.value ? control.value : value\"\n (selectionChange)=\"valueChanged($event?.value)\"\n #child\n [disabled]=\"disabled\"\n [multiple]=\"multiple\"\n >\n <ng-container *ngIf=\"selectAllText\">\n <mat-checkbox\n color=\"accent\"\n class=\"dropdown-from-data__checkbox\"\n [indeterminate]=\"isCheckboxIndeterminate()\"\n [checked]=\"allElementsChecked()\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"toggleAllSelection($event)\"\n >\n {{ selectAllText }}\n </mat-checkbox>\n </ng-container>\n <mat-option *ngFor=\"let key of keys; let i = index\" [value]=\"values[i]\">\n <span *ngIf=\"(hasNullOption && i != 0) || !hasNullOption\">{{\n setDisplayKey(key)\n }}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n</form>\n" }]
|
|
2465
2492
|
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Renderer2 }]; }, propDecorators: { optionsEnum: [{
|
|
2466
2493
|
type: Input
|
|
2467
2494
|
}], optionsPlainArray: [{
|
|
@@ -2490,6 +2517,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2490
2517
|
type: Input
|
|
2491
2518
|
}], control: [{
|
|
2492
2519
|
type: Input
|
|
2520
|
+
}], selectAllText: [{
|
|
2521
|
+
type: Input
|
|
2493
2522
|
}] } });
|
|
2494
2523
|
|
|
2495
2524
|
/**
|
|
@@ -2691,6 +2720,9 @@ class SlideToggleComponent {
|
|
|
2691
2720
|
emitOnChange($event) {
|
|
2692
2721
|
this.change.emit($event.checked);
|
|
2693
2722
|
}
|
|
2723
|
+
setDisabledState(isDisabled) {
|
|
2724
|
+
this.disabled = isDisabled;
|
|
2725
|
+
}
|
|
2694
2726
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlideToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2695
2727
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SlideToggleComponent, selector: "kms-slide-toggle", inputs: { leftLabel: "leftLabel", rightLabel: "rightLabel", checked: "checked", disabled: "disabled", name: "name" }, outputs: { change: "change" }, providers: [
|
|
2696
2728
|
{
|
|
@@ -2698,7 +2730,7 @@ class SlideToggleComponent {
|
|
|
2698
2730
|
useExisting: forwardRef(() => SlideToggleComponent),
|
|
2699
2731
|
multi: true,
|
|
2700
2732
|
},
|
|
2701
|
-
], ngImport: i0, template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"
|
|
2733
|
+
], ngImport: i0, template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n <mat-label\n *ngIf=\"rightLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }] }); }
|
|
2702
2734
|
}
|
|
2703
2735
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SlideToggleComponent, decorators: [{
|
|
2704
2736
|
type: Component,
|
|
@@ -2708,7 +2740,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2708
2740
|
useExisting: forwardRef(() => SlideToggleComponent),
|
|
2709
2741
|
multi: true,
|
|
2710
2742
|
},
|
|
2711
|
-
], template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"
|
|
2743
|
+
], template: "<div class=\"kms-slide-toggle\">\n <mat-label\n *ngIf=\"leftLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"rightLabel && !checked\"\n >{{ leftLabel }}</mat-label\n >\n <mat-slide-toggle\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [disabled]=\"disabled\"\n [hideIcon]=\"true\"\n (change)=\"emitOnChange($event)\"\n />\n <mat-label\n *ngIf=\"rightLabel\"\n class=\"kms-slide-toggle__label\"\n [class.kms-slide-toggle__label--bold]=\"leftLabel && checked\"\n >{{ rightLabel }}</mat-label\n >\n</div>\n" }]
|
|
2712
2744
|
}], propDecorators: { leftLabel: [{
|
|
2713
2745
|
type: Input
|
|
2714
2746
|
}], rightLabel: [{
|