UNPKG

@velis/dynamicforms

Version:

Data entry boilerplate components and a RESTful API consumer

38 lines 1.42 kB
/** * FormField is a JavaScript class representation of JSON form field declaration * * Note: we're just assembling every possible configuration into a flat structure here * This introduces properties that might have nothing to do with a particular field type * Example: only a select field uses the "choices" property, but it's there for all fields. * Some inheritance might have fixed this, but would also introduce additional complexity * as we tried to determine the correct field type from various field properties * * So, right now we aren't doing anything about that! */ import DisplayMode from '../../classes/display-mode'; import { Statement } from '../inputs/conditional-visibility'; import { DfForm } from '../namespace'; import RenderParams from './field-render-params'; export default class FormField { private fieldDef; uuid: string; name: string; label: string; placeholder: string; align: string; visibility: DisplayMode; renderParams: RenderParams; readOnly: boolean; componentName: string; helpText: string; choices: DfForm.ChoicesJSON[]; ajax: DfForm.AJAXJSON; widthClasses: string; allowNull: boolean; renderKey: number; conditionalVisibility: Statement; constructor(fieldDef: DfForm.FormFieldJSON); get isVisible(): boolean; setVisibility(visibility: number): void; } //# sourceMappingURL=field.d.ts.map