UNPKG

@ng-formworks/core

Version:

Angular ng-formworks - JSON Schema Form builder core

84 lines (83 loc) 2.99 kB
import { TitleMapItem } from '../json-schema-form.service'; /** * Layout function library: * * buildLayout: Builds a complete layout from an input layout and schema * * buildLayoutFromSchema: Builds a complete layout entirely from an input schema * * mapLayout: * * getLayoutNode: * * buildTitleMap: */ /** * 'buildLayout' function * * // jsf * // widgetLibrary * // */ export declare function buildLayout_original(jsf: any, widgetLibrary: any): any[]; export declare function buildLayout(jsf: any, widgetLibrary: any): any[]; /** * 'buildLayoutFromSchema' function * * // jsf - * // widgetLibrary - * // nodeValue - * // { string = '' } schemaPointer - * // { string = '' } dataPointer - * // { boolean = false } arrayItem - * // { string = null } arrayItemType - * // { boolean = null } removable - * // { boolean = false } forRefLibrary - * // { string = '' } dataPointerPrefix - * // */ export declare function buildLayoutFromSchema(jsf: any, widgetLibrary: any, nodeValue?: any, schemaPointer?: string, dataPointer?: string, arrayItem?: boolean, arrayItemType?: string, removable?: boolean, forRefLibrary?: boolean, dataPointerPrefix?: string, jsonSchema?: any): any; /** * 'mapLayout' function * * Creates a new layout by running each element in an existing layout through * an iteratee. Recursively maps within array elements 'items' and 'tabs'. * The iteratee is invoked with four arguments: (value, index, layout, path) * * The returned layout may be longer (or shorter) then the source layout. * * If an item from the source layout returns multiple items (as '*' usually will), * this function will keep all returned items in-line with the surrounding items. * * If an item from the source layout causes an error and returns null, it is * skipped without error, and the function will still return all non-null items. * * // layout - the layout to map * // { (v: any, i?: number, l?: any, p?: string) => any } * function - the funciton to invoke on each element * // { string|string[] = '' } layoutPointer - the layoutPointer to layout, inside rootLayout * // { any[] = layout } rootLayout - the root layout, which conatins layout * // */ export declare function mapLayout(layout: any, fn: any, layoutPointer?: string, rootLayout?: any): any[]; /** * 'getLayoutNode' function * Copy a new layoutNode from layoutRefLibrary * * // refNode - * // layoutRefLibrary - * // { any = null } widgetLibrary - * // { any = null } nodeValue - * // copied layoutNode */ export declare function getLayoutNode(refNode: any, jsf: any, widgetLibrary?: any, nodeValue?: any): any; /** * 'buildTitleMap' function * * // titleMap - * // enumList - * // { boolean = true } fieldRequired - * // { boolean = true } flatList - * // { TitleMapItem[] } */ export declare function buildTitleMap(titleMap: any, enumList: any, fieldRequired?: boolean, flatList?: boolean): TitleMapItem[];