@ngx-formly/bootstrap 6.0.0-next.1 → 6.0.0-next.5
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 +2 -2
- package/addons/addons.component.d.ts +3 -0
- package/addons/addons.module.d.ts +8 -0
- package/addons/ngx-formly-bootstrap-addons.d.ts +1 -2
- package/addons/package.json +5 -6
- package/checkbox/checkbox.module.d.ts +9 -0
- package/checkbox/checkbox.type.d.ts +3 -0
- package/checkbox/ngx-formly-bootstrap-checkbox.d.ts +1 -0
- package/checkbox/package.json +5 -6
- package/{esm2015/addons/addon.extension.js → esm2020/addons/addon.extension.mjs} +0 -0
- package/esm2020/addons/addons.component.mjs +19 -0
- package/esm2020/addons/addons.module.mjs +36 -0
- package/esm2020/addons/ngx-formly-bootstrap-addons.mjs +5 -0
- package/{esm2015/addons/public_api.js → esm2020/addons/public_api.mjs} +0 -0
- package/esm2020/checkbox/checkbox.module.mjs +57 -0
- package/esm2020/checkbox/checkbox.type.mjs +73 -0
- package/{esm2015/checkbox/ngx-formly-bootstrap-checkbox.js → esm2020/checkbox/ngx-formly-bootstrap-checkbox.mjs} +0 -0
- package/{esm2015/checkbox/public_api.js → esm2020/checkbox/public_api.mjs} +0 -0
- package/esm2020/form-field/form-field.module.mjs +43 -0
- package/esm2020/form-field/form-field.wrapper.mjs +48 -0
- package/esm2020/form-field/ngx-formly-bootstrap-form-field.mjs +5 -0
- package/{esm2015/form-field/public_api.js → esm2020/form-field/public_api.mjs} +0 -0
- package/esm2020/input/input.module.mjs +87 -0
- package/esm2020/input/input.type.mjs +58 -0
- package/{esm2015/input/ngx-formly-bootstrap-input.js → esm2020/input/ngx-formly-bootstrap-input.mjs} +0 -0
- package/{esm2015/input/public_api.js → esm2020/input/public_api.mjs} +0 -0
- package/{esm2015/lib/bootstrap.js → esm2020/lib/bootstrap.mjs} +0 -0
- package/esm2020/lib/bootstrap.module.mjs +47 -0
- package/esm2020/multicheckbox/multicheckbox.module.mjs +53 -0
- package/esm2020/multicheckbox/multicheckbox.type.mjs +87 -0
- package/{esm2015/multicheckbox/ngx-formly-bootstrap-multicheckbox.js → esm2020/multicheckbox/ngx-formly-bootstrap-multicheckbox.mjs} +0 -0
- package/{esm2015/multicheckbox/public_api.js → esm2020/multicheckbox/public_api.mjs} +0 -0
- package/{esm2015/ngx-formly-bootstrap.js → esm2020/ngx-formly-bootstrap.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/{esm2015/radio/ngx-formly-bootstrap-radio.js → esm2020/radio/ngx-formly-bootstrap-radio.mjs} +0 -0
- package/{esm2015/radio/public_api.js → esm2020/radio/public_api.mjs} +0 -0
- package/esm2020/radio/radio.module.mjs +53 -0
- package/esm2020/radio/radio.type.mjs +73 -0
- package/{esm2015/select/ngx-formly-bootstrap-select.js → esm2020/select/ngx-formly-bootstrap-select.mjs} +0 -0
- package/{esm2015/select/public_api.js → esm2020/select/public_api.mjs} +0 -0
- package/esm2020/select/select.module.mjs +55 -0
- package/esm2020/select/select.type.mjs +200 -0
- package/{esm2015/textarea/ngx-formly-bootstrap-textarea.js → esm2020/textarea/ngx-formly-bootstrap-textarea.mjs} +0 -0
- package/{esm2015/textarea/public_api.js → esm2020/textarea/public_api.mjs} +0 -0
- package/esm2020/textarea/textarea.module.mjs +49 -0
- package/esm2020/textarea/textarea.type.mjs +47 -0
- package/fesm2015/ngx-formly-bootstrap-addons.mjs +68 -0
- package/fesm2015/ngx-formly-bootstrap-addons.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-checkbox.mjs +132 -0
- package/fesm2015/ngx-formly-bootstrap-checkbox.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-form-field.mjs +93 -0
- package/fesm2015/ngx-formly-bootstrap-form-field.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-input.mjs +147 -0
- package/fesm2015/ngx-formly-bootstrap-input.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-multicheckbox.mjs +142 -0
- package/fesm2015/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-radio.mjs +128 -0
- package/fesm2015/ngx-formly-bootstrap-radio.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-select.mjs +256 -0
- package/fesm2015/ngx-formly-bootstrap-select.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-textarea.mjs +98 -0
- package/fesm2015/ngx-formly-bootstrap-textarea.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap.mjs +58 -0
- package/fesm2015/ngx-formly-bootstrap.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-addons.mjs +66 -0
- package/fesm2020/ngx-formly-bootstrap-addons.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-checkbox.mjs +132 -0
- package/fesm2020/ngx-formly-bootstrap-checkbox.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-form-field.mjs +93 -0
- package/fesm2020/ngx-formly-bootstrap-form-field.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-input.mjs +147 -0
- package/fesm2020/ngx-formly-bootstrap-input.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-multicheckbox.mjs +142 -0
- package/fesm2020/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-radio.mjs +128 -0
- package/fesm2020/ngx-formly-bootstrap-radio.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-select.mjs +256 -0
- package/fesm2020/ngx-formly-bootstrap-select.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-textarea.mjs +98 -0
- package/fesm2020/ngx-formly-bootstrap-textarea.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap.mjs +58 -0
- package/fesm2020/ngx-formly-bootstrap.mjs.map +1 -0
- package/form-field/form-field.module.d.ts +8 -0
- package/form-field/form-field.wrapper.d.ts +3 -0
- package/form-field/ngx-formly-bootstrap-form-field.d.ts +1 -1
- package/form-field/package.json +5 -6
- package/input/input.module.d.ts +9 -0
- package/input/input.type.d.ts +3 -0
- package/input/ngx-formly-bootstrap-input.d.ts +1 -0
- package/input/package.json +5 -6
- package/lib/bootstrap.module.d.ts +12 -0
- package/multicheckbox/multicheckbox.module.d.ts +10 -0
- package/multicheckbox/multicheckbox.type.d.ts +3 -0
- package/multicheckbox/ngx-formly-bootstrap-multicheckbox.d.ts +1 -0
- package/multicheckbox/package.json +5 -6
- package/ngx-formly-bootstrap.d.ts +1 -0
- package/package.json +85 -9
- package/radio/ngx-formly-bootstrap-radio.d.ts +1 -0
- package/radio/package.json +5 -6
- package/radio/radio.module.d.ts +10 -0
- package/radio/radio.type.d.ts +3 -0
- package/select/ngx-formly-bootstrap-select.d.ts +1 -0
- package/select/package.json +5 -6
- package/select/select.module.d.ts +10 -0
- package/select/select.type.d.ts +6 -0
- package/textarea/ngx-formly-bootstrap-textarea.d.ts +1 -0
- package/textarea/package.json +5 -6
- package/textarea/textarea.module.d.ts +9 -0
- package/textarea/textarea.type.d.ts +3 -0
- package/addons/ngx-formly-bootstrap-addons.metadata.json +0 -1
- package/bundles/ngx-formly-bootstrap-addons.umd.js +0 -379
- package/bundles/ngx-formly-bootstrap-addons.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-addons.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-addons.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-checkbox.umd.js +0 -378
- package/bundles/ngx-formly-bootstrap-checkbox.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-checkbox.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-checkbox.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-form-field.umd.js +0 -364
- package/bundles/ngx-formly-bootstrap-form-field.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-form-field.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-form-field.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-input.umd.js +0 -392
- package/bundles/ngx-formly-bootstrap-input.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-input.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-input.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-multicheckbox.umd.js +0 -389
- package/bundles/ngx-formly-bootstrap-multicheckbox.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-multicheckbox.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-multicheckbox.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-radio.umd.js +0 -374
- package/bundles/ngx-formly-bootstrap-radio.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-radio.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-radio.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-select.umd.js +0 -415
- package/bundles/ngx-formly-bootstrap-select.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-select.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-select.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-textarea.umd.js +0 -373
- package/bundles/ngx-formly-bootstrap-textarea.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-textarea.umd.min.js +0 -16
- package/bundles/ngx-formly-bootstrap-textarea.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap.umd.js +0 -40
- package/bundles/ngx-formly-bootstrap.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap.umd.min.js +0 -2
- package/bundles/ngx-formly-bootstrap.umd.min.js.map +0 -1
- package/checkbox/ngx-formly-bootstrap-checkbox.metadata.json +0 -1
- package/esm2015/addons/addons.component.js +0 -21
- package/esm2015/addons/addons.module.js +0 -22
- package/esm2015/addons/ngx-formly-bootstrap-addons.js +0 -7
- package/esm2015/checkbox/checkbox.module.js +0 -32
- package/esm2015/checkbox/checkbox.type.js +0 -53
- package/esm2015/form-field/form-field.module.js +0 -25
- package/esm2015/form-field/form-field.wrapper.js +0 -27
- package/esm2015/form-field/ngx-formly-bootstrap-form-field.js +0 -6
- package/esm2015/input/input.module.js +0 -47
- package/esm2015/input/input.type.js +0 -33
- package/esm2015/lib/bootstrap.module.js +0 -26
- package/esm2015/multicheckbox/multicheckbox.module.js +0 -30
- package/esm2015/multicheckbox/multicheckbox.type.js +0 -68
- package/esm2015/radio/radio.module.js +0 -30
- package/esm2015/radio/radio.type.js +0 -54
- package/esm2015/select/select.module.js +0 -31
- package/esm2015/select/select.type.js +0 -127
- package/esm2015/textarea/textarea.module.js +0 -28
- package/esm2015/textarea/textarea.type.js +0 -31
- package/fesm2015/ngx-formly-bootstrap-addons.js +0 -55
- package/fesm2015/ngx-formly-bootstrap-addons.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-checkbox.js +0 -89
- package/fesm2015/ngx-formly-bootstrap-checkbox.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-form-field.js +0 -56
- package/fesm2015/ngx-formly-bootstrap-form-field.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-input.js +0 -84
- package/fesm2015/ngx-formly-bootstrap-input.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-multicheckbox.js +0 -102
- package/fesm2015/ngx-formly-bootstrap-multicheckbox.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-radio.js +0 -88
- package/fesm2015/ngx-formly-bootstrap-radio.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-select.js +0 -161
- package/fesm2015/ngx-formly-bootstrap-select.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap-textarea.js +0 -63
- package/fesm2015/ngx-formly-bootstrap-textarea.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap.js +0 -37
- package/fesm2015/ngx-formly-bootstrap.js.map +0 -1
- package/form-field/ngx-formly-bootstrap-form-field.metadata.json +0 -1
- package/input/ngx-formly-bootstrap-input.metadata.json +0 -1
- package/multicheckbox/ngx-formly-bootstrap-multicheckbox.metadata.json +0 -1
- package/ngx-formly-bootstrap.metadata.json +0 -1
- package/radio/ngx-formly-bootstrap-radio.metadata.json +0 -1
- package/select/ngx-formly-bootstrap-select.metadata.json +0 -1
- package/textarea/ngx-formly-bootstrap-textarea.metadata.json +0 -1
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
|
+
import { SelectControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { FieldType } from '@ngx-formly/core';
|
|
4
|
+
import { take } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
import * as i3 from "@ngx-formly/core";
|
|
9
|
+
import * as i4 from "@ngx-formly/core/select";
|
|
10
|
+
export class FormlyFieldSelect extends FieldType {
|
|
11
|
+
constructor(ngZone) {
|
|
12
|
+
super();
|
|
13
|
+
this.ngZone = ngZone;
|
|
14
|
+
this.defaultOptions = {
|
|
15
|
+
templateOptions: {
|
|
16
|
+
options: [],
|
|
17
|
+
compareWith(o1, o2) {
|
|
18
|
+
return o1 === o2;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// workaround for https://github.com/angular/angular/issues/10010
|
|
24
|
+
/**
|
|
25
|
+
* TODO: Check if this is still needed
|
|
26
|
+
*/
|
|
27
|
+
set selectAccessor(s) {
|
|
28
|
+
if (!s) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const writeValue = s.writeValue.bind(s);
|
|
32
|
+
if (s._getOptionId(s.value) === null) {
|
|
33
|
+
writeValue(s.value);
|
|
34
|
+
}
|
|
35
|
+
s.writeValue = (value) => {
|
|
36
|
+
const id = s._idCounter;
|
|
37
|
+
writeValue(value);
|
|
38
|
+
if (value === null) {
|
|
39
|
+
this.ngZone.onStable
|
|
40
|
+
.asObservable()
|
|
41
|
+
.pipe(take(1))
|
|
42
|
+
.subscribe(() => {
|
|
43
|
+
if (id !== s._idCounter &&
|
|
44
|
+
s._getOptionId(value) === null &&
|
|
45
|
+
s._elementRef.nativeElement.selectedIndex !== -1) {
|
|
46
|
+
writeValue(value);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
FormlyFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyFieldSelect, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
FormlyFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FormlyFieldSelect, selector: "formly-field-select", viewQueries: [{ propertyName: "selectAccessor", first: true, predicate: SelectControlValueAccessor, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
55
|
+
<select
|
|
56
|
+
*ngIf="to.multiple; else singleSelect"
|
|
57
|
+
class="form-select"
|
|
58
|
+
multiple
|
|
59
|
+
[formControl]="formControl"
|
|
60
|
+
[compareWith]="to.compareWith"
|
|
61
|
+
[class.is-invalid]="showError"
|
|
62
|
+
[formlyAttributes]="field"
|
|
63
|
+
>
|
|
64
|
+
<ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
|
|
65
|
+
<ng-container *ngIf="to._flatOptions; else grouplist">
|
|
66
|
+
<ng-container *ngFor="let opt of opts">
|
|
67
|
+
<option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
|
|
68
|
+
</ng-container>
|
|
69
|
+
</ng-container>
|
|
70
|
+
|
|
71
|
+
<ng-template #grouplist>
|
|
72
|
+
<ng-container *ngFor="let opt of opts">
|
|
73
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
74
|
+
{{ opt.label }}
|
|
75
|
+
</option>
|
|
76
|
+
<ng-template #optgroup>
|
|
77
|
+
<optgroup [label]="opt.label">
|
|
78
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
79
|
+
{{ child.label }}
|
|
80
|
+
</option>
|
|
81
|
+
</optgroup>
|
|
82
|
+
</ng-template>
|
|
83
|
+
</ng-container>
|
|
84
|
+
</ng-template>
|
|
85
|
+
</ng-container>
|
|
86
|
+
</select>
|
|
87
|
+
|
|
88
|
+
<ng-template #singleSelect>
|
|
89
|
+
<select
|
|
90
|
+
class="form-select"
|
|
91
|
+
[formControl]="formControl"
|
|
92
|
+
[compareWith]="to.compareWith"
|
|
93
|
+
[class.is-invalid]="showError"
|
|
94
|
+
[formlyAttributes]="field"
|
|
95
|
+
>
|
|
96
|
+
<option *ngIf="to.placeholder" [ngValue]="undefined">{{ to.placeholder }}</option>
|
|
97
|
+
<ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
|
|
98
|
+
<ng-container *ngIf="to._flatOptions; else grouplist">
|
|
99
|
+
<ng-container *ngFor="let opt of opts">
|
|
100
|
+
<option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
|
|
101
|
+
</ng-container>
|
|
102
|
+
</ng-container>
|
|
103
|
+
|
|
104
|
+
<ng-template #grouplist>
|
|
105
|
+
<ng-container *ngFor="let opt of opts">
|
|
106
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
107
|
+
{{ opt.label }}
|
|
108
|
+
</option>
|
|
109
|
+
<ng-template #optgroup>
|
|
110
|
+
<optgroup [label]="opt.label">
|
|
111
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
112
|
+
{{ child.label }}
|
|
113
|
+
</option>
|
|
114
|
+
</optgroup>
|
|
115
|
+
</ng-template>
|
|
116
|
+
</ng-container>
|
|
117
|
+
</ng-template>
|
|
118
|
+
</ng-container>
|
|
119
|
+
</select>
|
|
120
|
+
</ng-template>
|
|
121
|
+
`, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: ["compareWith"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }], pipes: { "async": i1.AsyncPipe, "formlySelectOptions": i4.ɵFormlySelectOptionsPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyFieldSelect, decorators: [{
|
|
123
|
+
type: Component,
|
|
124
|
+
args: [{
|
|
125
|
+
selector: 'formly-field-select',
|
|
126
|
+
template: `
|
|
127
|
+
<select
|
|
128
|
+
*ngIf="to.multiple; else singleSelect"
|
|
129
|
+
class="form-select"
|
|
130
|
+
multiple
|
|
131
|
+
[formControl]="formControl"
|
|
132
|
+
[compareWith]="to.compareWith"
|
|
133
|
+
[class.is-invalid]="showError"
|
|
134
|
+
[formlyAttributes]="field"
|
|
135
|
+
>
|
|
136
|
+
<ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
|
|
137
|
+
<ng-container *ngIf="to._flatOptions; else grouplist">
|
|
138
|
+
<ng-container *ngFor="let opt of opts">
|
|
139
|
+
<option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
|
|
140
|
+
</ng-container>
|
|
141
|
+
</ng-container>
|
|
142
|
+
|
|
143
|
+
<ng-template #grouplist>
|
|
144
|
+
<ng-container *ngFor="let opt of opts">
|
|
145
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
146
|
+
{{ opt.label }}
|
|
147
|
+
</option>
|
|
148
|
+
<ng-template #optgroup>
|
|
149
|
+
<optgroup [label]="opt.label">
|
|
150
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
151
|
+
{{ child.label }}
|
|
152
|
+
</option>
|
|
153
|
+
</optgroup>
|
|
154
|
+
</ng-template>
|
|
155
|
+
</ng-container>
|
|
156
|
+
</ng-template>
|
|
157
|
+
</ng-container>
|
|
158
|
+
</select>
|
|
159
|
+
|
|
160
|
+
<ng-template #singleSelect>
|
|
161
|
+
<select
|
|
162
|
+
class="form-select"
|
|
163
|
+
[formControl]="formControl"
|
|
164
|
+
[compareWith]="to.compareWith"
|
|
165
|
+
[class.is-invalid]="showError"
|
|
166
|
+
[formlyAttributes]="field"
|
|
167
|
+
>
|
|
168
|
+
<option *ngIf="to.placeholder" [ngValue]="undefined">{{ to.placeholder }}</option>
|
|
169
|
+
<ng-container *ngIf="to.options | formlySelectOptions: field | async as opts">
|
|
170
|
+
<ng-container *ngIf="to._flatOptions; else grouplist">
|
|
171
|
+
<ng-container *ngFor="let opt of opts">
|
|
172
|
+
<option [ngValue]="opt.value" [disabled]="opt.disabled">{{ opt.label }}</option>
|
|
173
|
+
</ng-container>
|
|
174
|
+
</ng-container>
|
|
175
|
+
|
|
176
|
+
<ng-template #grouplist>
|
|
177
|
+
<ng-container *ngFor="let opt of opts">
|
|
178
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
179
|
+
{{ opt.label }}
|
|
180
|
+
</option>
|
|
181
|
+
<ng-template #optgroup>
|
|
182
|
+
<optgroup [label]="opt.label">
|
|
183
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
184
|
+
{{ child.label }}
|
|
185
|
+
</option>
|
|
186
|
+
</optgroup>
|
|
187
|
+
</ng-template>
|
|
188
|
+
</ng-container>
|
|
189
|
+
</ng-template>
|
|
190
|
+
</ng-container>
|
|
191
|
+
</select>
|
|
192
|
+
</ng-template>
|
|
193
|
+
`,
|
|
194
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
195
|
+
}]
|
|
196
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { selectAccessor: [{
|
|
197
|
+
type: ViewChild,
|
|
198
|
+
args: [SelectControlValueAccessor]
|
|
199
|
+
}] } });
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdWkvYm9vdHN0cmFwL3NlbGVjdC9zcmMvc2VsZWN0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBMEV0QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQTRDOUMsWUFBb0IsTUFBYztRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURVLFdBQU0sR0FBTixNQUFNLENBQVE7UUEzQ2xDLG1CQUFjLEdBQUc7WUFDZixlQUFlLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsV0FBVyxDQUFDLEVBQU8sRUFBRSxFQUFPO29CQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQ25CLENBQUM7YUFDRjtTQUNGLENBQUM7SUFzQ0YsQ0FBQztJQXBDRCxpRUFBaUU7SUFDakU7O09BRUc7SUFDSCxJQUEyQyxjQUFjLENBQUMsQ0FBTTtRQUM5RCxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ04sT0FBTztTQUNSO1FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDcEMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtRQUVELENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM1QixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ3hCLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsQixJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtxQkFDakIsWUFBWSxFQUFFO3FCQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUNFLEVBQUUsS0FBSyxDQUFDLENBQUMsVUFBVTt3QkFDbkIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJO3dCQUM5QixDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLEVBQ2hEO3dCQUNBLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDbkI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDTjtRQUNILENBQUMsQ0FBQztJQUNKLENBQUM7OzhHQTFDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwyR0FjakIsMEJBQTBCLHVFQXBGM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRVQ7MkZBR1UsaUJBQWlCO2tCQXhFN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzZGQWU0QyxjQUFjO3NCQUF4RCxTQUFTO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLXNlbGVjdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNlbGVjdFxuICAgICAgKm5nSWY9XCJ0by5tdWx0aXBsZTsgZWxzZSBzaW5nbGVTZWxlY3RcIlxuICAgICAgY2xhc3M9XCJmb3JtLXNlbGVjdFwiXG4gICAgICBtdWx0aXBsZVxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgIFtjb21wYXJlV2l0aF09XCJ0by5jb21wYXJlV2l0aFwiXG4gICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJzaG93RXJyb3JcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0by5vcHRpb25zIHwgZm9ybWx5U2VsZWN0T3B0aW9uczogZmllbGQgfCBhc3luYyBhcyBvcHRzXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0by5fZmxhdE9wdGlvbnM7IGVsc2UgZ3JvdXBsaXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0IG9mIG9wdHNcIj5cbiAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPnt7IG9wdC5sYWJlbCB9fTwvb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2dyb3VwbGlzdD5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHQgb2Ygb3B0c1wiPlxuICAgICAgICAgICAgPG9wdGlvbiAqbmdJZj1cIiFvcHQuZ3JvdXA7IGVsc2Ugb3B0Z3JvdXBcIiBbbmdWYWx1ZV09XCJvcHQudmFsdWVcIiBbZGlzYWJsZWRdPVwib3B0LmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI29wdGdyb3VwPlxuICAgICAgICAgICAgICA8b3B0Z3JvdXAgW2xhYmVsXT1cIm9wdC5sYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNoaWxkIG9mIG9wdC5ncm91cFwiIFtuZ1ZhbHVlXT1cImNoaWxkLnZhbHVlXCIgW2Rpc2FibGVkXT1cImNoaWxkLmRpc2FibGVkXCI+XG4gICAgICAgICAgICAgICAgICB7eyBjaGlsZC5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICA8L29wdGdyb3VwPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvc2VsZWN0PlxuXG4gICAgPG5nLXRlbXBsYXRlICNzaW5nbGVTZWxlY3Q+XG4gICAgICA8c2VsZWN0XG4gICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3RcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbY29tcGFyZVdpdGhdPVwidG8uY29tcGFyZVdpdGhcIlxuICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJzaG93RXJyb3JcIlxuICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgICA+XG4gICAgICAgIDxvcHRpb24gKm5nSWY9XCJ0by5wbGFjZWhvbGRlclwiIFtuZ1ZhbHVlXT1cInVuZGVmaW5lZFwiPnt7IHRvLnBsYWNlaG9sZGVyIH19PC9vcHRpb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0by5vcHRpb25zIHwgZm9ybWx5U2VsZWN0T3B0aW9uczogZmllbGQgfCBhc3luYyBhcyBvcHRzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvLl9mbGF0T3B0aW9uczsgZWxzZSBncm91cGxpc3RcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdCBvZiBvcHRzXCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPnt7IG9wdC5sYWJlbCB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2dyb3VwbGlzdD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdCBvZiBvcHRzXCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nSWY9XCIhb3B0Lmdyb3VwOyBlbHNlIG9wdGdyb3VwXCIgW25nVmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvcHRncm91cD5cbiAgICAgICAgICAgICAgICA8b3B0Z3JvdXAgW2xhYmVsXT1cIm9wdC5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygb3B0Lmdyb3VwXCIgW25nVmFsdWVdPVwiY2hpbGQudmFsdWVcIiBbZGlzYWJsZWRdPVwiY2hpbGQuZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY2hpbGQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFNlbGVjdCBleHRlbmRzIEZpZWxkVHlwZSB7XG4gIGRlZmF1bHRPcHRpb25zID0ge1xuICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgb3B0aW9uczogW10sXG4gICAgICBjb21wYXJlV2l0aChvMTogYW55LCBvMjogYW55KSB7XG4gICAgICAgIHJldHVybiBvMSA9PT0gbzI7XG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgLy8gd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTAwMTBcbiAgLyoqXG4gICAqIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgc3RpbGwgbmVlZGVkXG4gICAqL1xuICBAVmlld0NoaWxkKFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yKSBzZXQgc2VsZWN0QWNjZXNzb3IoczogYW55KSB7XG4gICAgaWYgKCFzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgd3JpdGVWYWx1ZSA9IHMud3JpdGVWYWx1ZS5iaW5kKHMpO1xuICAgIGlmIChzLl9nZXRPcHRpb25JZChzLnZhbHVlKSA9PT0gbnVsbCkge1xuICAgICAgd3JpdGVWYWx1ZShzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBzLndyaXRlVmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBzLl9pZENvdW50ZXI7XG4gICAgICB3cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGlkICE9PSBzLl9pZENvdW50ZXIgJiZcbiAgICAgICAgICAgICAgcy5fZ2V0T3B0aW9uSWQodmFsdWUpID09PSBudWxsICYmXG4gICAgICAgICAgICAgIHMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3RlZEluZGV4ICE9PSAtMVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHdyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuIl19
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
4
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
6
|
+
import { FormlyFieldTextArea } from './textarea.type';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@ngx-formly/core";
|
|
9
|
+
export class FormlyBootstrapTextAreaModule {
|
|
10
|
+
}
|
|
11
|
+
FormlyBootstrapTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
FormlyBootstrapTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, declarations: [FormlyFieldTextArea], imports: [CommonModule,
|
|
13
|
+
ReactiveFormsModule,
|
|
14
|
+
FormlyBootstrapFormFieldModule, i1.FormlyModule] });
|
|
15
|
+
FormlyBootstrapTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, imports: [[
|
|
16
|
+
CommonModule,
|
|
17
|
+
ReactiveFormsModule,
|
|
18
|
+
FormlyBootstrapFormFieldModule,
|
|
19
|
+
FormlyModule.forChild({
|
|
20
|
+
types: [
|
|
21
|
+
{
|
|
22
|
+
name: 'textarea',
|
|
23
|
+
component: FormlyFieldTextArea,
|
|
24
|
+
wrappers: ['form-field'],
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
}),
|
|
28
|
+
]] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapTextAreaModule, decorators: [{
|
|
30
|
+
type: NgModule,
|
|
31
|
+
args: [{
|
|
32
|
+
declarations: [FormlyFieldTextArea],
|
|
33
|
+
imports: [
|
|
34
|
+
CommonModule,
|
|
35
|
+
ReactiveFormsModule,
|
|
36
|
+
FormlyBootstrapFormFieldModule,
|
|
37
|
+
FormlyModule.forChild({
|
|
38
|
+
types: [
|
|
39
|
+
{
|
|
40
|
+
name: 'textarea',
|
|
41
|
+
component: FormlyFieldTextArea,
|
|
42
|
+
wrappers: ['form-field'],
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
}),
|
|
46
|
+
],
|
|
47
|
+
}]
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3VpL2Jvb3RzdHJhcC90ZXh0YXJlYS9zcmMvdGV4dGFyZWEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBb0J0RCxNQUFNLE9BQU8sNkJBQTZCOzswSEFBN0IsNkJBQTZCOzJIQUE3Qiw2QkFBNkIsaUJBakJ6QixtQkFBbUIsYUFFaEMsWUFBWTtRQUNaLG1CQUFtQjtRQUVuQiw4QkFBOEI7MkhBWXJCLDZCQUE2QixZQWhCL0I7WUFDUCxZQUFZO1lBQ1osbUJBQW1CO1lBRW5CLDhCQUE4QjtZQUM5QixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixLQUFLLEVBQUU7b0JBQ0w7d0JBQ0UsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFNBQVMsRUFBRSxtQkFBbUI7d0JBQzlCLFFBQVEsRUFBRSxDQUFDLFlBQVksQ0FBQztxQkFDekI7aUJBQ0Y7YUFDRixDQUFDO1NBQ0g7MkZBRVUsNkJBQTZCO2tCQWxCekMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUVuQiw4QkFBOEI7d0JBQzlCLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCLEtBQUssRUFBRTtnQ0FDTDtvQ0FDRSxJQUFJLEVBQUUsVUFBVTtvQ0FDaEIsU0FBUyxFQUFFLG1CQUFtQjtvQ0FDOUIsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO2lDQUN6Qjs2QkFDRjt5QkFDRixDQUFDO3FCQUNIO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEZvcm1seUJvb3RzdHJhcEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2Jvb3RzdHJhcC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZvcm1seUZpZWxkVGV4dEFyZWEgfSBmcm9tICcuL3RleHRhcmVhLnR5cGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGb3JtbHlGaWVsZFRleHRBcmVhXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgRm9ybWx5Qm9vdHN0cmFwRm9ybUZpZWxkTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB0eXBlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3RleHRhcmVhJyxcbiAgICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGV4dEFyZWEsXG4gICAgICAgICAgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5Qm9vdHN0cmFwVGV4dEFyZWFNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { FieldType } from '@ngx-formly/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@ngx-formly/core";
|
|
6
|
+
export class FormlyFieldTextArea extends FieldType {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.defaultOptions = {
|
|
10
|
+
templateOptions: {
|
|
11
|
+
cols: 1,
|
|
12
|
+
rows: 1,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
FormlyFieldTextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyFieldTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
FormlyFieldTextArea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FormlyFieldTextArea, selector: "formly-field-textarea", usesInheritance: true, ngImport: i0, template: `
|
|
19
|
+
<textarea
|
|
20
|
+
[formControl]="formControl"
|
|
21
|
+
[cols]="to.cols"
|
|
22
|
+
[rows]="to.rows"
|
|
23
|
+
class="form-control"
|
|
24
|
+
[class.is-invalid]="showError"
|
|
25
|
+
[formlyAttributes]="field"
|
|
26
|
+
>
|
|
27
|
+
</textarea>
|
|
28
|
+
`, isInline: true, directives: [{ 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]" }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyFieldTextArea, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{
|
|
32
|
+
selector: 'formly-field-textarea',
|
|
33
|
+
template: `
|
|
34
|
+
<textarea
|
|
35
|
+
[formControl]="formControl"
|
|
36
|
+
[cols]="to.cols"
|
|
37
|
+
[rows]="to.rows"
|
|
38
|
+
class="form-control"
|
|
39
|
+
[class.is-invalid]="showError"
|
|
40
|
+
[formlyAttributes]="field"
|
|
41
|
+
>
|
|
42
|
+
</textarea>
|
|
43
|
+
`,
|
|
44
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9ib290c3RyYXAvdGV4dGFyZWEvc3JjL3RleHRhcmVhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFpQjdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUFTO0lBZmxEOztRQWdCRSxtQkFBYyxHQUFHO1lBQ2YsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksRUFBRSxDQUFDO2FBQ1I7U0FDRixDQUFDO0tBQ0g7O2dIQVBZLG1CQUFtQjtvR0FBbkIsbUJBQW1CLG9GQWJwQjs7Ozs7Ozs7OztHQVVUOzJGQUdVLG1CQUFtQjtrQkFmL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7R0FVVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLXRleHRhcmVhJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8dGV4dGFyZWFcbiAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICBbY29sc109XCJ0by5jb2xzXCJcbiAgICAgIFtyb3dzXT1cInRvLnJvd3NcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwic2hvd0Vycm9yXCJcbiAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICA+XG4gICAgPC90ZXh0YXJlYT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkVGV4dEFyZWEgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgIGNvbHM6IDEsXG4gICAgICByb3dzOiAxLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i1$1 from '@ngx-formly/core';
|
|
6
|
+
import { FieldWrapper, FormlyModule } from '@ngx-formly/core';
|
|
7
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
|
|
9
|
+
class FormlyWrapperAddons extends FieldWrapper {
|
|
10
|
+
addonRightClick($event) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
(_b = (_a = this.to.addonRight).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, this.field, $event);
|
|
13
|
+
}
|
|
14
|
+
addonLeftClick($event) {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
(_b = (_a = this.to.addonLeft).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, this.field, $event);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
FormlyWrapperAddons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyWrapperAddons, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
FormlyWrapperAddons.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FormlyWrapperAddons, selector: "formly-wrapper-addons", usesInheritance: true, ngImport: i0, template: "<div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonLeft\"\n [ngStyle]=\"{ cursor: to.addonLeft.onClick ? 'pointer' : 'inherit' }\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"to.addonLeft.class\" *ngIf=\"to.addonLeft.class\"></i>\n <span *ngIf=\"to.addonLeft.text\">{{ to.addonLeft.text }}</span>\n </div>\n <div class=\"input-addons\">\n <ng-container #fieldComponent></ng-container>\n </div>\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonRight\"\n [ngStyle]=\"{ cursor: to.addonRight.onClick ? 'pointer' : 'inherit' }\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"to.addonRight.class\" *ngIf=\"to.addonRight.class\"></i>\n <span *ngIf=\"to.addonRight.text\">{{ to.addonRight.text }}</span>\n </div>\n</div>\n", styles: [":host ::ng-deep .input-group>:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .input-group>:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .input-group>.input-addons{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyWrapperAddons, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{ selector: 'formly-wrapper-addons', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonLeft\"\n [ngStyle]=\"{ cursor: to.addonLeft.onClick ? 'pointer' : 'inherit' }\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"to.addonLeft.class\" *ngIf=\"to.addonLeft.class\"></i>\n <span *ngIf=\"to.addonLeft.text\">{{ to.addonLeft.text }}</span>\n </div>\n <div class=\"input-addons\">\n <ng-container #fieldComponent></ng-container>\n </div>\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonRight\"\n [ngStyle]=\"{ cursor: to.addonRight.onClick ? 'pointer' : 'inherit' }\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"to.addonRight.class\" *ngIf=\"to.addonRight.class\"></i>\n <span *ngIf=\"to.addonRight.text\">{{ to.addonRight.text }}</span>\n </div>\n</div>\n", styles: [":host ::ng-deep .input-group>:not(:first-child) .form-control{border-top-left-radius:0;border-bottom-left-radius:0}:host ::ng-deep .input-group>:not(:last-child) .form-control{border-top-right-radius:0;border-bottom-right-radius:0}:host ::ng-deep .input-group>.input-addons{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}\n"] }]
|
|
24
|
+
}] });
|
|
25
|
+
|
|
26
|
+
function addonsExtension(field) {
|
|
27
|
+
if (!field.templateOptions || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (field.templateOptions.addonLeft || field.templateOptions.addonRight) {
|
|
31
|
+
field.wrappers = [...(field.wrappers || []), 'addons'];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
class FormlyBootstrapAddonsModule {
|
|
36
|
+
}
|
|
37
|
+
FormlyBootstrapAddonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
38
|
+
FormlyBootstrapAddonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapAddonsModule, declarations: [FormlyWrapperAddons], imports: [CommonModule,
|
|
39
|
+
ReactiveFormsModule, i1$1.FormlyModule] });
|
|
40
|
+
FormlyBootstrapAddonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapAddonsModule, imports: [[
|
|
41
|
+
CommonModule,
|
|
42
|
+
ReactiveFormsModule,
|
|
43
|
+
FormlyModule.forChild({
|
|
44
|
+
wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],
|
|
45
|
+
extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
|
|
46
|
+
}),
|
|
47
|
+
]] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapAddonsModule, decorators: [{
|
|
49
|
+
type: NgModule,
|
|
50
|
+
args: [{
|
|
51
|
+
declarations: [FormlyWrapperAddons],
|
|
52
|
+
imports: [
|
|
53
|
+
CommonModule,
|
|
54
|
+
ReactiveFormsModule,
|
|
55
|
+
FormlyModule.forChild({
|
|
56
|
+
wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],
|
|
57
|
+
extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
|
|
58
|
+
}),
|
|
59
|
+
],
|
|
60
|
+
}]
|
|
61
|
+
}] });
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Generated bundle index. Do not edit.
|
|
65
|
+
*/
|
|
66
|
+
|
|
67
|
+
export { FormlyBootstrapAddonsModule };
|
|
68
|
+
//# sourceMappingURL=ngx-formly-bootstrap-addons.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-addons.mjs","sources":["../../../../src/ui/bootstrap/addons/src/addons.component.ts","../../../../src/ui/bootstrap/addons/src/addons.component.html","../../../../src/ui/bootstrap/addons/src/addon.extension.ts","../../../../src/ui/bootstrap/addons/src/addons.module.ts","../../../../src/ui/bootstrap/addons/src/ngx-formly-bootstrap-addons.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-wrapper-addons',\n templateUrl: './addons.component.html',\n styleUrls: ['./addons.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyWrapperAddons extends FieldWrapper {\n addonRightClick($event: any) {\n this.to.addonRight.onClick?.(this.field, $event);\n }\n\n addonLeftClick($event: any) {\n this.to.addonLeft.onClick?.(this.field, $event);\n }\n}\n","<div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonLeft\"\n [ngStyle]=\"{ cursor: to.addonLeft.onClick ? 'pointer' : 'inherit' }\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"to.addonLeft.class\" *ngIf=\"to.addonLeft.class\"></i>\n <span *ngIf=\"to.addonLeft.text\">{{ to.addonLeft.text }}</span>\n </div>\n <div class=\"input-addons\">\n <ng-container #fieldComponent></ng-container>\n </div>\n <div\n class=\"input-group-text\"\n *ngIf=\"to.addonRight\"\n [ngStyle]=\"{ cursor: to.addonRight.onClick ? 'pointer' : 'inherit' }\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"to.addonRight.class\" *ngIf=\"to.addonRight.class\"></i>\n <span *ngIf=\"to.addonRight.text\">{{ to.addonRight.text }}</span>\n </div>\n</div>\n","import { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport function addonsExtension(field: FormlyFieldConfig) {\n if (!field.templateOptions || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {\n return;\n }\n\n if (field.templateOptions.addonLeft || field.templateOptions.addonRight) {\n field.wrappers = [...(field.wrappers || []), 'addons'];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyWrapperAddons } from './addons.component';\nimport { addonsExtension } from './addon.extension';\n\n@NgModule({\n declarations: [FormlyWrapperAddons],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyModule.forChild({\n wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],\n extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],\n }),\n ],\n})\nexport class FormlyBootstrapAddonsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;MASa,4BAA4B,YAAY;IACnD,eAAe,CAAC,MAAW;;QACzB,MAAA,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,EAAC,OAAO,mDAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAClD;IAED,cAAc,CAAC,MAAW;;QACxB,MAAA,MAAA,IAAI,CAAC,EAAE,CAAC,SAAS,EAAC,OAAO,mDAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACjD;;gHAPU,mBAAmB;oGAAnB,mBAAmB,oFCThC,g2BAuBA;2FDda,mBAAmB;kBAN/B,SAAS;+BACE,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM;;;SELjC,eAAe,CAAC,KAAwB;IACtD,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACzF,OAAO;KACR;IAED,IAAI,KAAK,CAAC,eAAe,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC,UAAU,EAAE;QACvE,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;KACxD;AACH;;MCUa,2BAA2B;;wHAA3B,2BAA2B;yHAA3B,2BAA2B,iBAXvB,mBAAmB,aAEhC,YAAY;QACZ,mBAAmB;yHAQV,2BAA2B,YAV7B;YACP,YAAY;YACZ,mBAAmB;YAEnB,YAAY,CAAC,QAAQ,CAAC;gBACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;gBAC9D,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;aAC/E,CAAC;SACH;2FAEU,2BAA2B;kBAZvC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBAEnB,YAAY,CAAC,QAAQ,CAAC;4BACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;4BAC9D,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;yBAC/E,CAAC;qBACH;iBACF;;;ACnBD;;;;;;"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i3 from '@ngx-formly/core';
|
|
6
|
+
import { FieldType, FormlyModule } from '@ngx-formly/core';
|
|
7
|
+
import * as i2 from '@angular/forms';
|
|
8
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
10
|
+
|
|
11
|
+
class FormlyFieldCheckbox extends FieldType {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.defaultOptions = {
|
|
15
|
+
templateOptions: {
|
|
16
|
+
indeterminate: true,
|
|
17
|
+
hideLabel: true,
|
|
18
|
+
formCheck: 'default', // 'default' | 'inline' | 'switch' | 'inline-switch' | 'nolabel'
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
FormlyFieldCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyFieldCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
FormlyFieldCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: FormlyFieldCheckbox, selector: "formly-field-checkbox", usesInheritance: true, ngImport: i0, template: `
|
|
25
|
+
<div
|
|
26
|
+
class="form-check"
|
|
27
|
+
[ngClass]="{
|
|
28
|
+
'form-check-inline': to.formCheck === 'inline' || to.formCheck === 'inline-switch',
|
|
29
|
+
'form-switch': to.formCheck === 'switch' || to.formCheck === 'inline-switch'
|
|
30
|
+
}"
|
|
31
|
+
>
|
|
32
|
+
<input
|
|
33
|
+
type="checkbox"
|
|
34
|
+
[class.is-invalid]="showError"
|
|
35
|
+
class="form-check-input"
|
|
36
|
+
[class.position-static]="to.formCheck === 'nolabel'"
|
|
37
|
+
[indeterminate]="to.indeterminate && formControl.value == null"
|
|
38
|
+
[formControl]="formControl"
|
|
39
|
+
[formlyAttributes]="field"
|
|
40
|
+
/>
|
|
41
|
+
<label *ngIf="to.formCheck !== 'nolabel'" [for]="id" class="form-check-label">
|
|
42
|
+
{{ to.label }}
|
|
43
|
+
<span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>
|
|
44
|
+
</label>
|
|
45
|
+
</div>
|
|
46
|
+
`, isInline: true, directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyFieldCheckbox, decorators: [{
|
|
48
|
+
type: Component,
|
|
49
|
+
args: [{
|
|
50
|
+
selector: 'formly-field-checkbox',
|
|
51
|
+
template: `
|
|
52
|
+
<div
|
|
53
|
+
class="form-check"
|
|
54
|
+
[ngClass]="{
|
|
55
|
+
'form-check-inline': to.formCheck === 'inline' || to.formCheck === 'inline-switch',
|
|
56
|
+
'form-switch': to.formCheck === 'switch' || to.formCheck === 'inline-switch'
|
|
57
|
+
}"
|
|
58
|
+
>
|
|
59
|
+
<input
|
|
60
|
+
type="checkbox"
|
|
61
|
+
[class.is-invalid]="showError"
|
|
62
|
+
class="form-check-input"
|
|
63
|
+
[class.position-static]="to.formCheck === 'nolabel'"
|
|
64
|
+
[indeterminate]="to.indeterminate && formControl.value == null"
|
|
65
|
+
[formControl]="formControl"
|
|
66
|
+
[formlyAttributes]="field"
|
|
67
|
+
/>
|
|
68
|
+
<label *ngIf="to.formCheck !== 'nolabel'" [for]="id" class="form-check-label">
|
|
69
|
+
{{ to.label }}
|
|
70
|
+
<span *ngIf="to.required && to.hideRequiredMarker !== true" aria-hidden="true">*</span>
|
|
71
|
+
</label>
|
|
72
|
+
</div>
|
|
73
|
+
`,
|
|
74
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
75
|
+
}]
|
|
76
|
+
}] });
|
|
77
|
+
|
|
78
|
+
class FormlyBootstrapCheckboxModule {
|
|
79
|
+
}
|
|
80
|
+
FormlyBootstrapCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
81
|
+
FormlyBootstrapCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapCheckboxModule, declarations: [FormlyFieldCheckbox], imports: [CommonModule,
|
|
82
|
+
ReactiveFormsModule,
|
|
83
|
+
FormlyBootstrapFormFieldModule, i3.FormlyModule] });
|
|
84
|
+
FormlyBootstrapCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapCheckboxModule, imports: [[
|
|
85
|
+
CommonModule,
|
|
86
|
+
ReactiveFormsModule,
|
|
87
|
+
FormlyBootstrapFormFieldModule,
|
|
88
|
+
FormlyModule.forChild({
|
|
89
|
+
types: [
|
|
90
|
+
{
|
|
91
|
+
name: 'checkbox',
|
|
92
|
+
component: FormlyFieldCheckbox,
|
|
93
|
+
wrappers: ['form-field'],
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: 'boolean',
|
|
97
|
+
extends: 'checkbox',
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
}),
|
|
101
|
+
]] });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormlyBootstrapCheckboxModule, decorators: [{
|
|
103
|
+
type: NgModule,
|
|
104
|
+
args: [{
|
|
105
|
+
declarations: [FormlyFieldCheckbox],
|
|
106
|
+
imports: [
|
|
107
|
+
CommonModule,
|
|
108
|
+
ReactiveFormsModule,
|
|
109
|
+
FormlyBootstrapFormFieldModule,
|
|
110
|
+
FormlyModule.forChild({
|
|
111
|
+
types: [
|
|
112
|
+
{
|
|
113
|
+
name: 'checkbox',
|
|
114
|
+
component: FormlyFieldCheckbox,
|
|
115
|
+
wrappers: ['form-field'],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'boolean',
|
|
119
|
+
extends: 'checkbox',
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
}),
|
|
123
|
+
],
|
|
124
|
+
}]
|
|
125
|
+
}] });
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Generated bundle index. Do not edit.
|
|
129
|
+
*/
|
|
130
|
+
|
|
131
|
+
export { FormlyBootstrapCheckboxModule, FormlyFieldCheckbox };
|
|
132
|
+
//# sourceMappingURL=ngx-formly-bootstrap-checkbox.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-checkbox.mjs","sources":["../../../../src/ui/bootstrap/checkbox/src/checkbox.type.ts","../../../../src/ui/bootstrap/checkbox/src/checkbox.module.ts","../../../../src/ui/bootstrap/checkbox/src/ngx-formly-bootstrap-checkbox.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <div\n class=\"form-check\"\n [ngClass]=\"{\n 'form-check-inline': to.formCheck === 'inline' || to.formCheck === 'inline-switch',\n 'form-switch': to.formCheck === 'switch' || to.formCheck === 'inline-switch'\n }\"\n >\n <input\n type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n class=\"form-check-input\"\n [class.position-static]=\"to.formCheck === 'nolabel'\"\n [indeterminate]=\"to.indeterminate && formControl.value == null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n />\n <label *ngIf=\"to.formCheck !== 'nolabel'\" [for]=\"id\" class=\"form-check-label\">\n {{ to.label }}\n <span *ngIf=\"to.required && to.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldCheckbox extends FieldType {\n defaultOptions = {\n templateOptions: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'default', // 'default' | 'inline' | 'switch' | 'inline-switch' | 'nolabel'\n },\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\n\nimport { FormlyFieldCheckbox } from './checkbox.type';\n\n@NgModule({\n declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlyBootstrapFormFieldModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'boolean',\n extends: 'checkbox',\n },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;MA8Ba,4BAA4B,SAAS;IA3BlD;;QA4BE,mBAAc,GAAG;YACf,eAAe,EAAE;gBACf,aAAa,EAAE,IAAI;gBACnB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,SAAS;aACrB;SACF,CAAC;KACH;;gHARY,mBAAmB;oGAAnB,mBAAmB,oFAzBpB;;;;;;;;;;;;;;;;;;;;;;GAsBT;2FAGU,mBAAmB;kBA3B/B,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;GAsBT;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD;;;MCCY,6BAA6B;;0HAA7B,6BAA6B;2HAA7B,6BAA6B,iBApBzB,mBAAmB,aAEhC,YAAY;QACZ,mBAAmB;QACnB,8BAA8B;2HAgBrB,6BAA6B,YAnB/B;YACP,YAAY;YACZ,mBAAmB;YACnB,8BAA8B;YAC9B,YAAY,CAAC,QAAQ,CAAC;gBACpB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,UAAU;wBAChB,SAAS,EAAE,mBAAmB;wBAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;qBACzB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,UAAU;qBACpB;iBACF;aACF,CAAC;SACH;2FAEU,6BAA6B;kBArBzC,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;oBACnC,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,8BAA8B;wBAC9B,YAAY,CAAC,QAAQ,CAAC;4BACpB,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,UAAU;oCAChB,SAAS,EAAE,mBAAmB;oCAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;iCACzB;gCACD;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,UAAU;iCACpB;6BACF;yBACF,CAAC;qBACH;iBACF;;;AC7BD;;;;;;"}
|