@stemy/ngx-dynamic-form 19.9.38 → 19.9.40

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.
@@ -455,9 +455,18 @@ export interface ConfigForSchemaOptionsBase extends FormBuilderOptionsBase {
455
455
  }
456
456
  export type ConfigForSchemaOptions = RequireAtLeastOne<ConfigForSchemaOptionsBase>;
457
457
  export type CustomizerOrSchemaOptions = FormFieldCustomizer | ConfigForSchemaOptions;
458
+ export interface FormBuilderSchemaOptions extends Required<FormBuilderOptionsBase> {
459
+ readonly injector: Injector;
460
+ readonly schema: OpenApiSchema;
461
+ customize(field: FormFieldConfig, property: OpenApiSchemaProperty, schema: OpenApiSchema): Promise<FormFieldConfig[]>;
462
+ }
463
+ export type FormSchemaNotFoundHandler = (name: string, root: FormFieldConfig, options: FormBuilderSchemaOptions, injector: Injector) => MaybePromise<FormFieldConfig[]>;
464
+ export declare function formSchemaNotFound(name: string): FormFieldConfig[];
458
465
  export declare const DEFAULT_NUMERIC_STEP: InjectionToken<string>;
466
+ export declare const FORM_SCHEMA_NOT_FOUND: InjectionToken<string>;
459
467
  export interface IDynamicFormModuleConfig {
460
468
  options?: ConfigOption[];
469
+ schemaNotFound?: FormSchemaNotFoundHandler;
461
470
  defaultNumericStep?: number;
462
471
  }
463
472
  export {};
@@ -1,17 +1,19 @@
1
1
  import { Injector, Type } from "@angular/core";
2
2
  import { Observable } from "rxjs";
3
- import { EventsService, IApiService, ILanguageService } from "@stemy/ngx-utils";
3
+ import { EventsService, IApiService, ILanguageService, UniversalService } from "@stemy/ngx-utils";
4
4
  import { FormArrayData, FormBuilderOptions, FormDateData, FormFieldConfig, FormFieldData, FormFieldProps, FormFieldSerializer, FormFieldSetData, FormGroupData, FormInputData, FormSelectData, FormSelectOption, FormSerializerData, FormStaticData, FormUploadData } from "../common-types";
5
5
  import * as i0 from "@angular/core";
6
6
  export type FormFieldBuilder = (fb: DynamicFormBuilderService, parent: FormFieldConfig, options: FormBuilderOptions) => Partial<FormFieldConfig>;
7
7
  export declare class DynamicFormBuilderService {
8
8
  readonly injector: Injector;
9
9
  readonly events: EventsService;
10
+ readonly universal: UniversalService;
10
11
  readonly api: IApiService;
12
+ protected readonly rootElement: HTMLElement;
11
13
  protected readonly languages: ILanguageService;
12
14
  protected readonly defaultNumericStep: number;
13
15
  readonly language: Observable<string>;
14
- constructor(injector: Injector, events: EventsService, api: IApiService, languages: ILanguageService, defaultNumericStep: number);
16
+ constructor(injector: Injector, events: EventsService, universal: UniversalService, api: IApiService, rootElement: HTMLElement, languages: ILanguageService, defaultNumericStep: number);
15
17
  resolveFormFields(type: Type<any>, parent: FormFieldConfig, options?: FormBuilderOptions): FormFieldConfig[];
16
18
  resolveFormGroup(key: string, target: Type<any>, data: FormGroupData, parent?: FormFieldConfig, options?: FormBuilderOptions): FormFieldConfig;
17
19
  resolveFormArray(key: string, itemType: string | FormInputData | Type<any>, data: FormArrayData, parent?: FormFieldConfig, options?: FormBuilderOptions): FormFieldConfig;
@@ -1,8 +1,7 @@
1
1
  import { Injector } from "@angular/core";
2
2
  import { AbstractControl } from "@angular/forms";
3
3
  import { IApiService, ILanguageService, OpenApiSchema, OpenApiSchemaProperty, OpenApiService } from "@stemy/ngx-utils";
4
- import { CustomizerOrSchemaOptions, FormFieldConfig, FormFieldData, FormSelectOptions, Validators } from "../common-types";
5
- import { ConfigForSchemaWrapOptions } from "../utils/internal";
4
+ import { CustomizerOrSchemaOptions, FormBuilderSchemaOptions, FormFieldConfig, FormFieldData, FormSelectOptions, Validators } from "../common-types";
6
5
  import { DynamicFormBuilderService } from "./dynamic-form-builder.service";
7
6
  import * as i0 from "@angular/core";
8
7
  export declare class DynamicFormSchemaService {
@@ -14,22 +13,22 @@ export declare class DynamicFormSchemaService {
14
13
  constructor(openApi: OpenApiService, injector: Injector, builder: DynamicFormBuilderService);
15
14
  getSchema(name: string): Promise<OpenApiSchema>;
16
15
  getFormFieldsForSchema(schema: OpenApiSchema, parent: FormFieldConfig, customizeOrOptions: CustomizerOrSchemaOptions): Promise<FormFieldConfig[]>;
17
- protected getFormFieldsForSchemas(parent: FormFieldConfig, options: ConfigForSchemaWrapOptions, ...schemas: OpenApiSchema[]): Promise<FormFieldConfig<import("../common-types").FormFieldProps>[]>;
18
- protected getFormFieldsForProp(property: OpenApiSchemaProperty, schema: OpenApiSchema, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): Promise<FormFieldConfig[]>;
19
- protected getFormFieldForProp(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): Promise<FormFieldConfig>;
16
+ protected getFormFieldsForSchemas(parent: FormFieldConfig, options: FormBuilderSchemaOptions, ...schemas: OpenApiSchema[]): Promise<FormFieldConfig<import("../common-types").FormFieldProps>[]>;
17
+ protected getFormFieldsForProp(property: OpenApiSchemaProperty, schema: OpenApiSchema, options: FormBuilderSchemaOptions, parent: FormFieldConfig): Promise<FormFieldConfig[]>;
18
+ protected getFormFieldForProp(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): Promise<FormFieldConfig>;
20
19
  protected checkIsEditorProperty(property: OpenApiSchemaProperty): boolean;
21
- protected getFormFieldData(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions): FormFieldData;
22
- protected getFormArrayConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): Promise<FormFieldConfig>;
23
- protected getFormGroupConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): Promise<FormFieldConfig>;
24
- protected getFormInputConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
25
- protected getFormTextareaConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
26
- protected getFormEditorConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
27
- protected getFormDateConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
28
- protected getFormSelectConfig($enum: string[], property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
29
- protected getFormUploadConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
30
- protected getFormCheckboxConfig(property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, parent: FormFieldConfig): FormFieldConfig;
31
- protected getFormSelectOptions($enum: string[], property: OpenApiSchemaProperty, options: ConfigForSchemaWrapOptions, field: FormFieldConfig): FormSelectOptions;
32
- protected getFormEnumOptions($enum: string[], id: string, options: ConfigForSchemaWrapOptions, field: FormFieldConfig): FormSelectOptions;
20
+ protected getFormFieldData(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions): FormFieldData;
21
+ protected getFormArrayConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): Promise<FormFieldConfig>;
22
+ protected getFormGroupConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): Promise<FormFieldConfig>;
23
+ protected getFormInputConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
24
+ protected getFormTextareaConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
25
+ protected getFormEditorConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
26
+ protected getFormDateConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
27
+ protected getFormSelectConfig($enum: string[], property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
28
+ protected getFormUploadConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
29
+ protected getFormCheckboxConfig(property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, parent: FormFieldConfig): FormFieldConfig;
30
+ protected getFormSelectOptions($enum: string[], property: OpenApiSchemaProperty, options: FormBuilderSchemaOptions, field: FormFieldConfig): FormSelectOptions;
31
+ protected getFormEnumOptions($enum: string[], id: string, options: FormBuilderSchemaOptions, field: FormFieldConfig): FormSelectOptions;
33
32
  protected getFormEndpointOptions(property: OpenApiSchemaProperty, field: FormFieldConfig): FormSelectOptions;
34
33
  protected getFormPathOptions(path: string, field: FormFieldConfig): FormSelectOptions;
35
34
  protected replaceOptionsEndpoint(endpoint: string, key: string, value: any): string;
@@ -1,7 +1,6 @@
1
1
  import { Injector } from "@angular/core";
2
2
  import { AbstractControl, FormGroup } from "@angular/forms";
3
- import { IApiService } from "@stemy/ngx-utils";
4
- import { CustomizerOrSchemaOptions, FormFieldConfig, FormSerializeResult, IDynamicForm } from "../common-types";
3
+ import { CustomizerOrSchemaOptions, FormFieldConfig, FormSchemaNotFoundHandler, FormSerializeResult, IDynamicForm } from "../common-types";
5
4
  import { DynamicFormSchemaService } from "./dynamic-form-schema.service";
6
5
  import { DynamicFormBuilderService } from "./dynamic-form-builder.service";
7
6
  import * as i0 from "@angular/core";
@@ -9,8 +8,8 @@ export declare class DynamicFormService {
9
8
  protected readonly fs: DynamicFormSchemaService;
10
9
  protected readonly fb: DynamicFormBuilderService;
11
10
  protected readonly injector: Injector;
12
- protected readonly api: IApiService;
13
- constructor(fs: DynamicFormSchemaService, fb: DynamicFormBuilderService, injector: Injector, api: IApiService);
11
+ protected readonly schemaNotFound: FormSchemaNotFoundHandler;
12
+ constructor(fs: DynamicFormSchemaService, fb: DynamicFormBuilderService, injector: Injector, schemaNotFound: FormSchemaNotFoundHandler);
14
13
  getFormFieldsForSchema(name: string, customizeOrOptions?: CustomizerOrSchemaOptions): Promise<FormFieldConfig[]>;
15
14
  getFormFieldGroupForSchema(name: string, customizeOrOptions?: CustomizerOrSchemaOptions): Promise<FormFieldConfig>;
16
15
  protected getFormFieldGroupBySchemaName(name: string, customizeOrOptions: CustomizerOrSchemaOptions, restrictedMethod: string): Promise<FormFieldConfig>;
@@ -1,14 +1,9 @@
1
1
  import { Injector } from "@angular/core";
2
- import { KeysOfType, MaybeArray, OpenApiSchema, OpenApiSchemaProperty } from "@stemy/ngx-utils";
3
- import { AllValidationErrors, CustomizerOrSchemaOptions, FormBuilderOptionsBase, FormFieldArrayItemsAction, FormFieldConfig, FormFieldExpression, FormFieldProps } from "../common-types";
4
2
  import { AbstractControl } from "@angular/forms";
3
+ import { KeysOfType, MaybeArray, OpenApiSchema } from "@stemy/ngx-utils";
4
+ import { AllValidationErrors, CustomizerOrSchemaOptions, FormBuilderSchemaOptions, FormFieldArrayItemsAction, FormFieldConfig, FormFieldExpression, FormFieldProps } from "../common-types";
5
5
  export type ConfigForSchemaWrapMode = "wrap" | "customizer";
6
- export interface ConfigForSchemaWrapOptions extends Required<FormBuilderOptionsBase> {
7
- readonly injector: Injector;
8
- readonly schema: OpenApiSchema;
9
- customize(field: FormFieldConfig, property: OpenApiSchemaProperty, schema: OpenApiSchema): Promise<FormFieldConfig[]>;
10
- }
11
- export declare function toWrapOptions(customizeOrOptions: CustomizerOrSchemaOptions | ConfigForSchemaWrapOptions, injector: Injector, schema: OpenApiSchema, errorMsg?: string): Promise<ConfigForSchemaWrapOptions>;
6
+ export declare function toWrapOptions(customizeOrOptions: CustomizerOrSchemaOptions | FormBuilderSchemaOptions, injector: Injector, schema: OpenApiSchema, errorMsg?: string): Promise<FormBuilderSchemaOptions>;
12
7
  export declare function toStringArray(value: string | string[]): string[];
13
8
  export declare function handleConfigs(configs: MaybeArray<FormFieldConfig>): FormFieldConfig<FormFieldProps>[];
14
9
  export declare function arrayItemActionToExpression(actionName: KeysOfType<FormFieldProps, FormFieldArrayItemsAction>): FormFieldExpression;
@@ -16,4 +11,5 @@ interface FormGroupControls {
16
11
  [key: string]: AbstractControl;
17
12
  }
18
13
  export declare function getFormValidationErrors(controls: FormGroupControls, parentPath?: string): AllValidationErrors[];
14
+ export declare const CUSTOM_INPUT_TYPES: ReadonlyArray<string>;
19
15
  export {};
@@ -45,5 +45,4 @@ export declare function isFieldHidden(field: FormFieldConfig): boolean;
45
45
  export declare const MIN_INPUT_NUM = -1999999999;
46
46
  export declare const MAX_INPUT_NUM = 1999999999;
47
47
  export declare const EDITOR_TYPES: ReadonlyArray<string>;
48
- export declare const CUSTOM_INPUT_TYPES: ReadonlyArray<string>;
49
48
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stemy/ngx-dynamic-form",
3
- "version": "19.9.38",
3
+ "version": "19.9.40",
4
4
  "license": "MIT",
5
5
  "public": true,
6
6
  "repository": "https://github.com/stemyke/ngx-dynamic-form.git",
package/public_api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { FORM_ROOT_ID, FormFieldKey, FormFieldLabelCustomizer, FormBuilderOptions, FormFieldArrayItemsAction, FormFieldProps, FormFieldSerializer, FormHookFn, FormHookConfig, FormFieldExpression, FormFieldExpressions, FormFieldConfig, FormFieldLookup, FormFieldType, FormFieldChangeEvent, FormSerializeResult, FormSelectOption, FormSelectOptions, FormSelectOptionsFactory, FormFieldConditionFn, FormFieldCondition, IDynamicForm, ValidationMessageFn, ValidatorFn, ValidatorFactory, ValidatorExpression, Validators, AsyncValidatorFn, AsyncValidatorExpression, AsyncValidators, AllValidationErrors, FormFieldCustom, FormFieldData, FormInputData, FormSelectData, FormStaticData, FormDateData, FormUploadData, FormGroupData, FormArrayData, FormSerializerData, FormFieldSetData, AsyncSubmitMode, AsyncSubmitMethod, FormTemplateType, FormFieldCustomizer, ConfigForSchemaOptions, DynamicFormStatus, DynamicFormUpdateOn, DEFAULT_NUMERIC_STEP, IDynamicFormModuleConfig, } from "./ngx-dynamic-form/common-types";
1
+ export { FORM_ROOT_ID, FormFieldKey, FormFieldLabelCustomizer, FormBuilderOptions, FormFieldArrayItemsAction, FormFieldProps, FormFieldSerializer, FormHookFn, FormHookConfig, FormFieldExpression, FormFieldExpressions, FormFieldConfig, FormFieldLookup, FormFieldType, FormFieldChangeEvent, FormSerializeResult, FormSelectOption, FormSelectOptions, FormSelectOptionsFactory, FormFieldConditionFn, FormFieldCondition, IDynamicForm, ValidationMessageFn, ValidatorFn, ValidatorFactory, ValidatorExpression, Validators, AsyncValidatorFn, AsyncValidatorExpression, AsyncValidators, AllValidationErrors, FormFieldCustom, FormFieldData, FormInputData, FormSelectData, FormStaticData, FormDateData, FormUploadData, FormGroupData, FormArrayData, FormSerializerData, FormFieldSetData, AsyncSubmitMode, AsyncSubmitMethod, FormTemplateType, FormFieldCustomizer, ConfigForSchemaOptions, CustomizerOrSchemaOptions, FormBuilderSchemaOptions, DynamicFormStatus, DynamicFormUpdateOn, FormSchemaNotFoundHandler, formSchemaNotFound, DEFAULT_NUMERIC_STEP, FORM_SCHEMA_NOT_FOUND, IDynamicFormModuleConfig, } from "./ngx-dynamic-form/common-types";
2
2
  export { IFormFieldCustomizer, customizeFormField } from "./ngx-dynamic-form/utils/customizer";
3
3
  export { FormInput, FormSelect, FormStatic, FormDate, FormUpload, FormGroup, FormArray, FormSerializable, FormFieldSet } from "./ngx-dynamic-form/utils/decorators";
4
4
  export { addFieldValidators, removeFieldValidators, jsonValidation, requiredValidation, translationValidation, phoneValidation, emailValidation, arrayLengthValidation, minLengthValidation, maxLengthValidation, minValueValidation, maxValueValidation, enumValidation, equalsValidation, setFieldMinDate } from "./ngx-dynamic-form/utils/validation";