@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
68 lines (67 loc) • 2.61 kB
TypeScript
import { FormElement, FormComponentCatalogue, EditorComponentCatalogue, EditorComponent, JSONSchema } from '@tomino/dynamic-form';
import { CellHighlighter } from './form/cell_highlighter';
import { ProjectManager } from './project_manager';
import { SchemaRecord } from './editor_types';
import { IStorage, IProject } from '../storage/common_storage';
import { Theme } from './themes/common';
declare type Builder = (form: FormElement, schema: JSONSchema) => DynamicForm.ProjectDataSet;
export declare class EditorState {
static LAST: string;
__id: number;
_dragItem: any;
dragItem: any;
buildProject: Builder;
componentCatalogue: FormComponentCatalogue;
dataSource: any;
editorCatalogue: EditorComponentCatalogue;
form: DynamicForm.FormDataSet;
handlers: any;
highlighter: CellHighlighter;
hoverParent: FormElement;
leftPanelConfig: boolean[];
manager: ProjectManager;
schema: DynamicForm.SchemaDataSet;
state: DynamicForm.StateDataSet;
selectedDataSetTab: string;
selectedParent: DynamicForm.FormDataSet;
selectedParentSchema: DynamicForm.SchemaDataSet;
selectedSourcePath: string;
tabSelection: {
[index: string]: any;
};
types: SchemaRecord[];
theme: Theme;
projectHandlers: string[];
help: string;
dataVersion: number;
dataPreview: string;
previewOpen: boolean;
project: DynamicForm.ProjectDataSet;
alert: any;
authToken: string;
auth: {
user: any;
} & import("mobx").IObservableObject;
app: {};
private _cachedProps;
private _cachedChildProps;
constructor(componentCatalogue?: FormComponentCatalogue, editorCatalogue?: EditorComponentCatalogue, handlers?: any, types?: SchemaRecord[], storage?: IStorage, theme?: string);
loadLastProject(): Promise<import("./form_store").ProjectDataSet>;
readonly data: any;
recomputeData(): void;
recomputeDataBounce: () => void;
highlight(highlighter: CellHighlighter, row: number, column: number, className: string, width?: number, clear?: boolean): void;
highlightMultiple(highlighter: CellHighlighter, cells: {
row: number;
column: number;
className: string;
}[]): void;
changeTab(from: string, to: string): void;
cachedProps(element: EditorComponent): FormElement<any, any>[];
cachedChildProps(element: EditorComponent): FormElement<any, any>[];
load(project: IProject, saveLast?: boolean): void;
duplicateProject(name: string): void;
createProject(name: string): void;
editorProps: FormElement[];
}
export {};