@ngx-formly/bootstrap 5.12.1 → 6.0.0-beta.1
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 +9 -6
- package/addons/addons.component.d.ts +23 -2
- package/addons/addons.module.d.ts +8 -0
- package/addons/ngx-formly-bootstrap-addons.d.ts +1 -2
- package/addons/package.json +6 -9
- package/checkbox/checkbox.module.d.ts +11 -0
- package/checkbox/checkbox.type.d.ts +23 -0
- package/checkbox/ngx-formly-bootstrap-checkbox.d.ts +5 -0
- package/checkbox/package.json +10 -0
- package/checkbox/public_api.d.ts +2 -0
- package/esm2020/addons/addon.extension.mjs +9 -0
- package/esm2020/addons/addons.component.mjs +31 -0
- package/esm2020/addons/addons.module.mjs +36 -0
- package/esm2020/addons/ngx-formly-bootstrap-addons.mjs +5 -0
- package/esm2020/addons/public_api.mjs +2 -0
- package/esm2020/checkbox/checkbox.module.mjs +57 -0
- package/esm2020/checkbox/checkbox.type.mjs +77 -0
- package/esm2020/checkbox/ngx-formly-bootstrap-checkbox.mjs +5 -0
- package/esm2020/checkbox/public_api.mjs +3 -0
- package/esm2020/form-field/field.type.mjs +25 -0
- package/esm2020/form-field/form-field.module.mjs +43 -0
- package/esm2020/form-field/form-field.wrapper.mjs +67 -0
- package/esm2020/form-field/ngx-formly-bootstrap-form-field.mjs +5 -0
- package/esm2020/form-field/public_api.mjs +3 -0
- package/esm2020/input/input.module.mjs +87 -0
- package/esm2020/input/input.type.mjs +62 -0
- package/esm2020/input/ngx-formly-bootstrap-input.mjs +5 -0
- package/esm2020/input/public_api.mjs +3 -0
- package/esm2020/lib/bootstrap.mjs +2 -0
- package/esm2020/lib/bootstrap.module.mjs +47 -0
- package/esm2020/multicheckbox/multicheckbox.module.mjs +53 -0
- package/esm2020/multicheckbox/multicheckbox.type.mjs +92 -0
- package/esm2020/multicheckbox/ngx-formly-bootstrap-multicheckbox.mjs +5 -0
- package/esm2020/multicheckbox/public_api.mjs +3 -0
- package/esm2020/ngx-formly-bootstrap.mjs +5 -0
- package/esm2020/public_api.mjs +5 -0
- package/esm2020/radio/ngx-formly-bootstrap-radio.mjs +5 -0
- package/esm2020/radio/public_api.mjs +3 -0
- package/esm2020/radio/radio.module.mjs +53 -0
- package/esm2020/radio/radio.type.mjs +76 -0
- package/esm2020/select/ngx-formly-bootstrap-select.mjs +5 -0
- package/esm2020/select/public_api.mjs +3 -0
- package/esm2020/select/select.module.mjs +55 -0
- package/esm2020/select/select.type.mjs +171 -0
- package/esm2020/textarea/ngx-formly-bootstrap-textarea.mjs +5 -0
- package/esm2020/textarea/public_api.mjs +3 -0
- package/esm2020/textarea/textarea.module.mjs +49 -0
- package/esm2020/textarea/textarea.type.mjs +51 -0
- package/fesm2015/ngx-formly-bootstrap-addons.mjs +80 -0
- package/fesm2015/ngx-formly-bootstrap-addons.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-checkbox.mjs +136 -0
- package/fesm2015/ngx-formly-bootstrap-checkbox.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-form-field.mjs +136 -0
- package/fesm2015/ngx-formly-bootstrap-form-field.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-input.mjs +151 -0
- package/fesm2015/ngx-formly-bootstrap-input.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-multicheckbox.mjs +147 -0
- package/fesm2015/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-radio.mjs +131 -0
- package/fesm2015/ngx-formly-bootstrap-radio.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-select.mjs +227 -0
- package/fesm2015/ngx-formly-bootstrap-select.mjs.map +1 -0
- package/fesm2015/ngx-formly-bootstrap-textarea.mjs +102 -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 +78 -0
- package/fesm2020/ngx-formly-bootstrap-addons.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-checkbox.mjs +136 -0
- package/fesm2020/ngx-formly-bootstrap-checkbox.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-form-field.mjs +134 -0
- package/fesm2020/ngx-formly-bootstrap-form-field.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-input.mjs +151 -0
- package/fesm2020/ngx-formly-bootstrap-input.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-multicheckbox.mjs +147 -0
- package/fesm2020/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-radio.mjs +131 -0
- package/fesm2020/ngx-formly-bootstrap-radio.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-select.mjs +227 -0
- package/fesm2020/ngx-formly-bootstrap-select.mjs.map +1 -0
- package/fesm2020/ngx-formly-bootstrap-textarea.mjs +102 -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/field.type.d.ts +10 -0
- package/form-field/form-field.module.d.ts +10 -0
- package/form-field/form-field.wrapper.d.ts +11 -0
- package/form-field/ngx-formly-bootstrap-form-field.d.ts +5 -0
- package/form-field/package.json +10 -0
- package/form-field/public_api.d.ts +3 -0
- package/input/input.module.d.ts +11 -0
- package/input/input.type.d.ts +15 -0
- package/input/ngx-formly-bootstrap-input.d.ts +5 -0
- package/input/package.json +10 -0
- package/input/public_api.d.ts +2 -0
- package/lib/bootstrap.d.ts +0 -2
- package/lib/bootstrap.module.d.ts +12 -0
- package/multicheckbox/multicheckbox.module.d.ts +12 -0
- package/multicheckbox/multicheckbox.type.d.ts +22 -0
- package/multicheckbox/ngx-formly-bootstrap-multicheckbox.d.ts +5 -0
- package/multicheckbox/package.json +10 -0
- package/multicheckbox/public_api.d.ts +2 -0
- package/ngx-formly-bootstrap.d.ts +1 -1
- package/package.json +94 -33
- package/radio/ngx-formly-bootstrap-radio.d.ts +5 -0
- package/radio/package.json +10 -0
- package/radio/public_api.d.ts +2 -0
- package/radio/radio.module.d.ts +12 -0
- package/radio/radio.type.d.ts +20 -0
- package/select/ngx-formly-bootstrap-select.d.ts +5 -0
- package/select/package.json +10 -0
- package/select/public_api.d.ts +2 -0
- package/select/select.module.d.ts +12 -0
- package/select/select.type.d.ts +28 -0
- package/textarea/ngx-formly-bootstrap-textarea.d.ts +5 -0
- package/textarea/package.json +10 -0
- package/textarea/public_api.d.ts +2 -0
- package/textarea/textarea.module.d.ts +11 -0
- package/textarea/textarea.type.d.ts +22 -0
- package/addons/ngx-formly-bootstrap-addons.metadata.json +0 -1
- package/bundles/ngx-formly-bootstrap-addons.umd.js +0 -172
- package/bundles/ngx-formly-bootstrap-addons.umd.js.map +0 -1
- package/bundles/ngx-formly-bootstrap-addons.umd.min.js +0 -2
- package/bundles/ngx-formly-bootstrap-addons.umd.min.js.map +0 -1
- package/bundles/ngx-formly-bootstrap.umd.js +0 -460
- 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/esm2015/addons/addon.extension.js +0 -17
- package/esm2015/addons/addons.component.js +0 -34
- package/esm2015/addons/addons.module.js +0 -30
- package/esm2015/addons/ngx-formly-bootstrap-addons.js +0 -11
- package/esm2015/addons/public_api.js +0 -6
- package/esm2015/lib/bootstrap.config.js +0 -57
- package/esm2015/lib/bootstrap.js +0 -8
- package/esm2015/lib/bootstrap.module.js +0 -28
- package/esm2015/lib/types/checkbox.js +0 -55
- package/esm2015/lib/types/input.js +0 -26
- package/esm2015/lib/types/multicheckbox.js +0 -88
- package/esm2015/lib/types/radio.js +0 -57
- package/esm2015/lib/types/select.js +0 -146
- package/esm2015/lib/types/textarea.js +0 -33
- package/esm2015/lib/types/types.js +0 -11
- package/esm2015/lib/wrappers/form-field.wrapper.js +0 -30
- package/esm2015/lib/wrappers/wrappers.js +0 -6
- package/esm2015/ngx-formly-bootstrap.js +0 -10
- package/esm2015/public_api.js +0 -9
- package/esm5/addons/addon.extension.js +0 -18
- package/esm5/addons/addons.component.js +0 -49
- package/esm5/addons/addons.module.js +0 -34
- package/esm5/addons/ngx-formly-bootstrap-addons.js +0 -11
- package/esm5/addons/public_api.js +0 -6
- package/esm5/lib/bootstrap.config.js +0 -57
- package/esm5/lib/bootstrap.js +0 -8
- package/esm5/lib/bootstrap.module.js +0 -32
- package/esm5/lib/types/checkbox.js +0 -34
- package/esm5/lib/types/input.js +0 -32
- package/esm5/lib/types/multicheckbox.js +0 -73
- package/esm5/lib/types/radio.js +0 -33
- package/esm5/lib/types/select.js +0 -95
- package/esm5/lib/types/textarea.js +0 -33
- package/esm5/lib/types/types.js +0 -11
- package/esm5/lib/wrappers/form-field.wrapper.js +0 -22
- package/esm5/lib/wrappers/wrappers.js +0 -6
- package/esm5/ngx-formly-bootstrap.js +0 -10
- package/esm5/public_api.js +0 -9
- package/fesm2015/ngx-formly-bootstrap-addons.js +0 -91
- package/fesm2015/ngx-formly-bootstrap-addons.js.map +0 -1
- package/fesm2015/ngx-formly-bootstrap.js +0 -506
- package/fesm2015/ngx-formly-bootstrap.js.map +0 -1
- package/fesm5/ngx-formly-bootstrap-addons.js +0 -108
- package/fesm5/ngx-formly-bootstrap-addons.js.map +0 -1
- package/fesm5/ngx-formly-bootstrap.js +0 -383
- package/fesm5/ngx-formly-bootstrap.js.map +0 -1
- package/lib/bootstrap.config.d.ts +0 -5
- package/lib/types/checkbox.d.ts +0 -10
- package/lib/types/input.d.ts +0 -4
- package/lib/types/multicheckbox.d.ts +0 -11
- package/lib/types/radio.d.ts +0 -9
- package/lib/types/select.d.ts +0 -13
- package/lib/types/textarea.d.ts +0 -9
- package/lib/types/types.d.ts +0 -6
- package/lib/wrappers/form-field.wrapper.d.ts +0 -3
- package/lib/wrappers/wrappers.d.ts +0 -1
- package/ngx-formly-bootstrap.metadata.json +0 -1
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
|
+
import { SelectControlValueAccessor, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import * as i3 from '@ngx-formly/core';
|
|
8
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
9
|
+
import * as i4 from '@ngx-formly/core/select';
|
|
10
|
+
import { FormlySelectModule } from '@ngx-formly/core/select';
|
|
11
|
+
import { FieldType, FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
12
|
+
import { take } from 'rxjs/operators';
|
|
13
|
+
|
|
14
|
+
class FormlyFieldSelect extends FieldType {
|
|
15
|
+
constructor(ngZone, hostContainerRef) {
|
|
16
|
+
super(hostContainerRef);
|
|
17
|
+
this.ngZone = ngZone;
|
|
18
|
+
this.defaultOptions = {
|
|
19
|
+
props: {
|
|
20
|
+
compareWith(o1, o2) {
|
|
21
|
+
return o1 === o2;
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
// workaround for https://github.com/angular/angular/issues/10010
|
|
27
|
+
/**
|
|
28
|
+
* TODO: Check if this is still needed
|
|
29
|
+
*/
|
|
30
|
+
set selectAccessor(s) {
|
|
31
|
+
if (!s) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const writeValue = s.writeValue.bind(s);
|
|
35
|
+
if (s._getOptionId(s.value) === null) {
|
|
36
|
+
writeValue(s.value);
|
|
37
|
+
}
|
|
38
|
+
s.writeValue = (value) => {
|
|
39
|
+
const id = s._idCounter;
|
|
40
|
+
writeValue(value);
|
|
41
|
+
if (value === null) {
|
|
42
|
+
this.ngZone.onStable
|
|
43
|
+
.asObservable()
|
|
44
|
+
.pipe(take(1))
|
|
45
|
+
.subscribe(() => {
|
|
46
|
+
if (id !== s._idCounter &&
|
|
47
|
+
s._getOptionId(value) === null &&
|
|
48
|
+
s._elementRef.nativeElement.selectedIndex !== -1) {
|
|
49
|
+
writeValue(value);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
FormlyFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldSelect, deps: [{ token: i0.NgZone }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
FormlyFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: FormlyFieldSelect, selector: "formly-field-select", viewQueries: [{ propertyName: "selectAccessor", first: true, predicate: SelectControlValueAccessor, descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
58
|
+
<ng-template #fieldTypeTemplate>
|
|
59
|
+
<select
|
|
60
|
+
*ngIf="props.multiple; else singleSelect"
|
|
61
|
+
class="form-select"
|
|
62
|
+
multiple
|
|
63
|
+
[formControl]="formControl"
|
|
64
|
+
[compareWith]="props.compareWith"
|
|
65
|
+
[class.is-invalid]="showError"
|
|
66
|
+
[formlyAttributes]="field"
|
|
67
|
+
>
|
|
68
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
69
|
+
<ng-container *ngFor="let opt of opts">
|
|
70
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
71
|
+
{{ opt.label }}
|
|
72
|
+
</option>
|
|
73
|
+
<ng-template #optgroup>
|
|
74
|
+
<optgroup [label]="opt.label">
|
|
75
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
76
|
+
{{ child.label }}
|
|
77
|
+
</option>
|
|
78
|
+
</optgroup>
|
|
79
|
+
</ng-template>
|
|
80
|
+
</ng-container>
|
|
81
|
+
</ng-container>
|
|
82
|
+
</select>
|
|
83
|
+
|
|
84
|
+
<ng-template #singleSelect>
|
|
85
|
+
<select
|
|
86
|
+
class="form-select"
|
|
87
|
+
[formControl]="formControl"
|
|
88
|
+
[compareWith]="props.compareWith"
|
|
89
|
+
[class.is-invalid]="showError"
|
|
90
|
+
[formlyAttributes]="field"
|
|
91
|
+
>
|
|
92
|
+
<option *ngIf="props.placeholder" [ngValue]="undefined">{{ props.placeholder }}</option>
|
|
93
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
94
|
+
<ng-container *ngFor="let opt of opts">
|
|
95
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
96
|
+
{{ opt.label }}
|
|
97
|
+
</option>
|
|
98
|
+
<ng-template #optgroup>
|
|
99
|
+
<optgroup [label]="opt.label">
|
|
100
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
101
|
+
{{ child.label }}
|
|
102
|
+
</option>
|
|
103
|
+
</optgroup>
|
|
104
|
+
</ng-template>
|
|
105
|
+
</ng-container>
|
|
106
|
+
</ng-container>
|
|
107
|
+
</select>
|
|
108
|
+
</ng-template>
|
|
109
|
+
</ng-template>
|
|
110
|
+
`, 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 });
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldSelect, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{
|
|
114
|
+
selector: 'formly-field-select',
|
|
115
|
+
template: `
|
|
116
|
+
<ng-template #fieldTypeTemplate>
|
|
117
|
+
<select
|
|
118
|
+
*ngIf="props.multiple; else singleSelect"
|
|
119
|
+
class="form-select"
|
|
120
|
+
multiple
|
|
121
|
+
[formControl]="formControl"
|
|
122
|
+
[compareWith]="props.compareWith"
|
|
123
|
+
[class.is-invalid]="showError"
|
|
124
|
+
[formlyAttributes]="field"
|
|
125
|
+
>
|
|
126
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
127
|
+
<ng-container *ngFor="let opt of opts">
|
|
128
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
129
|
+
{{ opt.label }}
|
|
130
|
+
</option>
|
|
131
|
+
<ng-template #optgroup>
|
|
132
|
+
<optgroup [label]="opt.label">
|
|
133
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
134
|
+
{{ child.label }}
|
|
135
|
+
</option>
|
|
136
|
+
</optgroup>
|
|
137
|
+
</ng-template>
|
|
138
|
+
</ng-container>
|
|
139
|
+
</ng-container>
|
|
140
|
+
</select>
|
|
141
|
+
|
|
142
|
+
<ng-template #singleSelect>
|
|
143
|
+
<select
|
|
144
|
+
class="form-select"
|
|
145
|
+
[formControl]="formControl"
|
|
146
|
+
[compareWith]="props.compareWith"
|
|
147
|
+
[class.is-invalid]="showError"
|
|
148
|
+
[formlyAttributes]="field"
|
|
149
|
+
>
|
|
150
|
+
<option *ngIf="props.placeholder" [ngValue]="undefined">{{ props.placeholder }}</option>
|
|
151
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
152
|
+
<ng-container *ngFor="let opt of opts">
|
|
153
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
154
|
+
{{ opt.label }}
|
|
155
|
+
</option>
|
|
156
|
+
<ng-template #optgroup>
|
|
157
|
+
<optgroup [label]="opt.label">
|
|
158
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
159
|
+
{{ child.label }}
|
|
160
|
+
</option>
|
|
161
|
+
</optgroup>
|
|
162
|
+
</ng-template>
|
|
163
|
+
</ng-container>
|
|
164
|
+
</ng-container>
|
|
165
|
+
</select>
|
|
166
|
+
</ng-template>
|
|
167
|
+
</ng-template>
|
|
168
|
+
`,
|
|
169
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
170
|
+
}]
|
|
171
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ViewContainerRef }]; }, propDecorators: { selectAccessor: [{
|
|
172
|
+
type: ViewChild,
|
|
173
|
+
args: [SelectControlValueAccessor]
|
|
174
|
+
}] } });
|
|
175
|
+
|
|
176
|
+
class FormlyBootstrapSelectModule {
|
|
177
|
+
}
|
|
178
|
+
FormlyBootstrapSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
179
|
+
FormlyBootstrapSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, declarations: [FormlyFieldSelect], imports: [CommonModule,
|
|
180
|
+
ReactiveFormsModule,
|
|
181
|
+
FormlyBootstrapFormFieldModule,
|
|
182
|
+
FormlySelectModule, i3.FormlyModule] });
|
|
183
|
+
FormlyBootstrapSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, imports: [[
|
|
184
|
+
CommonModule,
|
|
185
|
+
ReactiveFormsModule,
|
|
186
|
+
FormlyBootstrapFormFieldModule,
|
|
187
|
+
FormlySelectModule,
|
|
188
|
+
FormlyModule.forChild({
|
|
189
|
+
types: [
|
|
190
|
+
{
|
|
191
|
+
name: 'select',
|
|
192
|
+
component: FormlyFieldSelect,
|
|
193
|
+
wrappers: ['form-field'],
|
|
194
|
+
},
|
|
195
|
+
{ name: 'enum', extends: 'select' },
|
|
196
|
+
],
|
|
197
|
+
}),
|
|
198
|
+
]] });
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, decorators: [{
|
|
200
|
+
type: NgModule,
|
|
201
|
+
args: [{
|
|
202
|
+
declarations: [FormlyFieldSelect],
|
|
203
|
+
imports: [
|
|
204
|
+
CommonModule,
|
|
205
|
+
ReactiveFormsModule,
|
|
206
|
+
FormlyBootstrapFormFieldModule,
|
|
207
|
+
FormlySelectModule,
|
|
208
|
+
FormlyModule.forChild({
|
|
209
|
+
types: [
|
|
210
|
+
{
|
|
211
|
+
name: 'select',
|
|
212
|
+
component: FormlyFieldSelect,
|
|
213
|
+
wrappers: ['form-field'],
|
|
214
|
+
},
|
|
215
|
+
{ name: 'enum', extends: 'select' },
|
|
216
|
+
],
|
|
217
|
+
}),
|
|
218
|
+
],
|
|
219
|
+
}]
|
|
220
|
+
}] });
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Generated bundle index. Do not edit.
|
|
224
|
+
*/
|
|
225
|
+
|
|
226
|
+
export { FormlyBootstrapSelectModule, FormlyFieldSelect };
|
|
227
|
+
//# sourceMappingURL=ngx-formly-bootstrap-select.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-select.mjs","sources":["../../../../src/ui/bootstrap/select/src/select.type.ts","../../../../src/ui/bootstrap/select/src/select.module.ts","../../../../src/ui/bootstrap/select/src/ngx-formly-bootstrap-select.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, ViewChild, NgZone, Type, ViewContainerRef } from '@angular/core';\nimport { SelectControlValueAccessor } from '@angular/forms';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\nimport { take } from 'rxjs/operators';\nimport { FormlyFieldSelectProps } from '@ngx-formly/core/select';\n\ninterface SelectProps extends FormlyFieldProps, FormlyFieldSelectProps {\n multiple?: boolean;\n compareWith?: (o1: any, o2: any) => boolean;\n}\n\nexport interface FormlySelectFieldConfig extends FormlyFieldConfig<SelectProps> {\n type: 'select' | Type<FormlyFieldSelect>;\n}\n\n@Component({\n selector: 'formly-field-select',\n template: `\n <ng-template #fieldTypeTemplate>\n <select\n *ngIf=\"props.multiple; else singleSelect\"\n class=\"form-select\"\n multiple\n [formControl]=\"formControl\"\n [compareWith]=\"props.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n <ng-container *ngIf=\"props.options | formlySelectOptions: field | async as opts\">\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group; else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">\n {{ opt.label }}\n </option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-container>\n </select>\n\n <ng-template #singleSelect>\n <select\n class=\"form-select\"\n [formControl]=\"formControl\"\n [compareWith]=\"props.compareWith\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n <option *ngIf=\"props.placeholder\" [ngValue]=\"undefined\">{{ props.placeholder }}</option>\n <ng-container *ngIf=\"props.options | formlySelectOptions: field | async as opts\">\n <ng-container *ngFor=\"let opt of opts\">\n <option *ngIf=\"!opt.group; else optgroup\" [ngValue]=\"opt.value\" [disabled]=\"opt.disabled\">\n {{ opt.label }}\n </option>\n <ng-template #optgroup>\n <optgroup [label]=\"opt.label\">\n <option *ngFor=\"let child of opt.group\" [ngValue]=\"child.value\" [disabled]=\"child.disabled\">\n {{ child.label }}\n </option>\n </optgroup>\n </ng-template>\n </ng-container>\n </ng-container>\n </select>\n </ng-template>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldSelect extends FieldType<FieldTypeConfig<SelectProps>> {\n override defaultOptions = {\n props: {\n compareWith(o1: any, o2: any) {\n return o1 === o2;\n },\n },\n };\n\n // workaround for https://github.com/angular/angular/issues/10010\n /**\n * TODO: Check if this is still needed\n */\n @ViewChild(SelectControlValueAccessor) set selectAccessor(s: any) {\n if (!s) {\n return;\n }\n\n const writeValue = s.writeValue.bind(s);\n if (s._getOptionId(s.value) === null) {\n writeValue(s.value);\n }\n\n s.writeValue = (value: any) => {\n const id = s._idCounter;\n writeValue(value);\n if (value === null) {\n this.ngZone.onStable\n .asObservable()\n .pipe(take(1))\n .subscribe(() => {\n if (\n id !== s._idCounter &&\n s._getOptionId(value) === null &&\n s._elementRef.nativeElement.selectedIndex !== -1\n ) {\n writeValue(value);\n }\n });\n }\n };\n }\n\n constructor(private ngZone: NgZone, hostContainerRef: ViewContainerRef) {\n super(hostContainerRef);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { FormlySelectModule } from '@ngx-formly/core/select';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyFieldSelect } from './select.type';\n\n@NgModule({\n declarations: [FormlyFieldSelect],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyBootstrapFormFieldModule,\n FormlySelectModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'select',\n component: FormlyFieldSelect,\n wrappers: ['form-field'],\n },\n { name: 'enum', extends: 'select' },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import * as i2 from '@ngx-formly/core';
|
|
5
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
6
|
+
import * as i1 from '@angular/forms';
|
|
7
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
|
+
import { FieldType, FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
9
|
+
|
|
10
|
+
class FormlyFieldTextArea extends FieldType {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.defaultOptions = {
|
|
14
|
+
props: {
|
|
15
|
+
cols: 1,
|
|
16
|
+
rows: 1,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
FormlyFieldTextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
FormlyFieldTextArea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: FormlyFieldTextArea, selector: "formly-field-textarea", usesInheritance: true, ngImport: i0, template: `
|
|
23
|
+
<ng-template #fieldTypeTemplate>
|
|
24
|
+
<textarea
|
|
25
|
+
[formControl]="formControl"
|
|
26
|
+
[cols]="props.cols"
|
|
27
|
+
[rows]="props.rows"
|
|
28
|
+
class="form-control"
|
|
29
|
+
[class.is-invalid]="showError"
|
|
30
|
+
[formlyAttributes]="field"
|
|
31
|
+
>
|
|
32
|
+
</textarea>
|
|
33
|
+
</ng-template>
|
|
34
|
+
`, 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 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldTextArea, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: 'formly-field-textarea',
|
|
39
|
+
template: `
|
|
40
|
+
<ng-template #fieldTypeTemplate>
|
|
41
|
+
<textarea
|
|
42
|
+
[formControl]="formControl"
|
|
43
|
+
[cols]="props.cols"
|
|
44
|
+
[rows]="props.rows"
|
|
45
|
+
class="form-control"
|
|
46
|
+
[class.is-invalid]="showError"
|
|
47
|
+
[formlyAttributes]="field"
|
|
48
|
+
>
|
|
49
|
+
</textarea>
|
|
50
|
+
</ng-template>
|
|
51
|
+
`,
|
|
52
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
|
|
56
|
+
class FormlyBootstrapTextAreaModule {
|
|
57
|
+
}
|
|
58
|
+
FormlyBootstrapTextAreaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
59
|
+
FormlyBootstrapTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapTextAreaModule, declarations: [FormlyFieldTextArea], imports: [CommonModule,
|
|
60
|
+
ReactiveFormsModule,
|
|
61
|
+
FormlyBootstrapFormFieldModule, i2.FormlyModule] });
|
|
62
|
+
FormlyBootstrapTextAreaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapTextAreaModule, imports: [[
|
|
63
|
+
CommonModule,
|
|
64
|
+
ReactiveFormsModule,
|
|
65
|
+
FormlyBootstrapFormFieldModule,
|
|
66
|
+
FormlyModule.forChild({
|
|
67
|
+
types: [
|
|
68
|
+
{
|
|
69
|
+
name: 'textarea',
|
|
70
|
+
component: FormlyFieldTextArea,
|
|
71
|
+
wrappers: ['form-field'],
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
}),
|
|
75
|
+
]] });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapTextAreaModule, decorators: [{
|
|
77
|
+
type: NgModule,
|
|
78
|
+
args: [{
|
|
79
|
+
declarations: [FormlyFieldTextArea],
|
|
80
|
+
imports: [
|
|
81
|
+
CommonModule,
|
|
82
|
+
ReactiveFormsModule,
|
|
83
|
+
FormlyBootstrapFormFieldModule,
|
|
84
|
+
FormlyModule.forChild({
|
|
85
|
+
types: [
|
|
86
|
+
{
|
|
87
|
+
name: 'textarea',
|
|
88
|
+
component: FormlyFieldTextArea,
|
|
89
|
+
wrappers: ['form-field'],
|
|
90
|
+
},
|
|
91
|
+
],
|
|
92
|
+
}),
|
|
93
|
+
],
|
|
94
|
+
}]
|
|
95
|
+
}] });
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Generated bundle index. Do not edit.
|
|
99
|
+
*/
|
|
100
|
+
|
|
101
|
+
export { FormlyBootstrapTextAreaModule, FormlyFieldTextArea };
|
|
102
|
+
//# sourceMappingURL=ngx-formly-bootstrap-textarea.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-textarea.mjs","sources":["../../../../src/ui/bootstrap/textarea/src/textarea.type.ts","../../../../src/ui/bootstrap/textarea/src/textarea.module.ts","../../../../src/ui/bootstrap/textarea/src/ngx-formly-bootstrap-textarea.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface TextAreaProps extends FormlyFieldProps {\n cols?: number;\n rows?: number;\n}\n\nexport interface FormlyTextAreaFieldConfig extends FormlyFieldConfig<TextAreaProps> {\n type: 'textarea' | Type<FormlyFieldTextArea>;\n}\n\n@Component({\n selector: 'formly-field-textarea',\n template: `\n <ng-template #fieldTypeTemplate>\n <textarea\n [formControl]=\"formControl\"\n [cols]=\"props.cols\"\n [rows]=\"props.rows\"\n class=\"form-control\"\n [class.is-invalid]=\"showError\"\n [formlyAttributes]=\"field\"\n >\n </textarea>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldTextArea extends FieldType<FieldTypeConfig<TextAreaProps>> {\n override defaultOptions = {\n props: {\n cols: 1,\n rows: 1,\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';\nimport { FormlyFieldTextArea } from './textarea.type';\n\n@NgModule({\n declarations: [FormlyFieldTextArea],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n\n FormlyBootstrapFormFieldModule,\n FormlyModule.forChild({\n types: [\n {\n name: 'textarea',\n component: FormlyFieldTextArea,\n wrappers: ['form-field'],\n },\n ],\n }),\n ],\n})\nexport class FormlyBootstrapTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
4
|
+
import { FormlyBootstrapInputModule } from '@ngx-formly/bootstrap/input';
|
|
5
|
+
import { FormlyBootstrapTextAreaModule } from '@ngx-formly/bootstrap/textarea';
|
|
6
|
+
import { FormlyBootstrapRadioModule } from '@ngx-formly/bootstrap/radio';
|
|
7
|
+
import { FormlyBootstrapCheckboxModule } from '@ngx-formly/bootstrap/checkbox';
|
|
8
|
+
import { FormlyBootstrapMultiCheckboxModule } from '@ngx-formly/bootstrap/multicheckbox';
|
|
9
|
+
import { FormlyBootstrapSelectModule } from '@ngx-formly/bootstrap/select';
|
|
10
|
+
import { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';
|
|
11
|
+
|
|
12
|
+
class FormlyBootstrapModule {
|
|
13
|
+
}
|
|
14
|
+
FormlyBootstrapModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
FormlyBootstrapModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapModule, imports: [FormlyBootstrapFormFieldModule,
|
|
16
|
+
FormlyBootstrapInputModule,
|
|
17
|
+
FormlyBootstrapTextAreaModule,
|
|
18
|
+
FormlyBootstrapRadioModule,
|
|
19
|
+
FormlyBootstrapCheckboxModule,
|
|
20
|
+
FormlyBootstrapMultiCheckboxModule,
|
|
21
|
+
FormlyBootstrapSelectModule,
|
|
22
|
+
FormlyBootstrapAddonsModule] });
|
|
23
|
+
FormlyBootstrapModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapModule, imports: [[
|
|
24
|
+
FormlyBootstrapFormFieldModule,
|
|
25
|
+
FormlyBootstrapInputModule,
|
|
26
|
+
FormlyBootstrapTextAreaModule,
|
|
27
|
+
FormlyBootstrapRadioModule,
|
|
28
|
+
FormlyBootstrapCheckboxModule,
|
|
29
|
+
FormlyBootstrapMultiCheckboxModule,
|
|
30
|
+
FormlyBootstrapSelectModule,
|
|
31
|
+
FormlyBootstrapAddonsModule,
|
|
32
|
+
]] });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapModule, decorators: [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
imports: [
|
|
37
|
+
FormlyBootstrapFormFieldModule,
|
|
38
|
+
FormlyBootstrapInputModule,
|
|
39
|
+
FormlyBootstrapTextAreaModule,
|
|
40
|
+
FormlyBootstrapRadioModule,
|
|
41
|
+
FormlyBootstrapCheckboxModule,
|
|
42
|
+
FormlyBootstrapMultiCheckboxModule,
|
|
43
|
+
FormlyBootstrapSelectModule,
|
|
44
|
+
FormlyBootstrapAddonsModule,
|
|
45
|
+
],
|
|
46
|
+
}]
|
|
47
|
+
}] });
|
|
48
|
+
|
|
49
|
+
/*
|
|
50
|
+
* Public API Surface of bootstrap
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Generated bundle index. Do not edit.
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
export { FormlyBootstrapModule };
|
|
58
|
+
//# sourceMappingURL=ngx-formly-bootstrap.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap.mjs","sources":["../../../../src/ui/bootstrap/src/lib/bootstrap.module.ts","../../../../src/ui/bootstrap/src/public_api.ts","../../../../src/ui/bootstrap/src/ngx-formly-bootstrap.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\nimport { FormlyBootstrapInputModule } from '@ngx-formly/bootstrap/input';\nimport { FormlyBootstrapTextAreaModule } from '@ngx-formly/bootstrap/textarea';\nimport { FormlyBootstrapRadioModule } from '@ngx-formly/bootstrap/radio';\nimport { FormlyBootstrapCheckboxModule } from '@ngx-formly/bootstrap/checkbox';\nimport { FormlyBootstrapMultiCheckboxModule } from '@ngx-formly/bootstrap/multicheckbox';\nimport { FormlyBootstrapSelectModule } from '@ngx-formly/bootstrap/select';\nimport { FormlyBootstrapAddonsModule } from '@ngx-formly/bootstrap/addons';\n\n@NgModule({\n imports: [\n FormlyBootstrapFormFieldModule,\n FormlyBootstrapInputModule,\n FormlyBootstrapTextAreaModule,\n FormlyBootstrapRadioModule,\n FormlyBootstrapCheckboxModule,\n FormlyBootstrapMultiCheckboxModule,\n FormlyBootstrapSelectModule,\n FormlyBootstrapAddonsModule,\n ],\n})\nexport class FormlyBootstrapModule {}\n","/*\n * Public API Surface of bootstrap\n */\n\nexport * from './lib/bootstrap';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;MAuBa,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAV9B,8BAA8B;QAC9B,0BAA0B;QAC1B,6BAA6B;QAC7B,0BAA0B;QAC1B,6BAA6B;QAC7B,kCAAkC;QAClC,2BAA2B;QAC3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGlB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAXvB,OAAA,EAAA,CAAA;YACP,8BAA8B;YAC9B,0BAA0B;YAC1B,6BAA6B;YAC7B,0BAA0B;YAC1B,6BAA6B;YAC7B,kCAAkC;YAClC,2BAA2B;YAC3B,2BAA2B;SAC5B,CAAA,EAAA,CAAA,CAAA;2FAEU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAZjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,8BAA8B;wBAC9B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,6BAA6B;wBAC7B,kCAAkC;wBAClC,2BAA2B;wBAC3B,2BAA2B;AAC5B,qBAAA;iBACF,CAAA;;;ACtBD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, ViewEncapsulation, ViewChild, 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
|
+
constructor(hostContainerRef) {
|
|
11
|
+
super();
|
|
12
|
+
this.hostContainerRef = hostContainerRef;
|
|
13
|
+
}
|
|
14
|
+
set content(templateRef) {
|
|
15
|
+
if (templateRef && this.hostContainerRef) {
|
|
16
|
+
this.hostContainerRef.createEmbeddedView(templateRef);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
addonRightClick($event) {
|
|
20
|
+
this.props.addonRight.onClick?.(this.field, $event);
|
|
21
|
+
}
|
|
22
|
+
addonLeftClick($event) {
|
|
23
|
+
this.props.addonLeft.onClick?.(this.field, $event);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
FormlyWrapperAddons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyWrapperAddons, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
FormlyWrapperAddons.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: FormlyWrapperAddons, selector: "formly-wrapper-addons", viewQueries: [{ propertyName: "content", first: true, predicate: ["fieldTypeTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyWrapperAddons, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'formly-wrapper-addons', encapsulation: ViewEncapsulation.None, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"] }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { content: [{
|
|
32
|
+
type: ViewChild,
|
|
33
|
+
args: ['fieldTypeTemplate', { static: true }]
|
|
34
|
+
}] } });
|
|
35
|
+
|
|
36
|
+
function addonsExtension(field) {
|
|
37
|
+
if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (field.props.addonLeft || field.props.addonRight) {
|
|
41
|
+
field.wrappers = [...(field.wrappers || []), 'addons'];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
class FormlyBootstrapAddonsModule {
|
|
46
|
+
}
|
|
47
|
+
FormlyBootstrapAddonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48
|
+
FormlyBootstrapAddonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, declarations: [FormlyWrapperAddons], imports: [CommonModule,
|
|
49
|
+
ReactiveFormsModule, i1$1.FormlyModule] });
|
|
50
|
+
FormlyBootstrapAddonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, imports: [[
|
|
51
|
+
CommonModule,
|
|
52
|
+
ReactiveFormsModule,
|
|
53
|
+
FormlyModule.forChild({
|
|
54
|
+
wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],
|
|
55
|
+
extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
|
|
56
|
+
}),
|
|
57
|
+
]] });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, decorators: [{
|
|
59
|
+
type: NgModule,
|
|
60
|
+
args: [{
|
|
61
|
+
declarations: [FormlyWrapperAddons],
|
|
62
|
+
imports: [
|
|
63
|
+
CommonModule,
|
|
64
|
+
ReactiveFormsModule,
|
|
65
|
+
FormlyModule.forChild({
|
|
66
|
+
wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],
|
|
67
|
+
extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
|
|
68
|
+
}),
|
|
69
|
+
],
|
|
70
|
+
}]
|
|
71
|
+
}] });
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Generated bundle index. Do not edit.
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
export { FormlyBootstrapAddonsModule };
|
|
78
|
+
//# 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, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { FormlyFieldConfig, FieldTypeConfig, FieldWrapper } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface AddonsProps extends FormlyFieldProps {\n addonRight?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n addonLeft?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n}\n\n@Component({\n selector: 'formly-wrapper-addons',\n templateUrl: './addons.component.html',\n styleUrls: ['./addons.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormlyWrapperAddons extends FieldWrapper<FieldTypeConfig<AddonsProps>> {\n @ViewChild('fieldTypeTemplate', { static: true }) set content(templateRef: TemplateRef<any>) {\n if (templateRef && this.hostContainerRef) {\n this.hostContainerRef.createEmbeddedView(templateRef);\n }\n }\n\n constructor(private hostContainerRef?: ViewContainerRef) {\n super();\n }\n\n addonRightClick($event: any) {\n this.props.addonRight.onClick?.(this.field, $event);\n }\n\n addonLeftClick($event: any) {\n this.props.addonLeft.onClick?.(this.field, $event);\n }\n}\n","<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonLeft\"\n [class.input-group-btn]=\"props.addonLeft.onClick\"\n (click)=\"addonLeftClick($event)\"\n >\n <i [ngClass]=\"props.addonLeft.class\" *ngIf=\"props.addonLeft.class\"></i>\n <span *ngIf=\"props.addonLeft.text\">{{ props.addonLeft.text }}</span>\n </div>\n <ng-container #fieldComponent></ng-container>\n <div\n class=\"input-group-text\"\n *ngIf=\"props.addonRight\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n <i [ngClass]=\"props.addonRight.class\" *ngIf=\"props.addonRight.class\"></i>\n <span *ngIf=\"props.addonRight.text\">{{ props.addonRight.text }}</span>\n </div>\n </div>\n</ng-template>\n","import { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport function addonsExtension(field: FormlyFieldConfig) {\n if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {\n return;\n }\n\n if (field.props.addonLeft || field.props.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":["i1"],"mappings":"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"}
|