@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,55 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
5
|
+
import { FormlySelectModule } from '@ngx-formly/core/select';
|
|
6
|
+
import { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
7
|
+
import { FormlyFieldSelect } from './select.type';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@ngx-formly/core";
|
|
10
|
+
export class FormlyBootstrapSelectModule {
|
|
11
|
+
}
|
|
12
|
+
FormlyBootstrapSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
FormlyBootstrapSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, declarations: [FormlyFieldSelect], imports: [CommonModule,
|
|
14
|
+
ReactiveFormsModule,
|
|
15
|
+
FormlyBootstrapFormFieldModule,
|
|
16
|
+
FormlySelectModule, i1.FormlyModule] });
|
|
17
|
+
FormlyBootstrapSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, imports: [[
|
|
18
|
+
CommonModule,
|
|
19
|
+
ReactiveFormsModule,
|
|
20
|
+
FormlyBootstrapFormFieldModule,
|
|
21
|
+
FormlySelectModule,
|
|
22
|
+
FormlyModule.forChild({
|
|
23
|
+
types: [
|
|
24
|
+
{
|
|
25
|
+
name: 'select',
|
|
26
|
+
component: FormlyFieldSelect,
|
|
27
|
+
wrappers: ['form-field'],
|
|
28
|
+
},
|
|
29
|
+
{ name: 'enum', extends: 'select' },
|
|
30
|
+
],
|
|
31
|
+
}),
|
|
32
|
+
]] });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapSelectModule, decorators: [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
declarations: [FormlyFieldSelect],
|
|
37
|
+
imports: [
|
|
38
|
+
CommonModule,
|
|
39
|
+
ReactiveFormsModule,
|
|
40
|
+
FormlyBootstrapFormFieldModule,
|
|
41
|
+
FormlySelectModule,
|
|
42
|
+
FormlyModule.forChild({
|
|
43
|
+
types: [
|
|
44
|
+
{
|
|
45
|
+
name: 'select',
|
|
46
|
+
component: FormlyFieldSelect,
|
|
47
|
+
wrappers: ['form-field'],
|
|
48
|
+
},
|
|
49
|
+
{ name: 'enum', extends: 'select' },
|
|
50
|
+
],
|
|
51
|
+
}),
|
|
52
|
+
],
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9ib290c3RyYXAvc2VsZWN0L3NyYy9zZWxlY3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXNCbEQsTUFBTSxPQUFPLDJCQUEyQjs7d0hBQTNCLDJCQUEyQjt5SEFBM0IsMkJBQTJCLGlCQW5CdkIsaUJBQWlCLGFBRTlCLFlBQVk7UUFDWixtQkFBbUI7UUFFbkIsOEJBQThCO1FBQzlCLGtCQUFrQjt5SEFhVCwyQkFBMkIsWUFsQjdCO1lBQ1AsWUFBWTtZQUNaLG1CQUFtQjtZQUVuQiw4QkFBOEI7WUFDOUIsa0JBQWtCO1lBQ2xCLFlBQVksQ0FBQyxRQUFRLENBQUM7Z0JBQ3BCLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxJQUFJLEVBQUUsUUFBUTt3QkFDZCxTQUFTLEVBQUUsaUJBQWlCO3dCQUM1QixRQUFRLEVBQUUsQ0FBQyxZQUFZLENBQUM7cUJBQ3pCO29CQUNELEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO2lCQUNwQzthQUNGLENBQUM7U0FDSDsyRkFFVSwyQkFBMkI7a0JBcEJ2QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUNqQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBRW5CLDhCQUE4Qjt3QkFDOUIsa0JBQWtCO3dCQUNsQixZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixLQUFLLEVBQUU7Z0NBQ0w7b0NBQ0UsSUFBSSxFQUFFLFFBQVE7b0NBQ2QsU0FBUyxFQUFFLGlCQUFpQjtvQ0FDNUIsUUFBUSxFQUFFLENBQUMsWUFBWSxDQUFDO2lDQUN6QjtnQ0FDRCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRTs2QkFDcEM7eUJBQ0YsQ0FBQztxQkFDSDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5U2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9zZWxlY3QnO1xuXG5pbXBvcnQgeyBGb3JtbHlCb290c3RyYXBGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9ib290c3RyYXAvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFNlbGVjdCB9IGZyb20gJy4vc2VsZWN0LnR5cGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGb3JtbHlGaWVsZFNlbGVjdF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcblxuICAgIEZvcm1seUJvb3RzdHJhcEZvcm1GaWVsZE1vZHVsZSxcbiAgICBGb3JtbHlTZWxlY3RNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIHR5cGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnc2VsZWN0JyxcbiAgICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkU2VsZWN0LFxuICAgICAgICAgIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBuYW1lOiAnZW51bScsIGV4dGVuZHM6ICdzZWxlY3QnIH0sXG4gICAgICBdLFxuICAgIH0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlCb290c3RyYXBTZWxlY3RNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
2
|
+
import { SelectControlValueAccessor } from '@angular/forms';
|
|
3
|
+
import { FieldType } from '@ngx-formly/bootstrap/form-field';
|
|
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, hostContainerRef) {
|
|
12
|
+
super(hostContainerRef);
|
|
13
|
+
this.ngZone = ngZone;
|
|
14
|
+
this.defaultOptions = {
|
|
15
|
+
props: {
|
|
16
|
+
compareWith(o1, o2) {
|
|
17
|
+
return o1 === o2;
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
// workaround for https://github.com/angular/angular/issues/10010
|
|
23
|
+
/**
|
|
24
|
+
* TODO: Check if this is still needed
|
|
25
|
+
*/
|
|
26
|
+
set selectAccessor(s) {
|
|
27
|
+
if (!s) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const writeValue = s.writeValue.bind(s);
|
|
31
|
+
if (s._getOptionId(s.value) === null) {
|
|
32
|
+
writeValue(s.value);
|
|
33
|
+
}
|
|
34
|
+
s.writeValue = (value) => {
|
|
35
|
+
const id = s._idCounter;
|
|
36
|
+
writeValue(value);
|
|
37
|
+
if (value === null) {
|
|
38
|
+
this.ngZone.onStable
|
|
39
|
+
.asObservable()
|
|
40
|
+
.pipe(take(1))
|
|
41
|
+
.subscribe(() => {
|
|
42
|
+
if (id !== s._idCounter &&
|
|
43
|
+
s._getOptionId(value) === null &&
|
|
44
|
+
s._elementRef.nativeElement.selectedIndex !== -1) {
|
|
45
|
+
writeValue(value);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
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 });
|
|
53
|
+
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: `
|
|
54
|
+
<ng-template #fieldTypeTemplate>
|
|
55
|
+
<select
|
|
56
|
+
*ngIf="props.multiple; else singleSelect"
|
|
57
|
+
class="form-select"
|
|
58
|
+
multiple
|
|
59
|
+
[formControl]="formControl"
|
|
60
|
+
[compareWith]="props.compareWith"
|
|
61
|
+
[class.is-invalid]="showError"
|
|
62
|
+
[formlyAttributes]="field"
|
|
63
|
+
>
|
|
64
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
65
|
+
<ng-container *ngFor="let opt of opts">
|
|
66
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
67
|
+
{{ opt.label }}
|
|
68
|
+
</option>
|
|
69
|
+
<ng-template #optgroup>
|
|
70
|
+
<optgroup [label]="opt.label">
|
|
71
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
72
|
+
{{ child.label }}
|
|
73
|
+
</option>
|
|
74
|
+
</optgroup>
|
|
75
|
+
</ng-template>
|
|
76
|
+
</ng-container>
|
|
77
|
+
</ng-container>
|
|
78
|
+
</select>
|
|
79
|
+
|
|
80
|
+
<ng-template #singleSelect>
|
|
81
|
+
<select
|
|
82
|
+
class="form-select"
|
|
83
|
+
[formControl]="formControl"
|
|
84
|
+
[compareWith]="props.compareWith"
|
|
85
|
+
[class.is-invalid]="showError"
|
|
86
|
+
[formlyAttributes]="field"
|
|
87
|
+
>
|
|
88
|
+
<option *ngIf="props.placeholder" [ngValue]="undefined">{{ props.placeholder }}</option>
|
|
89
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
90
|
+
<ng-container *ngFor="let opt of opts">
|
|
91
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
92
|
+
{{ opt.label }}
|
|
93
|
+
</option>
|
|
94
|
+
<ng-template #optgroup>
|
|
95
|
+
<optgroup [label]="opt.label">
|
|
96
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
97
|
+
{{ child.label }}
|
|
98
|
+
</option>
|
|
99
|
+
</optgroup>
|
|
100
|
+
</ng-template>
|
|
101
|
+
</ng-container>
|
|
102
|
+
</ng-container>
|
|
103
|
+
</select>
|
|
104
|
+
</ng-template>
|
|
105
|
+
</ng-template>
|
|
106
|
+
`, 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 });
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldSelect, decorators: [{
|
|
108
|
+
type: Component,
|
|
109
|
+
args: [{
|
|
110
|
+
selector: 'formly-field-select',
|
|
111
|
+
template: `
|
|
112
|
+
<ng-template #fieldTypeTemplate>
|
|
113
|
+
<select
|
|
114
|
+
*ngIf="props.multiple; else singleSelect"
|
|
115
|
+
class="form-select"
|
|
116
|
+
multiple
|
|
117
|
+
[formControl]="formControl"
|
|
118
|
+
[compareWith]="props.compareWith"
|
|
119
|
+
[class.is-invalid]="showError"
|
|
120
|
+
[formlyAttributes]="field"
|
|
121
|
+
>
|
|
122
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
123
|
+
<ng-container *ngFor="let opt of opts">
|
|
124
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
125
|
+
{{ opt.label }}
|
|
126
|
+
</option>
|
|
127
|
+
<ng-template #optgroup>
|
|
128
|
+
<optgroup [label]="opt.label">
|
|
129
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
130
|
+
{{ child.label }}
|
|
131
|
+
</option>
|
|
132
|
+
</optgroup>
|
|
133
|
+
</ng-template>
|
|
134
|
+
</ng-container>
|
|
135
|
+
</ng-container>
|
|
136
|
+
</select>
|
|
137
|
+
|
|
138
|
+
<ng-template #singleSelect>
|
|
139
|
+
<select
|
|
140
|
+
class="form-select"
|
|
141
|
+
[formControl]="formControl"
|
|
142
|
+
[compareWith]="props.compareWith"
|
|
143
|
+
[class.is-invalid]="showError"
|
|
144
|
+
[formlyAttributes]="field"
|
|
145
|
+
>
|
|
146
|
+
<option *ngIf="props.placeholder" [ngValue]="undefined">{{ props.placeholder }}</option>
|
|
147
|
+
<ng-container *ngIf="props.options | formlySelectOptions: field | async as opts">
|
|
148
|
+
<ng-container *ngFor="let opt of opts">
|
|
149
|
+
<option *ngIf="!opt.group; else optgroup" [ngValue]="opt.value" [disabled]="opt.disabled">
|
|
150
|
+
{{ opt.label }}
|
|
151
|
+
</option>
|
|
152
|
+
<ng-template #optgroup>
|
|
153
|
+
<optgroup [label]="opt.label">
|
|
154
|
+
<option *ngFor="let child of opt.group" [ngValue]="child.value" [disabled]="child.disabled">
|
|
155
|
+
{{ child.label }}
|
|
156
|
+
</option>
|
|
157
|
+
</optgroup>
|
|
158
|
+
</ng-template>
|
|
159
|
+
</ng-container>
|
|
160
|
+
</ng-container>
|
|
161
|
+
</select>
|
|
162
|
+
</ng-template>
|
|
163
|
+
</ng-template>
|
|
164
|
+
`,
|
|
165
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
166
|
+
}]
|
|
167
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ViewContainerRef }]; }, propDecorators: { selectAccessor: [{
|
|
168
|
+
type: ViewChild,
|
|
169
|
+
args: [SelectControlValueAccessor]
|
|
170
|
+
}] } });
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdWkvYm9vdHN0cmFwL3NlbGVjdC9zcmMvc2VsZWN0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxTQUFTLEVBQW9CLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFzRXRDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUF1QztJQTJDNUUsWUFBb0IsTUFBYyxFQUFFLGdCQUFrQztRQUNwRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUROLFdBQU0sR0FBTixNQUFNLENBQVE7UUExQ3pCLG1CQUFjLEdBQUc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFdBQVcsQ0FBQyxFQUFPLEVBQUUsRUFBTztvQkFDMUIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNuQixDQUFDO2FBQ0Y7U0FDRixDQUFDO0lBc0NGLENBQUM7SUFwQ0QsaUVBQWlFO0lBQ2pFOztPQUVHO0lBQ0gsSUFBMkMsY0FBYyxDQUFDLENBQU07UUFDOUQsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUNOLE9BQU87U0FDUjtRQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3BDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7UUFFRCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUN4QixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEIsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7cUJBQ2pCLFlBQVksRUFBRTtxQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNiLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFDRSxFQUFFLEtBQUssQ0FBQyxDQUFDLFVBQVU7d0JBQ25CLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSTt3QkFDOUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxLQUFLLENBQUMsQ0FBQyxFQUNoRDt3QkFDQSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQ25CO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ047UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDOzs4R0F6Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkdBYWpCLDBCQUEwQix1RUFyRTNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFEVDsyRkFHVSxpQkFBaUI7a0JBMUQ3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxRFQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzRIQWM0QyxjQUFjO3NCQUF4RCxTQUFTO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgTmdab25lLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkVHlwZUNvbmZpZywgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybWx5RmllbGRQcm9wcyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2Jvb3RzdHJhcC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFNlbGVjdFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9zZWxlY3QnO1xuXG5pbnRlcmZhY2UgU2VsZWN0UHJvcHMgZXh0ZW5kcyBGb3JtbHlGaWVsZFByb3BzLCBGb3JtbHlGaWVsZFNlbGVjdFByb3BzIHtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICBjb21wYXJlV2l0aD86IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1seVNlbGVjdEZpZWxkQ29uZmlnIGV4dGVuZHMgRm9ybWx5RmllbGRDb25maWc8U2VsZWN0UHJvcHM+IHtcbiAgdHlwZTogJ3NlbGVjdCcgfCBUeXBlPEZvcm1seUZpZWxkU2VsZWN0Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLXNlbGVjdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNmaWVsZFR5cGVUZW1wbGF0ZT5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgKm5nSWY9XCJwcm9wcy5tdWx0aXBsZTsgZWxzZSBzaW5nbGVTZWxlY3RcIlxuICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0XCJcbiAgICAgICAgbXVsdGlwbGVcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzLmNvbXBhcmVXaXRoXCJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwic2hvd0Vycm9yXCJcbiAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcHMub3B0aW9ucyB8IGZvcm1seVNlbGVjdE9wdGlvbnM6IGZpZWxkIHwgYXN5bmMgYXMgb3B0c1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdCBvZiBvcHRzXCI+XG4gICAgICAgICAgICA8b3B0aW9uICpuZ0lmPVwiIW9wdC5ncm91cDsgZWxzZSBvcHRncm91cFwiIFtuZ1ZhbHVlXT1cIm9wdC52YWx1ZVwiIFtkaXNhYmxlZF09XCJvcHQuZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAge3sgb3B0LmxhYmVsIH19XG4gICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0Z3JvdXA+XG4gICAgICAgICAgICAgIDxvcHRncm91cCBbbGFiZWxdPVwib3B0LmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygb3B0Lmdyb3VwXCIgW25nVmFsdWVdPVwiY2hpbGQudmFsdWVcIiBbZGlzYWJsZWRdPVwiY2hpbGQuZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGNoaWxkLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc2VsZWN0PlxuXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbmdsZVNlbGVjdD5cbiAgICAgICAgPHNlbGVjdFxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3RcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzLmNvbXBhcmVXaXRoXCJcbiAgICAgICAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJzaG93RXJyb3JcIlxuICAgICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxvcHRpb24gKm5nSWY9XCJwcm9wcy5wbGFjZWhvbGRlclwiIFtuZ1ZhbHVlXT1cInVuZGVmaW5lZFwiPnt7IHByb3BzLnBsYWNlaG9sZGVyIH19PC9vcHRpb24+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BzLm9wdGlvbnMgfCBmb3JtbHlTZWxlY3RPcHRpb25zOiBmaWVsZCB8IGFzeW5jIGFzIG9wdHNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdCBvZiBvcHRzXCI+XG4gICAgICAgICAgICAgIDxvcHRpb24gKm5nSWY9XCIhb3B0Lmdyb3VwOyBlbHNlIG9wdGdyb3VwXCIgW25nVmFsdWVdPVwib3B0LnZhbHVlXCIgW2Rpc2FibGVkXT1cIm9wdC5kaXNhYmxlZFwiPlxuICAgICAgICAgICAgICAgIHt7IG9wdC5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNvcHRncm91cD5cbiAgICAgICAgICAgICAgICA8b3B0Z3JvdXAgW2xhYmVsXT1cIm9wdC5sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY2hpbGQgb2Ygb3B0Lmdyb3VwXCIgW25nVmFsdWVdPVwiY2hpbGQudmFsdWVcIiBbZGlzYWJsZWRdPVwiY2hpbGQuZGlzYWJsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY2hpbGQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvb3B0Z3JvdXA+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtbHlGaWVsZFNlbGVjdCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc8U2VsZWN0UHJvcHM+PiB7XG4gIG92ZXJyaWRlIGRlZmF1bHRPcHRpb25zID0ge1xuICAgIHByb3BzOiB7XG4gICAgICBjb21wYXJlV2l0aChvMTogYW55LCBvMjogYW55KSB7XG4gICAgICAgIHJldHVybiBvMSA9PT0gbzI7XG4gICAgICB9LFxuICAgIH0sXG4gIH07XG5cbiAgLy8gd29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTAwMTBcbiAgLyoqXG4gICAqIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgc3RpbGwgbmVlZGVkXG4gICAqL1xuICBAVmlld0NoaWxkKFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yKSBzZXQgc2VsZWN0QWNjZXNzb3IoczogYW55KSB7XG4gICAgaWYgKCFzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgd3JpdGVWYWx1ZSA9IHMud3JpdGVWYWx1ZS5iaW5kKHMpO1xuICAgIGlmIChzLl9nZXRPcHRpb25JZChzLnZhbHVlKSA9PT0gbnVsbCkge1xuICAgICAgd3JpdGVWYWx1ZShzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBzLndyaXRlVmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaWQgPSBzLl9pZENvdW50ZXI7XG4gICAgICB3cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGlkICE9PSBzLl9pZENvdW50ZXIgJiZcbiAgICAgICAgICAgICAgcy5fZ2V0T3B0aW9uSWQodmFsdWUpID09PSBudWxsICYmXG4gICAgICAgICAgICAgIHMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZWxlY3RlZEluZGV4ICE9PSAtMVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHdyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lLCBob3N0Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgc3VwZXIoaG9zdENvbnRhaW5lclJlZik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWZvcm1seS1ib290c3RyYXAtdGV4dGFyZWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdWkvYm9vdHN0cmFwL3RleHRhcmVhL3NyYy9uZ3gtZm9ybWx5LWJvb3RzdHJhcC10ZXh0YXJlYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { FormlyBootstrapTextAreaModule } from './textarea.module';
|
|
2
|
+
export { FormlyFieldTextArea } from './textarea.type';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9ib290c3RyYXAvdGV4dGFyZWEvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUE2QixNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRm9ybWx5Qm9vdHN0cmFwVGV4dEFyZWFNb2R1bGUgfSBmcm9tICcuL3RleHRhcmVhLm1vZHVsZSc7XG5leHBvcnQgeyBGb3JtbHlGaWVsZFRleHRBcmVhLCBGb3JtbHlUZXh0QXJlYUZpZWxkQ29uZmlnIH0gZnJvbSAnLi90ZXh0YXJlYS50eXBlJztcbiJdfQ==
|
|
@@ -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.2.6", ngImport: i0, type: FormlyBootstrapTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
FormlyBootstrapTextAreaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", 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.2.6", 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.2.6", 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,51 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
+
import { FieldType } from '@ngx-formly/bootstrap/form-field';
|
|
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
|
+
props: {
|
|
11
|
+
cols: 1,
|
|
12
|
+
rows: 1,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
FormlyFieldTextArea.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldTextArea, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
FormlyFieldTextArea.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: FormlyFieldTextArea, selector: "formly-field-textarea", usesInheritance: true, ngImport: i0, template: `
|
|
19
|
+
<ng-template #fieldTypeTemplate>
|
|
20
|
+
<textarea
|
|
21
|
+
[formControl]="formControl"
|
|
22
|
+
[cols]="props.cols"
|
|
23
|
+
[rows]="props.rows"
|
|
24
|
+
class="form-control"
|
|
25
|
+
[class.is-invalid]="showError"
|
|
26
|
+
[formlyAttributes]="field"
|
|
27
|
+
>
|
|
28
|
+
</textarea>
|
|
29
|
+
</ng-template>
|
|
30
|
+
`, 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 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldTextArea, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'formly-field-textarea',
|
|
35
|
+
template: `
|
|
36
|
+
<ng-template #fieldTypeTemplate>
|
|
37
|
+
<textarea
|
|
38
|
+
[formControl]="formControl"
|
|
39
|
+
[cols]="props.cols"
|
|
40
|
+
[rows]="props.rows"
|
|
41
|
+
class="form-control"
|
|
42
|
+
[class.is-invalid]="showError"
|
|
43
|
+
[formlyAttributes]="field"
|
|
44
|
+
>
|
|
45
|
+
</textarea>
|
|
46
|
+
</ng-template>
|
|
47
|
+
`,
|
|
48
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49
|
+
}]
|
|
50
|
+
}] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS9ib290c3RyYXAvdGV4dGFyZWEvc3JjL3RleHRhcmVhLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFvQixNQUFNLGtDQUFrQyxDQUFDOzs7O0FBNEIvRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBeUM7SUFqQmxGOztRQWtCVyxtQkFBYyxHQUFHO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLEVBQUUsQ0FBQzthQUNSO1NBQ0YsQ0FBQztLQUNIOztnSEFQWSxtQkFBbUI7b0dBQW5CLG1CQUFtQixvRkFmcEI7Ozs7Ozs7Ozs7OztHQVlUOzJGQUdVLG1CQUFtQjtrQkFqQi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7R0FZVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seUZpZWxkUHJvcHMgfSBmcm9tICdAbmd4LWZvcm1seS9ib290c3RyYXAvZm9ybS1maWVsZCc7XG5cbmludGVyZmFjZSBUZXh0QXJlYVByb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XG4gIGNvbHM/OiBudW1iZXI7XG4gIHJvd3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5VGV4dEFyZWFGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnPFRleHRBcmVhUHJvcHM+IHtcbiAgdHlwZTogJ3RleHRhcmVhJyB8IFR5cGU8Rm9ybWx5RmllbGRUZXh0QXJlYT47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm1seS1maWVsZC10ZXh0YXJlYScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNmaWVsZFR5cGVUZW1wbGF0ZT5cbiAgICAgIDx0ZXh0YXJlYVxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICBbY29sc109XCJwcm9wcy5jb2xzXCJcbiAgICAgICAgW3Jvd3NdPVwicHJvcHMucm93c1wiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwic2hvd0Vycm9yXCJcbiAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgPlxuICAgICAgPC90ZXh0YXJlYT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRUZXh0QXJlYSBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc8VGV4dEFyZWFQcm9wcz4+IHtcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgcHJvcHM6IHtcbiAgICAgIGNvbHM6IDEsXG4gICAgICByb3dzOiAxLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
var _a, _b;
|
|
21
|
+
(_b = (_a = this.props.addonRight).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, this.field, $event);
|
|
22
|
+
}
|
|
23
|
+
addonLeftClick($event) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
(_b = (_a = this.props.addonLeft).onClick) === null || _b === void 0 ? void 0 : _b.call(_a, this.field, $event);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
FormlyWrapperAddons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyWrapperAddons, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
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 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyWrapperAddons, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
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"] }]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { content: [{
|
|
34
|
+
type: ViewChild,
|
|
35
|
+
args: ['fieldTypeTemplate', { static: true }]
|
|
36
|
+
}] } });
|
|
37
|
+
|
|
38
|
+
function addonsExtension(field) {
|
|
39
|
+
if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (field.props.addonLeft || field.props.addonRight) {
|
|
43
|
+
field.wrappers = [...(field.wrappers || []), 'addons'];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
class FormlyBootstrapAddonsModule {
|
|
48
|
+
}
|
|
49
|
+
FormlyBootstrapAddonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
50
|
+
FormlyBootstrapAddonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, declarations: [FormlyWrapperAddons], imports: [CommonModule,
|
|
51
|
+
ReactiveFormsModule, i1$1.FormlyModule] });
|
|
52
|
+
FormlyBootstrapAddonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, imports: [[
|
|
53
|
+
CommonModule,
|
|
54
|
+
ReactiveFormsModule,
|
|
55
|
+
FormlyModule.forChild({
|
|
56
|
+
wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],
|
|
57
|
+
extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
|
|
58
|
+
}),
|
|
59
|
+
]] });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapAddonsModule, decorators: [{
|
|
61
|
+
type: NgModule,
|
|
62
|
+
args: [{
|
|
63
|
+
declarations: [FormlyWrapperAddons],
|
|
64
|
+
imports: [
|
|
65
|
+
CommonModule,
|
|
66
|
+
ReactiveFormsModule,
|
|
67
|
+
FormlyModule.forChild({
|
|
68
|
+
wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],
|
|
69
|
+
extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],
|
|
70
|
+
}),
|
|
71
|
+
],
|
|
72
|
+
}]
|
|
73
|
+
}] });
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Generated bundle index. Do not edit.
|
|
77
|
+
*/
|
|
78
|
+
|
|
79
|
+
export { FormlyBootstrapAddonsModule };
|
|
80
|
+
//# 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":";;;;;;;;AAuBM,MAAO,mBAAoB,SAAQ,YAA0C,CAAA;AAOjF,IAAA,WAAA,CAAoB,gBAAmC,EAAA;AACrD,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;KAEtD;IARD,IAAsD,OAAO,CAAC,WAA6B,EAAA;AACzF,QAAA,IAAI,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACxC,YAAA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACvD,SAAA;KACF;AAMD,IAAA,eAAe,CAAC,MAAW,EAAA;;AACzB,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,UAAU,EAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACrD;AAED,IAAA,cAAc,CAAC,MAAW,EAAA;;AACxB,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,CAAC,SAAS,EAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACpD;;gHAjBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,gNCvBhC,w4BAuBA,EAAA,MAAA,EAAA,CAAA,8DAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDAa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACE,uBAAuB,EAAA,aAAA,EAGlB,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,w4BAAA,EAAA,MAAA,EAAA,CAAA,8DAAA,CAAA,EAAA,CAAA;uGAGiB,OAAO,EAAA,CAAA;sBAA5D,SAAS;gBAAC,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AEtB5C,SAAU,eAAe,CAAC,KAAwB,EAAA;IACtD,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC/E,OAAO;AACR,KAAA;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE;AACnD,QAAA,KAAK,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxD,KAAA;AACH;;MCUa,2BAA2B,CAAA;;wHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yHAA3B,2BAA2B,EAAA,YAAA,EAAA,CAXvB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;AACZ,QAAA,mBAAmB,EAAAA,IAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAQV,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAV7B,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,mBAAmB;YAEnB,YAAY,CAAC,QAAQ,CAAC;gBACpB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;AAC9D,gBAAA,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;aAC/E,CAAC;SACH,CAAA,EAAA,CAAA,CAAA;2FAEU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAZvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,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;AAC9D,4BAAA,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC;yBAC/E,CAAC;AACH,qBAAA;iBACF,CAAA;;;ACnBD;;AAEG;;;;"}
|
|
@@ -0,0 +1,136 @@
|
|
|
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 { FormlyModule } from '@ngx-formly/core';
|
|
7
|
+
import * as i2 from '@angular/forms';
|
|
8
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { FieldType, FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';
|
|
10
|
+
|
|
11
|
+
class FormlyFieldCheckbox extends FieldType {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.defaultOptions = {
|
|
15
|
+
props: {
|
|
16
|
+
indeterminate: true,
|
|
17
|
+
hideLabel: true,
|
|
18
|
+
formCheck: 'default',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
FormlyFieldCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
FormlyFieldCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: FormlyFieldCheckbox, selector: "formly-field-checkbox", usesInheritance: true, ngImport: i0, template: `
|
|
25
|
+
<ng-template #fieldTypeTemplate>
|
|
26
|
+
<div
|
|
27
|
+
class="form-check"
|
|
28
|
+
[ngClass]="{
|
|
29
|
+
'form-check-inline': props.formCheck === 'inline' || props.formCheck === 'inline-switch',
|
|
30
|
+
'form-switch': props.formCheck === 'switch' || props.formCheck === 'inline-switch'
|
|
31
|
+
}"
|
|
32
|
+
>
|
|
33
|
+
<input
|
|
34
|
+
type="checkbox"
|
|
35
|
+
[class.is-invalid]="showError"
|
|
36
|
+
class="form-check-input"
|
|
37
|
+
[class.position-static]="props.formCheck === 'nolabel'"
|
|
38
|
+
[indeterminate]="props.indeterminate && formControl.value == null"
|
|
39
|
+
[formControl]="formControl"
|
|
40
|
+
[formlyAttributes]="field"
|
|
41
|
+
/>
|
|
42
|
+
<label *ngIf="props.formCheck !== 'nolabel'" [for]="id" class="form-check-label">
|
|
43
|
+
{{ props.label }}
|
|
44
|
+
<span *ngIf="props.required && props.hideRequiredMarker !== true" aria-hidden="true">*</span>
|
|
45
|
+
</label>
|
|
46
|
+
</div>
|
|
47
|
+
</ng-template>
|
|
48
|
+
`, 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 });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyFieldCheckbox, decorators: [{
|
|
50
|
+
type: Component,
|
|
51
|
+
args: [{
|
|
52
|
+
selector: 'formly-field-checkbox',
|
|
53
|
+
template: `
|
|
54
|
+
<ng-template #fieldTypeTemplate>
|
|
55
|
+
<div
|
|
56
|
+
class="form-check"
|
|
57
|
+
[ngClass]="{
|
|
58
|
+
'form-check-inline': props.formCheck === 'inline' || props.formCheck === 'inline-switch',
|
|
59
|
+
'form-switch': props.formCheck === 'switch' || props.formCheck === 'inline-switch'
|
|
60
|
+
}"
|
|
61
|
+
>
|
|
62
|
+
<input
|
|
63
|
+
type="checkbox"
|
|
64
|
+
[class.is-invalid]="showError"
|
|
65
|
+
class="form-check-input"
|
|
66
|
+
[class.position-static]="props.formCheck === 'nolabel'"
|
|
67
|
+
[indeterminate]="props.indeterminate && formControl.value == null"
|
|
68
|
+
[formControl]="formControl"
|
|
69
|
+
[formlyAttributes]="field"
|
|
70
|
+
/>
|
|
71
|
+
<label *ngIf="props.formCheck !== 'nolabel'" [for]="id" class="form-check-label">
|
|
72
|
+
{{ props.label }}
|
|
73
|
+
<span *ngIf="props.required && props.hideRequiredMarker !== true" aria-hidden="true">*</span>
|
|
74
|
+
</label>
|
|
75
|
+
</div>
|
|
76
|
+
</ng-template>
|
|
77
|
+
`,
|
|
78
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
79
|
+
}]
|
|
80
|
+
}] });
|
|
81
|
+
|
|
82
|
+
class FormlyBootstrapCheckboxModule {
|
|
83
|
+
}
|
|
84
|
+
FormlyBootstrapCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
85
|
+
FormlyBootstrapCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapCheckboxModule, declarations: [FormlyFieldCheckbox], imports: [CommonModule,
|
|
86
|
+
ReactiveFormsModule,
|
|
87
|
+
FormlyBootstrapFormFieldModule, i3.FormlyModule] });
|
|
88
|
+
FormlyBootstrapCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapCheckboxModule, imports: [[
|
|
89
|
+
CommonModule,
|
|
90
|
+
ReactiveFormsModule,
|
|
91
|
+
FormlyBootstrapFormFieldModule,
|
|
92
|
+
FormlyModule.forChild({
|
|
93
|
+
types: [
|
|
94
|
+
{
|
|
95
|
+
name: 'checkbox',
|
|
96
|
+
component: FormlyFieldCheckbox,
|
|
97
|
+
wrappers: ['form-field'],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: 'boolean',
|
|
101
|
+
extends: 'checkbox',
|
|
102
|
+
},
|
|
103
|
+
],
|
|
104
|
+
}),
|
|
105
|
+
]] });
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FormlyBootstrapCheckboxModule, decorators: [{
|
|
107
|
+
type: NgModule,
|
|
108
|
+
args: [{
|
|
109
|
+
declarations: [FormlyFieldCheckbox],
|
|
110
|
+
imports: [
|
|
111
|
+
CommonModule,
|
|
112
|
+
ReactiveFormsModule,
|
|
113
|
+
FormlyBootstrapFormFieldModule,
|
|
114
|
+
FormlyModule.forChild({
|
|
115
|
+
types: [
|
|
116
|
+
{
|
|
117
|
+
name: 'checkbox',
|
|
118
|
+
component: FormlyFieldCheckbox,
|
|
119
|
+
wrappers: ['form-field'],
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: 'boolean',
|
|
123
|
+
extends: 'checkbox',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
}),
|
|
127
|
+
],
|
|
128
|
+
}]
|
|
129
|
+
}] });
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Generated bundle index. Do not edit.
|
|
133
|
+
*/
|
|
134
|
+
|
|
135
|
+
export { FormlyBootstrapCheckboxModule, FormlyFieldCheckbox };
|
|
136
|
+
//# 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, Type } from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface CheckboxProps extends FormlyFieldProps {\n formCheck?: 'default' | 'inline' | 'switch' | 'inline-switch' | 'nolabel';\n indeterminate?: boolean;\n}\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <ng-template #fieldTypeTemplate>\n <div\n class=\"form-check\"\n [ngClass]=\"{\n 'form-check-inline': props.formCheck === 'inline' || props.formCheck === 'inline-switch',\n 'form-switch': props.formCheck === 'switch' || props.formCheck === 'inline-switch'\n }\"\n >\n <input\n type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n class=\"form-check-input\"\n [class.position-static]=\"props.formCheck === 'nolabel'\"\n [indeterminate]=\"props.indeterminate && formControl.value == null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n />\n <label *ngIf=\"props.formCheck !== 'nolabel'\" [for]=\"id\" class=\"form-check-label\">\n {{ props.label }}\n <span *ngIf=\"props.required && props.hideRequiredMarker !== true\" aria-hidden=\"true\">*</span>\n </label>\n </div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormlyFieldCheckbox extends FieldType<FieldTypeConfig<CheckboxProps>> {\n override defaultOptions = {\n props: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'default' as const,\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":["i1"],"mappings":"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"}
|