@3kles/kles-material-dynamicforms 18.1.2 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/fesm2022/3kles-kles-material-dynamicforms.mjs +1735 -1880
- package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/lib/directive/dynamic-component.directive.d.ts +1 -1
- package/lib/directive/dynamic-field.directive.d.ts +2 -2
- package/lib/directive/mat-error-form.directive.d.ts +1 -1
- package/lib/directive/mat-error-message.directive.d.ts +1 -1
- package/lib/dynamic-form-intl.d.ts +7 -0
- package/lib/dynamic-form.component.d.ts +1 -1
- package/lib/fields/array.component.d.ts +1 -1
- package/lib/fields/badge.component.d.ts +1 -1
- package/lib/fields/button-fab.component.d.ts +1 -1
- package/lib/fields/button-form.component.d.ts +1 -1
- package/lib/fields/button-icon.component.d.ts +1 -1
- package/lib/fields/button-mini-fab.component.d.ts +1 -1
- package/lib/fields/button-toogle-group.component.d.ts +1 -1
- package/lib/fields/buttonchecker-form.component.d.ts +1 -1
- package/lib/fields/buttonfile-form.component.d.ts +1 -1
- package/lib/fields/checkbox-indeterminate.component.d.ts +1 -1
- package/lib/fields/checkbox.component.d.ts +1 -1
- package/lib/fields/chip.component.d.ts +1 -1
- package/lib/fields/clear.component.d.ts +1 -1
- package/lib/fields/color.component.d.ts +1 -1
- package/lib/fields/copy.component.d.ts +6 -6
- package/lib/fields/date.component.d.ts +1 -1
- package/lib/fields/field.abstract.d.ts +1 -1
- package/lib/fields/file.component.d.ts +1 -1
- package/lib/fields/group.component.d.ts +1 -1
- package/lib/fields/icon.component.d.ts +1 -1
- package/lib/fields/input.clearable.component.d.ts +6 -2
- package/lib/fields/input.component.d.ts +6 -2
- package/lib/fields/label.component.d.ts +1 -1
- package/lib/fields/line-break.component.d.ts +1 -1
- package/lib/fields/link.component.d.ts +3 -3
- package/lib/fields/list-field.component.d.ts +1 -1
- package/lib/fields/radio.component.d.ts +1 -1
- package/lib/fields/range.component.d.ts +2 -2
- package/lib/fields/select.component.d.ts +4 -2
- package/lib/fields/select.lazy-search.component.d.ts +4 -2
- package/lib/fields/select.search.component.d.ts +4 -2
- package/lib/fields/selection-list.component.d.ts +1 -1
- package/lib/fields/selection-list.search.component.d.ts +1 -1
- package/lib/fields/slide-toggle.component.d.ts +2 -2
- package/lib/fields/text.component.d.ts +1 -1
- package/lib/fields/textarea.component.d.ts +1 -1
- package/lib/forms/button-control-base.d.ts +1 -1
- package/lib/forms/button-control.component.d.ts +1 -1
- package/lib/forms/buttonchecker-control.component.d.ts +1 -1
- package/lib/forms/buttonfile-control.component.d.ts +1 -1
- package/lib/forms/fab-control.component.d.ts +1 -1
- package/lib/forms/file-control.component.d.ts +1 -1
- package/lib/forms/icon-button-control.component.d.ts +1 -1
- package/lib/forms/indeterminate-checkbox.d.ts +2 -1
- package/lib/forms/mini-fab-control.component.d.ts +1 -1
- package/lib/kles-material-dynamicforms.module.d.ts +58 -60
- package/lib/modules/material.module.d.ts +4 -5
- package/lib/pipe/array.pipe.d.ts +1 -1
- package/lib/pipe/transform.pipe.d.ts +1 -1
- package/package.json +13 -22
- package/public-api.d.ts +2 -1
- package/esm2022/3kles-kles-material-dynamicforms.mjs +0 -5
- package/esm2022/lib/controls/array.control.mjs +0 -57
- package/esm2022/lib/controls/control.abstract.mjs +0 -31
- package/esm2022/lib/controls/control.interface.mjs +0 -2
- package/esm2022/lib/controls/default.control.mjs +0 -34
- package/esm2022/lib/controls/group.control.mjs +0 -49
- package/esm2022/lib/controls/range.control.mjs +0 -18
- package/esm2022/lib/decorators/component.decorator.mjs +0 -12
- package/esm2022/lib/directive/dynamic-component.directive.mjs +0 -44
- package/esm2022/lib/directive/dynamic-field.directive.mjs +0 -109
- package/esm2022/lib/directive/mat-error-form.directive.mjs +0 -54
- package/esm2022/lib/directive/mat-error-message.directive.mjs +0 -53
- package/esm2022/lib/dynamic-form.component.mjs +0 -214
- package/esm2022/lib/enums/button-attribute.enum.mjs +0 -8
- package/esm2022/lib/enums/type.enum.mjs +0 -21
- package/esm2022/lib/factories/field.factory.mjs +0 -6
- package/esm2022/lib/fields/array.component.mjs +0 -61
- package/esm2022/lib/fields/badge.component.mjs +0 -39
- package/esm2022/lib/fields/button-fab.component.mjs +0 -48
- package/esm2022/lib/fields/button-form.component.mjs +0 -50
- package/esm2022/lib/fields/button-icon.component.mjs +0 -48
- package/esm2022/lib/fields/button-mini-fab.component.mjs +0 -48
- package/esm2022/lib/fields/button-toogle-group.component.mjs +0 -55
- package/esm2022/lib/fields/buttonchecker-form.component.mjs +0 -48
- package/esm2022/lib/fields/buttonfile-form.component.mjs +0 -51
- package/esm2022/lib/fields/checkbox-indeterminate.component.mjs +0 -42
- package/esm2022/lib/fields/checkbox.component.mjs +0 -42
- package/esm2022/lib/fields/chip.component.mjs +0 -44
- package/esm2022/lib/fields/clear.component.mjs +0 -35
- package/esm2022/lib/fields/color.component.mjs +0 -134
- package/esm2022/lib/fields/copy.component.mjs +0 -45
- package/esm2022/lib/fields/date-time.component.mjs +0 -61
- package/esm2022/lib/fields/date.component.mjs +0 -60
- package/esm2022/lib/fields/field.abstract.mjs +0 -88
- package/esm2022/lib/fields/file.component.mjs +0 -41
- package/esm2022/lib/fields/group.component.mjs +0 -80
- package/esm2022/lib/fields/icon.component.mjs +0 -27
- package/esm2022/lib/fields/input.clearable.component.mjs +0 -144
- package/esm2022/lib/fields/input.component.mjs +0 -252
- package/esm2022/lib/fields/label.component.mjs +0 -39
- package/esm2022/lib/fields/line-break.component.mjs +0 -26
- package/esm2022/lib/fields/link.component.mjs +0 -31
- package/esm2022/lib/fields/list-field.component.mjs +0 -157
- package/esm2022/lib/fields/radio.component.mjs +0 -50
- package/esm2022/lib/fields/range.component.mjs +0 -81
- package/esm2022/lib/fields/select.component.mjs +0 -358
- package/esm2022/lib/fields/select.lazy-search.component.mjs +0 -303
- package/esm2022/lib/fields/select.search.component.mjs +0 -475
- package/esm2022/lib/fields/selection-list.component.mjs +0 -149
- package/esm2022/lib/fields/selection-list.search.component.mjs +0 -193
- package/esm2022/lib/fields/slide-toggle.component.mjs +0 -29
- package/esm2022/lib/fields/text.component.mjs +0 -42
- package/esm2022/lib/fields/textarea.component.mjs +0 -64
- package/esm2022/lib/forms/button-control-base.mjs +0 -89
- package/esm2022/lib/forms/button-control.component.mjs +0 -91
- package/esm2022/lib/forms/buttonchecker-control.component.mjs +0 -98
- package/esm2022/lib/forms/buttonfile-control.component.mjs +0 -124
- package/esm2022/lib/forms/fab-control.component.mjs +0 -60
- package/esm2022/lib/forms/file-control.component.mjs +0 -72
- package/esm2022/lib/forms/icon-button-control.component.mjs +0 -55
- package/esm2022/lib/forms/indeterminate-checkbox.mjs +0 -91
- package/esm2022/lib/forms/mini-fab-control.component.mjs +0 -60
- package/esm2022/lib/interfaces/clear-control.interface.mjs +0 -2
- package/esm2022/lib/interfaces/component.interface.mjs +0 -2
- package/esm2022/lib/interfaces/directive.interface.mjs +0 -2
- package/esm2022/lib/interfaces/field.config.interface.mjs +0 -2
- package/esm2022/lib/interfaces/field.interface.mjs +0 -2
- package/esm2022/lib/interfaces/validator.interface.mjs +0 -2
- package/esm2022/lib/kles-material-dynamicforms.module.mjs +0 -261
- package/esm2022/lib/matcher/form-error.matcher.mjs +0 -16
- package/esm2022/lib/modules/material.module.mjs +0 -279
- package/esm2022/lib/pipe/array.pipe.mjs +0 -22
- package/esm2022/lib/pipe/transform.pipe.mjs +0 -28
- package/esm2022/lib/selection/selection-model.mjs +0 -231
- package/esm2022/lib/utils/destroyable.guard.mjs +0 -5
- package/esm2022/lib/validators/autocomplete.validator.mjs +0 -23
- package/esm2022/public-api.mjs +0 -92
- package/lib/fields/date-time.component.d.ts +0 -9
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Observable, of } from 'rxjs';
|
|
3
|
-
import { KlesFieldAbstract } from './field.abstract';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { KlesSelectionModel } from '../selection/selection-model';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@angular/forms";
|
|
9
|
-
import * as i3 from "@angular/material/list";
|
|
10
|
-
import * as i4 from "@angular/material/progress-spinner";
|
|
11
|
-
import * as i5 from "@angular/cdk/scrolling";
|
|
12
|
-
import * as i6 from "../directive/dynamic-component.directive";
|
|
13
|
-
import * as i7 from "../pipe/transform.pipe";
|
|
14
|
-
export class KlesFormSelectionListComponent extends KlesFieldAbstract {
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
super.ngOnInit();
|
|
17
|
-
this.selection = new KlesSelectionModel(this.field.multiple || false, [], true, ((o1, o2) => {
|
|
18
|
-
if (this.field.property) {
|
|
19
|
-
return o1?.[this.field.property] === o2?.[this.field.property];
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return o1 === o2;
|
|
23
|
-
}
|
|
24
|
-
}));
|
|
25
|
-
if (this.field.value) {
|
|
26
|
-
this.selection.select(Array.isArray(this.field.value) ? this.field.value : [this.field.value]);
|
|
27
|
-
}
|
|
28
|
-
if (this.field.options instanceof Observable) {
|
|
29
|
-
this.options$ = this.field.options;
|
|
30
|
-
}
|
|
31
|
-
else if (this.field.options instanceof Function) {
|
|
32
|
-
this.options$ = this.field.options();
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
this.options$ = of(this.field.options);
|
|
36
|
-
}
|
|
37
|
-
this.group.controls[this.field.name].valueChanges
|
|
38
|
-
.pipe(takeUntil(this._onDestroy)).subscribe((value) => {
|
|
39
|
-
this.selection.setSelection(Array.isArray(value) ? value : [value], { emitEvent: false });
|
|
40
|
-
});
|
|
41
|
-
this.selection.changed.pipe(takeUntil(this._onDestroy)).subscribe(change => {
|
|
42
|
-
this.group.controls[this.field.name].patchValue(change.source.selected);
|
|
43
|
-
this.group.controls[this.field.name].markAllAsTouched();
|
|
44
|
-
this.group.controls[this.field.name].markAsDirty();
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
ngOnDestroy() {
|
|
48
|
-
super.ngOnDestroy();
|
|
49
|
-
}
|
|
50
|
-
onSelectionChange(selection) {
|
|
51
|
-
selection.options.forEach(option => {
|
|
52
|
-
option.selected ? this.selection.select([option.value])
|
|
53
|
-
: this.selection.deselect([option.value]);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormSelectionListComponent, selector: "kles-form-selection-list", usesInheritance: true, ngImport: i0, template: `
|
|
58
|
-
<div class="margin-top" [formGroup]="group">
|
|
59
|
-
<mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
|
|
60
|
-
(selectionChange)="onSelectionChange($event)">
|
|
61
|
-
@if(options$ | async; as options){
|
|
62
|
-
@if(field.virtualScroll){
|
|
63
|
-
<cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
|
|
64
|
-
@if (!field.autocompleteComponent) {
|
|
65
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
66
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
67
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
68
|
-
</mat-list-option>
|
|
69
|
-
}
|
|
70
|
-
@else{
|
|
71
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
72
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
73
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
74
|
-
</mat-list-option>
|
|
75
|
-
}
|
|
76
|
-
</cdk-virtual-scroll-viewport>
|
|
77
|
-
}
|
|
78
|
-
@else{
|
|
79
|
-
@if (!field.autocompleteComponent) {
|
|
80
|
-
@for (item of options; track item) {
|
|
81
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
82
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
83
|
-
</mat-list-option>
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
@else {
|
|
87
|
-
@for (item of options; track item) {
|
|
88
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
89
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
90
|
-
</mat-list-option>
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
}@else{
|
|
96
|
-
<mat-spinner></mat-spinner>
|
|
97
|
-
}
|
|
98
|
-
</mat-selection-list>
|
|
99
|
-
</div>
|
|
100
|
-
`, isInline: true, styles: ["mat-selection-list{width:100%;height:250px;overflow:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i3.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i4.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i6.KlesComponentDirective, selector: "[klesComponent]", inputs: ["component", "value", "field"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.KlesTransformPipe, name: "klesTransform" }] }); }
|
|
101
|
-
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListComponent, decorators: [{
|
|
103
|
-
type: Component,
|
|
104
|
-
args: [{ selector: 'kles-form-selection-list', template: `
|
|
105
|
-
<div class="margin-top" [formGroup]="group">
|
|
106
|
-
<mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
|
|
107
|
-
(selectionChange)="onSelectionChange($event)">
|
|
108
|
-
@if(options$ | async; as options){
|
|
109
|
-
@if(field.virtualScroll){
|
|
110
|
-
<cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
|
|
111
|
-
@if (!field.autocompleteComponent) {
|
|
112
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
113
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
114
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
115
|
-
</mat-list-option>
|
|
116
|
-
}
|
|
117
|
-
@else{
|
|
118
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
119
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
120
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
121
|
-
</mat-list-option>
|
|
122
|
-
}
|
|
123
|
-
</cdk-virtual-scroll-viewport>
|
|
124
|
-
}
|
|
125
|
-
@else{
|
|
126
|
-
@if (!field.autocompleteComponent) {
|
|
127
|
-
@for (item of options; track item) {
|
|
128
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
129
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
130
|
-
</mat-list-option>
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
@else {
|
|
134
|
-
@for (item of options; track item) {
|
|
135
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
136
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
137
|
-
</mat-list-option>
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
}@else{
|
|
143
|
-
<mat-spinner></mat-spinner>
|
|
144
|
-
}
|
|
145
|
-
</mat-selection-list>
|
|
146
|
-
</div>
|
|
147
|
-
`, styles: ["mat-selection-list{width:100%;height:250px;overflow:auto}\n"] }]
|
|
148
|
-
}] });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvc2VsZWN0aW9uLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7O0FBbURsRSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsaUJBQWlCO0lBS2pFLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGtCQUFrQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUMvRSxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQU8sRUFBRSxFQUFFO1lBQ2xCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkUsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNyQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVSLElB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MEIsWUFDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EyQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEtsZXNTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3NlbGVjdGlvbi9zZWxlY3Rpb24tbW9kZWwnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbGVzLWZvcm0tc2VsZWN0aW9uLWxpc3QnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cIm1hcmdpbi10b3BcIiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgICAgIDxtYXQtc2VsZWN0aW9uLWxpc3QgW2F0dHIuaWRdPVwiZmllbGQuaWRcIiBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIiBbbmdDbGFzc109XCJmaWVsZC5uZ0NsYXNzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICBAaWYob3B0aW9ucyQgfCBhc3luYzsgYXMgb3B0aW9ucyl7XG4gICAgICAgICAgICAgICAgQGlmKGZpZWxkLnZpcnR1YWxTY3JvbGwpe1xuICAgICAgICAgICAgICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJmaWVsZC5pdGVtU2l6ZSB8fCAyMFwiIHN0eWxlPVwiaGVpZ2h0OjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW3NlbGVjdGVkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9ICAgXG5cbiAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG5gLFxuICAgIHN0eWxlczogW2BcbiAgICAgICAgbWF0LXNlbGVjdGlvbi1saXN0IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDI1MHB4OyBvdmVyZmxvdzphdXRvfWBcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNlbGVjdGlvbkxpc3RDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHNlbGVjdGlvbjogS2xlc1NlbGVjdGlvbk1vZGVsPGFueT47XG4gICAgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBuZXcgS2xlc1NlbGVjdGlvbk1vZGVsPGFueT4odGhpcy5maWVsZC5tdWx0aXBsZSB8fCBmYWxzZSwgW10sIHRydWUsXG4gICAgICAgICAgICAoKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5maWVsZC5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbzE/Llt0aGlzLmZpZWxkLnByb3BlcnR5XSA9PT0gbzI/Llt0aGlzLmZpZWxkLnByb3BlcnR5XTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbzEgPT09IG8yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkgPyB0aGlzLmZpZWxkLnZhbHVlIDogW3RoaXMuZmllbGQudmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5maWVsZC5vcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5maWVsZC5vcHRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMkID0gb2YodGhpcy5maWVsZC5vcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS52YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0U2VsZWN0aW9uKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLnBhdGNoVmFsdWUoY2hhbmdlLnNvdXJjZS5zZWxlY3RlZCk7XG4gICAgICAgICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgICAgICAgdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb246IE1hdFNlbGVjdGlvbkxpc3RDaGFuZ2UpIHtcbiAgICAgICAgc2VsZWN0aW9uLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgICAgICAgb3B0aW9uLnNlbGVjdGVkID8gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KFtvcHRpb24udmFsdWVdKVxuICAgICAgICAgICAgICAgIDogdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3QoW29wdGlvbi52YWx1ZV0pXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { Observable, of } from 'rxjs';
|
|
3
|
-
import { KlesFieldAbstract } from './field.abstract';
|
|
4
|
-
import { debounceTime, distinctUntilChanged, map, shareReplay, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { KlesSelectionModel } from '../selection/selection-model';
|
|
6
|
-
import { FormControl } from '@angular/forms';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@angular/forms";
|
|
10
|
-
import * as i3 from "@angular/material/button";
|
|
11
|
-
import * as i4 from "@angular/material/icon";
|
|
12
|
-
import * as i5 from "@angular/material/list";
|
|
13
|
-
import * as i6 from "@angular/material/input";
|
|
14
|
-
import * as i7 from "@angular/material/form-field";
|
|
15
|
-
import * as i8 from "@angular/material/progress-spinner";
|
|
16
|
-
import * as i9 from "@angular/cdk/scrolling";
|
|
17
|
-
import * as i10 from "../directive/dynamic-component.directive";
|
|
18
|
-
import * as i11 from "../pipe/transform.pipe";
|
|
19
|
-
export class KlesFormSelectionListSearchComponent extends KlesFieldAbstract {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.searchControl = new FormControl();
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
if (!this.field.subscriptSizing) {
|
|
26
|
-
this.field.subscriptSizing = 'dynamic';
|
|
27
|
-
}
|
|
28
|
-
super.ngOnInit();
|
|
29
|
-
this.selection = new KlesSelectionModel(this.field.multiple || false, [], true, ((o1, o2) => {
|
|
30
|
-
if (this.field.property) {
|
|
31
|
-
return o1?.[this.field.property] === o2?.[this.field.property];
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
return o1 === o2;
|
|
35
|
-
}
|
|
36
|
-
}));
|
|
37
|
-
if (this.field.value) {
|
|
38
|
-
this.selection.select(Array.isArray(this.field.value) ? this.field.value : [this.field.value]);
|
|
39
|
-
}
|
|
40
|
-
if (this.field.options instanceof Observable) {
|
|
41
|
-
this.options$ = this.field.options.pipe(shareReplay(1));
|
|
42
|
-
}
|
|
43
|
-
this.group.controls[this.field.name].valueChanges
|
|
44
|
-
.pipe(takeUntil(this._onDestroy)).subscribe((value) => {
|
|
45
|
-
this.selection.setSelection(Array.isArray(value) ? value : [value], { emitEvent: false });
|
|
46
|
-
});
|
|
47
|
-
this.selection.changed.pipe(takeUntil(this._onDestroy)).subscribe(change => {
|
|
48
|
-
this.group.controls[this.field.name].patchValue(change.source.selected);
|
|
49
|
-
this.group.controls[this.field.name].markAllAsTouched();
|
|
50
|
-
this.group.controls[this.field.name].markAsDirty();
|
|
51
|
-
});
|
|
52
|
-
this.optionFiltered$ = this.searchControl.valueChanges
|
|
53
|
-
.pipe(takeUntil(this._onDestroy), startWith(null), debounceTime(this.field.debounceTime || 0), distinctUntilChanged(), map((value) => value?.toLowerCase()), switchMap((value) => {
|
|
54
|
-
if (this.field.options instanceof Function) {
|
|
55
|
-
return this.field.options(value);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return ((this.field.options instanceof Observable) ? this.options$ : of(this.field.options)).pipe(map((options) => {
|
|
59
|
-
if (!value) {
|
|
60
|
-
return options;
|
|
61
|
-
}
|
|
62
|
-
return options.filter(option => {
|
|
63
|
-
return (!this.field.property && option?.toString().toLowerCase().includes(value))
|
|
64
|
-
|| (this.field.property && option?.[this.field.property]?.toString().toLowerCase().includes(value))
|
|
65
|
-
|| (this.field.searchKeys && this.field.searchKeys.some(key => option?.[key].toString().toLowerCase().includes(value)));
|
|
66
|
-
});
|
|
67
|
-
}));
|
|
68
|
-
}
|
|
69
|
-
}));
|
|
70
|
-
}
|
|
71
|
-
ngOnDestroy() {
|
|
72
|
-
super.ngOnDestroy();
|
|
73
|
-
}
|
|
74
|
-
onSelectionChange(selection) {
|
|
75
|
-
selection.options.forEach(option => {
|
|
76
|
-
option.selected ? this.selection.select([option.value])
|
|
77
|
-
: this.selection.deselect([option.value]);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormSelectionListSearchComponent, selector: "kles-form-selection-list-search", usesInheritance: true, ngImport: i0, template: `
|
|
82
|
-
<div class="selection-list" [formGroup]="group">
|
|
83
|
-
<mat-form-field [subscriptSizing]="field.subscriptSizing" [appearance]="field.appearance">
|
|
84
|
-
@if (field.label) {
|
|
85
|
-
<mat-label>{{field.label}}</mat-label>
|
|
86
|
-
}
|
|
87
|
-
<input matInput [placeholder]="field.placeholder" [formControl]="searchControl">
|
|
88
|
-
<button matSuffix mat-icon-button aria-label="Clear" (click)="searchControl.reset();$event.stopPropagation();">
|
|
89
|
-
<mat-icon>close</mat-icon>
|
|
90
|
-
</button>
|
|
91
|
-
</mat-form-field>
|
|
92
|
-
|
|
93
|
-
<mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
|
|
94
|
-
(selectionChange)="onSelectionChange($event)">
|
|
95
|
-
@if(optionFiltered$ | async; as options){
|
|
96
|
-
@if(field.virtualScroll){
|
|
97
|
-
<cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
|
|
98
|
-
@if (!field.autocompleteComponent) {
|
|
99
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
100
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
101
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
102
|
-
</mat-list-option>
|
|
103
|
-
}
|
|
104
|
-
@else{
|
|
105
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
106
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
107
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
108
|
-
</mat-list-option>
|
|
109
|
-
}
|
|
110
|
-
</cdk-virtual-scroll-viewport>
|
|
111
|
-
}
|
|
112
|
-
@else{
|
|
113
|
-
@if (!field.autocompleteComponent) {
|
|
114
|
-
@for (item of options; track item) {
|
|
115
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
116
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
117
|
-
</mat-list-option>
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
@else {
|
|
121
|
-
@for (item of options; track item) {
|
|
122
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
123
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
124
|
-
</mat-list-option>
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
}@else{
|
|
130
|
-
<mat-spinner></mat-spinner>
|
|
131
|
-
}
|
|
132
|
-
</mat-selection-list>
|
|
133
|
-
</div>
|
|
134
|
-
`, isInline: true, styles: [".selection-list{display:flex;flex-direction:column;gap:5px}\n", "mat-selection-list{width:100%;height:250px;overflow:auto;flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "directive", type: i6.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: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i9.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i9.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i9.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: i10.KlesComponentDirective, selector: "[klesComponent]", inputs: ["component", "value", "field"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.KlesTransformPipe, name: "klesTransform" }] }); }
|
|
135
|
-
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSelectionListSearchComponent, decorators: [{
|
|
137
|
-
type: Component,
|
|
138
|
-
args: [{ selector: 'kles-form-selection-list-search', template: `
|
|
139
|
-
<div class="selection-list" [formGroup]="group">
|
|
140
|
-
<mat-form-field [subscriptSizing]="field.subscriptSizing" [appearance]="field.appearance">
|
|
141
|
-
@if (field.label) {
|
|
142
|
-
<mat-label>{{field.label}}</mat-label>
|
|
143
|
-
}
|
|
144
|
-
<input matInput [placeholder]="field.placeholder" [formControl]="searchControl">
|
|
145
|
-
<button matSuffix mat-icon-button aria-label="Clear" (click)="searchControl.reset();$event.stopPropagation();">
|
|
146
|
-
<mat-icon>close</mat-icon>
|
|
147
|
-
</button>
|
|
148
|
-
</mat-form-field>
|
|
149
|
-
|
|
150
|
-
<mat-selection-list [attr.id]="field.id" [multiple]="field.multiple" [ngClass]="field.ngClass"
|
|
151
|
-
(selectionChange)="onSelectionChange($event)">
|
|
152
|
-
@if(optionFiltered$ | async; as options){
|
|
153
|
-
@if(field.virtualScroll){
|
|
154
|
-
<cdk-virtual-scroll-viewport [itemSize]="field.itemSize || 20" style="height:100%">
|
|
155
|
-
@if (!field.autocompleteComponent) {
|
|
156
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
157
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
158
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
159
|
-
</mat-list-option>
|
|
160
|
-
}
|
|
161
|
-
@else{
|
|
162
|
-
<mat-list-option *cdkVirtualFor="let item of options; templateCacheSize: 0"
|
|
163
|
-
[value]="item" [selected]="selection.isSelected(item)">
|
|
164
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
165
|
-
</mat-list-option>
|
|
166
|
-
}
|
|
167
|
-
</cdk-virtual-scroll-viewport>
|
|
168
|
-
}
|
|
169
|
-
@else{
|
|
170
|
-
@if (!field.autocompleteComponent) {
|
|
171
|
-
@for (item of options; track item) {
|
|
172
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
173
|
-
{{(field.property ? item[field.property] : item) | klesTransform:field.pipeTransform}}
|
|
174
|
-
</mat-list-option>
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
@else {
|
|
178
|
-
@for (item of options; track item) {
|
|
179
|
-
<mat-list-option [value]="item" [selected]="selection.isSelected(item)">
|
|
180
|
-
<ng-container klesComponent [component]="field.autocompleteComponent" [value]="item" [field]="field"></ng-container>
|
|
181
|
-
</mat-list-option>
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
}@else{
|
|
187
|
-
<mat-spinner></mat-spinner>
|
|
188
|
-
}
|
|
189
|
-
</mat-selection-list>
|
|
190
|
-
</div>
|
|
191
|
-
`, styles: [".selection-list{display:flex;flex-direction:column;gap:5px}\n", "mat-selection-list{width:100%;height:250px;overflow:auto;flex-grow:1}\n"] }]
|
|
192
|
-
}] });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3Quc2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL3NlbGVjdGlvbi1saXN0LnNlYXJjaC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBOEQ3QyxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsaUJBQWlCO0lBN0QzRTs7UUFpRUUsa0JBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBNkVuQztJQXpFQyxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLGtCQUFrQixDQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUNqRixDQUFDLENB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Q0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQztRQUNqRCxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWhGVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQyw4RkEzRHJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFEWDs7NEZBTVksb0NBQW9DO2tCQTdEaEQsU0FBUzsrQkFDRSxpQ0FBaUMsWUFDakM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBcURYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2xlc1NlbGVjdGlvbk1vZGVsIH0gZnJvbSAnLi4vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tsZXMtZm9ybS1zZWxlY3Rpb24tbGlzdC1zZWFyY2gnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rpb24tbGlzdFwiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFtzdWJzY3JpcHRTaXppbmddPVwiZmllbGQuc3Vic2NyaXB0U2l6aW5nXCIgW2FwcGVhcmFuY2VdPVwiZmllbGQuYXBwZWFyYW5jZVwiPlxuICAgICAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3tmaWVsZC5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiAoY2xpY2spPVwic2VhcmNoQ29udHJvbC5yZXNldCgpOyRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG1hdC1zZWxlY3Rpb24tbGlzdCBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIEBpZihvcHRpb25GaWx0ZXJlZCQgfCBhc3luYzsgYXMgb3B0aW9ucyl7XG4gICAgICAgICAgICAgICAgQGlmKGZpZWxkLnZpcnR1YWxTY3JvbGwpe1xuICAgICAgICAgICAgICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJmaWVsZC5pdGVtU2l6ZSB8fCAyMFwiIHN0eWxlPVwiaGVpZ2h0OjEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoIWZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyB0ZW1wbGF0ZUNhY2hlU2l6ZTogMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzQ29tcG9uZW50IFtjb21wb25lbnRdPVwiZmllbGQuYXV0b2NvbXBsZXRlQ29tcG9uZW50XCIgW3ZhbHVlXT1cIml0ZW1cIiBbZmllbGRdPVwiZmllbGRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNle1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCFmaWVsZC5hdXRvY29tcGxldGVDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2Ygb3B0aW9uczsgdHJhY2sgaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGlzdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIiBbc2VsZWN0ZWRdPVwic2VsZWN0aW9uLmlzU2VsZWN0ZWQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3soZmllbGQucHJvcGVydHkgPyBpdGVtW2ZpZWxkLnByb3BlcnR5XSA6IGl0ZW0pIHwga2xlc1RyYW5zZm9ybTpmaWVsZC5waXBlVHJhbnNmb3JtfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIG9wdGlvbnM7IHRyYWNrIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFt2YWx1ZV09XCJpdGVtXCIgW3NlbGVjdGVkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0NvbXBvbmVudCBbY29tcG9uZW50XT1cImZpZWxkLmF1dG9jb21wbGV0ZUNvbXBvbmVudFwiIFt2YWx1ZV09XCJpdGVtXCIgW2ZpZWxkXT1cImZpZWxkXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1AZWxzZXtcbiAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtc2VsZWN0aW9uLWxpc3Q+XG4gICAgPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtcbiAgICBgLnNlbGVjdGlvbi1saXN0IHtkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgZ2FwOjVweH1gLFxuICAgIGBtYXQtc2VsZWN0aW9uLWxpc3Qge3dpZHRoOiAxMDAlO2hlaWdodDogMjUwcHg7IG92ZXJmbG93OmF1dG87IGZsZXgtZ3JvdzogMTt9YFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNlbGVjdGlvbkxpc3RTZWFyY2hDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBzZWxlY3Rpb246IEtsZXNTZWxlY3Rpb25Nb2RlbDxhbnk+O1xuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIHNlYXJjaENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICBvcHRpb25GaWx0ZXJlZCQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5maWVsZC5zdWJzY3JpcHRTaXppbmcpIHtcbiAgICAgIHRoaXMuZmllbGQuc3Vic2NyaXB0U2l6aW5nID0gJ2R5bmFtaWMnO1xuICAgIH1cbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBuZXcgS2xlc1NlbGVjdGlvbk1vZGVsPGFueT4odGhpcy5maWVsZC5tdWx0aXBsZSB8fCBmYWxzZSwgW10sIHRydWUsXG4gICAgICAoKG8xOiBhbnksIG8yOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQucHJvcGVydHkpIHtcbiAgICAgICAgICByZXR1cm4gbzE/Llt0aGlzLmZpZWxkLnByb3BlcnR5XSA9PT0gbzI/Llt0aGlzLmZpZWxkLnByb3BlcnR5XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gbzEgPT09IG8yO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICBpZiAodGhpcy5maWVsZC52YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkgPyB0aGlzLmZpZWxkLnZhbHVlIDogW3RoaXMuZmllbGQudmFsdWVdKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5maWVsZC5vcHRpb25zIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgdGhpcy5vcHRpb25zJCA9IHRoaXMuZmllbGQub3B0aW9ucy5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgICB9XG5cbiAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSksXG4gICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2V0U2VsZWN0aW9uKEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0aW9uLmNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSkuc3Vic2NyaWJlKGNoYW5nZSA9PiB7XG4gICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ucGF0Y2hWYWx1ZShjaGFuZ2Uuc291cmNlLnNlbGVjdGVkKTtcbiAgICAgIHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0ubWFya0FzRGlydHkoKTtcbiAgICB9KTtcblxuICAgIHRoaXMub3B0aW9uRmlsdGVyZWQkID0gdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kpLFxuICAgICAgICBzdGFydFdpdGgobnVsbCBhcyBzdHJpbmcpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5maWVsZC5kZWJvdW5jZVRpbWUgfHwgMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIG1hcCgodmFsdWUpID0+IHZhbHVlPy50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmZpZWxkLm9wdGlvbnMgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQub3B0aW9ucyh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAoKHRoaXMuZmllbGQub3B0aW9ucyBpbnN0YW5jZW9mIE9ic2VydmFibGUpID8gdGhpcy5vcHRpb25zJCA6IG9mKHRoaXMuZmllbGQub3B0aW9ucykpLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoIXRoaXMuZmllbGQucHJvcGVydHkgJiYgb3B0aW9uPy50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICB8fCAodGhpcy5maWVsZC5wcm9wZXJ0eSAmJiBvcHRpb24/Llt0aGlzLmZpZWxkLnByb3BlcnR5XT8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgfHwgKHRoaXMuZmllbGQuc2VhcmNoS2V5cyAmJiB0aGlzLmZpZWxkLnNlYXJjaEtleXMuc29tZShrZXkgPT4gb3B0aW9uPy5ba2V5XS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUpKSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uOiBNYXRTZWxlY3Rpb25MaXN0Q2hhbmdlKSB7XG4gICAgc2VsZWN0aW9uLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgb3B0aW9uLnNlbGVjdGVkID8gdGhpcy5zZWxlY3Rpb24uc2VsZWN0KFtvcHRpb24udmFsdWVdKVxuICAgICAgICA6IHRoaXMuc2VsZWN0aW9uLmRlc2VsZWN0KFtvcHRpb24udmFsdWVdKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { KlesFieldAbstract } from './field.abstract';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "@angular/material/tooltip";
|
|
7
|
-
import * as i4 from "@angular/material/slide-toggle";
|
|
8
|
-
import * as i5 from "@ngx-translate/core";
|
|
9
|
-
export class KlesFormSlideToggleComponent extends KlesFieldAbstract {
|
|
10
|
-
ngOnInit() { super.ngOnInit(); }
|
|
11
|
-
ngOnDestroy() {
|
|
12
|
-
super.ngOnDestroy();
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSlideToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: KlesFormSlideToggleComponent, selector: "kles-form-slide-toggle", usesInheritance: true, ngImport: i0, template: `
|
|
16
|
-
<div [formGroup]="group" >
|
|
17
|
-
<mat-slide-toggle matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [color]="field.color" [formControlName]="field.name">{{field.label | translate}}</mat-slide-toggle>
|
|
18
|
-
</div>
|
|
19
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormSlideToggleComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'kles-form-slide-toggle', template: `
|
|
24
|
-
<div [formGroup]="group" >
|
|
25
|
-
<mat-slide-toggle matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [color]="field.color" [formControlName]="field.name">{{field.label | translate}}</mat-slide-toggle>
|
|
26
|
-
</div>
|
|
27
|
-
` }]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvZmllbGRzL3NsaWRlLXRvZ2dsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7QUFZckQsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQUMvRCxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoQyxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBSlEsNEJBQTRCO21HQUE1Qiw0QkFBNEIscUZBUDNCOzs7O0NBSWI7OzRGQUdZLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDSSx3QkFBd0IsWUFDeEI7Ozs7Q0FJYiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLXNsaWRlLXRvZ2dsZScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiA+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIG1hdFRvb2x0aXA9XCJ7e2ZpZWxkLnRvb2x0aXB9fVwiIFthdHRyLmlkXT1cImZpZWxkLmlkXCIgW25nQ2xhc3NdPVwiZmllbGQubmdDbGFzc1wiIFtjb2xvcl09XCJmaWVsZC5jb2xvclwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiPnt7ZmllbGQubGFiZWwgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L2Rpdj5cbmAsXG4gICAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBLbGVzRm9ybVNsaWRlVG9nZ2xlQ29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgbmdPbkluaXQoKSB7IHN1cGVyLm5nT25Jbml0KCk7IH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { FieldMapper } from '../decorators/component.decorator';
|
|
4
|
-
import { EnumType } from '../enums/type.enum';
|
|
5
|
-
import { KlesFieldAbstract } from './field.abstract';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@angular/material/tooltip";
|
|
9
|
-
import * as i3 from "../pipe/transform.pipe";
|
|
10
|
-
let KlesFormTextComponent = class KlesFormTextComponent extends KlesFieldAbstract {
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
super.ngOnInit();
|
|
13
|
-
}
|
|
14
|
-
ngOnDestroy() {
|
|
15
|
-
super.ngOnDestroy();
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormTextComponent, selector: "kles-form-text", usesInheritance: true, ngImport: i0, template: `
|
|
19
|
-
<span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
|
|
20
|
-
{{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
|
|
21
|
-
</span>
|
|
22
|
-
@if (field.subComponents || isPending()) {
|
|
23
|
-
<ng-content></ng-content>
|
|
24
|
-
}
|
|
25
|
-
`, isInline: true, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.KlesTransformPipe, name: "klesTransform" }] }); }
|
|
26
|
-
};
|
|
27
|
-
KlesFormTextComponent = __decorate([
|
|
28
|
-
FieldMapper({ type: EnumType.text })
|
|
29
|
-
], KlesFormTextComponent);
|
|
30
|
-
export { KlesFormTextComponent };
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ selector: 'kles-form-text', template: `
|
|
34
|
-
<span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
|
|
35
|
-
{{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
|
|
36
|
-
</span>
|
|
37
|
-
@if (field.subComponents || isPending()) {
|
|
38
|
-
<ng-content></ng-content>
|
|
39
|
-
}
|
|
40
|
-
`, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"] }]
|
|
41
|
-
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFxQjlDLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsaUJBQWlCO0lBRXhELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FQUSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw2RUFoQnBCOzs7Ozs7O0NBT2I7O0FBU1kscUJBQXFCO0lBbkJqQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0dBbUJ4QixxQkFBcUIsQ0FRakM7OzRGQVJZLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLFlBQ2hCOzs7Ozs7O0NBT2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBFbnVtVHlwZSB9IGZyb20gJy4uL2VudW1zL3R5cGUuZW51bSc7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5ARmllbGRNYXBwZXIoeyB0eXBlOiBFbnVtVHlwZS50ZXh0IH0pXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS10ZXh0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIiBbbmdTdHlsZV09XCJmaWVsZC5uZ1N0eWxlXCI+XG4gICAgICAgICAgICAgICAge3soKGZpZWxkLnByb3BlcnR5ICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSA/IGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSA6IGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmIChmaWVsZC5zdWJDb21wb25lbnRzIHx8IGlzUGVuZGluZygpKSB7XG4gICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgfVxuYCxcbnN0eWxlczogW2A6aG9zdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICAgICAgfWBcbl1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1UZXh0Q29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import { KlesFieldAbstract } from './field.abstract';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "@angular/material/input";
|
|
7
|
-
import * as i4 from "@angular/material/form-field";
|
|
8
|
-
import * as i5 from "@angular/cdk/text-field";
|
|
9
|
-
import * as i6 from "@angular/material/tooltip";
|
|
10
|
-
import * as i7 from "../directive/mat-error-message.directive";
|
|
11
|
-
import * as i8 from "@ngx-translate/core";
|
|
12
|
-
export class KlesFormTextareaComponent extends KlesFieldAbstract {
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
}
|
|
16
|
-
ngOnDestroy() {
|
|
17
|
-
super.ngOnDestroy();
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: KlesFormTextareaComponent, selector: "kles-form-textarea", usesInheritance: true, ngImport: i0, template: `
|
|
21
|
-
<mat-form-field [subscriptSizing]="field.subscriptSizing" [formGroup]="group" [color]="field.color" class="form-element" [appearance]="field.appearance">
|
|
22
|
-
@if (field.label) {
|
|
23
|
-
<mat-label>{{field.label}}</mat-label>
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
<textarea matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
|
|
27
|
-
[formControlName]="field.name" cdkTextareaAutosize [placeholder]="field.placeholder | translate"
|
|
28
|
-
[cdkAutosizeMinRows]="field.textareaAutoSize?.minRows" [cdkAutosizeMaxRows]="field.textareaAutoSize?.maxRows" [maxlength]="field.maxLength">
|
|
29
|
-
</textarea>
|
|
30
|
-
|
|
31
|
-
@if (field.subComponents || field.clearable) {
|
|
32
|
-
<div matSuffix>
|
|
33
|
-
<ng-content></ng-content>
|
|
34
|
-
</div>
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
<mat-error matErrorMessage [validations]="field.validations" [asyncValidations]="field.asyncValidations"></mat-error>
|
|
38
|
-
</mat-form-field>
|
|
39
|
-
`, isInline: true, styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.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: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.MatErrorMessageDirective, selector: "[matErrorMessage]", inputs: ["validations", "asyncValidations"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: KlesFormTextareaComponent, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{ selector: 'kles-form-textarea', template: `
|
|
44
|
-
<mat-form-field [subscriptSizing]="field.subscriptSizing" [formGroup]="group" [color]="field.color" class="form-element" [appearance]="field.appearance">
|
|
45
|
-
@if (field.label) {
|
|
46
|
-
<mat-label>{{field.label}}</mat-label>
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
<textarea matInput matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass"
|
|
50
|
-
[formControlName]="field.name" cdkTextareaAutosize [placeholder]="field.placeholder | translate"
|
|
51
|
-
[cdkAutosizeMinRows]="field.textareaAutoSize?.minRows" [cdkAutosizeMaxRows]="field.textareaAutoSize?.maxRows" [maxlength]="field.maxLength">
|
|
52
|
-
</textarea>
|
|
53
|
-
|
|
54
|
-
@if (field.subComponents || field.clearable) {
|
|
55
|
-
<div matSuffix>
|
|
56
|
-
<ng-content></ng-content>
|
|
57
|
-
</div>
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
<mat-error matErrorMessage [validations]="field.validations" [asyncValidations]="field.asyncValidations"></mat-error>
|
|
61
|
-
</mat-form-field>
|
|
62
|
-
`, styles: ["mat-form-field{width:100%}\n"] }]
|
|
63
|
-
}] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0FBMEJyRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBQzVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FQUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpRkF0QnhCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUJUOzs0RkFHUSx5QkFBeUI7a0JBeEJyQyxTQUFTOytCQUNJLG9CQUFvQixZQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1CVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtsZXNGaWVsZEFic3RyYWN0IH0gZnJvbSAnLi9maWVsZC5hYnN0cmFjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLXRleHRhcmVhJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBbc3Vic2NyaXB0U2l6aW5nXT1cImZpZWxkLnN1YnNjcmlwdFNpemluZ1wiIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29sb3JdPVwiZmllbGQuY29sb3JcIiBjbGFzcz1cImZvcm0tZWxlbWVudFwiIFthcHBlYXJhbmNlXT1cImZpZWxkLmFwcGVhcmFuY2VcIj5cbiAgICAgICAgQGlmIChmaWVsZC5sYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1sYWJlbD57e2ZpZWxkLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgICAgfVxuXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIlxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIiBjZGtUZXh0YXJlYUF1dG9zaXplIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtjZGtBdXRvc2l6ZU1pblJvd3NdPVwiZmllbGQudGV4dGFyZWFBdXRvU2l6ZT8ubWluUm93c1wiIFtjZGtBdXRvc2l6ZU1heFJvd3NdPVwiZmllbGQudGV4dGFyZWFBdXRvU2l6ZT8ubWF4Um93c1wiICBbbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aFwiPlxuICAgICAgICA8L3RleHRhcmVhPlxuXG4gICAgICAgIEBpZiAoZmllbGQuc3ViQ29tcG9uZW50cyB8fCBmaWVsZC5jbGVhcmFibGUpIHtcbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4PlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPG1hdC1lcnJvciBtYXRFcnJvck1lc3NhZ2UgW3ZhbGlkYXRpb25zXT1cImZpZWxkLnZhbGlkYXRpb25zXCIgW2FzeW5jVmFsaWRhdGlvbnNdPVwiZmllbGQuYXN5bmNWYWxpZGF0aW9uc1wiPjwvbWF0LWVycm9yPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgYCxcbiAgICBzdHlsZXM6IFsnbWF0LWZvcm0tZmllbGQge3dpZHRoOiBjYWxjKDEwMCUpfSddXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|