@tft/crispr-forms 13.0.12 → 13.0.13
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/lib/field-component-map.const.mjs +5 -2
- package/esm2020/lib/field.directive.mjs +18 -8
- package/esm2020/lib/form/form.component.mjs +4 -6
- package/fesm2015/tft-crispr-forms.mjs +23 -12
- package/fesm2015/tft-crispr-forms.mjs.map +1 -1
- package/fesm2020/tft-crispr-forms.mjs +23 -12
- package/fesm2020/tft-crispr-forms.mjs.map +1 -1
- package/lib/field-component-map.const.d.ts +4 -2
- package/lib/field.directive.d.ts +9 -4
- package/lib/form/form.component.d.ts +3 -3
- package/package.json +1 -1
- package/tft-crispr-forms-13.0.13.tgz +0 -0
- package/tft-crispr-forms-13.0.12.tgz +0 -0
|
@@ -1565,7 +1565,10 @@ const FIELD_COMPONENTS = {
|
|
|
1565
1565
|
unitConversion: Promise.resolve().then(function () { return index$2; }).then(({ UnitConversionFieldComponent }) => UnitConversionFieldComponent)
|
|
1566
1566
|
};
|
|
1567
1567
|
function isControlComponent(component) {
|
|
1568
|
-
return isControlConfig(component.config) || component.config.controlType === ControlType.BUTTON;
|
|
1568
|
+
return isControlConfig(component.config) && 'value' in component; // || component.config.controlType === ControlType.BUTTON;
|
|
1569
|
+
}
|
|
1570
|
+
function isControlOrButtonComponent(component) {
|
|
1571
|
+
return isControlComponent(component) || component.config.controlType === ControlType.BUTTON;
|
|
1569
1572
|
}
|
|
1570
1573
|
|
|
1571
1574
|
class CrisprFieldDirective {
|
|
@@ -1574,7 +1577,17 @@ class CrisprFieldDirective {
|
|
|
1574
1577
|
this.renderer = renderer;
|
|
1575
1578
|
this.cdr = cdr;
|
|
1576
1579
|
}
|
|
1577
|
-
|
|
1580
|
+
set value(value) {
|
|
1581
|
+
this._value = value;
|
|
1582
|
+
if (this.component && isControlComponent(this.component)) {
|
|
1583
|
+
this.component.value = value;
|
|
1584
|
+
}
|
|
1585
|
+
}
|
|
1586
|
+
;
|
|
1587
|
+
get value() {
|
|
1588
|
+
return this._value;
|
|
1589
|
+
}
|
|
1590
|
+
async ngOnInit() {
|
|
1578
1591
|
/**
|
|
1579
1592
|
* create component and set values from config on its instance
|
|
1580
1593
|
*/
|
|
@@ -1582,11 +1595,11 @@ class CrisprFieldDirective {
|
|
|
1582
1595
|
const componentRef = this.container.createComponent(component);
|
|
1583
1596
|
this.component = componentRef.instance;
|
|
1584
1597
|
this.component.config = this.config;
|
|
1585
|
-
if (
|
|
1598
|
+
if (isControlOrButtonComponent(this.component)) {
|
|
1586
1599
|
this.component.group = this.group;
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1600
|
+
}
|
|
1601
|
+
if (isControlComponent(this.component)) {
|
|
1602
|
+
this.component.value = this.value;
|
|
1590
1603
|
}
|
|
1591
1604
|
this.cdr.detectChanges();
|
|
1592
1605
|
// adds any config classes to the dynamically generated component
|
|
@@ -1605,7 +1618,7 @@ class CrisprFieldDirective {
|
|
|
1605
1618
|
}
|
|
1606
1619
|
}
|
|
1607
1620
|
CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1608
|
-
CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFieldDirective, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" },
|
|
1621
|
+
CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFieldDirective, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, ngImport: i0 });
|
|
1609
1622
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, decorators: [{
|
|
1610
1623
|
type: Directive,
|
|
1611
1624
|
args: [{
|
|
@@ -1667,11 +1680,9 @@ class CrisprFormComponent {
|
|
|
1667
1680
|
this.statusChanges = this.form.statusChanges;
|
|
1668
1681
|
this.subs = [];
|
|
1669
1682
|
}
|
|
1670
|
-
|
|
1683
|
+
ngOnInit() {
|
|
1671
1684
|
// build out the form, note that we pass in the form as the third argument and the function modifies it
|
|
1672
|
-
|
|
1673
|
-
buildFormGroupFromConfig(this.config, this.value, this.form);
|
|
1674
|
-
}
|
|
1685
|
+
buildFormGroupFromConfig(this.config, this.value, this.form);
|
|
1675
1686
|
}
|
|
1676
1687
|
handleSubmit() {
|
|
1677
1688
|
this.form.markAllAsTouched();
|
|
@@ -1682,7 +1693,7 @@ class CrisprFormComponent {
|
|
|
1682
1693
|
}
|
|
1683
1694
|
}
|
|
1684
1695
|
CrisprFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1685
|
-
CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFormComponent, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }],
|
|
1696
|
+
CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: CrisprFormComponent, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }], ngImport: i0, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"], directives: [{ type: i4$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.ControlErrorsFormDirective, selector: "form", inputs: ["errorDictionary"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }], pipes: { "initialControlValue": InitialControlValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
1686
1697
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFormComponent, decorators: [{
|
|
1687
1698
|
type: Component,
|
|
1688
1699
|
args: [{ selector: 'crispr-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"] }]
|