@tft/crispr-forms 14.0.1-rc.1 → 14.0.1-rc.2
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/esm2020/public-api.mjs +5 -0
- package/esm2020/src/index.mjs +2 -0
- package/esm2020/src/lib/crispr-forms.module.mjs +57 -0
- package/esm2020/src/lib/field-component-map.const.mjs +27 -0
- package/esm2020/src/lib/field.directive.mjs +69 -0
- package/esm2020/{lib → src/lib}/form/form.component.mjs +3 -2
- package/esm2020/src/lib/form-group-list/form-group-list.component.mjs +93 -0
- package/esm2020/src/lib/form-group-list/index.mjs +2 -0
- package/esm2020/{lib → src/lib}/pipes/crispr-pipes.module.mjs +1 -1
- package/esm2020/src/lib/pipes/initial-control-value.pipe.mjs +21 -0
- package/esm2020/src/lib/public_api.mjs +3 -0
- package/esm2020/src/lib/sub-group/index.mjs +3 -0
- package/esm2020/src/lib/sub-group/sub-group.component.mjs +21 -0
- package/esm2020/src/lib/sub-group/sub-group.module.mjs +42 -0
- package/esm2020/tft-crispr-forms.mjs +2 -2
- package/esm2020/{lib/material → ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +5 -5
- package/esm2020/ui/autocomplete-chiplist-field/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/autocomplete-field/autocomplete-field.component.mjs +5 -5
- package/esm2020/ui/autocomplete-field/index.mjs +2 -0
- package/esm2020/ui/button/button.component.mjs +46 -0
- package/esm2020/ui/button/index.mjs +2 -0
- package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +42 -0
- package/esm2020/ui/checkbox-field/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/datepicker-field/datepicker-field.component.mjs +4 -3
- package/esm2020/ui/datepicker-field/index.mjs +2 -0
- package/esm2020/ui/divider/divider.component.mjs +28 -0
- package/esm2020/ui/divider/index.mjs +2 -0
- package/esm2020/ui/field-container/field-container.component.mjs +58 -0
- package/esm2020/ui/field-container/public-api.mjs +2 -0
- package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +5 -0
- package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
- package/esm2020/ui/file-dropzone/public-api.mjs +2 -0
- package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +5 -0
- package/esm2020/{lib/material → ui}/file-upload/file-upload.component.mjs +7 -6
- package/esm2020/ui/file-upload/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/heading/heading.component.mjs +4 -3
- package/esm2020/ui/heading/public-api.mjs +2 -0
- package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +5 -0
- package/esm2020/{lib/material → ui}/image-upload-field/image-upload-field.component.mjs +7 -53
- package/esm2020/ui/image-upload-field/public-api.mjs +2 -0
- package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +5 -0
- package/esm2020/{lib/material → ui}/info/info.component.mjs +1 -1
- package/esm2020/ui/info/public-api.mjs +2 -0
- package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +5 -0
- package/esm2020/ui/input-field/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/input-field/input-field.component.mjs +5 -4
- package/esm2020/ui/option/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/option/option.component.mjs +2 -2
- package/esm2020/ui/public-api.mjs +21 -0
- package/esm2020/ui/radio-field/index.mjs +2 -0
- package/esm2020/ui/radio-field/radio-field.component.mjs +36 -0
- package/esm2020/ui/select-field/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/select-field/select-field.component.mjs +10 -8
- package/esm2020/ui/selected-file/public-api.mjs +2 -0
- package/esm2020/{lib/material → ui}/selected-file/selected-file.component.mjs +1 -1
- package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +5 -0
- package/esm2020/ui/slider-field/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/slider-field/slider-field.component.mjs +5 -4
- package/esm2020/ui/textarea-field/index.mjs +2 -0
- package/esm2020/{lib/material → ui}/textarea-field/textarea-field.component.mjs +5 -4
- package/esm2020/ui/tft-crispr-forms-ui.mjs +5 -0
- package/esm2020/ui/unit-conversion-field/index.mjs +2 -0
- package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +81 -0
- package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
- package/esm2020/utils/abstracts/crispr-control.mixin.mjs +27 -0
- package/esm2020/utils/abstracts/crispr-field.abstract.mjs +20 -0
- package/esm2020/utils/abstracts/index.mjs +4 -0
- package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +28 -0
- package/esm2020/utils/functions/callOptionsIfFunction.mjs +4 -0
- package/esm2020/utils/functions/createControlForType.mjs +19 -0
- package/esm2020/utils/functions/filterOptionsByLabel.mjs +11 -0
- package/esm2020/utils/functions/image-compression.helpers.mjs +50 -0
- package/esm2020/utils/functions/index.mjs +8 -0
- package/esm2020/utils/functions/isControlConfig.mjs +7 -0
- package/esm2020/utils/functions/observablifyOptions.mjs +29 -0
- package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
- package/esm2020/utils/models/autocomplete-field.config.mjs +2 -0
- package/esm2020/utils/models/button.config.mjs +2 -0
- package/esm2020/utils/models/checkbox-field.config.mjs +2 -0
- package/esm2020/utils/models/crispr-field.config.mjs +23 -0
- package/esm2020/utils/models/datepicker-field.config.mjs +2 -0
- package/esm2020/utils/models/divider.config.mjs +2 -0
- package/esm2020/utils/models/file-upload-field.config.mjs +2 -0
- package/esm2020/utils/models/form-group-list.config.mjs +2 -0
- package/esm2020/utils/models/heading.config.mjs +3 -0
- package/esm2020/utils/models/image-upload-field.config.mjs +2 -0
- package/esm2020/utils/models/index.mjs +18 -0
- package/esm2020/utils/models/input-field.config.mjs +2 -0
- package/esm2020/utils/models/radio-field.config.mjs +2 -0
- package/esm2020/utils/models/select-field.config.mjs +2 -0
- package/esm2020/utils/models/slider-field.config.mjs +2 -0
- package/esm2020/utils/models/textarea-field.config.mjs +2 -0
- package/esm2020/utils/models/unit-conversion-field.config.mjs +2 -0
- package/esm2020/utils/operators/form.operators.mjs +24 -0
- package/esm2020/utils/operators/index.mjs +2 -0
- package/esm2020/utils/public-api.mjs +5 -0
- package/esm2020/utils/tft-crispr-forms-utils.mjs +5 -0
- package/fesm2015/tft-crispr-forms-ui-field-container.mjs +64 -0
- package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
- package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-heading.mjs +37 -0
- package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +182 -0
- package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-info.mjs +30 -0
- package/fesm2015/tft-crispr-forms-ui-info.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +33 -0
- package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-ui.mjs +684 -0
- package/fesm2015/tft-crispr-forms-ui.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms-utils.mjs +270 -0
- package/fesm2015/tft-crispr-forms-utils.mjs.map +1 -0
- package/fesm2015/tft-crispr-forms.mjs +32 -1355
- package/fesm2015/tft-crispr-forms.mjs.map +1 -1
- package/fesm2020/tft-crispr-forms-ui-field-container.mjs +65 -0
- package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
- package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-heading.mjs +37 -0
- package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs +185 -0
- package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-info.mjs +30 -0
- package/fesm2020/tft-crispr-forms-ui-info.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +33 -0
- package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-ui.mjs +676 -0
- package/fesm2020/tft-crispr-forms-ui.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms-utils.mjs +269 -0
- package/fesm2020/tft-crispr-forms-utils.mjs.map +1 -0
- package/fesm2020/tft-crispr-forms.mjs +33 -1349
- package/fesm2020/tft-crispr-forms.mjs.map +1 -1
- package/index.d.ts +5 -1
- package/package.json +67 -3
- package/public-api.d.ts +3 -0
- package/src/index.d.ts +1 -0
- package/{lib → src/lib}/crispr-forms.module.d.ts +1 -1
- package/{lib → src/lib}/field-component-map.const.d.ts +7 -6
- package/{lib → src/lib}/field.directive.d.ts +3 -3
- package/{lib → src/lib}/form/form.component.d.ts +1 -1
- package/{lib → src/lib}/form-group-list/form-group-list.component.d.ts +11 -13
- package/{lib → src/lib}/form-group-list/index.d.ts +0 -0
- package/{lib → src/lib}/pipes/crispr-pipes.module.d.ts +0 -0
- package/{lib → src/lib}/pipes/initial-control-value.pipe.d.ts +1 -1
- package/src/lib/public_api.d.ts +2 -0
- package/{lib → src/lib}/sub-group/index.d.ts +0 -0
- package/{lib → src/lib}/sub-group/sub-group.component.d.ts +11 -13
- package/{lib → src/lib}/sub-group/sub-group.module.d.ts +1 -1
- package/tft-crispr-forms-14.0.1-rc.2.tgz +0 -0
- package/ui/README.md +3 -0
- package/{lib/material → ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +1 -2
- package/ui/autocomplete-chiplist-field/index.d.ts +1 -0
- package/{lib/material → ui}/autocomplete-field/autocomplete-field.component.d.ts +1 -2
- package/ui/autocomplete-field/index.d.ts +1 -0
- package/{lib/material → ui}/button/button.component.d.ts +1 -2
- package/ui/button/index.d.ts +1 -0
- package/ui/checkbox-field/checkbox-field.component.d.ts +21 -0
- package/ui/checkbox-field/index.d.ts +1 -0
- package/{lib/material → ui}/datepicker-field/datepicker-field.component.d.ts +11 -13
- package/ui/datepicker-field/index.d.ts +1 -0
- package/{lib/material → ui}/divider/divider.component.d.ts +1 -2
- package/ui/divider/index.d.ts +1 -0
- package/{lib → ui}/field-container/field-container.component.d.ts +1 -1
- package/ui/field-container/index.d.ts +5 -0
- package/{lib/field-container/index.d.ts → ui/field-container/public-api.d.ts} +0 -0
- package/{lib/material/file-upload → ui/file-dropzone}/file-dropzone.directive.d.ts +0 -0
- package/ui/file-dropzone/index.d.ts +5 -0
- package/{lib/material/file-upload/index.d.ts → ui/file-dropzone/public-api.d.ts} +0 -1
- package/{lib/material → ui}/file-upload/file-upload.component.d.ts +11 -13
- package/ui/file-upload/index.d.ts +1 -0
- package/{lib/material → ui}/heading/heading.component.d.ts +1 -2
- package/ui/heading/index.d.ts +5 -0
- package/ui/heading/public-api.d.ts +1 -0
- package/{lib/material → ui}/image-upload-field/image-upload-field.component.d.ts +12 -17
- package/ui/image-upload-field/index.d.ts +5 -0
- package/{lib/material/image-upload-field/index.d.ts → ui/image-upload-field/public-api.d.ts} +0 -0
- package/ui/index.d.ts +5 -0
- package/ui/info/index.d.ts +5 -0
- package/{lib/material → ui}/info/info.component.d.ts +1 -1
- package/ui/info/public-api.d.ts +1 -0
- package/ui/input-field/index.d.ts +1 -0
- package/ui/input-field/input-field.component.d.ts +22 -0
- package/{lib/material → ui}/option/index.d.ts +0 -0
- package/{lib/material → ui}/option/option.component.d.ts +1 -1
- package/ui/public-api.d.ts +19 -0
- package/ui/radio-field/index.d.ts +1 -0
- package/ui/radio-field/radio-field.component.d.ts +23 -0
- package/ui/select-field/index.d.ts +1 -0
- package/{lib/material → ui}/select-field/select-field.component.d.ts +11 -13
- package/ui/selected-file/index.d.ts +5 -0
- package/ui/selected-file/public-api.d.ts +1 -0
- package/{lib/material → ui}/selected-file/selected-file.component.d.ts +0 -0
- package/ui/slider-field/index.d.ts +1 -0
- package/{lib/material → ui}/slider-field/slider-field.component.d.ts +11 -13
- package/ui/textarea-field/index.d.ts +1 -0
- package/ui/textarea-field/textarea-field.component.d.ts +21 -0
- package/ui/unit-conversion-field/index.d.ts +1 -0
- package/{lib/material → ui}/unit-conversion-field/unit-conversion-field.component.d.ts +11 -14
- package/utils/README.md +3 -0
- package/{lib → utils}/abstracts/autocomplete-field.abstract.d.ts +0 -0
- package/{lib → utils}/abstracts/crispr-control.mixin.d.ts +0 -0
- package/{lib → utils}/abstracts/crispr-field.abstract.d.ts +0 -0
- package/{lib → utils}/abstracts/index.d.ts +0 -0
- package/utils/functions/buildFormGroupFromConfig.d.ts +9 -0
- package/utils/functions/callOptionsIfFunction.d.ts +3 -0
- package/utils/functions/createControlForType.d.ts +9 -0
- package/utils/functions/filterOptionsByLabel.d.ts +7 -0
- package/utils/functions/image-compression.helpers.d.ts +5 -0
- package/utils/functions/index.d.ts +7 -0
- package/utils/functions/isControlConfig.d.ts +5 -0
- package/utils/functions/observablifyOptions.d.ts +12 -0
- package/utils/index.d.ts +5 -0
- package/{lib → utils}/models/autocomplete-chiplist-field.config.d.ts +2 -1
- package/{lib → utils}/models/autocomplete-field.config.d.ts +1 -2
- package/{lib → utils}/models/button.config.d.ts +0 -0
- package/{lib → utils}/models/checkbox-field.config.d.ts +1 -2
- package/{lib → utils}/models/crispr-field.config.d.ts +1 -10
- package/{lib → utils}/models/datepicker-field.config.d.ts +1 -2
- package/{lib → utils}/models/divider.config.d.ts +1 -1
- package/{lib → utils}/models/file-upload-field.config.d.ts +3 -4
- package/{lib → utils}/models/form-group-list.config.d.ts +1 -2
- package/{lib → utils}/models/heading.config.d.ts +1 -2
- package/{lib → utils}/models/image-upload-field.config.d.ts +2 -1
- package/{lib → utils}/models/index.d.ts +0 -0
- package/{lib → utils}/models/input-field.config.d.ts +1 -2
- package/{lib → utils}/models/radio-field.config.d.ts +0 -0
- package/{lib → utils}/models/select-field.config.d.ts +1 -2
- package/{lib → utils}/models/slider-field.config.d.ts +1 -2
- package/{lib → utils}/models/textarea-field.config.d.ts +1 -2
- package/{lib → utils}/models/unit-conversion-field.config.d.ts +1 -2
- package/{lib → utils/operators}/form.operators.d.ts +0 -0
- package/utils/operators/index.d.ts +1 -0
- package/utils/public-api.d.ts +4 -0
- package/esm2020/index.mjs +0 -2
- package/esm2020/lib/abstracts/autocomplete-field.abstract.mjs +0 -30
- package/esm2020/lib/abstracts/crispr-control.mixin.mjs +0 -27
- package/esm2020/lib/abstracts/crispr-field.abstract.mjs +0 -20
- package/esm2020/lib/abstracts/index.mjs +0 -4
- package/esm2020/lib/crispr-forms.module.mjs +0 -57
- package/esm2020/lib/field-component-map.const.mjs +0 -28
- package/esm2020/lib/field-container/field-container.component.mjs +0 -63
- package/esm2020/lib/field-container/index.mjs +0 -2
- package/esm2020/lib/field.directive.mjs +0 -69
- package/esm2020/lib/form-group-list/form-group-list.component.mjs +0 -92
- package/esm2020/lib/form-group-list/index.mjs +0 -2
- package/esm2020/lib/form.helpers.mjs +0 -190
- package/esm2020/lib/form.operators.mjs +0 -24
- package/esm2020/lib/material/button/button.component.mjs +0 -45
- package/esm2020/lib/material/checkbox-field/checkbox-field.component.mjs +0 -40
- package/esm2020/lib/material/divider/divider.component.mjs +0 -27
- package/esm2020/lib/material/file-upload/file-dropzone.directive.mjs +0 -40
- package/esm2020/lib/material/file-upload/index.mjs +0 -3
- package/esm2020/lib/material/image-upload-field/image-compression.helpers.mjs +0 -4
- package/esm2020/lib/material/image-upload-field/index.mjs +0 -2
- package/esm2020/lib/material/index.mjs +0 -17
- package/esm2020/lib/material/option/index.mjs +0 -2
- package/esm2020/lib/material/radio-field/radio-field.component.mjs +0 -36
- package/esm2020/lib/material/unit-conversion-field/unit-conversion-field.component.mjs +0 -81
- package/esm2020/lib/models/autocomplete-chiplist-field.config.mjs +0 -2
- package/esm2020/lib/models/autocomplete-field.config.mjs +0 -2
- package/esm2020/lib/models/button.config.mjs +0 -2
- package/esm2020/lib/models/checkbox-field.config.mjs +0 -2
- package/esm2020/lib/models/crispr-field.config.mjs +0 -23
- package/esm2020/lib/models/datepicker-field.config.mjs +0 -2
- package/esm2020/lib/models/divider.config.mjs +0 -2
- package/esm2020/lib/models/file-upload-field.config.mjs +0 -2
- package/esm2020/lib/models/form-group-list.config.mjs +0 -2
- package/esm2020/lib/models/heading.config.mjs +0 -3
- package/esm2020/lib/models/image-upload-field.config.mjs +0 -2
- package/esm2020/lib/models/index.mjs +0 -18
- package/esm2020/lib/models/input-field.config.mjs +0 -2
- package/esm2020/lib/models/radio-field.config.mjs +0 -2
- package/esm2020/lib/models/select-field.config.mjs +0 -2
- package/esm2020/lib/models/slider-field.config.mjs +0 -2
- package/esm2020/lib/models/textarea-field.config.mjs +0 -2
- package/esm2020/lib/models/unit-conversion-field.config.mjs +0 -2
- package/esm2020/lib/pipes/initial-control-value.pipe.mjs +0 -20
- package/esm2020/lib/public_api.mjs +0 -10
- package/esm2020/lib/sub-group/index.mjs +0 -3
- package/esm2020/lib/sub-group/sub-group.component.mjs +0 -20
- package/esm2020/lib/sub-group/sub-group.module.mjs +0 -42
- package/lib/form.helpers.d.ts +0 -88
- package/lib/material/checkbox-field/checkbox-field.component.d.ts +0 -23
- package/lib/material/image-upload-field/image-compression.helpers.d.ts +0 -1
- package/lib/material/index.d.ts +0 -16
- package/lib/material/input-field/input-field.component.d.ts +0 -24
- package/lib/material/radio-field/radio-field.component.d.ts +0 -26
- package/lib/material/textarea-field/textarea-field.component.d.ts +0 -23
- package/lib/public_api.d.ts +0 -9
- package/tft-crispr-forms-14.0.1-rc.1.tgz +0 -0
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
// custom modules
|
|
5
|
-
import { FormValidationHandlerModule } from '@tft/form-validation-handler';
|
|
6
|
-
// components
|
|
7
|
-
import { CrisprFormComponent } from './form/form.component';
|
|
8
|
-
import { FormGroupListComponent } from './form-group-list';
|
|
9
|
-
// directives
|
|
10
|
-
import { CrisprFieldDirective } from './field.directive';
|
|
11
|
-
import { SubGroupModule } from './sub-group';
|
|
12
|
-
import { CrisprPipesModule } from './pipes/crispr-pipes.module';
|
|
13
|
-
import { FieldContainerComponent } from './field-container';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
export class CrisprFormsModule {
|
|
16
|
-
}
|
|
17
|
-
CrisprFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
-
CrisprFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, imports: [CommonModule,
|
|
19
|
-
ReactiveFormsModule,
|
|
20
|
-
FormValidationHandlerModule,
|
|
21
|
-
FormGroupListComponent,
|
|
22
|
-
FieldContainerComponent,
|
|
23
|
-
CrisprFieldDirective,
|
|
24
|
-
SubGroupModule,
|
|
25
|
-
CrisprPipesModule,
|
|
26
|
-
CrisprFormComponent], exports: [CrisprFormComponent,
|
|
27
|
-
FieldContainerComponent] });
|
|
28
|
-
CrisprFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, imports: [CommonModule,
|
|
29
|
-
ReactiveFormsModule,
|
|
30
|
-
FormValidationHandlerModule,
|
|
31
|
-
FormGroupListComponent,
|
|
32
|
-
FieldContainerComponent,
|
|
33
|
-
SubGroupModule,
|
|
34
|
-
CrisprPipesModule,
|
|
35
|
-
CrisprFormComponent] });
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, decorators: [{
|
|
37
|
-
type: NgModule,
|
|
38
|
-
args: [{
|
|
39
|
-
imports: [
|
|
40
|
-
CommonModule,
|
|
41
|
-
ReactiveFormsModule,
|
|
42
|
-
FormValidationHandlerModule,
|
|
43
|
-
FormGroupListComponent,
|
|
44
|
-
FieldContainerComponent,
|
|
45
|
-
CrisprFieldDirective,
|
|
46
|
-
SubGroupModule,
|
|
47
|
-
CrisprPipesModule,
|
|
48
|
-
CrisprFormComponent
|
|
49
|
-
],
|
|
50
|
-
exports: [
|
|
51
|
-
CrisprFormComponent,
|
|
52
|
-
FieldContainerComponent,
|
|
53
|
-
// MaterialModule
|
|
54
|
-
]
|
|
55
|
-
}]
|
|
56
|
-
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWZvcm1zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvY3Jpc3ByLWZvcm1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0UsYUFBYTtBQUNiLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELGFBQWE7QUFDYixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQW9CNUQsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBaEIxQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG1CQUFtQixhQUduQixtQkFBbUI7UUFDbkIsdUJBQXVCOytHQUlkLGlCQUFpQixZQWhCMUIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQiwyQkFBMkI7UUFDM0Isc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUV2QixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG1CQUFtQjsyRkFRVixpQkFBaUI7a0JBbEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLyBjdXN0b20gbW9kdWxlc1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENyaXNwckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdyb3VwTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1ncm91cC1saXN0Jztcbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7IENyaXNwckZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3ViR3JvdXBNb2R1bGUgfSBmcm9tICcuL3N1Yi1ncm91cCc7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvY3Jpc3ByLXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtY29udGFpbmVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSxcbiAgICBGb3JtR3JvdXBMaXN0Q29tcG9uZW50LFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIENyaXNwckZpZWxkRGlyZWN0aXZlLFxuICAgIFN1Ykdyb3VwTW9kdWxlLFxuICAgIENyaXNwclBpcGVzTW9kdWxlLFxuICAgIENyaXNwckZvcm1Db21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENyaXNwckZvcm1Db21wb25lbnQsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgLy8gTWF0ZXJpYWxNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcmlzcHJGb3Jtc01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { isControlConfig } from './form.helpers';
|
|
2
|
-
import { ControlType } from './models';
|
|
3
|
-
export const FIELD_COMPONENTS = {
|
|
4
|
-
groupList: import('./form-group-list').then(({ FormGroupListComponent }) => FormGroupListComponent),
|
|
5
|
-
subGroup: import('./sub-group').then(({ SubGroupComponent }) => SubGroupComponent),
|
|
6
|
-
button: import('./material').then(({ ButtonComponent }) => ButtonComponent),
|
|
7
|
-
input: import('./material').then(({ InputFieldComponent }) => InputFieldComponent),
|
|
8
|
-
select: import('./material').then(({ SelectFieldComponent }) => SelectFieldComponent),
|
|
9
|
-
radio: import('./material').then(({ RadioFieldComponent }) => RadioFieldComponent),
|
|
10
|
-
autocomplete: import('./material').then(({ AutocompleteFieldComponent }) => AutocompleteFieldComponent),
|
|
11
|
-
autocompleteChiplist: import('./material').then(({ AutocompleteChiplistFieldComponent }) => AutocompleteChiplistFieldComponent),
|
|
12
|
-
textarea: import('./material').then(({ TextareaFieldComponent }) => TextareaFieldComponent),
|
|
13
|
-
checkbox: import('./material').then(({ CheckboxFieldComponent }) => CheckboxFieldComponent),
|
|
14
|
-
slider: import('./material').then(({ SliderFieldComponent }) => SliderFieldComponent),
|
|
15
|
-
datepicker: import('./material').then(({ DatepickerFieldComponent }) => DatepickerFieldComponent),
|
|
16
|
-
fileUpload: import('./material').then(({ FileUploadFieldComponent }) => FileUploadFieldComponent),
|
|
17
|
-
imageUpload: import('./material').then(({ ImageUploadFieldComponent }) => ImageUploadFieldComponent),
|
|
18
|
-
heading: import('./material').then(({ HeadingComponent }) => HeadingComponent),
|
|
19
|
-
divider: import('./material').then(({ DividerComponent }) => DividerComponent),
|
|
20
|
-
unitConversion: import('./material').then(({ UnitConversionFieldComponent }) => UnitConversionFieldComponent)
|
|
21
|
-
};
|
|
22
|
-
export function isControlComponent(component) {
|
|
23
|
-
return component && isControlConfig(component.config) && 'value' in component; // || component.config.controlType === ControlType.BUTTON;
|
|
24
|
-
}
|
|
25
|
-
export function isControlOrButtonComponent(component) {
|
|
26
|
-
return isControlComponent(component) || component.config.controlType === ControlType.BUTTON;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixTQUFTLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFFLENBQUMsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNsRyxRQUFRLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUMsRUFBRSxFQUFFLENBQUUsaUJBQWlCLENBQUM7SUFDbEYsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGVBQWUsRUFBQyxFQUFFLEVBQUUsQ0FBRSxlQUFlLENBQUM7SUFDM0UsS0FBSyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixFQUFDLEVBQUUsRUFBRSxDQUFFLG1CQUFtQixDQUFDO0lBQ2xGLE1BQU0sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBQztJQUNyRixLQUFLLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUMsRUFBRSxFQUFFLENBQUUsbUJBQW1CLENBQUM7SUFDbEYsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixFQUFDLEVBQUUsRUFBRSxDQUFFLDBCQUEwQixDQUFDO0lBQ3ZHLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxFQUFDLEVBQUUsRUFBRSxDQUFFLGtDQUFrQyxDQUFDO0lBQy9ILFFBQVEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxzQkFBc0IsQ0FBQztJQUMzRixRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUMsRUFBRSxFQUFFLENBQUUsc0JBQXNCLENBQUM7SUFDM0YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFDLEVBQUUsRUFBRSxDQUFFLG9CQUFvQixDQUFDO0lBQ3JGLFVBQVUsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSx3QkFBd0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSx3QkFBd0IsQ0FBQztJQUNqRyxVQUFVLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEVBQUMsRUFBRSxFQUFFLENBQUUsd0JBQXdCLENBQUM7SUFDakcsV0FBVyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixFQUFDLEVBQUUsRUFBRSxDQUFFLHlCQUF5QixDQUFDO0lBQ3BHLE9BQU8sRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxnQkFBZ0IsQ0FBQztJQUM5RSxPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUMsRUFBRSxFQUFFLENBQUUsZ0JBQWdCLENBQUM7SUFDOUUsY0FBYyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixFQUFDLEVBQUUsRUFBRSxDQUFFLDRCQUE0QixDQUFDO0NBQzlHLENBQUM7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBK0I7SUFDaEUsT0FBTyxTQUFTLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFBLENBQUMsMERBQTBEO0FBQzFJLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsU0FBK0I7SUFDeEUsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsTUFBTSxDQUFDO0FBQzlGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHR5cGUgeyBJbnB1dEZpZWxkQ29tcG9uZW50LCBTZWxlY3RGaWVsZENvbXBvbmVudCwgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQsXG4gIEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb21wb25lbnQsIFRleHRhcmVhRmllbGRDb21wb25lbnQsIENoZWNrYm94RmllbGRDb21wb25lbnQsXG4gIFJhZGlvRmllbGRDb21wb25lbnQsIEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudCwgU2xpZGVyRmllbGRDb21wb25lbnQsIERhdGVwaWNrZXJGaWVsZENvbXBvbmVudCxcbiAgSGVhZGluZ0NvbXBvbmVudCwgRGl2aWRlckNvbXBvbmVudCwgQnV0dG9uQ29tcG9uZW50LCBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50LCBJbWFnZVVwbG9hZEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9tYXRlcmlhbCc7XG5pbXBvcnQgdHlwZSB7IEZvcm1Hcm91cExpc3RDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZ3JvdXAtbGlzdC9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgU3ViR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1ncm91cC9zdWItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IGlzQ29udHJvbENvbmZpZyB9IGZyb20gJy4vZm9ybS5oZWxwZXJzJztcbmltcG9ydCB7IENvbnRyb2xUeXBlIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgRklFTERfQ09NUE9ORU5UUyA9IHtcbiAgZ3JvdXBMaXN0OiBpbXBvcnQoJy4vZm9ybS1ncm91cC1saXN0JykudGhlbiAoKHtGb3JtR3JvdXBMaXN0Q29tcG9uZW50fSkgPT4gRm9ybUdyb3VwTGlzdENvbXBvbmVudCksXG4gIHN1Ykdyb3VwOiBpbXBvcnQoJy4vc3ViLWdyb3VwJykudGhlbigoeyBTdWJHcm91cENvbXBvbmVudH0pID0+ICBTdWJHcm91cENvbXBvbmVudCksXG4gIGJ1dHRvbjogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBCdXR0b25Db21wb25lbnR9KSA9PiAgQnV0dG9uQ29tcG9uZW50KSxcbiAgaW5wdXQ6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgSW5wdXRGaWVsZENvbXBvbmVudH0pID0+ICBJbnB1dEZpZWxkQ29tcG9uZW50KSxcbiAgc2VsZWN0OiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IFNlbGVjdEZpZWxkQ29tcG9uZW50fSkgPT4gIFNlbGVjdEZpZWxkQ29tcG9uZW50KSxcbiAgcmFkaW86IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgUmFkaW9GaWVsZENvbXBvbmVudH0pID0+ICBSYWRpb0ZpZWxkQ29tcG9uZW50KSxcbiAgYXV0b2NvbXBsZXRlOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50fSkgPT4gIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50KSxcbiAgYXV0b2NvbXBsZXRlQ2hpcGxpc3Q6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbXBvbmVudH0pID0+ICBBdXRvY29tcGxldGVDaGlwbGlzdEZpZWxkQ29tcG9uZW50KSxcbiAgdGV4dGFyZWE6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgVGV4dGFyZWFGaWVsZENvbXBvbmVudH0pID0+ICBUZXh0YXJlYUZpZWxkQ29tcG9uZW50KSxcbiAgY2hlY2tib3g6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgQ2hlY2tib3hGaWVsZENvbXBvbmVudH0pID0+ICBDaGVja2JveEZpZWxkQ29tcG9uZW50KSxcbiAgc2xpZGVyOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IFNsaWRlckZpZWxkQ29tcG9uZW50fSkgPT4gIFNsaWRlckZpZWxkQ29tcG9uZW50KSxcbiAgZGF0ZXBpY2tlcjogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBEYXRlcGlja2VyRmllbGRDb21wb25lbnR9KSA9PiAgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50KSxcbiAgZmlsZVVwbG9hZDogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnR9KSA9PiAgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50KSxcbiAgaW1hZ2VVcGxvYWQ6IGltcG9ydCgnLi9tYXRlcmlhbCcpLnRoZW4oKHsgSW1hZ2VVcGxvYWRGaWVsZENvbXBvbmVudH0pID0+ICBJbWFnZVVwbG9hZEZpZWxkQ29tcG9uZW50KSxcbiAgaGVhZGluZzogaW1wb3J0KCcuL21hdGVyaWFsJykudGhlbigoeyBIZWFkaW5nQ29tcG9uZW50fSkgPT4gIEhlYWRpbmdDb21wb25lbnQpLFxuICBkaXZpZGVyOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IERpdmlkZXJDb21wb25lbnR9KSA9PiAgRGl2aWRlckNvbXBvbmVudCksXG4gIHVuaXRDb252ZXJzaW9uOiBpbXBvcnQoJy4vbWF0ZXJpYWwnKS50aGVuKCh7IFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnR9KSA9PiAgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudClcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRyb2xDb21wb25lbnQoY29tcG9uZW50OiBDcmlzcHJGaWVsZENvbXBvbmVudCk6IGNvbXBvbmVudCBpcyBDcmlzcHJDb250cm9sQ29tcG9uZW50IHtcbiAgcmV0dXJuIGNvbXBvbmVudCAmJiBpc0NvbnRyb2xDb25maWcoY29tcG9uZW50LmNvbmZpZykgJiYgJ3ZhbHVlJyBpbiBjb21wb25lbnQgLy8gfHwgY29tcG9uZW50LmNvbmZpZy5jb250cm9sVHlwZSA9PT0gQ29udHJvbFR5cGUuQlVUVE9OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb250cm9sT3JCdXR0b25Db21wb25lbnQoY29tcG9uZW50OiBDcmlzcHJGaWVsZENvbXBvbmVudCk6IGNvbXBvbmVudCBpcyBDcmlzcHJDb250cm9sT3JCdXR0b24ge1xuICByZXR1cm4gaXNDb250cm9sQ29tcG9uZW50KGNvbXBvbmVudCkgfHwgY29tcG9uZW50LmNvbmZpZy5jb250cm9sVHlwZSA9PT0gQ29udHJvbFR5cGUuQlVUVE9OO1xufVxuXG5leHBvcnQgdHlwZSBDcmlzcHJDb250cm9sT3JCdXR0b24gPSBDcmlzcHJDb250cm9sQ29tcG9uZW50IHwgQnV0dG9uQ29tcG9uZW50O1xuXG5leHBvcnQgdHlwZSBDcmlzcHJDb250cm9sQ29tcG9uZW50ID0gSW5wdXRGaWVsZENvbXBvbmVudCB8XG4gIFNlbGVjdEZpZWxkQ29tcG9uZW50IHxcbiAgUmFkaW9GaWVsZENvbXBvbmVudCB8XG4gIFN1Ykdyb3VwQ29tcG9uZW50IHxcbiAgRm9ybUdyb3VwTGlzdENvbXBvbmVudCB8XG4gIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50IHxcbiAgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbXBvbmVudCB8XG4gIFRleHRhcmVhRmllbGRDb21wb25lbnQgfFxuICBDaGVja2JveEZpZWxkQ29tcG9uZW50IHxcbiAgU2xpZGVyRmllbGRDb21wb25lbnQgfFxuICBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgfFxuICBJbWFnZVVwbG9hZEZpZWxkQ29tcG9uZW50fFxuICBEYXRlcGlja2VyRmllbGRDb21wb25lbnQgfFxuICBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50O1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRLZXlzID0ga2V5b2YgdHlwZW9mIEZJRUxEX0NPTVBPTkVOVFM7XG4vLyBleHBvcnQgdHlwZSBDcmlzcHJGaWVsZENvbXBvbmVudCA9IEZJRUxEX0NPTVBPTkVOVFNbQ29tcG9uZW50S2V5c107XG5cbmV4cG9ydCB0eXBlIENyaXNwckZpZWxkQ29tcG9uZW50ID0gQ3Jpc3ByQ29udHJvbENvbXBvbmVudCB8XG4gIEhlYWRpbmdDb21wb25lbnQgfFxuICBEaXZpZGVyQ29tcG9uZW50IHxcbiAgQnV0dG9uQ29tcG9uZW50O1xuXG4iXX0=
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { FormGroup } from '@angular/forms';
|
|
4
|
-
import { tap, distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
-
import { computeValueFromFields } from '../form.helpers';
|
|
6
|
-
import { CommonModule } from '@angular/common';
|
|
7
|
-
import { HeadingComponent } from '../material/heading/heading.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
export class FieldContainerComponent {
|
|
11
|
-
constructor() {
|
|
12
|
-
// boolean whether field-container is inline
|
|
13
|
-
this.inlineField = false;
|
|
14
|
-
this.subs = [];
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.disabled$ = this.connectDisabledCallback(this.group, this.config);
|
|
18
|
-
// we tried moving this into afterViewChecked and afterContentChecked lifecycle hooks without any luck
|
|
19
|
-
if (this.config.computeValue) {
|
|
20
|
-
this.subs.push(this.config.computeValue(this.group).pipe(distinctUntilChanged(), tap(computedValue => this.group.get(this.config.controlName).setValue(computedValue))).subscribe());
|
|
21
|
-
}
|
|
22
|
-
else if (this.config.computeFieldConfig) {
|
|
23
|
-
console.warn(`computeFieldConfig property is deprecated, please use computeValue. Example here: https://stackblitz.com/github/nayfin/tft-documentation?file=src%2Fapp%2Fcrispr-forms-demo%2Ffeatures%2Fcomputed-field%2Fcomputed-field.component.ts`);
|
|
24
|
-
this.subs.push(computeValueFromFields(this.group, this.config.computeFieldConfig).pipe(distinctUntilChanged(), tap(computedValue => this.group.get(this.config.controlName).setValue(computedValue))).subscribe());
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this.subs.forEach(sub => sub.unsubscribe);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Connects user defined disabledCallback function to the the view, so that the control is enabled/disabled
|
|
32
|
-
* appropriately. It also will hide disabled fields in the UI unless `hideDisabled` is set to
|
|
33
|
-
* false in the controls config
|
|
34
|
-
* @param group used to get valueChanges from control
|
|
35
|
-
* @param config configuration object used to
|
|
36
|
-
*/
|
|
37
|
-
connectDisabledCallback(group, config = null) {
|
|
38
|
-
const control = group.get(config.controlName);
|
|
39
|
-
// If the disabled$ function exists on the field config then call it with the disabledCallbackConfig
|
|
40
|
-
// as a parameter otherwise return an observable of true.
|
|
41
|
-
return config?.disabledCallback && config.disabledCallback instanceof Function
|
|
42
|
-
? config.disabledCallback(group, config.disabledCallbackConfig || null).pipe(
|
|
43
|
-
// This enables/disables when callback conditions are met
|
|
44
|
-
tap((shouldDisable) => shouldDisable ? control.disable() : control.enable()))
|
|
45
|
-
: of(false);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
FieldContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FieldContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
FieldContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FieldContainerComponent, isStandalone: true, selector: "crispr-field-container", inputs: { config: "config", group: "group", inlineField: "inlineField" }, ngImport: i0, template: "<div\n *ngIf=\"(disabled$ | async) ? !config.hideDisabled : true\"\n [ngClass]=\"config.classes\"\n [class.inline-field]=\"inlineField\"\n class=\"field-container\">\n\n <crispr-heading\n *ngIf=\"config.heading\"\n [config]=\"config.heading\">\n </crispr-heading>\n\n <ng-content>\n </ng-content>\n\n</div>\n", styles: ["::ng-deep mat-form-field.mat-form-field{display:block;padding:.25em 0}.inline-field{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: HeadingComponent, selector: "crispr-heading", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FieldContainerComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'crispr-field-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
53
|
-
CommonModule,
|
|
54
|
-
HeadingComponent,
|
|
55
|
-
], template: "<div\n *ngIf=\"(disabled$ | async) ? !config.hideDisabled : true\"\n [ngClass]=\"config.classes\"\n [class.inline-field]=\"inlineField\"\n class=\"field-container\">\n\n <crispr-heading\n *ngIf=\"config.heading\"\n [config]=\"config.heading\">\n </crispr-heading>\n\n <ng-content>\n </ng-content>\n\n</div>\n", styles: ["::ng-deep mat-form-field.mat-form-field{display:block;padding:.25em 0}.inline-field{display:inline-block}\n"] }]
|
|
56
|
-
}], propDecorators: { config: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], group: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], inlineField: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZmllbGQtY29udGFpbmVyL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2ZpZWxkLWNvbnRhaW5lci9maWVsZC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsdUJBQXVCLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQWF6RSxNQUFNLE9BQU8sdUJBQXVCO0lBWHBDO1FBZ0JFLDRDQUE0QztRQUNuQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUk3QixTQUFJLEdBQW1CLEVBQUUsQ0FBQztLQTRDM0I7SUExQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLHNHQUFzRztRQUN0RyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3RGLENBQUMsU0FBUyxFQUFFLENBQ2QsQ0FBQztTQUNIO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsdU9BQXVPLENBQUMsQ0FBQTtZQUNyUCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDWixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ3JFLG9CQUFvQixFQUFFLEVBQ3RCLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQ3RGLENBQUMsU0FBUyxFQUFFLENBQ2QsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gsdUJBQXVCLENBQUMsS0FBZ0IsRUFBRSxTQUE4QixJQUFJO1FBQzFFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLG9HQUFvRztRQUNwRyx5REFBeUQ7UUFDekQsT0FBTyxNQUFNLEVBQUUsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGdCQUFnQixZQUFZLFFBQVE7WUFDNUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxDQUFDLElBQUk7WUFDMUUseURBQXlEO1lBQ3pELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUM3RTtZQUNELENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQzs7b0hBckRVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRKQ3BCcEMsb1VBZUEsb0tEQ0ksWUFBWSxzUkFDWixnQkFBZ0I7MkZBR1AsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCOzhCQUlRLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDcmlzcHJDb250cm9sQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRhcCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb21wdXRlVmFsdWVGcm9tRmllbGRzIH0gZnJvbSAnLi4vZm9ybS5oZWxwZXJzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbWF0ZXJpYWwvaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1maWVsZC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEhlYWRpbmdDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvLyB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSBmaWVsZFxuICBASW5wdXQoKSBjb25maWc6IENyaXNwckNvbnRyb2xDb25maWc7XG4gIC8vIHRoZSBwYXJlbnQgZm9ybUdyb3VwXG4gIEBJbnB1dCgpIGdyb3VwOiBGb3JtR3JvdXA7XG4gIC8vIGJvb2xlYW4gd2hldGhlciBmaWVsZC1jb250YWluZXIgaXMgaW5saW5lXG4gIEBJbnB1dCgpIGlubGluZUZpZWxkID0gZmFsc2U7XG4gIC8vIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90IGZpZWxkIHNob3VsZCBiZSBzaG93blxuICBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc2FibGVkJCA9IHRoaXMuY29ubmVjdERpc2FibGVkQ2FsbGJhY2sodGhpcy5ncm91cCwgdGhpcy5jb25maWcpO1xuICAgIC8vIHdlIHRyaWVkIG1vdmluZyB0aGlzIGludG8gYWZ0ZXJWaWV3Q2hlY2tlZCBhbmQgYWZ0ZXJDb250ZW50Q2hlY2tlZCBsaWZlY3ljbGUgaG9va3Mgd2l0aG91dCBhbnkgbHVja1xuICAgIGlmICh0aGlzLmNvbmZpZy5jb21wdXRlVmFsdWUpIHtcbiAgICAgIHRoaXMuc3Vicy5wdXNoKFxuICAgICAgICB0aGlzLmNvbmZpZy5jb21wdXRlVmFsdWUodGhpcy5ncm91cCkucGlwZShcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIHRhcChjb21wdXRlZFZhbHVlID0+IHRoaXMuZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKS5zZXRWYWx1ZShjb21wdXRlZFZhbHVlKSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5jb21wdXRlRmllbGRDb25maWcpIHtcbiAgICAgIGNvbnNvbGUud2FybihgY29tcHV0ZUZpZWxkQ29uZmlnIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2UgY29tcHV0ZVZhbHVlLiBFeGFtcGxlIGhlcmU6IGh0dHBzOi8vc3RhY2tibGl0ei5jb20vZ2l0aHViL25heWZpbi90ZnQtZG9jdW1lbnRhdGlvbj9maWxlPXNyYyUyRmFwcCUyRmNyaXNwci1mb3Jtcy1kZW1vJTJGZmVhdHVyZXMlMkZjb21wdXRlZC1maWVsZCUyRmNvbXB1dGVkLWZpZWxkLmNvbXBvbmVudC50c2ApXG4gICAgICB0aGlzLnN1YnMucHVzaChcbiAgICAgICAgY29tcHV0ZVZhbHVlRnJvbUZpZWxkcyh0aGlzLmdyb3VwLCB0aGlzLmNvbmZpZy5jb21wdXRlRmllbGRDb25maWcpLnBpcGUoXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXAoY29tcHV0ZWRWYWx1ZSA9PiB0aGlzLmdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSkuc2V0VmFsdWUoY29tcHV0ZWRWYWx1ZSkpXG4gICAgICAgICkuc3Vic2NyaWJlKCksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUpO1xuICB9XG4gIC8qKlxuICAgKiBDb25uZWN0cyB1c2VyIGRlZmluZWQgZGlzYWJsZWRDYWxsYmFjayBmdW5jdGlvbiB0byB0aGUgdGhlIHZpZXcsIHNvIHRoYXQgdGhlIGNvbnRyb2wgaXMgZW5hYmxlZC9kaXNhYmxlZFxuICAgKiBhcHByb3ByaWF0ZWx5LiBJdCBhbHNvIHdpbGwgaGlkZSBkaXNhYmxlZCBmaWVsZHMgaW4gdGhlIFVJIHVubGVzcyBgaGlkZURpc2FibGVkYCBpcyBzZXQgdG9cbiAgICogZmFsc2UgaW4gdGhlIGNvbnRyb2xzIGNvbmZpZ1xuICAgKiBAcGFyYW0gZ3JvdXAgdXNlZCB0byBnZXQgdmFsdWVDaGFuZ2VzIGZyb20gY29udHJvbFxuICAgKiBAcGFyYW0gY29uZmlnIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgdG9cbiAgICovXG4gIGNvbm5lY3REaXNhYmxlZENhbGxiYWNrKGdyb3VwOiBGb3JtR3JvdXAsIGNvbmZpZzogQ3Jpc3ByQ29udHJvbENvbmZpZyA9IG51bGwpIHtcbiAgICBjb25zdCBjb250cm9sID0gZ3JvdXAuZ2V0KGNvbmZpZy5jb250cm9sTmFtZSk7XG4gICAgLy8gSWYgdGhlIGRpc2FibGVkJCBmdW5jdGlvbiBleGlzdHMgb24gdGhlIGZpZWxkIGNvbmZpZyB0aGVuIGNhbGwgaXQgd2l0aCB0aGUgZGlzYWJsZWRDYWxsYmFja0NvbmZpZ1xuICAgIC8vIGFzIGEgcGFyYW1ldGVyIG90aGVyd2lzZSByZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiB0cnVlLlxuICAgIHJldHVybiBjb25maWc/LmRpc2FibGVkQ2FsbGJhY2sgJiYgY29uZmlnLmRpc2FibGVkQ2FsbGJhY2sgaW5zdGFuY2VvZiBGdW5jdGlvblxuICAgICAgPyBjb25maWcuZGlzYWJsZWRDYWxsYmFjayhncm91cCwgY29uZmlnLmRpc2FibGVkQ2FsbGJhY2tDb25maWcgfHwgbnVsbCkucGlwZShcbiAgICAgICAgLy8gVGhpcyBlbmFibGVzL2Rpc2FibGVzIHdoZW4gY2FsbGJhY2sgY29uZGl0aW9ucyBhcmUgbWV0XG4gICAgICAgIHRhcCgoc2hvdWxkRGlzYWJsZSkgPT4gc2hvdWxkRGlzYWJsZSA/IGNvbnRyb2wuZGlzYWJsZSgpIDogY29udHJvbC5lbmFibGUoKSlcbiAgICAgIClcbiAgICAgIDogb2YoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiKGRpc2FibGVkJCB8IGFzeW5jKSA/ICFjb25maWcuaGlkZURpc2FibGVkIDogdHJ1ZVwiXG4gIFtuZ0NsYXNzXT1cImNvbmZpZy5jbGFzc2VzXCJcbiAgW2NsYXNzLmlubGluZS1maWVsZF09XCJpbmxpbmVGaWVsZFwiXG4gIGNsYXNzPVwiZmllbGQtY29udGFpbmVyXCI+XG5cbiAgPGNyaXNwci1oZWFkaW5nXG4gICAgKm5nSWY9XCJjb25maWcuaGVhZGluZ1wiXG4gICAgW2NvbmZpZ109XCJjb25maWcuaGVhZGluZ1wiPlxuICA8L2NyaXNwci1oZWFkaW5nPlxuXG4gIDxuZy1jb250ZW50PlxuICA8L25nLWNvbnRlbnQ+XG5cbjwvZGl2PlxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './field-container.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2ZpZWxkLWNvbnRhaW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWVsZC1jb250YWluZXIuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, ViewContainerRef, Renderer2, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { FormGroup } from '@angular/forms';
|
|
3
|
-
import { FIELD_COMPONENTS, isControlComponent, isControlOrButtonComponent } from './field-component-map.const';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class CrisprFieldDirective {
|
|
6
|
-
constructor(container, renderer, cdr) {
|
|
7
|
-
this.container = container;
|
|
8
|
-
this.renderer = renderer;
|
|
9
|
-
this.cdr = cdr;
|
|
10
|
-
}
|
|
11
|
-
set value(value) {
|
|
12
|
-
this._value = value;
|
|
13
|
-
// This is needed to keep the group list from resetting control values to the initial input value
|
|
14
|
-
this.updateComponentValue(value);
|
|
15
|
-
}
|
|
16
|
-
;
|
|
17
|
-
get value() {
|
|
18
|
-
return this._value;
|
|
19
|
-
}
|
|
20
|
-
async ngOnInit() {
|
|
21
|
-
/**
|
|
22
|
-
* create component and set values from config on its instance
|
|
23
|
-
*/
|
|
24
|
-
const component = this.config.component || await FIELD_COMPONENTS[this.config.controlType];
|
|
25
|
-
const componentRef = this.container.createComponent(component);
|
|
26
|
-
this.component = componentRef.instance;
|
|
27
|
-
this.component.config = this.config;
|
|
28
|
-
if (isControlOrButtonComponent(this.component)) {
|
|
29
|
-
this.component.group = this.group;
|
|
30
|
-
}
|
|
31
|
-
this.updateComponentValue(this.value);
|
|
32
|
-
// adds any config classes to the dynamically generated component
|
|
33
|
-
// doing this here keeps us from having to extend a base component into each field component individually
|
|
34
|
-
if (!this.config.classes)
|
|
35
|
-
return;
|
|
36
|
-
this.config.classes.forEach((klass) => {
|
|
37
|
-
// check for passing multiple classes in one array element
|
|
38
|
-
if (klass.includes(' ')) {
|
|
39
|
-
throw Error(`Improperly formatted class. '${klass}' cannot contain spaces.`);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
this.renderer.addClass(componentRef.location.nativeElement, klass);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
updateComponentValue(value) {
|
|
47
|
-
if (isControlComponent(this.component)) {
|
|
48
|
-
this.component.value = value;
|
|
49
|
-
// SubGroups won't populate without this detectChanges
|
|
50
|
-
this.cdr.detectChanges();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
-
CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: CrisprFieldDirective, isStandalone: true, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, ngImport: i0 });
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFieldDirective, decorators: [{
|
|
57
|
-
type: Directive,
|
|
58
|
-
args: [{
|
|
59
|
-
selector: '[crisprField]',
|
|
60
|
-
standalone: true
|
|
61
|
-
}]
|
|
62
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], group: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], value: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}] } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUF3QixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQU1ySSxNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixZQUNVLFNBQTJCLEVBQzNCLFFBQW1CLEVBQ25CLEdBQXNCO1FBRnRCLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFDN0IsQ0FBQztJQWRKLElBQWEsS0FBSyxDQUFDLEtBQTJCO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGlHQUFpRztRQUNqRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUFBLENBQUM7SUFDRixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQVNELEtBQUssQ0FBQyxRQUFRO1FBQ1o7O1dBRUc7UUFDSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQXVCLFNBQVMsQ0FBQyxDQUFDO1FBRXJGLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3BDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkM7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLGlFQUFpRTtRQUNqRSx5R0FBeUc7UUFDekcsSUFBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUFFLE9BQU87UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsMERBQTBEO1lBQzFELElBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLEtBQUssMEJBQTBCLENBQUMsQ0FBQzthQUM5RTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNwRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQTJCO1FBQzlDLElBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUM3QixzREFBc0Q7WUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7O2lIQXhEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7K0pBR1UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFLTyxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiwgUmVuZGVyZXIyLCBOZ01vZHVsZSwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQW55RmllbGRDb25maWcsIENvbnRyb2xWYWx1ZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50LCBGSUVMRF9DT01QT05FTlRTLCBpc0NvbnRyb2xDb21wb25lbnQsIGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC1jb21wb25lbnQtbWFwLmNvbnN0JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NyaXNwckZpZWxkXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ3Jpc3ByRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogQW55RmllbGRDb25maWc7XG4gIEBJbnB1dCgpIGdyb3VwOiBGb3JtR3JvdXA7XG4gIC8qKlxuICAgKiB2YWx1ZSBzZXR0ZXIgdXBkYXRlcyB0aGUgY29udHJvbCdzIHZhbHVlIGFzIHdlbGxcbiAgICovXG4gIF92YWx1ZTogQ29udHJvbFZhbHVlIHwgYW55W11cbiAgQElucHV0KCkgc2V0IHZhbHVlKHZhbHVlOiBDb250cm9sVmFsdWUgfCBhbnlbXSkge1xuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgLy8gVGhpcyBpcyBuZWVkZWQgdG8ga2VlcCB0aGUgZ3JvdXAgbGlzdCBmcm9tIHJlc2V0dGluZyBjb250cm9sIHZhbHVlcyB0byB0aGUgaW5pdGlhbCBpbnB1dCB2YWx1ZVxuICAgIHRoaXMudXBkYXRlQ29tcG9uZW50VmFsdWUodmFsdWUpO1xuICB9O1xuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIGNvbXBvbmVudDogQ3Jpc3ByRmllbGRDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgLyoqXG4gICAgICogY3JlYXRlIGNvbXBvbmVudCBhbmQgc2V0IHZhbHVlcyBmcm9tIGNvbmZpZyBvbiBpdHMgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbmZpZy5jb21wb25lbnQgfHwgYXdhaXQgRklFTERfQ09NUE9ORU5UU1t0aGlzLmNvbmZpZy5jb250cm9sVHlwZV07XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50PENyaXNwckZpZWxkQ29tcG9uZW50Pihjb21wb25lbnQpO1xuXG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgdGhpcy5jb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgaWYgKGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50KHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIC8vIGFkZHMgYW55IGNvbmZpZyBjbGFzc2VzIHRvIHRoZSBkeW5hbWljYWxseSBnZW5lcmF0ZWQgY29tcG9uZW50XG4gICAgLy8gZG9pbmcgdGhpcyBoZXJlIGtlZXBzIHVzIGZyb20gaGF2aW5nIHRvIGV4dGVuZCBhIGJhc2UgY29tcG9uZW50IGludG8gZWFjaCBmaWVsZCBjb21wb25lbnQgaW5kaXZpZHVhbGx5XG4gICAgaWYoIXRoaXMuY29uZmlnLmNsYXNzZXMpIHJldHVybjtcbiAgICB0aGlzLmNvbmZpZy5jbGFzc2VzLmZvckVhY2goKGtsYXNzKSA9PiB7XG4gICAgICAvLyBjaGVjayBmb3IgcGFzc2luZyBtdWx0aXBsZSBjbGFzc2VzIGluIG9uZSBhcnJheSBlbGVtZW50XG4gICAgICBpZihrbGFzcy5pbmNsdWRlcygnICcpKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbXByb3Blcmx5IGZvcm1hdHRlZCBjbGFzcy4gJyR7a2xhc3N9JyBjYW5ub3QgY29udGFpbiBzcGFjZXMuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVDb21wb25lbnRWYWx1ZSh2YWx1ZTogQ29udHJvbFZhbHVlIHwgYW55W10pIHtcbiAgICBpZihpc0NvbnRyb2xDb21wb25lbnQodGhpcy5jb21wb25lbnQpKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgLy8gU3ViR3JvdXBzIHdvbid0IHBvcHVsYXRlIHdpdGhvdXQgdGhpcyBkZXRlY3RDaGFuZ2VzXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { createControlForType } from '../form.helpers';
|
|
3
|
-
import { CrisprFieldComponent, crisprControlMixin } from '../abstracts';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { FieldContainerComponent } from '../field-container';
|
|
6
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
-
import { CrisprFieldDirective } from '../field.directive';
|
|
8
|
-
import { CrisprPipesModule } from '../pipes/crispr-pipes.module';
|
|
9
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
10
|
-
import { CommonModule } from '@angular/common';
|
|
11
|
-
import { FormValidationHandlerModule } from '@tft/form-validation-handler';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/common";
|
|
14
|
-
import * as i2 from "@angular/material/button";
|
|
15
|
-
import * as i3 from "@angular/material/icon";
|
|
16
|
-
import * as i4 from "@angular/forms";
|
|
17
|
-
import * as i5 from "../pipes/initial-control-value.pipe";
|
|
18
|
-
import * as i6 from "@tft/form-validation-handler";
|
|
19
|
-
const defaultConfig = {
|
|
20
|
-
addButtonLabel: 'ADD ITEM',
|
|
21
|
-
minListLength: 1,
|
|
22
|
-
};
|
|
23
|
-
const FormGroupListMixin = crisprControlMixin(CrisprFieldComponent);
|
|
24
|
-
export class FormGroupListComponent extends FormGroupListMixin {
|
|
25
|
-
constructor(cdr) {
|
|
26
|
-
super();
|
|
27
|
-
this.cdr = cdr;
|
|
28
|
-
this.defaultConfig = defaultConfig;
|
|
29
|
-
/**
|
|
30
|
-
* By setting this to true when adding/removing items from array,
|
|
31
|
-
* we can block original values from overwriting form values
|
|
32
|
-
* */
|
|
33
|
-
this.blockValue = false;
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
super.ngOnInit();
|
|
37
|
-
// TODO: this is required to ngFor of controls in template, must be a better way
|
|
38
|
-
}
|
|
39
|
-
setControlValue(values) {
|
|
40
|
-
if (this.control) {
|
|
41
|
-
if (values?.length > 0) {
|
|
42
|
-
// clear any existing values so that new values don't concatenate onto the old
|
|
43
|
-
const currentValues = this.control.value;
|
|
44
|
-
if (currentValues.length) {
|
|
45
|
-
this.control.clear();
|
|
46
|
-
}
|
|
47
|
-
values.forEach(value => this.addGroup(value));
|
|
48
|
-
}
|
|
49
|
-
else if (this.config.displayInitialItem) {
|
|
50
|
-
this.addGroup();
|
|
51
|
-
}
|
|
52
|
-
// needed to ensure new array items render
|
|
53
|
-
setTimeout(() => {
|
|
54
|
-
this.cdr.detectChanges();
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
clickDelete(index) {
|
|
59
|
-
this.blockValue = true;
|
|
60
|
-
this.deleteGroup(index);
|
|
61
|
-
}
|
|
62
|
-
clickAdd() {
|
|
63
|
-
this.blockValue = true;
|
|
64
|
-
this.addGroup();
|
|
65
|
-
}
|
|
66
|
-
addGroup(value = null) {
|
|
67
|
-
this.control.push(createControlForType(this.config.itemConfig, value));
|
|
68
|
-
// needed to ensure new array items render
|
|
69
|
-
setTimeout(() => {
|
|
70
|
-
this.cdr.detectChanges();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
deleteGroup(index) {
|
|
74
|
-
this.control.removeAt(index);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
FormGroupListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FormGroupListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
FormGroupListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FormGroupListComponent, isStandalone: true, selector: "crispr-form-group-list", usesInheritance: true, ngImport: i0, template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- Don't add trackBy function, it confuses the state of the array -->\n <div *ngFor=\"let con of control?.controls; let i = index;\">\n <!-- TODO: use content projection to allow custom item label component -->\n <div class=\"item-header\">\n <span class=\"mat-h2\"> {{ config.itemLabelBuilder ? config.itemLabelBuilder(i) : 'Item ' + (i + 1) }} </span>\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"clickDelete(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroup]=\"con\">\n <!-- TODO: if chiplists didn't need to have labels mixed in with their values we could use [value]=\"control.value\" below -->\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [value]=\"blockValue ? null : value && value[i] | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"con\">\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"group-footer\">\n <button\n type=\"button\"\n class=\"add\"\n mat-raised-button\n [color]=\"config.addButtonColor\"\n (click)=\"clickAdd()\">\n {{config.addItemLabel || config.addButtonLabel}}\n </button>\n </div>\n\n</crispr-field-container>\n", styles: [".item-header{display:flex;justify-content:space-between}.group-footer{display:flex;justify-content:flex-end}.group-footer button.add{margin-bottom:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }, { kind: "ngmodule", type: CrisprPipesModule }, { kind: "pipe", type: i5.InitialControlValuePipe, name: "initialControlValue" }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i6.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FormGroupListComponent, decorators: [{
|
|
80
|
-
type: Component,
|
|
81
|
-
args: [{ selector: 'crispr-form-group-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
82
|
-
CommonModule,
|
|
83
|
-
MatButtonModule,
|
|
84
|
-
MatIconModule,
|
|
85
|
-
FieldContainerComponent,
|
|
86
|
-
ReactiveFormsModule,
|
|
87
|
-
CrisprFieldDirective,
|
|
88
|
-
CrisprPipesModule,
|
|
89
|
-
FormValidationHandlerModule
|
|
90
|
-
], template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- Don't add trackBy function, it confuses the state of the array -->\n <div *ngFor=\"let con of control?.controls; let i = index;\">\n <!-- TODO: use content projection to allow custom item label component -->\n <div class=\"item-header\">\n <span class=\"mat-h2\"> {{ config.itemLabelBuilder ? config.itemLabelBuilder(i) : 'Item ' + (i + 1) }} </span>\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"clickDelete(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroup]=\"con\">\n <!-- TODO: if chiplists didn't need to have labels mixed in with their values we could use [value]=\"control.value\" below -->\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [value]=\"blockValue ? null : value && value[i] | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"con\">\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"group-footer\">\n <button\n type=\"button\"\n class=\"add\"\n mat-raised-button\n [color]=\"config.addButtonColor\"\n (click)=\"clickAdd()\">\n {{config.addItemLabel || config.addButtonLabel}}\n </button>\n </div>\n\n</crispr-field-container>\n", styles: [".item-header{display:flex;justify-content:space-between}.group-footer{display:flex;justify-content:flex-end}.group-footer button.add{margin-bottom:16px}\n"] }]
|
|
91
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZm9ybS1ncm91cC1saXN0L2Zvcm0tZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0tZ3JvdXAtbGlzdC9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUk5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBRTNFLE1BQU0sYUFBYSxHQUFpQztJQUNsRCxjQUFjLEVBQUUsVUFBVTtJQUMxQixhQUFhLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBc0Isb0JBQW9CLENBQUMsQ0FBQztBQWtCekYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQVc1RCxZQUFvQixHQUFzQjtRQUN4QyxLQUFLLEVBQUUsQ0FBQztRQURVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVDFDLGtCQUFhLEdBQUcsYUFBYSxDQUFBO1FBRzdCOzs7YUFHSztRQUNMLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFJbkIsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsZ0ZBQWdGO0lBQ2xGLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYTtRQUMzQixJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFHLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNyQiw4RUFBOEU7Z0JBQzlFLE1BQU0sYUFBYSxHQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUM1QyxJQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ3RCO2dCQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFFL0M7aUJBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7YUFDaEI7WUFDRCwwQ0FBMEM7WUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkUsMENBQTBDO1FBQzFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7O21IQTVEVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix5R0N0Q25DLHNnREE0Q0EsbU5EaEJJLFlBQVksK1BBQ1osZUFBZSwwVkFDZixhQUFhLG9MQUNiLHVCQUF1Qiw4R0FDdkIsbUJBQW1CLG1iQUNuQixvQkFBb0IsK0ZBQ3BCLGlCQUFpQiwrR0FDakIsMkJBQTJCOzJGQUdsQixzQkFBc0I7a0JBakJsQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQiwyQkFBMkI7cUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQXJyYXkgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB0eXBlIHsgRm9ybUdyb3VwTGlzdENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBjcmVhdGVDb250cm9sRm9yVHlwZSB9IGZyb20gJy4uL2Zvcm0uaGVscGVycyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCwgY3Jpc3ByQ29udHJvbE1peGluIH0gZnJvbSAnLi4vYWJzdHJhY3RzJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4uL2ZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4uL3BpcGVzL2NyaXNwci1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUgfSBmcm9tICdAdGZ0L2Zvcm0tdmFsaWRhdGlvbi1oYW5kbGVyJztcblxuY29uc3QgZGVmYXVsdENvbmZpZzogUGFydGlhbDxGb3JtR3JvdXBMaXN0Q29uZmlnPiA9IHtcbiAgYWRkQnV0dG9uTGFiZWw6ICdBREQgSVRFTScsXG4gIG1pbkxpc3RMZW5ndGg6IDEsXG59O1xuXG5jb25zdCBGb3JtR3JvdXBMaXN0TWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48Rm9ybUdyb3VwTGlzdENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLWZvcm0tZ3JvdXAtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDcmlzcHJGaWVsZERpcmVjdGl2ZSxcbiAgICBDcmlzcHJQaXBlc01vZHVsZSxcbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwTGlzdENvbXBvbmVudCBleHRlbmRzIEZvcm1Hcm91cExpc3RNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWdcbiAgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgY29udHJvbDogRm9ybUFycmF5O1xuICAvKipcbiAgICogQnkgc2V0dGluZyB0aGlzIHRvIHRydWUgd2hlbiBhZGRpbmcvcmVtb3ZpbmcgaXRlbXMgZnJvbSBhcnJheSxcbiAgICogd2UgY2FuIGJsb2NrIG9yaWdpbmFsIHZhbHVlcyBmcm9tIG92ZXJ3cml0aW5nIGZvcm0gdmFsdWVzXG4gICAqICovXG4gIGJsb2NrVmFsdWUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvLyBUT0RPOiB0aGlzIGlzIHJlcXVpcmVkIHRvIG5nRm9yIG9mIGNvbnRyb2xzIGluIHRlbXBsYXRlLCBtdXN0IGJlIGEgYmV0dGVyIHdheVxuICB9XG5cbiAgc2V0Q29udHJvbFZhbHVlKHZhbHVlczogYW55W10pIHtcbiAgICBpZih0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmKHZhbHVlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAvLyBjbGVhciBhbnkgZXhpc3RpbmcgdmFsdWVzIHNvIHRoYXQgbmV3IHZhbHVlcyBkb24ndCBjb25jYXRlbmF0ZSBvbnRvIHRoZSBvbGRcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlczpbXSA9IHRoaXMuY29udHJvbC52YWx1ZTtcbiAgICAgICAgaWYoY3VycmVudFZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiB0aGlzLmFkZEdyb3VwKHZhbHVlKSk7XG5cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuZGlzcGxheUluaXRpYWxJdGVtKSB7XG4gICAgICAgIHRoaXMuYWRkR3JvdXAoKVxuICAgICAgfVxuICAgICAgLy8gbmVlZGVkIHRvIGVuc3VyZSBuZXcgYXJyYXkgaXRlbXMgcmVuZGVyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBjbGlja0RlbGV0ZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5ibG9ja1ZhbHVlID0gdHJ1ZTtcbiAgICB0aGlzLmRlbGV0ZUdyb3VwKGluZGV4KTtcbiAgfVxuXG4gIGNsaWNrQWRkKCkge1xuICAgIHRoaXMuYmxvY2tWYWx1ZSA9IHRydWU7XG4gICAgdGhpcy5hZGRHcm91cCgpO1xuICB9XG5cbiAgYWRkR3JvdXAodmFsdWUgPSBudWxsKSB7XG4gICAgdGhpcy5jb250cm9sLnB1c2goY3JlYXRlQ29udHJvbEZvclR5cGUodGhpcy5jb25maWcuaXRlbUNvbmZpZywgdmFsdWUpKTtcbiAgICAvLyBuZWVkZWQgdG8gZW5zdXJlIG5ldyBhcnJheSBpdGVtcyByZW5kZXJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlR3JvdXAoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuY29udHJvbC5yZW1vdmVBdChpbmRleCk7XG4gIH1cbn1cbiIsIlxuPGNyaXNwci1maWVsZC1jb250YWluZXJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuICBbZ3JvdXBdPVwiZ3JvdXBcIlxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG5cbiAgPGRpdiBbZm9ybUFycmF5TmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIj5cbiAgICA8IS0tIERvbid0IGFkZCB0cmFja0J5IGZ1bmN0aW9uLCBpdCBjb25mdXNlcyB0aGUgc3RhdGUgb2YgdGhlIGFycmF5IC0tPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbiBvZiBjb250cm9sPy5jb250cm9sczsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgIDwhLS0gVE9ETzogdXNlIGNvbnRlbnQgcHJvamVjdGlvbiB0byBhbGxvdyBjdXN0b20gaXRlbSBsYWJlbCBjb21wb25lbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1oZWFkZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtaDJcIj4ge3sgY29uZmlnLml0ZW1MYWJlbEJ1aWxkZXIgPyBjb25maWcuaXRlbUxhYmVsQnVpbGRlcihpKSA6ICdJdGVtICcgKyAoaSArIDEpIH19IDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiaSArIDEgPiBjb25maWcubWluTGlzdExlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiY2xpY2tEZWxldGUoaSlcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBbZm9ybUdyb3VwXT1cImNvblwiPlxuICAgICAgICA8IS0tIFRPRE86IGlmIGNoaXBsaXN0cyBkaWRuJ3QgbmVlZCB0byBoYXZlIGxhYmVscyBtaXhlZCBpbiB3aXRoIHRoZWlyIHZhbHVlcyB3ZSBjb3VsZCB1c2UgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWVcIiBiZWxvdyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb25maWcuaXRlbUNvbmZpZy5maWVsZHM7XCJcbiAgICAgICAgICBjcmlzcHJGaWVsZFxuICAgICAgICAgIFt2YWx1ZV09XCJibG9ja1ZhbHVlID8gbnVsbCA6IHZhbHVlICYmIHZhbHVlW2ldIHwgaW5pdGlhbENvbnRyb2xWYWx1ZSA6IGZpZWxkXCJcbiAgICAgICAgICBbY29uZmlnXT1cImZpZWxkXCJcbiAgICAgICAgICBbZ3JvdXBdPVwiY29uXCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ3JvdXAtZm9vdGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImFkZFwiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgW2NvbG9yXT1cImNvbmZpZy5hZGRCdXR0b25Db2xvclwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tBZGQoKVwiPlxuICAgICAge3tjb25maWcuYWRkSXRlbUxhYmVsIHx8IGNvbmZpZy5hZGRCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './form-group-list.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0tZ3JvdXAtbGlzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50JztcbiJdfQ==
|