@kms-ngx-ui/presentational 16.3.2 → 16.3.3
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/kms-ngx-ui-presentational.mjs +5 -0
- package/esm2022/lib/directives/directives.module.mjs +45 -0
- package/esm2022/lib/directives/mousewheel.directive.mjs +56 -0
- package/esm2022/lib/directives/size.directive.mjs +21 -0
- package/esm2022/lib/directives/sum-of-height.directive.mjs +74 -0
- package/esm2022/lib/directives/swipe.directive.mjs +183 -0
- package/esm2022/lib/directives/swipe.model.mjs +5 -0
- package/esm2022/lib/directives/tooltip.directive.mjs +144 -0
- package/esm2022/lib/kms-ngx-ui-presentational.component.mjs +22 -0
- package/esm2022/lib/kms-ngx-ui-presentational.module.mjs +206 -0
- package/esm2022/lib/kms-ngx-ui-presentational.service.mjs +14 -0
- package/esm2022/lib/models/address.model.mjs +6 -0
- package/esm2022/lib/models/iconSize.enum.mjs +17 -0
- package/esm2022/lib/models/image-snippet.model.mjs +18 -0
- package/esm2022/lib/models/index.mjs +5 -0
- package/esm2022/lib/models/is-value.function.mjs +17 -0
- package/esm2022/lib/models/salutation.enum.mjs +8 -0
- package/esm2022/lib/models/types/attached-file-dto.model.mjs +6 -0
- package/esm2022/lib/models/types/nullable.type.mjs +5 -0
- package/esm2022/lib/parent-components/actions.component.mjs +56 -0
- package/esm2022/lib/parent-components/form-control.component.mjs +75 -0
- package/esm2022/lib/parent-components/form.component.mjs +84 -0
- package/esm2022/lib/pipes/custom-pipes.module.mjs +71 -0
- package/esm2022/lib/pipes/decode-uri.pipe.mjs +19 -0
- package/esm2022/lib/pipes/encode-uri.pipe.mjs +19 -0
- package/esm2022/lib/pipes/integer-currency.pipe.mjs +27 -0
- package/esm2022/lib/pipes/safe-html.pipe.mjs +23 -0
- package/esm2022/lib/pipes/safe-resource-url.pipe.mjs +23 -0
- package/esm2022/lib/pipes/safe-style.pipe.mjs +23 -0
- package/esm2022/lib/pipes/safe-url.pipe.mjs +23 -0
- package/esm2022/lib/pipes/to-number.pipe.mjs +23 -0
- package/esm2022/lib/pipes/trim.pipe.mjs +20 -0
- package/esm2022/lib/pipes/typeof.pipe.mjs +16 -0
- package/esm2022/lib/services/viewport.service.mjs +355 -0
- package/esm2022/lib/ui/back-to-top/back-to-top.component.mjs +49 -0
- package/esm2022/lib/ui/button-with-confirm-dialog/button-response-types.enum.mjs +6 -0
- package/esm2022/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.mjs +58 -0
- package/esm2022/lib/ui/button-with-confirm-dialog/dialog-data.model.mjs +2 -0
- package/esm2022/lib/ui/checkbox/checkbox.component.mjs +71 -0
- package/esm2022/lib/ui/color-input/color-input.component.mjs +76 -0
- package/esm2022/lib/ui/dropdown-from-data/dropdown-from-data.component.mjs +162 -0
- package/esm2022/lib/ui/enum-radiogroup/enum-radiogroup.component.mjs +53 -0
- package/esm2022/lib/ui/file-input/file-input.component.mjs +232 -0
- package/esm2022/lib/ui/flyout/flyout.component.mjs +120 -0
- package/esm2022/lib/ui/generic-dialog/generic-dialog.component.mjs +55 -0
- package/esm2022/lib/ui/icon/icon.component.mjs +51 -0
- package/esm2022/lib/ui/icon/iconSize.enum.mjs +28 -0
- package/esm2022/lib/ui/image-slider/image-slider.component.mjs +189 -0
- package/esm2022/lib/ui/kms-accordion-item/kms-accordion-item.component.mjs +40 -0
- package/esm2022/lib/ui/loader/loader.component.mjs +21 -0
- package/esm2022/lib/ui/map/map.component.mjs +116 -0
- package/esm2022/lib/ui/radiobutton/radiobutton.component.mjs +77 -0
- package/esm2022/lib/ui/salutation-dropdown/salutation-dropdown.component.mjs +55 -0
- package/esm2022/lib/ui/salutation-radiogroup/salutation-radiogroup.component.mjs +49 -0
- package/esm2022/lib/ui/time-input/time-input.component.mjs +83 -0
- package/esm2022/lib/ui/tooltip-icon/tooltip-icon.component.mjs +36 -0
- package/esm2022/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.mjs +82 -0
- package/esm2022/public-api.mjs +49 -0
- package/fesm2022/kms-ngx-ui-presentational.mjs +3175 -0
- package/fesm2022/kms-ngx-ui-presentational.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/directives/directives.module.d.ts +13 -0
- package/lib/directives/mousewheel.directive.d.ts +15 -0
- package/lib/directives/size.directive.d.ts +10 -0
- package/lib/directives/sum-of-height.directive.d.ts +31 -0
- package/lib/directives/swipe.directive.d.ts +45 -0
- package/{src/lib/directives/swipe.model.ts → lib/directives/swipe.model.d.ts} +0 -6
- package/lib/directives/tooltip.directive.d.ts +29 -0
- package/lib/kms-ngx-ui-presentational.component.d.ts +8 -0
- package/lib/kms-ngx-ui-presentational.module.d.ts +46 -0
- package/lib/kms-ngx-ui-presentational.service.d.ts +6 -0
- package/lib/models/address.model.d.ts +14 -0
- package/lib/models/iconSize.enum.d.ts +15 -0
- package/lib/models/image-snippet.model.d.ts +15 -0
- package/lib/models/is-value.function.d.ts +9 -0
- package/lib/models/salutation.enum.d.ts +5 -0
- package/{src/lib/models/types/attached-file-dto.model.ts → lib/models/types/attached-file-dto.model.d.ts} +1 -1
- package/{src/lib/models/types/nullable.type.ts → lib/models/types/nullable.type.d.ts} +0 -1
- package/lib/parent-components/actions.component.d.ts +31 -0
- package/lib/parent-components/form-control.component.d.ts +27 -0
- package/lib/parent-components/form.component.d.ts +34 -0
- package/lib/pipes/custom-pipes.module.d.ts +17 -0
- package/lib/pipes/decode-uri.pipe.d.ts +10 -0
- package/lib/pipes/encode-uri.pipe.d.ts +10 -0
- package/lib/pipes/integer-currency.pipe.d.ts +13 -0
- package/lib/pipes/safe-html.pipe.d.ts +13 -0
- package/lib/pipes/safe-resource-url.pipe.d.ts +13 -0
- package/lib/pipes/safe-style.pipe.d.ts +13 -0
- package/lib/pipes/safe-url.pipe.d.ts +13 -0
- package/lib/pipes/to-number.pipe.d.ts +10 -0
- package/lib/pipes/trim.pipe.d.ts +10 -0
- package/lib/pipes/typeof.pipe.d.ts +7 -0
- package/lib/services/viewport.service.d.ts +149 -0
- package/lib/ui/back-to-top/back-to-top.component.d.ts +10 -0
- package/lib/ui/button-with-confirm-dialog/button-response-types.enum.d.ts +4 -0
- package/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.d.ts +19 -0
- package/{src/lib/ui/button-with-confirm-dialog/dialog-data.model.ts → lib/ui/button-with-confirm-dialog/dialog-data.model.d.ts} +3 -4
- package/lib/ui/checkbox/checkbox.component.d.ts +31 -0
- package/lib/ui/color-input/color-input.component.d.ts +19 -0
- package/lib/ui/dropdown-from-data/dropdown-from-data.component.d.ts +57 -0
- package/lib/ui/enum-radiogroup/enum-radiogroup.component.d.ts +17 -0
- package/lib/ui/file-input/file-input.component.d.ts +89 -0
- package/lib/ui/flyout/flyout.component.d.ts +32 -0
- package/lib/ui/generic-dialog/generic-dialog.component.d.ts +26 -0
- package/lib/ui/icon/icon.component.d.ts +48 -0
- package/lib/ui/icon/iconSize.enum.d.ts +25 -0
- package/lib/ui/image-slider/image-slider.component.d.ts +62 -0
- package/lib/ui/kms-accordion-item/kms-accordion-item.component.d.ts +22 -0
- package/lib/ui/loader/loader.component.d.ts +9 -0
- package/lib/ui/map/map.component.d.ts +71 -0
- package/lib/ui/radiobutton/radiobutton.component.d.ts +27 -0
- package/lib/ui/salutation-dropdown/salutation-dropdown.component.d.ts +17 -0
- package/lib/ui/salutation-radiogroup/salutation-radiogroup.component.d.ts +15 -0
- package/lib/ui/time-input/time-input.component.d.ts +22 -0
- package/lib/ui/tooltip-icon/tooltip-icon.component.d.ts +13 -0
- package/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.d.ts +27 -0
- package/package.json +17 -3
- package/{src/public-api.ts → public-api.d.ts} +20 -28
- package/src/lib/ui/back-to-top/back-to-top.component.scss +2 -3
- package/src/lib/ui/icon/icon.component.scss +2 -36
- package/src/lib/ui/image-slider/image-slider.component.scss +209 -202
- package/src/styles/animations.scss +47 -0
- package/src/styles/styles.scss +1 -0
- package/jest.config.js +0 -27
- package/ng-package.json +0 -13
- package/src/lib/directives/directives.module.ts +0 -28
- package/src/lib/directives/mousewheel.directive.ts +0 -43
- package/src/lib/directives/sum-of-height.directive.ts +0 -73
- package/src/lib/directives/swipe.directive.ts +0 -193
- package/src/lib/directives/tooltip.directive.spec.ts.BAK +0 -8
- package/src/lib/directives/tooltip.directive.ts +0 -121
- package/src/lib/kms-ngx-ui-presentational.component.spec.ts +0 -25
- package/src/lib/kms-ngx-ui-presentational.component.ts +0 -20
- package/src/lib/kms-ngx-ui-presentational.module.ts +0 -124
- package/src/lib/kms-ngx-ui-presentational.service.spec.ts +0 -16
- package/src/lib/kms-ngx-ui-presentational.service.ts +0 -9
- package/src/lib/models/address.model.ts +0 -16
- package/src/lib/models/iconSize.enum.ts +0 -17
- package/src/lib/models/image-snippet.model.ts +0 -17
- package/src/lib/models/is-value.function.ts +0 -20
- package/src/lib/models/salutation.enum.ts +0 -6
- package/src/lib/parent-components/actions.component.ts +0 -43
- package/src/lib/parent-components/form-control.component.ts +0 -77
- package/src/lib/parent-components/form.component.ts +0 -79
- package/src/lib/pipes/custom-pipes.module.ts +0 -48
- package/src/lib/pipes/decode-uri.pipe.ts +0 -15
- package/src/lib/pipes/encode-uri.pipe.ts +0 -14
- package/src/lib/pipes/integer-currency.pipe.ts +0 -22
- package/src/lib/pipes/prettyjson.pipe.ts +0 -104
- package/src/lib/pipes/safe-html.pipe.ts +0 -17
- package/src/lib/pipes/safe-resource-url.pipe.ts +0 -17
- package/src/lib/pipes/safe-style.pipe.ts +0 -17
- package/src/lib/pipes/safe-url.pipe.ts +0 -17
- package/src/lib/pipes/to-number.pipe.ts +0 -19
- package/src/lib/pipes/trim.pipe.ts +0 -16
- package/src/lib/pipes/typeof.pipe.ts +0 -10
- package/src/lib/services/viewport.service.ts +0 -241
- package/src/lib/ui/back-to-top/back-to-top.component.html +0 -7
- package/src/lib/ui/back-to-top/back-to-top.component.ts +0 -43
- package/src/lib/ui/back-to-top/back-to-top.stories.ts +0 -19
- package/src/lib/ui/button-with-confirm-dialog/button-response-types.enum.ts +0 -4
- package/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.html +0 -8
- package/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.spec.ts.BAK +0 -25
- package/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.ts +0 -55
- package/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.stories.ts +0 -21
- package/src/lib/ui/checkbox/checkbox.component.html +0 -15
- package/src/lib/ui/checkbox/checkbox.component.stories.ts +0 -19
- package/src/lib/ui/checkbox/checkbox.component.ts +0 -75
- package/src/lib/ui/color-input/color-input.component.html +0 -11
- package/src/lib/ui/color-input/color-input.component.spec.ts +0 -44
- package/src/lib/ui/color-input/color-input.component.ts +0 -67
- package/src/lib/ui/dropdown-from-data/dropdown-from-data.component.html +0 -23
- package/src/lib/ui/dropdown-from-data/dropdown-from-data.component.ts +0 -174
- package/src/lib/ui/enum-radiogroup/enum-radiogroup.component.html +0 -6
- package/src/lib/ui/enum-radiogroup/enum-radiogroup.component.spec.ts.BAK +0 -25
- package/src/lib/ui/enum-radiogroup/enum-radiogroup.component.ts +0 -43
- package/src/lib/ui/file-input/file-input.component.html +0 -45
- package/src/lib/ui/file-input/file-input.component.spec.ts.BAK +0 -25
- package/src/lib/ui/file-input/file-input.component.ts +0 -236
- package/src/lib/ui/flyout/flyout.component.html +0 -35
- package/src/lib/ui/flyout/flyout.component.spec.ts.BAK +0 -30
- package/src/lib/ui/flyout/flyout.component.ts +0 -95
- package/src/lib/ui/generic-dialog/generic-dialog.component.html +0 -24
- package/src/lib/ui/generic-dialog/generic-dialog.component.spec.ts.BAK +0 -43
- package/src/lib/ui/generic-dialog/generic-dialog.component.ts +0 -54
- package/src/lib/ui/icon/icon.component.html +0 -22
- package/src/lib/ui/icon/icon.component.spec.ts.BAK +0 -31
- package/src/lib/ui/icon/icon.component.ts +0 -67
- package/src/lib/ui/icon/iconSize.enum.ts +0 -17
- package/src/lib/ui/image-slider/image-slider.component.html +0 -54
- package/src/lib/ui/image-slider/image-slider.component.ts +0 -205
- package/src/lib/ui/kms-accordion-item/kms-accordion-item.component.html +0 -22
- package/src/lib/ui/kms-accordion-item/kms-accordion-item.component.spec.ts +0 -61
- package/src/lib/ui/kms-accordion-item/kms-accordion-item.component.ts +0 -32
- package/src/lib/ui/loader/loader.component.html +0 -3
- package/src/lib/ui/loader/loader.component.spec.ts.BAK +0 -26
- package/src/lib/ui/loader/loader.component.ts +0 -16
- package/src/lib/ui/map/map.component.html +0 -18
- package/src/lib/ui/map/map.component.spec.ts.BAK +0 -31
- package/src/lib/ui/map/map.component.ts +0 -138
- package/src/lib/ui/radiobutton/radiobutton.component.html +0 -42
- package/src/lib/ui/radiobutton/radiobutton.component.ts +0 -71
- package/src/lib/ui/salutation-dropdown/salutation-dropdown.component.html +0 -9
- package/src/lib/ui/salutation-dropdown/salutation-dropdown.component.spec.ts.BAK +0 -26
- package/src/lib/ui/salutation-dropdown/salutation-dropdown.component.ts +0 -48
- package/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.html +0 -13
- package/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.spec.ts.BAK +0 -25
- package/src/lib/ui/salutation-radiogroup/salutation-radiogroup.component.ts +0 -41
- package/src/lib/ui/time-input/time-input.component.html +0 -5
- package/src/lib/ui/time-input/time-input.component.spec.ts +0 -28
- package/src/lib/ui/time-input/time-input.component.ts +0 -88
- package/src/lib/ui/tooltip/tooltip.component.html +0 -1
- package/src/lib/ui/tooltip/tooltip.component.scss +0 -27
- package/src/lib/ui/tooltip/tooltip.component.spec.ts.BAK +0 -26
- package/src/lib/ui/tooltip/tooltip.component.ts +0 -10
- package/src/lib/ui/tooltip-icon/tooltip-icon.component.html +0 -11
- package/src/lib/ui/tooltip-icon/tooltip-icon.component.spec.ts.BAK +0 -28
- package/src/lib/ui/tooltip-icon/tooltip-icon.component.ts +0 -19
- package/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.html +0 -7
- package/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.spec.ts.BAK +0 -25
- package/src/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.ts +0 -79
- package/src/test-setup.ts +0 -2
- package/tsconfig.lib.json +0 -26
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -17
- package/tslint.json +0 -17
- /package/{src/lib/models/index.ts → lib/models/index.d.ts} +0 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { FormControlParentComponent } from './../../parent-components/form-control.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/material/form-field";
|
|
8
|
+
import * as i4 from "@angular/material/input";
|
|
9
|
+
import * as i5 from "../tooltip-icon/tooltip-icon.component";
|
|
10
|
+
export class ColorInputComponent extends FormControlParentComponent {
|
|
11
|
+
constructor(formBuilder, renderer) {
|
|
12
|
+
super(formBuilder, renderer);
|
|
13
|
+
this.formBuilder = formBuilder;
|
|
14
|
+
this.renderer = renderer;
|
|
15
|
+
this.label = '';
|
|
16
|
+
this.tooltipText = '';
|
|
17
|
+
this.placeholder = '';
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.form = this.formBuilder.group({
|
|
21
|
+
color: '',
|
|
22
|
+
});
|
|
23
|
+
super.ngOnInit();
|
|
24
|
+
this.formInitialized = true;
|
|
25
|
+
this.form.valueChanges.subscribe((value) => {
|
|
26
|
+
this.internalValue = value.color;
|
|
27
|
+
this.onChange(value.color);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
validate(_) {
|
|
31
|
+
// TODO fix to validate complete form
|
|
32
|
+
this.valid = this.matchesHex(this.form.value) ? null : false;
|
|
33
|
+
return this.valid && {
|
|
34
|
+
invalid: !this.valid
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
matchesHex(match) {
|
|
38
|
+
if (match) {
|
|
39
|
+
const ret = match.match(/^#[0-9a-f]{6}$/i);
|
|
40
|
+
this.valid = ret && ret.length > 0;
|
|
41
|
+
return ret;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
updateSelectedColor(value) {
|
|
46
|
+
const color = value.target.value;
|
|
47
|
+
this.value = color;
|
|
48
|
+
this.internalValue = color;
|
|
49
|
+
this.change(color);
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorInputComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColorInputComponent, selector: "kms-color-input", inputs: { label: "label", tooltipText: "tooltipText", placeholder: "placeholder" }, providers: [
|
|
53
|
+
{
|
|
54
|
+
provide: NG_VALUE_ACCESSOR,
|
|
55
|
+
useExisting: forwardRef(() => ColorInputComponent),
|
|
56
|
+
multi: true,
|
|
57
|
+
},
|
|
58
|
+
], usesInheritance: true, ngImport: i0, template: "\n<form [formGroup]=\"form\" *ngIf=\"formInitialized\">\n <div>\n <mat-form-field class=\"colorInput\">\n <kms-tooltip-icon [tooltipText]=\"tooltipText\" *ngIf=\"tooltipText\"></kms-tooltip-icon>\n <mat-label>{{ label }}</mat-label>\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n </mat-form-field>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.TooltipIconComponent, selector: "kms-tooltip-icon", inputs: ["tooltipTitle", "tooltipText", "tooltipLinkText", "tooltipLinkUrl", "placement", "delay"] }] }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColorInputComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ selector: 'kms-color-input', providers: [
|
|
63
|
+
{
|
|
64
|
+
provide: NG_VALUE_ACCESSOR,
|
|
65
|
+
useExisting: forwardRef(() => ColorInputComponent),
|
|
66
|
+
multi: true,
|
|
67
|
+
},
|
|
68
|
+
], template: "\n<form [formGroup]=\"form\" *ngIf=\"formInitialized\">\n <div>\n <mat-form-field class=\"colorInput\">\n <kms-tooltip-icon [tooltipText]=\"tooltipText\" *ngIf=\"tooltipText\"></kms-tooltip-icon>\n <mat-label>{{ label }}</mat-label>\n <input type=\"text\" [(ngModel)]=\"value\" matInput formControlName=\"color\" [placeholder]=\"placeholder\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n <input type=\"color\" [value]=\"value && matchesHex(value) ? value : '#ffffff'\" (change)=\"updateSelectedColor($event)\" [ngClass]=\"{'my-inValid': !matchesHex(value)}\" />\n </mat-form-field>\n </div>\n</form>" }]
|
|
69
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Renderer2 }]; }, propDecorators: { label: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}], tooltipText: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], placeholder: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}] } });
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3VpL2NvbG9yLWlucHV0L2NvbG9yLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9jb2xvci1pbnB1dC9jb2xvci1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBZ0UsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7OztBQWM5RixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsMEJBQTBCO0lBTy9ELFlBQW1CLFdBQStCLEVBQVMsUUFBbUI7UUFDMUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQURkLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFMckUsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBSzFCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMvQixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFFUCxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQXFCO1FBQzFCLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLO1NBQ3ZCLENBQUM7SUFDTixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWM7UUFDckIsSUFBRyxLQUFLLEVBQUM7WUFDTCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUM7WUFDakMsT0FBTyxHQUFHLENBQUM7U0FDZDtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzsrR0FqRFEsbUJBQW1CO21HQUFuQixtQkFBbUIsOEhBUmpCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLGlEQ2RMLGtxQkFVTzs7NEZETU0sbUJBQW1CO2tCQVovQixTQUFTOytCQUNJLGlCQUFpQixhQUdoQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUlBSVEsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuLy4uLy4uL3BhcmVudC1jb21wb25lbnRzL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ttcy1jb2xvci1pbnB1dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2xvci1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENvbG9ySW5wdXRDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JJbnB1dENvbXBvbmVudCBleHRlbmRzIEZvcm1Db250cm9sUGFyZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHRvb2x0aXBUZXh0ID0gJyc7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgICB2YWxpZDogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIsIHJlbmRlcmVyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBjb2xvcjogJycsXG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuZm9ybUluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlLmNvbG9yO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZS5jb2xvcik7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgdmFsaWRhdGUoXzogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgICAgIC8vIFRPRE8gZml4IHRvIHZhbGlkYXRlIGNvbXBsZXRlIGZvcm1cbiAgICAgICAgdGhpcy52YWxpZCA9IHRoaXMubWF0Y2hlc0hleCh0aGlzLmZvcm0udmFsdWUpID8gbnVsbCA6IGZhbHNlO1xuICAgICAgICByZXR1cm4gdGhpcy52YWxpZCAmJiB7XG4gICAgICAgICAgICBpbnZhbGlkOiAhdGhpcy52YWxpZFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG1hdGNoZXNIZXgobWF0Y2g/OiBzdHJpbmcpe1xuICAgICAgICBpZihtYXRjaCl7XG4gICAgICAgICAgICBjb25zdCByZXQgPSBtYXRjaC5tYXRjaCgvXiNbMC05YS1mXXs2fSQvaSk7XG4gICAgICAgICAgICB0aGlzLnZhbGlkID0gcmV0ICYmIHJldC5sZW5ndGg+MDtcbiAgICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHVwZGF0ZVNlbGVjdGVkQ29sb3IodmFsdWU6IGFueSl7XG4gICAgICAgIGNvbnN0IGNvbG9yID0gdmFsdWUudGFyZ2V0LnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlID0gY29sb3I7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IGNvbG9yO1xuICAgICAgICB0aGlzLmNoYW5nZShjb2xvcik7XG4gICAgfVxufVxuIiwiXG48Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAqbmdJZj1cImZvcm1Jbml0aWFsaXplZFwiPlxuICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImNvbG9ySW5wdXRcIj5cbiAgICAgICAgICAgIDxrbXMtdG9vbHRpcC1pY29uIFt0b29sdGlwVGV4dF09XCJ0b29sdGlwVGV4dFwiICpuZ0lmPVwidG9vbHRpcFRleHRcIj48L2ttcy10b29sdGlwLWljb24+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbbmdDbGFzc109XCJ7J215LWluVmFsaWQnOiAhbWF0Y2hlc0hleCh2YWx1ZSl9XCIgLz5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY29sb3JcIiBbdmFsdWVdPVwidmFsdWUgJiYgbWF0Y2hlc0hleCh2YWx1ZSkgPyB2YWx1ZSA6ICcjZmZmZmZmJ1wiIChjaGFuZ2UpPVwidXBkYXRlU2VsZWN0ZWRDb2xvcigkZXZlbnQpXCIgW25nQ2xhc3NdPVwieydteS1pblZhbGlkJzogIW1hdGNoZXNIZXgodmFsdWUpfVwiIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { Component, forwardRef, Input, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
+
import { EnumValues } from 'enum-values/src/enumValues';
|
|
4
|
+
import { FormControlParentComponent } from '../../parent-components/form-control.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
|
+
import * as i3 from "@angular/material/form-field";
|
|
9
|
+
import * as i4 from "@angular/material/select";
|
|
10
|
+
import * as i5 from "@angular/material/core";
|
|
11
|
+
/**
|
|
12
|
+
* Dropdown from data component {@link https://leaseplan-dev.rentoffice.de/styleguide#ui-elements}
|
|
13
|
+
*/
|
|
14
|
+
export class DropdownFromDataComponent extends FormControlParentComponent {
|
|
15
|
+
constructor(formBuilder, renderer) {
|
|
16
|
+
super(formBuilder, renderer);
|
|
17
|
+
this.formBuilder = formBuilder;
|
|
18
|
+
this.renderer = renderer;
|
|
19
|
+
// options for the dropdown have a null value at the beginning of the array
|
|
20
|
+
this.hasNullOption = false;
|
|
21
|
+
this.placeholder = '';
|
|
22
|
+
this.label = '';
|
|
23
|
+
this.required = false;
|
|
24
|
+
this.useEnumIndexAsValue = false;
|
|
25
|
+
// multiple selection
|
|
26
|
+
this.multiple = false;
|
|
27
|
+
this.keys = [];
|
|
28
|
+
this.values = [];
|
|
29
|
+
this.Object = Object;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Hook used to sync changes on set Label and Type
|
|
33
|
+
* @param changes
|
|
34
|
+
*/
|
|
35
|
+
ngOnChanges(changes) {
|
|
36
|
+
if (changes.optionsPlainArray) {
|
|
37
|
+
this.values = this.optionsPlainArray;
|
|
38
|
+
this.keys = this.optionsPlainArray;
|
|
39
|
+
}
|
|
40
|
+
this.setKeyValues();
|
|
41
|
+
}
|
|
42
|
+
ngOnInit() {
|
|
43
|
+
this.form = this.formBuilder.group({
|
|
44
|
+
dropdownData: [],
|
|
45
|
+
});
|
|
46
|
+
this.formInitialized = true;
|
|
47
|
+
this.form.valueChanges.subscribe((value) => {
|
|
48
|
+
this.internalValue = value.dropdownData;
|
|
49
|
+
this.onChange(value.dropdownData);
|
|
50
|
+
});
|
|
51
|
+
super.ngOnInit();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* transofrms the data values to the correct format for be used by the template
|
|
55
|
+
* @param value
|
|
56
|
+
*/
|
|
57
|
+
setKeyValues() {
|
|
58
|
+
if (this.optionsObjArray && this.mapKey && this.mapValue) {
|
|
59
|
+
this.keys = this.optionsObjArray.map((obj) => obj[`${this.mapKey}`]);
|
|
60
|
+
this.values = this.optionsObjArray.map((obj) => obj[`${this.mapValue}`]);
|
|
61
|
+
}
|
|
62
|
+
else if (this.optionsObjArray && this.mapKey) {
|
|
63
|
+
this.keys = this.optionsObjArray.map((obj) => obj[`${this.mapKey}`]);
|
|
64
|
+
this.values = this.optionsObjArray.map((obj) => obj[`${this.mapKey}`]);
|
|
65
|
+
}
|
|
66
|
+
if (this.optionsEnum) {
|
|
67
|
+
this.keys = EnumValues.getNames(this.optionsEnum);
|
|
68
|
+
if (this.optionsPlainArray) {
|
|
69
|
+
this.values = this.optionsPlainArray;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
const values = EnumValues.getValues(this.optionsEnum);
|
|
73
|
+
// var who defines if enum is componed just with keys or keyValues. E.g enum KeyEnum { VALUE1, VALUE2 } or enum KeyValueEnum { VALUE4 = 'V4', VALUE5 = 'V5' }
|
|
74
|
+
let keyValueEnum = false;
|
|
75
|
+
for (let i = 0; i < this.keys.length; i++) {
|
|
76
|
+
if (i !== values[i]) {
|
|
77
|
+
keyValueEnum = true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (keyValueEnum || this.useEnumIndexAsValue) {
|
|
81
|
+
this.values = values;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
this.values = EnumValues.getNames(this.optionsEnum);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (this.hasNullOption === true)
|
|
89
|
+
this.keys.unshift(null);
|
|
90
|
+
if (this.hasNullOption === true)
|
|
91
|
+
this.values.unshift(null);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* set the value of the dropdown based if translation is set
|
|
95
|
+
* @param key
|
|
96
|
+
*/
|
|
97
|
+
setDisplayKey(key) {
|
|
98
|
+
if (this.translation) {
|
|
99
|
+
if (this.translation.isPrefix) {
|
|
100
|
+
return this.translation.service?.instant?.(this.translation.path + '.' + key);
|
|
101
|
+
}
|
|
102
|
+
else if (this.translation.useKeyAsValue) {
|
|
103
|
+
return this.translation.service?.instant?.(this.translation.path, { key: key });
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
return this.translation.service?.instant?.(this.translation.path);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return key;
|
|
110
|
+
}
|
|
111
|
+
valueChanged(value) {
|
|
112
|
+
this.form.patchValue({
|
|
113
|
+
dropdownData: value,
|
|
114
|
+
});
|
|
115
|
+
this.onSelectItemEmitter.emit(value);
|
|
116
|
+
}
|
|
117
|
+
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 }); }
|
|
118
|
+
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", translation: "translation", placeholder: "placeholder", label: "label", required: "required", useEnumIndexAsValue: "useEnumIndexAsValue", multiple: "multiple", control: "control" }, providers: [
|
|
119
|
+
{
|
|
120
|
+
provide: NG_VALUE_ACCESSOR,
|
|
121
|
+
useExisting: forwardRef(() => DropdownFromDataComponent),
|
|
122
|
+
multi: true,
|
|
123
|
+
},
|
|
124
|
+
], 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: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }] }); }
|
|
125
|
+
}
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropdownFromDataComponent, decorators: [{
|
|
127
|
+
type: Component,
|
|
128
|
+
args: [{ selector: 'kms-dropdown-from-data', providers: [
|
|
129
|
+
{
|
|
130
|
+
provide: NG_VALUE_ACCESSOR,
|
|
131
|
+
useExisting: forwardRef(() => DropdownFromDataComponent),
|
|
132
|
+
multi: true,
|
|
133
|
+
},
|
|
134
|
+
], 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" }]
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Renderer2 }]; }, propDecorators: { optionsEnum: [{
|
|
136
|
+
type: Input
|
|
137
|
+
}], optionsPlainArray: [{
|
|
138
|
+
type: Input
|
|
139
|
+
}], optionsObjArray: [{
|
|
140
|
+
type: Input
|
|
141
|
+
}], mapKey: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}], mapValue: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], hasNullOption: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], translation: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], placeholder: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], label: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], required: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], useEnumIndexAsValue: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], multiple: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], control: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}] } });
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9kcm9wZG93bi1mcm9tLWRhdGEvZHJvcGRvd24tZnJvbS1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7Ozs7O0FBRTVGOztHQUVHO0FBWUgsTUFBTSxPQUFPLHlCQUNYLFNBQVEsMEJBQTBCO0lBb0NsQyxZQUNTLFdBQStCLEVBQy9CLFFBQW1CO1FBRTFCLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQVc7UUF0QjVCLDJFQUEyRTtRQUNsRSxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUl0QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFckMscUJBQXFCO1FBQ1osYUFBUSxHQUFHLEtBQUssQ0FB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TyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkIsWUFBWSxFQUFFLEtBQUs7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDOytHQXhJVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpYUFSekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2dCQUN4RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Ysc0VDOUJILDB1QkF1QkE7OzRGRFNhLHlCQUF5QjtrQkFYckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFFdkI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMEJBQTBCLENBQUM7NEJBQ3hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lJQU9RLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgQWJzdHJhY3RDb250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbnVtVmFsdWVzIH0gZnJvbSAnZW51bS12YWx1ZXMvc3JjL2VudW1WYWx1ZXMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcblxuLyoqXG4gKiBEcm9wZG93biBmcm9tIGRhdGEgY29tcG9uZW50IHtAbGluayBodHRwczovL2xlYXNlcGxhbi1kZXYucmVudG9mZmljZS5kZS9zdHlsZWd1aWRlI3VpLWVsZW1lbnRzfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrbXMtZHJvcGRvd24tZnJvbS1kYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZyb20tZGF0YS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRHJvcGRvd25Gcm9tRGF0YUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkZyb21EYXRhQ29tcG9uZW50XG4gIGV4dGVuZHMgRm9ybUNvbnRyb2xQYXJlbnRDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXNcbntcbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgZW51bSBzZXQuIENhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggJ29wdGlvbnNQbGFpbkFycmF5JyB0byBzZXQgZGlmZXJlbnQgdmFsdWVzIGJ5IGluZGV4XG4gIEBJbnB1dCgpIG9wdGlvbnNFbnVtOiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGEgc2ltcGxlIGFycmF5IG9mIGVsZW1lbnRzXG4gIEBJbnB1dCgpIG9wdGlvbnNQbGFpbkFycmF5OiBhbnk7XG5cbiAgLy8gc3RydWN0dXJlZCBkYXRhIGFzIGFuIGFycmF5IG9mIG9iamVjdHMgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBpbnB1dCAnbWFwS2V5JyBhbmQgJ21hcFZhbHVlJ1xuICBASW5wdXQoKSBvcHRpb25zT2JqQXJyYXk6IGFueTtcbiAgLy8ga2V5IGlkZW50aWZpZXIgb2YgdGhlIG9iai4gSWYgbWFwVmFsdWUgZG9lc250IGV4aXN0LCBtYXBLZXkgaXMgYWxzbyB0aGUgdmFsdWVcbiAgQElucHV0KCkgbWFwS2V5PzogYW55O1xuICAvLyB2YWx1ZSBpZGVudGlmaWVyIG9mIHRoZSBvYmpcbiAgQElucHV0KCkgbWFwVmFsdWU/OiBhbnk7XG5cbiAgLy8gb3B0aW9ucyBmb3IgdGhlIGRyb3Bkb3duIGhhdmUgYSBudWxsIHZhbHVlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5XG4gIEBJbnB1dCgpIGhhc051bGxPcHRpb24gPSBmYWxzZTtcblxuICAvLyB0cmFuc2xhdGlvbiBvYmplY3QgZm9yIHRoZSBsYWJlbCBhbmQgcGxhY2Vob2xkZXJcbiAgQElucHV0KCkgdHJhbnNsYXRpb24/OiBJVHJhbnNsYXRpb247XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZUVudW1JbmRleEFzVmFsdWUgPSBmYWxzZTtcblxuICAvLyBtdWx0aXBsZSBzZWxlY3Rpb25cbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb250cm9sPzogQWJzdHJhY3RDb250cm9sO1xuXG4gIHB1YmxpYyBrZXlzOiBhbnlbXSA9IFtdO1xuICBwdWJsaWMgdmFsdWVzOiBhbnlbXSA9IFtdO1xuXG4gIE9iamVjdCA9IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICBzdXBlcihmb3JtQnVpbGRlciwgcmVuZGVyZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2sgdXNlZCB0byBzeW5jIGNoYW5nZXMgb24gc2V0IExhYmVsIGFuZCBUeXBlXG4gICAqIEBwYXJhbSBjaGFuZ2VzXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMub3B0aW9uc1BsYWluQXJyYXkpIHtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zUGxhaW5BcnJheTtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc1BsYWluQXJyYXk7XG4gICAgfVxuICAgIHRoaXMuc2V0S2V5VmFsdWVzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGRyb3Bkb3duRGF0YTogW10sXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtSW5pdGlhbGl6ZWQgPSB0cnVlO1xuXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmludGVybmFsVmFsdWUgPSB2YWx1ZS5kcm9wZG93bkRhdGE7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlLmRyb3Bkb3duRGF0YSk7XG4gICAgfSk7XG5cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyYW5zb2ZybXMgdGhlIGRhdGEgdmFsdWVzIHRvIHRoZSBjb3JyZWN0IGZvcm1hdCBmb3IgYmUgdXNlZCBieSB0aGUgdGVtcGxhdGVcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHNldEtleVZhbHVlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zT2JqQXJyYXkgJiYgdGhpcy5tYXBLZXkgJiYgdGhpcy5tYXBWYWx1ZSkge1xuICAgICAgdGhpcy5rZXlzID0gdGhpcy5vcHRpb25zT2JqQXJyYXkubWFwKChvYmo6IGFueSkgPT4gb2JqW2Ake3RoaXMubWFwS2V5fWBdKTtcbiAgICAgIHRoaXMudmFsdWVzID0gdGhpcy5vcHRpb25zT2JqQXJyYXkubWFwKFxuICAgICAgICAob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcFZhbHVlfWBdXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5vcHRpb25zT2JqQXJyYXkgJiYgdGhpcy5tYXBLZXkpIHtcbiAgICAgIHRoaXMua2V5cyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcCgob2JqOiBhbnkpID0+IG9ialtgJHt0aGlzLm1hcEtleX1gXSk7XG4gICAgICB0aGlzLnZhbHVlcyA9IHRoaXMub3B0aW9uc09iakFycmF5Lm1hcChcbiAgICAgICAgKG9iajogYW55KSA9PiBvYmpbYCR7dGhpcy5tYXBLZXl9YF1cbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnNFbnVtKSB7XG4gICAgICB0aGlzLmtleXMgPSBFbnVtVmFsdWVzLmdldE5hbWVzKHRoaXMub3B0aW9uc0VudW0pO1xuICAgICAgaWYgKHRoaXMub3B0aW9uc1BsYWluQXJyYXkpIHtcbiAgICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLm9wdGlvbnNQbGFpbkFycmF5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gRW51bVZhbHVlcy5nZXRWYWx1ZXModGhpcy5vcHRpb25zRW51bSk7XG5cbiAgICAgICAgLy8gdmFyIHdobyBkZWZpbmVzIGlmIGVudW0gaXMgY29tcG9uZWQganVzdCB3aXRoIGtleXMgb3Iga2V5VmFsdWVzLiBFLmcgZW51bSBLZXlFbnVtIHsgVkFMVUUxLCBWQUxVRTIgfSBvciBlbnVtIEtleVZhbHVlRW51bSB7IFZBTFVFNCA9ICdWNCcsIFZBTFVFNSA9ICdWNScgfVxuICAgICAgICBsZXQga2V5VmFsdWVFbnVtID0gZmFsc2U7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoaSAhPT0gdmFsdWVzW2ldKSB7XG4gICAgICAgICAgICBrZXlWYWx1ZUVudW0gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5VmFsdWVFbnVtIHx8IHRoaXMudXNlRW51bUluZGV4QXNWYWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudmFsdWVzID0gRW51bVZhbHVlcy5nZXROYW1lcyh0aGlzLm9wdGlvbnNFbnVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5oYXNOdWxsT3B0aW9uID09PSB0cnVlKSB0aGlzLmtleXMudW5zaGlmdChudWxsKTtcbiAgICBpZiAodGhpcy5oYXNOdWxsT3B0aW9uID09PSB0cnVlKSB0aGlzLnZhbHVlcy51bnNoaWZ0KG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIHNldCB0aGUgdmFsdWUgb2YgdGhlIGRyb3Bkb3duIGJhc2VkIGlmIHRyYW5zbGF0aW9uIGlzIHNldFxuICAgKiBAcGFyYW0ga2V5XG4gICAqL1xuICBwdWJsaWMgc2V0RGlzcGxheUtleShrZXk6IGFueSkge1xuICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uKSB7XG4gICAgICBpZiAodGhpcy50cmFuc2xhdGlvbi5pc1ByZWZpeCkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5zZXJ2aWNlPy5pbnN0YW50Py4oXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi5wYXRoICsgJy4nICsga2V5XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudHJhbnNsYXRpb24udXNlS2V5QXNWYWx1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5zZXJ2aWNlPy5pbnN0YW50Py4odGhpcy50cmFuc2xhdGlvbi5wYXRoLCB7IGtleToga2V5IH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb24uc2VydmljZT8uaW5zdGFudD8uKHRoaXMudHJhbnNsYXRpb24ucGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICB2YWx1ZUNoYW5nZWQodmFsdWU6IGFueSkge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIGRyb3Bkb3duRGF0YTogdmFsdWUsXG4gICAgfSk7XG4gICAgdGhpcy5vblNlbGVjdEl0ZW1FbWl0dGVyLmVtaXQodmFsdWUpO1xuICB9XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgZGVmaW5lcyB0aGUgdHJhbnNsYXRpb24gb2JqZWN0IGluIHRlbXBsYXRlXG4gKi9cbmludGVyZmFjZSBJVHJhbnNsYXRpb24ge1xuICBwYXRoOiBzdHJpbmc7XG4gIGlzUHJlZml4PzogYm9vbGVhbjtcbiAgdXNlS2V5QXNWYWx1ZT86IGJvb2xlYW47XG4gIHNlcnZpY2U6IGFueTtcbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Zsb2F0TGFiZWxdPVwicGxhY2Vob2xkZXIgPyAnYWx3YXlzJyA6ICdhdXRvJ1wiXG4gID5cbiAgICA8bWF0LWxhYmVsPnt7IGxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIlxuICAgICAgZGlzYWJsZU9wdGlvbkNlbnRlcmluZ1xuICAgICAgWyh2YWx1ZSldPVwiY29udHJvbD8udmFsdWUgPyBjb250cm9sLnZhbHVlIDogdmFsdWVcIlxuICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ2YWx1ZUNoYW5nZWQoJGV2ZW50Py52YWx1ZSlcIlxuICAgICAgI2NoaWxkXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICA+XG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQga2V5IG9mIGtleXM7IGxldCBpID0gaW5kZXhcIiBbdmFsdWVdPVwidmFsdWVzW2ldXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiKGhhc051bGxPcHRpb24gJiYgaSAhPSAwKSB8fCAhaGFzTnVsbE9wdGlvblwiPnt7XG4gICAgICAgICAgc2V0RGlzcGxheUtleShrZXkpXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { FormControlParentComponent } from './../../parent-components/form-control.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/forms";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/material/radio";
|
|
8
|
+
import * as i4 from "@ngx-translate/core";
|
|
9
|
+
export class EnumRadiogroupComponent extends FormControlParentComponent {
|
|
10
|
+
constructor(formBuilder, renderer) {
|
|
11
|
+
super(formBuilder, renderer);
|
|
12
|
+
this.formBuilder = formBuilder;
|
|
13
|
+
this.renderer = renderer;
|
|
14
|
+
this.translationPrefix = '';
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.optionValues = Object.keys(this.optionsEnum).filter(x => !(parseInt(x) >= 0));
|
|
18
|
+
this.form = this.formBuilder.group({
|
|
19
|
+
enumData: [],
|
|
20
|
+
});
|
|
21
|
+
this.formInitialized = true;
|
|
22
|
+
this.form.valueChanges.subscribe((value) => {
|
|
23
|
+
this.internalValue = value.enumData;
|
|
24
|
+
this.onChange(value.enumData);
|
|
25
|
+
});
|
|
26
|
+
super.ngOnInit();
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EnumRadiogroupComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EnumRadiogroupComponent, selector: "kms-enum-radiogroup", inputs: { header: "header", optionsEnum: "optionsEnum", translationPrefix: "translationPrefix" }, providers: [
|
|
30
|
+
{
|
|
31
|
+
provide: NG_VALUE_ACCESSOR,
|
|
32
|
+
useExisting: forwardRef(() => EnumRadiogroupComponent),
|
|
33
|
+
multi: true,
|
|
34
|
+
},
|
|
35
|
+
], usesInheritance: true, ngImport: i0, template: "<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['enumData']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"choice\" [checked]=\"value === choice\" *ngFor=\"let choice of optionValues\">{{ translationPrefix + '.' + choice | translate }}</mat-radio-button>\n </mat-radio-group>\n</form>", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EnumRadiogroupComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ selector: 'kms-enum-radiogroup', providers: [
|
|
40
|
+
{
|
|
41
|
+
provide: NG_VALUE_ACCESSOR,
|
|
42
|
+
useExisting: forwardRef(() => EnumRadiogroupComponent),
|
|
43
|
+
multi: true,
|
|
44
|
+
},
|
|
45
|
+
], template: "<form [formGroup]=\"form\">\n <div>{{ header }}</div>\n <mat-radio-group [formControl]=\"form.controls['enumData']\" [disabled]=\"disabled\" #child>\n <mat-radio-button [value]=\"choice\" [checked]=\"value === choice\" *ngFor=\"let choice of optionValues\">{{ translationPrefix + '.' + choice | translate }}</mat-radio-button>\n </mat-radio-group>\n</form>" }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i0.Renderer2 }]; }, propDecorators: { header: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], optionsEnum: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], translationPrefix: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1yYWRpb2dyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9lbnVtLXJhZGlvZ3JvdXAvZW51bS1yYWRpb2dyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9lbnVtLXJhZGlvZ3JvdXAvZW51bS1yYWRpb2dyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUE0QyxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7QUFhOUYsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDBCQUEwQjtJQU9uRSxZQUFtQixXQUErQixFQUFTLFFBQW1CO1FBQzFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFEZCxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSnJFLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztJQU1oQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDL0IsUUFBUSxFQUFFLEVBQUU7U0FDZixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUU1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQzsrR0F4QlEsdUJBQXVCO21HQUF2Qix1QkFBdUIsZ0pBUnJCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLGlEQ2ZMLHNYQUtPOzs0RkRZTSx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0kscUJBQXFCLGFBRXBCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtpSUFHUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFVudHlwZWRGb3JtQnVpbGRlciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOdWxsQWJsZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmltcG9ydCB7IEZvcm1Db250cm9sUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi9wYXJlbnQtY29tcG9uZW50cy9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtZW51bS1yYWRpb2dyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZW51bS1yYWRpb2dyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbnVtUmFkaW9ncm91cENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFbnVtUmFkaW9ncm91cENvbXBvbmVudCBleHRlbmRzIEZvcm1Db250cm9sUGFyZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgaGVhZGVyOiBOdWxsQWJsZTxTdHJpbmc+O1xuICAgIEBJbnB1dCgpIG9wdGlvbnNFbnVtOiBhbnk7XG4gICAgQElucHV0KCkgdHJhbnNsYXRpb25QcmVmaXggPSAnJztcblxuICAgIHB1YmxpYyBvcHRpb25WYWx1ZXM6IGFueTtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoZm9ybUJ1aWxkZXIsIHJlbmRlcmVyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpe1xuICAgICAgICB0aGlzLm9wdGlvblZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMub3B0aW9uc0VudW0pLmZpbHRlcih4ID0+ICEocGFyc2VJbnQoeCkgPj0gMCkpO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGVudW1EYXRhOiBbXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybUluaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlLmVudW1EYXRhO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZS5lbnVtRGF0YSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGRpdj57eyBoZWFkZXIgfX08L2Rpdj5cbiAgICA8bWF0LXJhZGlvLWdyb3VwIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzWydlbnVtRGF0YSddXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgI2NoaWxkPlxuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwiY2hvaWNlXCIgW2NoZWNrZWRdPVwidmFsdWUgPT09IGNob2ljZVwiICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2Ygb3B0aW9uVmFsdWVzXCI+e3sgdHJhbnNsYXRpb25QcmVmaXggKyAnLicgKyBjaG9pY2UgfCB0cmFuc2xhdGUgfX08L21hdC1yYWRpby1idXR0b24+XG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG48L2Zvcm0+Il19
|