@velis/dynamicforms
Version:
Data entry boilerplate components and a RESTful API consumer
38 lines • 1.42 kB
TypeScript
/**
* 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