@stemy/ngx-dynamic-form 13.0.2 → 13.1.0

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.
Files changed (33) hide show
  1. package/esm2020/ngx-dynamic-form/common-types.mjs +1 -1
  2. package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-array.component.mjs +4 -1
  3. package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-control.component.mjs +37 -0
  4. package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form.component.mjs +6 -2
  5. package/esm2020/ngx-dynamic-form/components/base/dynamic-base-select.component.mjs +39 -0
  6. package/esm2020/ngx-dynamic-form/ngx-dynamic-form.imports.mjs +6 -2
  7. package/esm2020/ngx-dynamic-form/ngx-dynamic-form.module.mjs +8 -6
  8. package/esm2020/ngx-dynamic-form/services/dynamic-form.service.mjs +31 -20
  9. package/esm2020/ngx-dynamic-form/utils/dynamic-form-array.model.mjs +4 -1
  10. package/esm2020/ngx-dynamic-form/utils/dynamic-select.model.mjs +57 -0
  11. package/esm2020/ngx-dynamic-form/utils/form-select-subject.mjs +1 -1
  12. package/esm2020/ngx-dynamic-form/utils/form-subject.mjs +1 -1
  13. package/esm2020/ngx-dynamic-form/utils/misc.mjs +21 -1
  14. package/esm2020/public_api.mjs +5 -1
  15. package/fesm2015/stemy-ngx-dynamic-form.mjs +189 -25
  16. package/fesm2015/stemy-ngx-dynamic-form.mjs.map +1 -1
  17. package/fesm2020/stemy-ngx-dynamic-form.mjs +189 -23
  18. package/fesm2020/stemy-ngx-dynamic-form.mjs.map +1 -1
  19. package/ngx-dynamic-form/common-types.d.ts +1 -2
  20. package/ngx-dynamic-form/components/base/dynamic-base-form-array.component.d.ts +1 -0
  21. package/ngx-dynamic-form/components/base/dynamic-base-form-control.component.d.ts +16 -0
  22. package/ngx-dynamic-form/components/base/dynamic-base-form.component.d.ts +3 -1
  23. package/ngx-dynamic-form/components/base/dynamic-base-select.component.d.ts +9 -0
  24. package/ngx-dynamic-form/ngx-dynamic-form.imports.d.ts +4 -2
  25. package/ngx-dynamic-form/ngx-dynamic-form.module.d.ts +9 -7
  26. package/ngx-dynamic-form/services/dynamic-form.service.d.ts +7 -6
  27. package/ngx-dynamic-form/utils/dynamic-form-array.model.d.ts +4 -0
  28. package/ngx-dynamic-form/utils/dynamic-select.model.d.ts +33 -0
  29. package/ngx-dynamic-form/utils/form-select-subject.d.ts +2 -2
  30. package/ngx-dynamic-form/utils/form-subject.d.ts +6 -6
  31. package/ngx-dynamic-form/utils/misc.d.ts +4 -1
  32. package/package.json +2 -2
  33. package/public_api.d.ts +5 -1
@@ -1,8 +1,7 @@
1
1
  import { EventEmitter, Injector, TemplateRef } from "@angular/core";
2
2
  import { AbstractControl, FormArray } from "@angular/forms";
3
- import { DynamicFileUploadModelConfig, DynamicFormControl, DynamicFormControlEvent, DynamicFormControlModel, DynamicFormControlModelConfig, DynamicFormGroupModelConfig, DynamicFormValueControlModel, DynamicInputModelConfig, DynamicSelectModelConfig } from "@ng-dynamic-forms/core";
3
+ import { DynamicFileUploadModelConfig, DynamicFormControl, DynamicFormControlEvent, DynamicFormControlMapFn, DynamicFormControlModel, DynamicFormControlModelConfig, DynamicFormGroupModelConfig, DynamicFormValueControlModel, DynamicInputModelConfig, DynamicSelectModelConfig } from "@ng-dynamic-forms/core";
4
4
  import { IAsyncMessage, IOpenApiSchema, IOpenApiSchemaProperty, IResolveFactory } from "@stemy/ngx-utils";
5
- import { DynamicFormControlMapFn } from "@ng-dynamic-forms/core/lib/service/dynamic-form-component.service";
6
5
  export declare type DynamicFormState = "VALID" | "INVALID" | "PENDING" | "DISABLED" | "LOADING";
7
6
  export declare type DynamicFormUpdateOn = "change" | "blur" | "submit";
8
7
  export interface IDynamicFormEvent extends DynamicFormControlEvent {
@@ -21,6 +21,7 @@ export declare class DynamicBaseFormArrayComponent extends DynamicFormArrayCompo
21
21
  constructor(layoutService: DynamicFormLayoutService, validationService: DynamicFormValidationService, injector: Injector);
22
22
  saveTab(index: number): void;
23
23
  restoreTab(): number;
24
+ getTabLabel(index: number): string;
24
25
  getClass(context: DynamicFormControlLayoutContext, place: DynamicFormControlLayoutPlace, model?: DynamicFormControlModel): string;
25
26
  protected getModelClass(model?: DynamicFormControlModel): string;
26
27
  protected getAdditionalClass(model?: DynamicFormControlModel): string;
@@ -0,0 +1,16 @@
1
+ import { EventEmitter } from "@angular/core";
2
+ import { FormGroup } from "@angular/forms";
3
+ import { DynamicFormControlComponent, DynamicFormControlLayout, DynamicFormControlModel, DynamicFormLayout, DynamicFormLayoutService, DynamicFormValidationService } from "@ng-dynamic-forms/core";
4
+ import * as i0 from "@angular/core";
5
+ export declare class DynamicBaseFormControlComponent<T extends DynamicFormControlModel> extends DynamicFormControlComponent {
6
+ formLayout: DynamicFormLayout;
7
+ group: FormGroup;
8
+ layout: DynamicFormControlLayout;
9
+ model: T;
10
+ blur: EventEmitter<any>;
11
+ change: EventEmitter<any>;
12
+ focus: EventEmitter<any>;
13
+ constructor(layoutService: DynamicFormLayoutService, validationService: DynamicFormValidationService);
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicBaseFormControlComponent<any>, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicBaseFormControlComponent<any>, "dynamic-base-form-control", never, { "formLayout": "formLayout"; "group": "group"; "layout": "layout"; "model": "model"; }, { "blur": "blur"; "change": "change"; "focus": "focus"; }, never, never>;
16
+ }
@@ -1,9 +1,10 @@
1
1
  import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, QueryList, SimpleChanges } from "@angular/core";
2
2
  import { FormArray, FormGroup, NgForm } from "@angular/forms";
3
3
  import { Subscription } from "rxjs";
4
- import { DynamicFormArrayModel, DynamicFormComponent, DynamicFormComponentService, DynamicFormControlEvent, DynamicFormControlModel, DynamicFormLayout, DynamicFormModel, DynamicTemplateDirective } from "@ng-dynamic-forms/core";
4
+ import { DynamicFormComponent, DynamicFormComponentService, DynamicFormControlEvent, DynamicFormControlModel, DynamicFormLayout, DynamicFormModel, DynamicTemplateDirective } from "@ng-dynamic-forms/core";
5
5
  import { EventsService } from "@stemy/ngx-utils";
6
6
  import { DynamicFormState, IDynamicForm, IDynamicFormEvent } from "../../common-types";
7
+ import { DynamicFormArrayModel } from "../../utils/dynamic-form-array.model";
7
8
  import { DynamicFormService } from "../../services/dynamic-form.service";
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class DynamicBaseFormComponent extends DynamicFormComponent implements OnChanges, AfterViewInit, IDynamicForm {
@@ -30,6 +31,7 @@ export declare class DynamicBaseFormComponent extends DynamicFormComponent imple
30
31
  ngAfterViewInit(): void;
31
32
  ngOnDestroy(): void;
32
33
  insertFormArrayGroup(index: number, formArray: FormArray, formArrayModel: DynamicFormArrayModel): void;
34
+ cloneFormArrayGroup(index: number, formArray: FormArray, formArrayModel: DynamicFormArrayModel): void;
33
35
  removeFormArrayGroup(index: number, formArray: FormArray, formArrayModel: DynamicFormArrayModel): void;
34
36
  moveFormArrayGroup(index: number, step: number, formArray: FormArray, formArrayModel: DynamicFormArrayModel): void;
35
37
  clearFormArray(formArray: FormArray, formArrayModel: DynamicFormArrayModel): void;
@@ -0,0 +1,9 @@
1
+ import { DynamicBaseFormControlComponent } from "./dynamic-base-form-control.component";
2
+ import { DynamicFormOption, DynamicSelectModel } from "../../utils/dynamic-select.model";
3
+ import * as i0 from "@angular/core";
4
+ export declare class DynamicBaseSelectComponent extends DynamicBaseFormControlComponent<DynamicSelectModel<any>> {
5
+ isSelected(option: DynamicFormOption<any>): boolean;
6
+ selectToggle(option: DynamicFormOption<any>, state: boolean): void;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DynamicBaseSelectComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicBaseSelectComponent, "dynamic-base-select", never, {}, {}, never, never>;
9
+ }
@@ -1,10 +1,12 @@
1
+ import { DynamicFormControlMapFn } from "@ng-dynamic-forms/core";
1
2
  import { AsyncSubmitDirective } from "./directives/async-submit.directive";
2
3
  import { DynamicBaseFormComponent } from "./components/base/dynamic-base-form.component";
3
4
  import { DynamicBaseFormArrayComponent } from "./components/base/dynamic-base-form-array.component";
5
+ import { DynamicBaseFormControlComponent } from "./components/base/dynamic-base-form-control.component";
4
6
  import { DynamicBaseFormControlContainerComponent } from "./components/base/dynamic-base-form-control-container.component";
5
7
  import { DynamicBaseFormGroupComponent } from "./components/base/dynamic-base-form-group.component";
6
- import { DynamicFormControlMapFn } from "@ng-dynamic-forms/core/lib/service/dynamic-form-component.service";
7
- export declare const components: (typeof DynamicBaseFormComponent | typeof DynamicBaseFormArrayComponent | typeof DynamicBaseFormControlContainerComponent | typeof DynamicBaseFormGroupComponent)[];
8
+ import { DynamicBaseSelectComponent } from "./components/base/dynamic-base-select.component";
9
+ export declare const components: (typeof DynamicBaseFormComponent | typeof DynamicBaseFormArrayComponent | typeof DynamicBaseFormControlComponent | typeof DynamicBaseFormControlContainerComponent | typeof DynamicBaseFormGroupComponent | typeof DynamicBaseSelectComponent)[];
8
10
  export declare const directives: (typeof AsyncSubmitDirective)[];
9
11
  export declare const pipes: any[];
10
12
  export declare function defaultFormControlProvider(): DynamicFormControlMapFn;
@@ -3,15 +3,17 @@ import { IDynamicFormModuleConfig } from "./common-types";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./components/base/dynamic-base-form.component";
5
5
  import * as i2 from "./components/base/dynamic-base-form-array.component";
6
- import * as i3 from "./components/base/dynamic-base-form-control-container.component";
7
- import * as i4 from "./components/base/dynamic-base-form-group.component";
8
- import * as i5 from "./directives/async-submit.directive";
9
- import * as i6 from "@angular/common";
10
- import * as i7 from "@angular/forms";
11
- import * as i8 from "@stemy/ngx-utils";
6
+ import * as i3 from "./components/base/dynamic-base-form-control.component";
7
+ import * as i4 from "./components/base/dynamic-base-form-control-container.component";
8
+ import * as i5 from "./components/base/dynamic-base-form-group.component";
9
+ import * as i6 from "./components/base/dynamic-base-select.component";
10
+ import * as i7 from "./directives/async-submit.directive";
11
+ import * as i8 from "@angular/common";
12
+ import * as i9 from "@angular/forms";
13
+ import * as i10 from "@stemy/ngx-utils";
12
14
  export declare class NgxDynamicFormModule {
13
15
  static forRoot(config?: IDynamicFormModuleConfig): ModuleWithProviders<NgxDynamicFormModule>;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<NgxDynamicFormModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgxDynamicFormModule, [typeof i1.DynamicBaseFormComponent, typeof i2.DynamicBaseFormArrayComponent, typeof i3.DynamicBaseFormControlContainerComponent, typeof i4.DynamicBaseFormGroupComponent, typeof i5.AsyncSubmitDirective], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.NgxUtilsModule], [typeof i1.DynamicBaseFormComponent, typeof i2.DynamicBaseFormArrayComponent, typeof i3.DynamicBaseFormControlContainerComponent, typeof i4.DynamicBaseFormGroupComponent, typeof i5.AsyncSubmitDirective, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.NgxUtilsModule]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxDynamicFormModule, [typeof i1.DynamicBaseFormComponent, typeof i2.DynamicBaseFormArrayComponent, typeof i3.DynamicBaseFormControlComponent, typeof i4.DynamicBaseFormControlContainerComponent, typeof i5.DynamicBaseFormGroupComponent, typeof i6.DynamicBaseSelectComponent, typeof i7.AsyncSubmitDirective], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i9.ReactiveFormsModule, typeof i10.NgxUtilsModule], [typeof i1.DynamicBaseFormComponent, typeof i2.DynamicBaseFormArrayComponent, typeof i3.DynamicBaseFormControlComponent, typeof i4.DynamicBaseFormControlContainerComponent, typeof i5.DynamicBaseFormGroupComponent, typeof i6.DynamicBaseSelectComponent, typeof i7.AsyncSubmitDirective, typeof i9.FormsModule, typeof i9.ReactiveFormsModule, typeof i10.NgxUtilsModule]>;
16
18
  static ɵinj: i0.ɵɵInjectorDeclaration<NgxDynamicFormModule>;
17
19
  }
@@ -1,11 +1,11 @@
1
1
  import { EventEmitter, Injector } from "@angular/core";
2
- import { AbstractControl, FormGroup } from "@angular/forms";
3
- import { DynamicCheckboxModelConfig, DynamicFileUploadModelConfig, DynamicFormComponent, DynamicFormComponentService, DynamicFormControlModel, DynamicFormGroupModelConfig, DynamicFormModel, DynamicFormOptionConfig, DynamicFormService as Base, DynamicFormValidationService, DynamicFormValueControlModelConfig, DynamicInputModelConfig, DynamicSelectModelConfig, DynamicTextAreaModelConfig, DynamicValidatorsConfig } from "@ng-dynamic-forms/core";
2
+ import { AbstractControl, FormArray, FormControl, FormGroup } from "@angular/forms";
3
+ import { DynamicCheckboxModelConfig, DynamicFileUploadModelConfig, DynamicFormComponent, DynamicFormComponentService, DynamicFormControlModel, DynamicFormGroupModelConfig, DynamicFormModel, DynamicFormService as Base, DynamicFormValidationService, DynamicFormValueControlModelConfig, DynamicInputModelConfig, DynamicPathable, DynamicTextAreaModelConfig, DynamicValidatorsConfig } from "@ng-dynamic-forms/core";
4
4
  import { IApiService, ILanguageService, IOpenApiSchema, IOpenApiSchemaProperty, IOpenApiSchemas, OpenApiService } from "@stemy/ngx-utils";
5
5
  import { FormModelCustomizer, FormModelCustomizerWrap } from "../common-types";
6
6
  import { FormSelectSubject } from "../utils/form-select-subject";
7
- import { DynamicFormArrayModelConfig } from "../utils/dynamic-form-array.model";
8
- import { DynamicPathable } from "@ng-dynamic-forms/core/lib/model/misc/dynamic-form-control-path.model";
7
+ import { DynamicFormArrayModel, DynamicFormArrayModelConfig } from "../utils/dynamic-form-array.model";
8
+ import { DynamicFormOptionConfig, DynamicSelectModel, DynamicSelectModelConfig } from "../utils/dynamic-select.model";
9
9
  import * as i0 from "@angular/core";
10
10
  export declare class DynamicFormService extends Base {
11
11
  readonly openApi: OpenApiService;
@@ -19,7 +19,7 @@ export declare class DynamicFormService extends Base {
19
19
  patchForm(value: any, component: DynamicFormComponent): void;
20
20
  serialize(formModel: DynamicFormModel, formGroup: FormGroup): Promise<any>;
21
21
  notifyChanges(formModel: DynamicFormModel, formGroup: FormGroup, root: DynamicFormModel): void;
22
- updateSelectOptions(formControlModel: DynamicFormControlModel, formControl: AbstractControl, root: DynamicFormModel): void;
22
+ updateSelectOptions(formControlModel: DynamicFormControlModel, formControl: FormControl, root: DynamicFormModel): void;
23
23
  showErrors(form: DynamicFormComponent): void;
24
24
  detectChanges(formComponent?: DynamicFormComponent): void;
25
25
  protected patchValueRecursive(value: any, formModel: DynamicFormModel, formGroup: FormGroup): void;
@@ -38,7 +38,8 @@ export declare class DynamicFormService extends Base {
38
38
  getFormTextareaConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicTextAreaModelConfig;
39
39
  getFormSelectConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicSelectModelConfig<any>;
40
40
  getFormCheckboxConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicCheckboxModelConfig;
41
- protected translateOptions(options: DynamicFormOptionConfig<any>[]): Promise<DynamicFormOptionConfig<any>[]>;
41
+ cloneFormArrayGroup(index: number, formArray: FormArray, formArrayModel: DynamicFormArrayModel): void;
42
+ protected fixSelectOptions(model: DynamicSelectModel<any>, control: FormControl, options: DynamicFormOptionConfig<any>[]): Promise<DynamicFormOptionConfig<any>[]>;
42
43
  protected getFormSelectOptions(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): FormSelectSubject<DynamicFormOptionConfig<any>[]>;
43
44
  protected getFormUploadConfig(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicFileUploadModelConfig;
44
45
  protected getValidators(property: IOpenApiSchemaProperty, schema: IOpenApiSchema): DynamicValidatorsConfig;
@@ -1,11 +1,14 @@
1
1
  import { Injector } from "@angular/core";
2
+ import { FormArray } from "@angular/forms";
2
3
  import { DynamicFormArrayModel as Base, DynamicFormArrayModelConfig as ConfigBase, DynamicFormControlLayout } from "@ng-dynamic-forms/core";
3
4
  export declare type SaveTabFunc = (index: number, model: DynamicFormArrayModel, injector: Injector) => void;
4
5
  export declare type RestoreTabFunc = (model: DynamicFormArrayModel, injector: Injector) => number;
6
+ export declare type TabLabelFunc = (index: number, model: DynamicFormArrayModel, array: FormArray, injector: Injector) => string;
5
7
  export interface DynamicFormArrayModelConfig extends ConfigBase {
6
8
  useTabs?: boolean;
7
9
  saveTab?: SaveTabFunc;
8
10
  restoreTab?: RestoreTabFunc;
11
+ getTabLabel?: TabLabelFunc;
9
12
  additional?: {
10
13
  [key: string]: any;
11
14
  };
@@ -14,6 +17,7 @@ export declare class DynamicFormArrayModel extends Base {
14
17
  readonly useTabs: boolean;
15
18
  readonly saveTab: SaveTabFunc;
16
19
  readonly restoreTab: RestoreTabFunc;
20
+ readonly getTabLabel: TabLabelFunc;
17
21
  readonly additional: {
18
22
  [key: string]: any;
19
23
  };
@@ -0,0 +1,33 @@
1
+ import { Injector } from "@angular/core";
2
+ import { FormControl } from "@angular/forms";
3
+ import { Observable } from "rxjs";
4
+ import { DynamicFormControlLayout, DynamicFormOption as BaseOption, DynamicFormOptionConfig as BaseOptionConfig, DynamicSelectModel as Base, DynamicSelectModelConfig as BaseConfig } from "@ng-dynamic-forms/core";
5
+ export interface DynamicFormOptionConfig<T> extends BaseOptionConfig<T> {
6
+ classes?: string;
7
+ [key: string]: any;
8
+ }
9
+ export declare class DynamicFormOption<T> extends BaseOption<T> {
10
+ readonly classes: string;
11
+ readonly props: any;
12
+ constructor(config: DynamicFormOptionConfig<T>);
13
+ }
14
+ export declare type OptionClassesFunc<T> = (option: DynamicFormOptionConfig<T>, model: DynamicSelectModel<T>, control: FormControl, injector: Injector) => string;
15
+ export interface DynamicSelectModelConfig<T> extends BaseConfig<T> {
16
+ groupBy?: string;
17
+ inline?: boolean;
18
+ options?: DynamicFormOptionConfig<T>[] | Observable<DynamicFormOptionConfig<T>[]>;
19
+ getClasses?: OptionClassesFunc<T>;
20
+ }
21
+ export declare class DynamicSelectModel<T> extends Base<T> {
22
+ readonly groupBy: string;
23
+ readonly inline: boolean;
24
+ readonly getClasses: OptionClassesFunc<T>;
25
+ options$: Observable<DynamicFormOption<T>[]>;
26
+ protected mOptions: DynamicFormOption<T>[];
27
+ constructor(config: DynamicSelectModelConfig<T>, layout?: DynamicFormControlLayout);
28
+ protected updateOptions(): void;
29
+ set options(options: any);
30
+ get options(): ReadonlyArray<DynamicFormOption<T>>;
31
+ insert(index: number, optionConfig: DynamicFormOptionConfig<T>): DynamicFormOption<T>;
32
+ remove(...indices: number[]): void;
33
+ }
@@ -1,6 +1,6 @@
1
1
  import { AbstractControl } from "@angular/forms";
2
- import { DynamicFormOptionConfig, DynamicSelectModel } from "@ng-dynamic-forms/core";
2
+ import { DynamicFormOptionConfig, DynamicSelectModel } from "./dynamic-select.model";
3
3
  import { FormSubject } from "./form-subject";
4
- export declare class FormSelectSubject<T extends DynamicFormOptionConfig<any>[]> extends FormSubject<T> {
4
+ export declare class FormSelectSubject<T extends DynamicFormOptionConfig<any>[]> extends FormSubject<DynamicSelectModel<any>, T> {
5
5
  protected handleNotifiedValue(controlModel: DynamicSelectModel<any>, control: AbstractControl, val: Promise<T>): void;
6
6
  }
@@ -1,10 +1,10 @@
1
1
  import { Subject } from "rxjs";
2
- import { AbstractControl } from "@angular/forms";
2
+ import { FormControl } from "@angular/forms";
3
3
  import { DynamicFormControlModel, DynamicFormModel } from "@ng-dynamic-forms/core";
4
- export declare type NotifyCallback = (controlModel: DynamicFormControlModel, control: AbstractControl, root: DynamicFormModel, indexes: any) => any | Promise<any>;
5
- export declare class FormSubject<T> extends Subject<T> {
4
+ export declare type NotifyCallback<M extends DynamicFormControlModel> = (controlModel: M, control: FormControl, root: DynamicFormModel, indexes: any) => any | Promise<any>;
5
+ export declare class FormSubject<M extends DynamicFormControlModel, T> extends Subject<T> {
6
6
  private readonly notifyCallback;
7
- constructor(notifyCallback: NotifyCallback);
8
- protected handleNotifiedValue(controlModel: DynamicFormControlModel, control: AbstractControl, val: Promise<T>): void;
9
- notify(controlModel: DynamicFormControlModel, control: AbstractControl, root: DynamicFormModel): void;
7
+ constructor(notifyCallback: NotifyCallback<M>);
8
+ protected handleNotifiedValue(controlModel: M, control: FormControl, val: Promise<T>): void;
9
+ notify(controlModel: M, control: FormControl, root: DynamicFormModel): void;
10
10
  }
@@ -1,5 +1,8 @@
1
- import { DynamicPathable } from "@ng-dynamic-forms/core";
1
+ import { DynamicFormModel, DynamicPathable } from "@ng-dynamic-forms/core";
2
+ import { IOpenApiSchemaProperty } from "@stemy/ngx-utils";
2
3
  export declare function isStringWithVal(val: any): boolean;
4
+ export declare function findRefs(property: IOpenApiSchemaProperty): string[];
5
+ export declare function mergeFormModels(formModels: DynamicFormModel[]): DynamicFormModel;
3
6
  export declare function collectPathAble<T extends DynamicPathable>(start: T, getter: (cur: T & DynamicPathable) => string): string[];
4
7
  export declare const MIN_INPUT_NUM = -99999999999999;
5
8
  export declare const MAX_INPUT_NUM = 99999999999999;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stemy/ngx-dynamic-form",
3
- "version": "13.0.2",
3
+ "version": "13.1.0",
4
4
  "license": "MIT",
5
5
  "public": true,
6
6
  "repository": "https://github.com/stemyke/ngx-dynamic-form.git",
@@ -23,7 +23,7 @@
23
23
  "invokable": "^1.0.3",
24
24
  "ngx-device-detector": "~2.1.1 || ~3.0.0",
25
25
  "json5": "^2.2.1",
26
- "@stemy/ngx-utils": "^13.0.5",
26
+ "@stemy/ngx-utils": "^13.0.7",
27
27
  "@ng-dynamic-forms/core": "^15.0.0",
28
28
  "@ng-dynamic-forms/ui-basic": "^15.0.0",
29
29
  "ngx-mask": "^13.1.14"
package/public_api.d.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  export { IDynamicFormEvent, IDynamicForm, OnCreatedFormControl, FormControlSerializer, FormModelCustomizer, DynamicFormState, DynamicFormUpdateOn, IFormControl, IFormControlOption, IDynamicFormTemplates, IDynamicFormConfig, IDynamicSingleFormConfig, IDynamicMultiFormConfig, IDynamicFormsConfigs, AsyncSubmitMethod, IDynamicFormInfo, defaultSerializer, FormSerializable, FormInput, FormSelect, FormStatic, FormModel, FormFile, defineFormControl, getFormControl, getFormSerializer, createFormInput, createFormSelect, createFormStatic, createFormModel, createFormControl, IDynamicFormModuleConfig } from "./ngx-dynamic-form/common-types";
2
2
  export { MIN_INPUT_NUM, MAX_INPUT_NUM } from "./ngx-dynamic-form/utils/misc";
3
3
  export { validateJSON, validateRequiredTranslation, validatePhone, validateItemsMinLength, validateItemsMaxLength, validateItemsMinValue, validateItemsMaxValue } from "./ngx-dynamic-form/utils/validators";
4
- export { DynamicFormArrayModelConfig, DynamicFormArrayModel } from "./ngx-dynamic-form/utils/dynamic-form-array.model";
4
+ export { SaveTabFunc, RestoreTabFunc, TabLabelFunc, DynamicFormArrayModelConfig, DynamicFormArrayModel } from "./ngx-dynamic-form/utils/dynamic-form-array.model";
5
+ export { DynamicFormOptionConfig, DynamicFormOption, OptionClassesFunc, DynamicSelectModelConfig, DynamicSelectModel } from "./ngx-dynamic-form/utils/dynamic-select.model";
5
6
  export { FormSelectSubject } from "./ngx-dynamic-form/utils/form-select-subject";
6
7
  export { FormSubject } from "./ngx-dynamic-form/utils/form-subject";
7
8
  export { DynamicFormService } from "./ngx-dynamic-form/services/dynamic-form.service";
8
9
  export { AsyncSubmitDirective } from "./ngx-dynamic-form/directives/async-submit.directive";
9
10
  export { DynamicBaseFormComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form.component";
10
11
  export { DynamicBaseFormArrayComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-array.component";
12
+ export { DynamicBaseFormControlComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-control.component";
11
13
  export { DynamicBaseFormControlContainerComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-control-container.component";
12
14
  export { DynamicBaseFormGroupComponent } from "./ngx-dynamic-form/components/base/dynamic-base-form-group.component";
15
+ export { DynamicBaseSelectComponent } from "./ngx-dynamic-form/components/base/dynamic-base-select.component";
13
16
  export { NgxDynamicFormModule } from "./ngx-dynamic-form/ngx-dynamic-form.module";
17
+ export { DYNAMIC_FORM_CONTROL_TYPE_ARRAY, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX, DYNAMIC_FORM_CONTROL_TYPE_CHECKBOX_GROUP, DYNAMIC_FORM_CONTROL_TYPE_FILE_UPLOAD, DYNAMIC_FORM_CONTROL_TYPE_GROUP, DYNAMIC_FORM_CONTROL_TYPE_INPUT, DYNAMIC_FORM_CONTROL_TYPE_RADIO_GROUP, DYNAMIC_FORM_CONTROL_TYPE_SELECT, DYNAMIC_FORM_CONTROL_TYPE_TEXTAREA, DynamicTemplateDirective, DynamicListDirective, DynamicFormModel, DynamicFormControlMapFn, DynamicFormsCoreModule, DynamicCheckboxModel, DynamicCheckboxGroupModel, DynamicFileUploadModel, DynamicFormGroupModel, DynamicInputModel, DynamicRadioGroupModel, DynamicTextAreaModel } from "@ng-dynamic-forms/core";