@ng-formworks/core 18.5.1 → 18.5.6

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.
@@ -1,9 +1,8 @@
1
- import { Component, ComponentFactoryResolver, ViewContainerRef, input, inject, viewChild } from '@angular/core';
1
+ import { Component, ViewContainerRef, inject, input, viewChild } from '@angular/core';
2
2
  import { JsonSchemaFormService } from '../json-schema-form.service';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TemplateComponent {
5
5
  constructor() {
6
- this.componentFactory = inject(ComponentFactoryResolver);
7
6
  this.jsf = inject(JsonSchemaFormService);
8
7
  this.newComponent = null;
9
8
  this.layoutNode = input(undefined);
@@ -21,7 +20,7 @@ export class TemplateComponent {
21
20
  const layoutNode = this.layoutNode();
22
21
  const widgetContainer = this.widgetContainer();
23
22
  if (widgetContainer && !this.newComponent && layoutNode.options.template) {
24
- this.newComponent = widgetContainer.createComponent(this.componentFactory.resolveComponentFactory(layoutNode.options.template));
23
+ this.newComponent = widgetContainer.createComponent((layoutNode.options.template));
25
24
  }
26
25
  if (this.newComponent) {
27
26
  for (const input of ['layoutNode', 'layoutIndex', 'dataIndex']) {
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
40
39
  template: `<div #widgetContainer></div>`,
41
40
  }]
42
41
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS90ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBbUMsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUXBFLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRCxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFNUMsaUJBQVksR0FBc0IsSUFBSSxDQUFDO1FBQzlCLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7S0F3QnJGO0lBdEJDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9DLElBQUksZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQzNFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0EvQlUsaUJBQWlCO21HQUFqQixpQkFBaUIsdWpCQVFvQyxnQkFBZ0Isa0VBVnRFLDhCQUE4Qjs7NEZBRTdCLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSw4QkFBOEI7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYsIGlucHV0LCBpbmplY3QsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICcuLi9qc29uLXNjaGVtYS1mb3JtLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3RlbXBsYXRlLXdpZGdldCcsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2ICN3aWRnZXRDb250YWluZXI+PC9kaXY+YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeSA9IGluamVjdChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xyXG4gIHByaXZhdGUganNmID0gaW5qZWN0KEpzb25TY2hlbWFGb3JtU2VydmljZSk7XHJcblxyXG4gIG5ld0NvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4gPSBudWxsO1xyXG4gIHJlYWRvbmx5IGxheW91dE5vZGUgPSBpbnB1dDxhbnk+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgbGF5b3V0SW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSBkYXRhSW5kZXggPSBpbnB1dDxudW1iZXJbXT4odW5kZWZpbmVkKTtcclxuICByZWFkb25seSB3aWRnZXRDb250YWluZXIgPSB2aWV3Q2hpbGQoJ3dpZGdldENvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ29tcG9uZW50KCkge1xyXG4gICAgY29uc3QgbGF5b3V0Tm9kZSA9IHRoaXMubGF5b3V0Tm9kZSgpO1xyXG4gICAgY29uc3Qgd2lkZ2V0Q29udGFpbmVyID0gdGhpcy53aWRnZXRDb250YWluZXIoKTtcclxuICAgIGlmICh3aWRnZXRDb250YWluZXIgJiYgIXRoaXMubmV3Q29tcG9uZW50ICYmIGxheW91dE5vZGUub3B0aW9ucy50ZW1wbGF0ZSkge1xyXG4gICAgICB0aGlzLm5ld0NvbXBvbmVudCA9IHdpZGdldENvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoXHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5LnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGxheW91dE5vZGUub3B0aW9ucy50ZW1wbGF0ZSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm5ld0NvbXBvbmVudCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIFsnbGF5b3V0Tm9kZScsICdsYXlvdXRJbmRleCcsICdkYXRhSW5kZXgnXSkge1xyXG4gICAgICAgIHRoaXMubmV3Q29tcG9uZW50Lmluc3RhbmNlW2lucHV0XSA9IHRoaXNbaW5wdXRdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS90ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUXBFLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVSxRQUFHLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFNUMsaUJBQVksR0FBc0IsSUFBSSxDQUFDO1FBQzlCLGVBQVUsR0FBRyxLQUFLLENBQU0sU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxLQUFLLENBQVcsU0FBUyxDQUFDLENBQUM7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBVyxTQUFTLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7S0F1QnJGO0lBckJDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9DLElBQUksZUFBZSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQ2hGLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E3QlUsaUJBQWlCO21HQUFqQixpQkFBaUIsdWpCQU9vQyxnQkFBZ0Isa0VBVHRFLDhCQUE4Qjs7NEZBRTdCLGlCQUFpQjtrQkFMN0IsU0FBUzttQkFBQztvQkFDVCw4Q0FBOEM7b0JBQzlDLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSw4QkFBOEI7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb21wb25lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3QsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSnNvblNjaGVtYUZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vanNvbi1zY2hlbWEtZm9ybS5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICd0ZW1wbGF0ZS13aWRnZXQnLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiAjd2lkZ2V0Q29udGFpbmVyPjwvZGl2PmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIGpzZiA9IGluamVjdChKc29uU2NoZW1hRm9ybVNlcnZpY2UpO1xyXG5cclxuICBuZXdDb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+ID0gbnVsbDtcclxuICByZWFkb25seSBsYXlvdXROb2RlID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xyXG4gIHJlYWRvbmx5IGxheW91dEluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgZGF0YUluZGV4ID0gaW5wdXQ8bnVtYmVyW10+KHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgd2lkZ2V0Q29udGFpbmVyID0gdmlld0NoaWxkKCd3aWRnZXRDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy51cGRhdGVDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy51cGRhdGVDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUNvbXBvbmVudCgpIHtcclxuICAgIGNvbnN0IGxheW91dE5vZGUgPSB0aGlzLmxheW91dE5vZGUoKTtcclxuICAgIGNvbnN0IHdpZGdldENvbnRhaW5lciA9IHRoaXMud2lkZ2V0Q29udGFpbmVyKCk7XHJcbiAgICBpZiAod2lkZ2V0Q29udGFpbmVyICYmICF0aGlzLm5ld0NvbXBvbmVudCAmJiBsYXlvdXROb2RlLm9wdGlvbnMudGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5uZXdDb21wb25lbnQgPSB3aWRnZXRDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KChsYXlvdXROb2RlLm9wdGlvbnMudGVtcGxhdGUpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5uZXdDb21wb25lbnQpIHtcclxuICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiBbJ2xheW91dE5vZGUnLCAnbGF5b3V0SW5kZXgnLCAnZGF0YUluZGV4J10pIHtcclxuICAgICAgICB0aGlzLm5ld0NvbXBvbmVudC5pbnN0YW5jZVtpbnB1dF0gPSB0aGlzW2lucHV0XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,7 +1,8 @@
1
- import { BASIC_WIDGETS } from './index';
2
1
  import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
2
  import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { ElementAttributeDirective } from './element-attribute.directive';
5
+ import { BASIC_WIDGETS } from './index';
5
6
  import { OrderableDirective } from './orderable.directive';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "./add-reference.component";
@@ -28,15 +29,15 @@ import * as i21 from "./template.component";
28
29
  import * as i22 from "./textarea.component";
29
30
  export class WidgetLibraryModule {
30
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
31
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, declarations: [i1.AddReferenceComponent, i2.OneOfComponent, i3.ButtonComponent, i4.CheckboxComponent, i5.CheckboxesComponent, i6.FileComponent, i7.HiddenComponent, i8.InputComponent, i9.MessageComponent, i10.NoneComponent, i11.NumberComponent, i12.RadiosComponent, i13.RootComponent, i14.SectionComponent, i15.SelectComponent, i16.SelectFrameworkComponent, i17.SelectWidgetComponent, i18.SubmitComponent, i19.TabComponent, i20.TabsComponent, i21.TemplateComponent, i22.TextareaComponent, OrderableDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [i1.AddReferenceComponent, i2.OneOfComponent, i3.ButtonComponent, i4.CheckboxComponent, i5.CheckboxesComponent, i6.FileComponent, i7.HiddenComponent, i8.InputComponent, i9.MessageComponent, i10.NoneComponent, i11.NumberComponent, i12.RadiosComponent, i13.RootComponent, i14.SectionComponent, i15.SelectComponent, i16.SelectFrameworkComponent, i17.SelectWidgetComponent, i18.SubmitComponent, i19.TabComponent, i20.TabsComponent, i21.TemplateComponent, i22.TextareaComponent, OrderableDirective] }); }
32
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, declarations: [i1.AddReferenceComponent, i2.OneOfComponent, i3.ButtonComponent, i4.CheckboxComponent, i5.CheckboxesComponent, i6.FileComponent, i7.HiddenComponent, i8.InputComponent, i9.MessageComponent, i10.NoneComponent, i11.NumberComponent, i12.RadiosComponent, i13.RootComponent, i14.SectionComponent, i15.SelectComponent, i16.SelectFrameworkComponent, i17.SelectWidgetComponent, i18.SubmitComponent, i19.TabComponent, i20.TabsComponent, i21.TemplateComponent, i22.TextareaComponent, OrderableDirective, ElementAttributeDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [i1.AddReferenceComponent, i2.OneOfComponent, i3.ButtonComponent, i4.CheckboxComponent, i5.CheckboxesComponent, i6.FileComponent, i7.HiddenComponent, i8.InputComponent, i9.MessageComponent, i10.NoneComponent, i11.NumberComponent, i12.RadiosComponent, i13.RootComponent, i14.SectionComponent, i15.SelectComponent, i16.SelectFrameworkComponent, i17.SelectWidgetComponent, i18.SubmitComponent, i19.TabComponent, i20.TabsComponent, i21.TemplateComponent, i22.TextareaComponent, OrderableDirective, ElementAttributeDirective] }); }
32
33
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, imports: [CommonModule, FormsModule, ReactiveFormsModule] }); }
33
34
  }
34
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, decorators: [{
35
36
  type: NgModule,
36
37
  args: [{
37
38
  imports: [CommonModule, FormsModule, ReactiveFormsModule],
38
- declarations: [...BASIC_WIDGETS, OrderableDirective],
39
- exports: [...BASIC_WIDGETS, OrderableDirective]
39
+ declarations: [...BASIC_WIDGETS, OrderableDirective, ElementAttributeDirective],
40
+ exports: [...BASIC_WIDGETS, OrderableDirective, ElementAttributeDirective]
40
41
  }]
41
42
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS93aWRnZXQtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU8zRCxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQiwwZUFISyxrQkFBa0IsYUFEekMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsc2VBRTVCLGtCQUFrQjtnSEFFckMsbUJBQW1CLFlBSmxCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1COzs0RkFJL0MsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3pELFlBQVksRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLGtCQUFrQixDQUFDO29CQUNwRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQztpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCQVNJQ19XSURHRVRTIH0gZnJvbSAnLi9pbmRleCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPcmRlcmFibGVEaXJlY3RpdmUgfSBmcm9tICcuL29yZGVyYWJsZS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLkJBU0lDX1dJREdFVFMsIE9yZGVyYWJsZURpcmVjdGl2ZV0sXHJcbiAgICBleHBvcnRzOiBbLi4uQkFTSUNfV0lER0VUUywgT3JkZXJhYmxlRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2lkZ2V0TGlicmFyeU1vZHVsZSB7XHJcbn1cclxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWNvcmUvc3JjL2xpYi93aWRnZXQtbGlicmFyeS93aWRnZXQtbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU8zRCxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQiwwZUFISyxrQkFBa0IsRUFBQyx5QkFBeUIsYUFEbkUsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsc2VBRTVCLGtCQUFrQixFQUFDLHlCQUF5QjtnSEFFL0QsbUJBQW1CLFlBSmxCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1COzs0RkFJL0MsbUJBQW1CO2tCQUwvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3pELFlBQVksRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFLGtCQUFrQixFQUFDLHlCQUF5QixDQUFDO29CQUM5RSxPQUFPLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyx5QkFBeUIsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRWxlbWVudEF0dHJpYnV0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZWxlbWVudC1hdHRyaWJ1dGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQkFTSUNfV0lER0VUUyB9IGZyb20gJy4vaW5kZXgnO1xyXG5pbXBvcnQgeyBPcmRlcmFibGVEaXJlY3RpdmUgfSBmcm9tICcuL29yZGVyYWJsZS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLkJBU0lDX1dJREdFVFMsIE9yZGVyYWJsZURpcmVjdGl2ZSxFbGVtZW50QXR0cmlidXRlRGlyZWN0aXZlXSxcclxuICAgIGV4cG9ydHM6IFsuLi5CQVNJQ19XSURHRVRTLCBPcmRlcmFibGVEaXJlY3RpdmUsRWxlbWVudEF0dHJpYnV0ZURpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFdpZGdldExpYnJhcnlNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common';
3
3
  import * as i2 from '@angular/forms';
4
4
  import { UntypedFormControl, UntypedFormArray, UntypedFormGroup, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, inject, input, Component, ChangeDetectionStrategy, ComponentFactoryResolver, viewChild, ViewContainerRef, ElementRef, NgZone, Directive, signal, Inject, forwardRef, ChangeDetectorRef, output, Input, NgModule } from '@angular/core';
6
+ import { Injectable, inject, input, Component, ChangeDetectionStrategy, Directive, Input, viewChild, ViewContainerRef, ElementRef, NgZone, signal, Inject, forwardRef, ChangeDetectorRef, output, NgModule } from '@angular/core';
7
7
  import cloneDeep from 'lodash/cloneDeep';
8
8
  import isEqual$1 from 'lodash/isEqual';
9
9
  import { from, Observable, forkJoin, Subject, lastValueFrom } from 'rxjs';
@@ -5106,23 +5106,24 @@ function formatFormData(formData, dataMap, recursiveRefMap, arrayMap, returnEmpt
5106
5106
  JsonPointer.set(formattedData, dataPointer, newValue);
5107
5107
  }
5108
5108
  }
5109
+ // commented out completely as value can be 'null' if not entered
5109
5110
  // Finish incomplete 'date-time' entries
5110
- if (dataMap.get(genericPointer).get('schemaFormat') === 'date-time') {
5111
- /* commented out-should use same format as datetime-local input
5112
- for initial data to bind back to the input
5113
- // "2000-03-14T01:59:26.535" -> "2000-03-14T01:59:26.535Z" (add "Z")
5114
- if (/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?$/i.test(value)) {
5115
- JsonPointer.set(formattedData, dataPointer, `${value}Z`);
5116
- // "2000-03-14T01:59" -> "2000-03-14T01:59:00Z" (add ":00Z")
5117
- } else if (/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d$/i.test(value)) {
5118
- JsonPointer.set(formattedData, dataPointer, `${value}:00Z`);
5119
- // "2000-03-14" -> "2000-03-14T00:00:00Z" (add "T00:00:00Z")
5120
- } else if (fixErrors && /^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(value)) {
5121
- JsonPointer.set(formattedData, dataPointer, `${value}:00:00:00Z`);
5122
- }
5123
- */
5124
- JsonPointer.set(formattedData, dataPointer, `${value}`);
5125
- }
5111
+ // if (dataMap.get(genericPointer).get('schemaFormat') === 'date-time') {
5112
+ // /* commented out-should use same format as datetime-local input
5113
+ // for initial data to bind back to the input
5114
+ // // "2000-03-14T01:59:26.535" -> "2000-03-14T01:59:26.535Z" (add "Z")
5115
+ // if (/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?$/i.test(value)) {
5116
+ // JsonPointer.set(formattedData, dataPointer, `${value}Z`);
5117
+ // // "2000-03-14T01:59" -> "2000-03-14T01:59:00Z" (add ":00Z")
5118
+ // } else if (/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d$/i.test(value)) {
5119
+ // JsonPointer.set(formattedData, dataPointer, `${value}:00Z`);
5120
+ // // "2000-03-14" -> "2000-03-14T00:00:00Z" (add "T00:00:00Z")
5121
+ // } else if (fixErrors && /^\d\d\d\d-[0-1]\d-[0-3]\d$/i.test(value)) {
5122
+ // JsonPointer.set(formattedData, dataPointer, `${value}:00:00:00Z`);
5123
+ // }
5124
+ // */
5125
+ // JsonPointer.set(formattedData, dataPointer, `${value}`);
5126
+ // }
5126
5127
  }
5127
5128
  else if (typeof value !== 'object' || isDate(value) ||
5128
5129
  (value === null && returnEmptyFields)) {
@@ -7428,6 +7429,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7428
7429
  }]
7429
7430
  }] });
7430
7431
 
7432
+ class ElementAttributeDirective {
7433
+ constructor(renderer, elementRef) {
7434
+ this.renderer = renderer;
7435
+ this.elementRef = elementRef;
7436
+ }
7437
+ ngOnChanges(changes) {
7438
+ if (changes.attributes) {
7439
+ for (let attributeName in this.attributes) {
7440
+ const attributeValue = this.attributes[attributeName];
7441
+ if (attributeValue) {
7442
+ this.renderer.setAttribute(this.elementRef.nativeElement, attributeName, attributeValue);
7443
+ }
7444
+ else {
7445
+ this.renderer.removeAttribute(this.elementRef.nativeElement, attributeName);
7446
+ }
7447
+ }
7448
+ }
7449
+ }
7450
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementAttributeDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
7451
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ElementAttributeDirective, selector: "[attributes]", inputs: { attributes: "attributes" }, usesOnChanges: true, ngImport: i0 }); }
7452
+ }
7453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementAttributeDirective, decorators: [{
7454
+ type: Directive,
7455
+ args: [{
7456
+ selector: '[attributes]',
7457
+ standalone: false
7458
+ }]
7459
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { attributes: [{
7460
+ type: Input
7461
+ }] } });
7462
+
7431
7463
  class InputComponent {
7432
7464
  constructor() {
7433
7465
  this.jsf = inject(JsonSchemaFormService);
@@ -7438,6 +7470,10 @@ class InputComponent {
7438
7470
  this.layoutIndex = input(undefined);
7439
7471
  this.dataIndex = input(undefined);
7440
7472
  }
7473
+ //needed as templates don't accept something like [attributes]="options?.['x-inputAttributes']"
7474
+ get inputAttributes() {
7475
+ return this.options?.['x-inputAttributes'];
7476
+ }
7441
7477
  ngOnInit() {
7442
7478
  this.options = this.layoutNode().options || {};
7443
7479
  this.jsf.initializeControl(this);
@@ -7466,7 +7502,9 @@ class InputComponent {
7466
7502
  [id]="'control' + layoutNode()?._id"
7467
7503
  [name]="controlName"
7468
7504
  [readonly]="options?.readonly ? 'readonly' : null"
7469
- [type]="layoutNode()?.type">
7505
+ [type]="layoutNode()?.type"
7506
+ [attributes]="inputAttributes"
7507
+ >
7470
7508
  <input *ngIf="!boundControl"
7471
7509
  [attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
7472
7510
  [attr.list]="'control' + layoutNode()?._id + 'Autocomplete'"
@@ -7482,12 +7520,14 @@ class InputComponent {
7482
7520
  [readonly]="options?.readonly ? 'readonly' : null"
7483
7521
  [type]="layoutNode()?.type"
7484
7522
  [value]="controlValue"
7485
- (input)="updateValue($event)">
7523
+ (input)="updateValue($event)"
7524
+ [attributes]="inputAttributes"
7525
+ >
7486
7526
  <datalist *ngIf="options?.typeahead?.source"
7487
7527
  [id]="'control' + layoutNode()?._id + 'Autocomplete'">
7488
7528
  <option *ngFor="let word of options?.typeahead?.source" [value]="word">
7489
7529
  </datalist>
7490
- </div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] }); }
7530
+ </div>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: ElementAttributeDirective, selector: "[attributes]", inputs: ["attributes"] }] }); }
7491
7531
  }
7492
7532
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InputComponent, decorators: [{
7493
7533
  type: Component,
@@ -7514,7 +7554,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7514
7554
  [id]="'control' + layoutNode()?._id"
7515
7555
  [name]="controlName"
7516
7556
  [readonly]="options?.readonly ? 'readonly' : null"
7517
- [type]="layoutNode()?.type">
7557
+ [type]="layoutNode()?.type"
7558
+ [attributes]="inputAttributes"
7559
+ >
7518
7560
  <input *ngIf="!boundControl"
7519
7561
  [attr.aria-describedby]="'control' + layoutNode()?._id + 'Status'"
7520
7562
  [attr.list]="'control' + layoutNode()?._id + 'Autocomplete'"
@@ -7530,7 +7572,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7530
7572
  [readonly]="options?.readonly ? 'readonly' : null"
7531
7573
  [type]="layoutNode()?.type"
7532
7574
  [value]="controlValue"
7533
- (input)="updateValue($event)">
7575
+ (input)="updateValue($event)"
7576
+ [attributes]="inputAttributes"
7577
+ >
7534
7578
  <datalist *ngIf="options?.typeahead?.source"
7535
7579
  [id]="'control' + layoutNode()?._id + 'Autocomplete'">
7536
7580
  <option *ngFor="let word of options?.typeahead?.source" [value]="word">
@@ -7880,7 +7924,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
7880
7924
 
7881
7925
  class SelectFrameworkComponent {
7882
7926
  constructor() {
7883
- this.componentFactory = inject(ComponentFactoryResolver);
7884
7927
  this.jsf = inject(JsonSchemaFormService);
7885
7928
  this.newComponent = null;
7886
7929
  this.layoutNode = input(undefined);
@@ -7897,7 +7940,7 @@ class SelectFrameworkComponent {
7897
7940
  updateComponent() {
7898
7941
  const widgetContainer = this.widgetContainer();
7899
7942
  if (widgetContainer && !this.newComponent && this.jsf.framework) {
7900
- this.newComponent = widgetContainer.createComponent(this.componentFactory.resolveComponentFactory(this.jsf.framework));
7943
+ this.newComponent = widgetContainer.createComponent((this.jsf.framework));
7901
7944
  //TODO fix all deprecated calls and test
7902
7945
  //this.widgetContainer.createComponent<any>(this.jsf.framework)
7903
7946
  }
@@ -8437,7 +8480,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8437
8480
 
8438
8481
  class SelectWidgetComponent {
8439
8482
  constructor() {
8440
- this.componentFactory = inject(ComponentFactoryResolver);
8441
8483
  this.jsf = inject(JsonSchemaFormService);
8442
8484
  this.newComponent = null;
8443
8485
  this.layoutNode = input(undefined);
@@ -8454,7 +8496,7 @@ class SelectWidgetComponent {
8454
8496
  updateComponent() {
8455
8497
  const widgetContainer = this.widgetContainer();
8456
8498
  if (widgetContainer && !this.newComponent && (this.layoutNode() || {}).widget) {
8457
- this.newComponent = widgetContainer.createComponent(this.componentFactory.resolveComponentFactory(this.layoutNode().widget));
8499
+ this.newComponent = widgetContainer.createComponent((this.layoutNode().widget));
8458
8500
  }
8459
8501
  if (this.newComponent) {
8460
8502
  for (const input of ['layoutNode', 'layoutIndex', 'dataIndex']) {
@@ -8652,7 +8694,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8652
8694
 
8653
8695
  class TemplateComponent {
8654
8696
  constructor() {
8655
- this.componentFactory = inject(ComponentFactoryResolver);
8656
8697
  this.jsf = inject(JsonSchemaFormService);
8657
8698
  this.newComponent = null;
8658
8699
  this.layoutNode = input(undefined);
@@ -8670,7 +8711,7 @@ class TemplateComponent {
8670
8711
  const layoutNode = this.layoutNode();
8671
8712
  const widgetContainer = this.widgetContainer();
8672
8713
  if (widgetContainer && !this.newComponent && layoutNode.options.template) {
8673
- this.newComponent = widgetContainer.createComponent(this.componentFactory.resolveComponentFactory(layoutNode.options.template));
8714
+ this.newComponent = widgetContainer.createComponent((layoutNode.options.template));
8674
8715
  }
8675
8716
  if (this.newComponent) {
8676
8717
  for (const input of ['layoutNode', 'layoutIndex', 'dataIndex']) {
@@ -9366,7 +9407,7 @@ class JsonSchemaFormComponent {
9366
9407
  }
9367
9408
  // Get names of changed inputs
9368
9409
  let changedInput = Object.keys(this.previousInputs)
9369
- .filter(input => this.previousInputs[input] !== this[input]);
9410
+ .filter(input => this.previousInputs[input] !== this.getInputValue(input));
9370
9411
  let resetFirst = true;
9371
9412
  if (changedInput.length === 1 && changedInput[0] === 'form' &&
9372
9413
  this.formValuesInput.startsWith('form.')) {
@@ -9379,12 +9420,13 @@ class JsonSchemaFormComponent {
9379
9420
  // If only input values have changed, update the form values
9380
9421
  if (changedInput.length === 1 && changedInput[0] === this.formValuesInput) {
9381
9422
  if (this.formValuesInput.indexOf('.') === -1) {
9382
- changedData = this[this.formValuesInput];
9423
+ changedData = this.getInputValue(this.formValuesInput);
9424
+ //this[this.formValuesInput];
9383
9425
  this.setFormValues(changedData, resetFirst);
9384
9426
  }
9385
9427
  else {
9386
9428
  const [input, key] = this.formValuesInput.split('.');
9387
- changedData = this[input][key];
9429
+ changedData = this.getInputValue(input)[key];
9388
9430
  this.setFormValues(changedData, resetFirst);
9389
9431
  }
9390
9432
  // If anything else has changed, re-render the entire form
@@ -9405,7 +9447,7 @@ class JsonSchemaFormComponent {
9405
9447
  }
9406
9448
  // Update previous inputs
9407
9449
  Object.keys(this.previousInputs)
9408
- .filter(input => this.previousInputs[input] !== this[input])
9450
+ .filter(input => this.previousInputs[input] !== this.getInputValue(input))
9409
9451
  .forEach(input => this.previousInputs[input] = this.getInputValue(input));
9410
9452
  }
9411
9453
  }
@@ -10028,15 +10070,15 @@ const BASIC_WIDGETS = [
10028
10070
 
10029
10071
  class WidgetLibraryModule {
10030
10072
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10031
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, declarations: [AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, HiddenComponent, InputComponent, MessageComponent, NoneComponent, NumberComponent, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, OrderableDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, HiddenComponent, InputComponent, MessageComponent, NoneComponent, NumberComponent, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, OrderableDirective] }); }
10073
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, declarations: [AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, HiddenComponent, InputComponent, MessageComponent, NoneComponent, NumberComponent, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, OrderableDirective, ElementAttributeDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule], exports: [AddReferenceComponent, OneOfComponent, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, HiddenComponent, InputComponent, MessageComponent, NoneComponent, NumberComponent, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, OrderableDirective, ElementAttributeDirective] }); }
10032
10074
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, imports: [CommonModule, FormsModule, ReactiveFormsModule] }); }
10033
10075
  }
10034
10076
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetLibraryModule, decorators: [{
10035
10077
  type: NgModule,
10036
10078
  args: [{
10037
10079
  imports: [CommonModule, FormsModule, ReactiveFormsModule],
10038
- declarations: [...BASIC_WIDGETS, OrderableDirective],
10039
- exports: [...BASIC_WIDGETS, OrderableDirective]
10080
+ declarations: [...BASIC_WIDGETS, OrderableDirective, ElementAttributeDirective],
10081
+ exports: [...BASIC_WIDGETS, OrderableDirective, ElementAttributeDirective]
10040
10082
  }]
10041
10083
  }] });
10042
10084
 
@@ -10087,5 +10129,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10087
10129
  * Generated bundle index. Do not edit.
10088
10130
  */
10089
10131
 
10090
- export { AddReferenceComponent, BASIC_WIDGETS, ButtonComponent, CheckboxComponent, CheckboxesComponent, FileComponent, Framework, FrameworkLibraryService, HiddenComponent, InputComponent, JsonPointer, JsonSchemaFormComponent, JsonSchemaFormModule, JsonSchemaFormService, JsonValidators, MessageComponent, NoneComponent, NumberComponent, OneOfComponent, OrderableDirective, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, WidgetLibraryModule, WidgetLibraryService, _executeAsyncValidators, _executeValidators, _mergeErrors, _mergeObjects, _toPromise, addClasses, buildFormGroup, buildFormGroupTemplate, buildLayout, buildLayoutFromSchema, buildSchemaFromData, buildSchemaFromLayout, buildTitleMap, checkInlineType, combineAllOf, commonItems, convertSchemaToDraft6, copy, deValidationMessages, enValidationMessages, esValidationMessages, fixRequiredArrayProperties, fixTitle, forEach, forEachCopy, formatFormData, frValidationMessages, getControl, getControlValidators, getFromSchema, getInputType, getLayoutNode, getSubSchema, getTitleMapFromOneOf, getType, hasOwn, hasValue, inArray, isArray, isBoolean, isDate, isDefined, isEmpty, isFunction, isInputRequired, isInteger, isMap, isNumber, isObject, isObservable, isPrimitive, isPromise, isSet, isString, isType, itValidationMessages, mapLayout, mergeFilteredObject, mergeSchemas, ptValidationMessages, removeRecursiveReferences, resolveSchemaReferences, setRequiredFields, toJavaScriptType, toObservable, toSchemaType, toTitleCase, uniqueItems, updateInputOptions, xor, zhValidationMessages };
10132
+ export { AddReferenceComponent, BASIC_WIDGETS, ButtonComponent, CheckboxComponent, CheckboxesComponent, ElementAttributeDirective, FileComponent, Framework, FrameworkLibraryService, HiddenComponent, InputComponent, JsonPointer, JsonSchemaFormComponent, JsonSchemaFormModule, JsonSchemaFormService, JsonValidators, MessageComponent, NoneComponent, NumberComponent, OneOfComponent, OrderableDirective, RadiosComponent, RootComponent, SectionComponent, SelectComponent, SelectFrameworkComponent, SelectWidgetComponent, SubmitComponent, TabComponent, TabsComponent, TemplateComponent, TextareaComponent, WidgetLibraryModule, WidgetLibraryService, _executeAsyncValidators, _executeValidators, _mergeErrors, _mergeObjects, _toPromise, addClasses, buildFormGroup, buildFormGroupTemplate, buildLayout, buildLayoutFromSchema, buildSchemaFromData, buildSchemaFromLayout, buildTitleMap, checkInlineType, combineAllOf, commonItems, convertSchemaToDraft6, copy, deValidationMessages, enValidationMessages, esValidationMessages, fixRequiredArrayProperties, fixTitle, forEach, forEachCopy, formatFormData, frValidationMessages, getControl, getControlValidators, getFromSchema, getInputType, getLayoutNode, getSubSchema, getTitleMapFromOneOf, getType, hasOwn, hasValue, inArray, isArray, isBoolean, isDate, isDefined, isEmpty, isFunction, isInputRequired, isInteger, isMap, isNumber, isObject, isObservable, isPrimitive, isPromise, isSet, isString, isType, itValidationMessages, mapLayout, mergeFilteredObject, mergeSchemas, ptValidationMessages, removeRecursiveReferences, resolveSchemaReferences, setRequiredFields, toJavaScriptType, toObservable, toSchemaType, toTitleCase, uniqueItems, updateInputOptions, xor, zhValidationMessages };
10091
10133
  //# sourceMappingURL=ng-formworks-core.mjs.map