@tft/crispr-forms 13.0.13 → 13.0.14
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.directive.mjs +5 -10
- package/esm2020/lib/form-group-list/form-group-list.component.mjs +10 -6
- package/fesm2015/tft-crispr-forms.mjs +11 -12
- package/fesm2015/tft-crispr-forms.mjs.map +1 -1
- package/fesm2020/tft-crispr-forms.mjs +11 -12
- package/fesm2020/tft-crispr-forms.mjs.map +1 -1
- package/lib/field.directive.d.ts +2 -3
- package/lib/form-group-list/form-group-list.component.d.ts +3 -2
- package/package.json +1 -1
- package/tft-crispr-forms-13.0.14.tgz +0 -0
- package/tft-crispr-forms-13.0.13.tgz +0 -0
|
@@ -1572,10 +1572,9 @@ function isControlOrButtonComponent(component) {
|
|
|
1572
1572
|
}
|
|
1573
1573
|
|
|
1574
1574
|
class CrisprFieldDirective {
|
|
1575
|
-
constructor(container, renderer
|
|
1575
|
+
constructor(container, renderer) {
|
|
1576
1576
|
this.container = container;
|
|
1577
1577
|
this.renderer = renderer;
|
|
1578
|
-
this.cdr = cdr;
|
|
1579
1578
|
}
|
|
1580
1579
|
set value(value) {
|
|
1581
1580
|
this._value = value;
|
|
@@ -1598,10 +1597,6 @@ class CrisprFieldDirective {
|
|
|
1598
1597
|
if (isControlOrButtonComponent(this.component)) {
|
|
1599
1598
|
this.component.group = this.group;
|
|
1600
1599
|
}
|
|
1601
|
-
if (isControlComponent(this.component)) {
|
|
1602
|
-
this.component.value = this.value;
|
|
1603
|
-
}
|
|
1604
|
-
this.cdr.detectChanges();
|
|
1605
1600
|
// adds any config classes to the dynamically generated component
|
|
1606
1601
|
// doing this here keeps us from having to extend a base component into each field component individually
|
|
1607
1602
|
if (!this.config.classes)
|
|
@@ -1617,14 +1612,14 @@ class CrisprFieldDirective {
|
|
|
1617
1612
|
});
|
|
1618
1613
|
}
|
|
1619
1614
|
}
|
|
1620
|
-
CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }
|
|
1615
|
+
CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1621
1616
|
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 });
|
|
1622
1617
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: CrisprFieldDirective, decorators: [{
|
|
1623
1618
|
type: Directive,
|
|
1624
1619
|
args: [{
|
|
1625
1620
|
selector: '[crisprField]'
|
|
1626
1621
|
}]
|
|
1627
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }
|
|
1622
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }]; }, propDecorators: { config: [{
|
|
1628
1623
|
type: Input
|
|
1629
1624
|
}], group: [{
|
|
1630
1625
|
type: Input
|
|
@@ -1720,8 +1715,9 @@ const defaultConfig = {
|
|
|
1720
1715
|
};
|
|
1721
1716
|
const FormGroupListMixin = crisprControlMixin(CrisprFieldComponent);
|
|
1722
1717
|
class FormGroupListComponent extends FormGroupListMixin {
|
|
1723
|
-
constructor() {
|
|
1724
|
-
super(
|
|
1718
|
+
constructor(cdr) {
|
|
1719
|
+
super();
|
|
1720
|
+
this.cdr = cdr;
|
|
1725
1721
|
this.defaultConfig = defaultConfig;
|
|
1726
1722
|
}
|
|
1727
1723
|
ngOnInit() {
|
|
@@ -1733,6 +1729,9 @@ class FormGroupListComponent extends FormGroupListMixin {
|
|
|
1733
1729
|
if (this.control) {
|
|
1734
1730
|
if (values?.length > 0) {
|
|
1735
1731
|
values.forEach(value => this.addGroup(value));
|
|
1732
|
+
setTimeout(() => {
|
|
1733
|
+
this.cdr.detectChanges();
|
|
1734
|
+
});
|
|
1736
1735
|
}
|
|
1737
1736
|
else if (this.config.displayInitialItem) {
|
|
1738
1737
|
this.addGroup();
|
|
@@ -1746,12 +1745,12 @@ class FormGroupListComponent extends FormGroupListMixin {
|
|
|
1746
1745
|
this.control.removeAt(index);
|
|
1747
1746
|
}
|
|
1748
1747
|
}
|
|
1749
|
-
FormGroupListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FormGroupListComponent, deps:
|
|
1748
|
+
FormGroupListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FormGroupListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1750
1749
|
FormGroupListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: FormGroupListComponent, 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 <!-- TODO: add sortBy function -->\n <div *ngFor=\"let control of formArray?.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\" *ngIf=\"config.itemLabelBuilder\"> {{ config.itemLabelBuilder(i) }} </span>\n <button\n mat-icon-button\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"deleteGroup(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroupName]=\"i\">\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [config]=\"field\"\n [value]=\"value && value[i] | initialControlValue : field\"\n [group]=\"control\">\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)=\"addGroup()\">\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"], components: [{ type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { type: i1.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"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { type: i4$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }], pipes: { "initialControlValue": InitialControlValuePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
|
|
1751
1750
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: FormGroupListComponent, decorators: [{
|
|
1752
1751
|
type: Component,
|
|
1753
1752
|
args: [{ selector: 'crispr-form-group-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- TODO: add sortBy function -->\n <div *ngFor=\"let control of formArray?.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\" *ngIf=\"config.itemLabelBuilder\"> {{ config.itemLabelBuilder(i) }} </span>\n <button\n mat-icon-button\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"deleteGroup(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroupName]=\"i\">\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [config]=\"field\"\n [value]=\"value && value[i] | initialControlValue : field\"\n [group]=\"control\">\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)=\"addGroup()\">\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"] }]
|
|
1754
|
-
}] });
|
|
1753
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
1755
1754
|
|
|
1756
1755
|
class CrisprPipesModule {
|
|
1757
1756
|
}
|