UNPKG

@ng-flexy/form

Version:

Flexy components and tools to build Angular 8+ applications

42 lines (41 loc) 1.63 kB
import { FlexyLayoutComponentJsonSchema, FlexyLayoutJson, FlexyLayoutGridJsonSchema } from '@ng-flexy/layout'; export declare const COMPLEX_TYPE_INDEX_MARKER = "{%}"; export declare enum FlexyFormFieldType { String = "string", Number = "number", Boolean = "boolean", Array = "array", Group = "group" } export interface FlexyFormLayoutJson extends FlexyLayoutJson { schema: FlexyFormLayoutJsonSchema[]; } export declare type FlexyFormLayoutJsonSchema = FlexyFormFieldLayoutJsonSchema | FlexyFormComplexFieldLayoutJsonSchema | FlexyFormIfJsonSchema | FlexyFormCalcJsonSchema | FlexyFormGridJsonSchema | FlexyFormComponentJsonSchema; export interface FlexyFormGridJsonSchema extends FlexyLayoutGridJsonSchema { children?: FlexyFormLayoutJsonSchema[]; } export interface FlexyFormComponentJsonSchema extends FlexyLayoutComponentJsonSchema { children?: FlexyFormLayoutJsonSchema[]; } export interface FlexyFormIfJsonSchema extends FlexyFormGridJsonSchema { if: string; } export interface FlexyFormCalcJsonSchema extends FlexyFormComponentJsonSchema { calc: string; name?: string; } export interface FlexyFormFieldLayoutJsonSchema extends FlexyFormComponentJsonSchema { name: string; type?: FlexyFormFieldType; validators?: FlexyFormFieldLayoutValidators; } export interface FlexyFormComplexFieldLayoutJsonSchema extends FlexyFormFieldLayoutJsonSchema { items: FlexyFormLayoutJsonSchema; indexDef?: string; indexPattern?: string; indexGenPattern?: string; groupKey?: string; } export interface FlexyFormFieldLayoutValidators { [validatorName: string]: any; }