UNPKG

nz-json-schema-form

Version:

Schema form for JSON schema

46 lines (45 loc) 2.05 kB
import { AbstractControl, UntypedFormArray, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; import { Subject } from 'rxjs'; import { NzSchema } from '../interfaces/nz-schema'; import { SchemaContext } from './schema-context'; import { SchemaFormBuilder } from './schema-form-builder'; export type UpdateSchemaFun = (schema: NzSchema) => NzSchema; export declare abstract class AbstractSchemaControl extends AbstractControl { schemaContext: SchemaContext; onUpdateSchema$: Subject<NzSchema>; abstract updateSchema(schemaOrFun: NzSchema | UpdateSchemaFun): void; } export declare class SchemaFormControl extends UntypedFormControl implements AbstractSchemaControl { schemaContext: SchemaContext; onUpdateSchema$: Subject<NzSchema>; get updateSchema(): (schemaOrFun: NzSchema | UpdateSchemaFun) => void; get(path: Array<string | number> | string): AbstractSchemaControl | null; setValue(value: any, options?: { onlySelf?: boolean; emitEvent?: boolean; emitModelToViewChange?: boolean; emitViewToModelChange?: boolean; }): void; } export declare class SchemaFormGroup extends UntypedFormGroup implements AbstractSchemaControl { schemaContext: SchemaContext; controls: { [key: string]: AbstractSchemaControl; }; onUpdateSchema$: Subject<NzSchema>; get updateSchema(): (schemaOrFun: NzSchema | UpdateSchemaFun) => void; get(path: Array<string | number> | string): AbstractSchemaControl | null; } export declare class SchemaFormArray extends UntypedFormArray implements AbstractSchemaControl { schemaContext: SchemaContext; controls: AbstractSchemaControl[]; onUpdateSchema$: Subject<NzSchema>; onControlsChange: Subject<void>; _builder: SchemaFormBuilder; get updateSchema(): (schemaOrFun: NzSchema | UpdateSchemaFun) => void; get(path: Array<string | number> | string): AbstractSchemaControl | null; setValue(value: any[], options?: { onlySelf?: boolean; emitEvent?: boolean; }): void; }