UNPKG

@farris/renderer

Version:

Render schema to web page with farris ui.

265 lines (264 loc) 6.19 kB
import { ExpressionBindingType, ExpressionType } from "@farris/devkit-vue"; import { EventEmitter } from "./common"; export interface EntityFieldMetadata { id: string; required: any; multiLanguage: boolean; defaultValue: any; readonly: any; bindingPath: string; label: string; type: Record<string, any>; name: string; } export interface EntityTypeMetadata { entities: EntityMetadata[]; primary: string; displayName: string; fields: EntityFieldMetadata[]; name: string; } export interface EntityMetadata { id: string; label: string; code: string; type: EntityTypeMetadata; name: string; } export interface ViewModelFieldMetadata { id: string; type: string; fieldName: string; groupId: string; groupName: string; } export interface CommandParamMetadata { name: string; shownName: string; value: string; } export interface CommandRefMetadata { id: string; code: string; name: string; params?: CommandParamMetadata[]; handlerName: string; cmpId: string; isInvalid: boolean; } export interface StateMetadata { id: string; code: string; name: string; type: string; category: string; } export interface PaginationMetadata { enable: boolean; pageSize: number; pageList: string; } export interface ViewModelMetadata { id: string; code: string; name: string; fields?: ViewModelFieldMetadata[]; commands?: CommandRefMetadata[]; states?: StateMetadata[]; bindTo?: string; parent?: string; enableUnifiedSession?: boolean; enableValidation?: boolean; pagination?: PaginationMetadata; serviceRefs?: any[]; } export interface StateMachineRefMetadata { /** * 状态机标识,非元数据id */ id: string; name: string; /** * 状态机元数据id */ uri: string; code: string; nameSpace: string; } export interface RefedHandlerMetadata { host: string; handler: string; } export interface WebCommandRefMetadata { id: string; path: string; name: string; refedHandlers: RefedHandlerMetadata[]; code: string; nameSpace: string; } export interface ComponentAppearanceMetadata { class: string; style?: string; } export interface ComponentMetadata { id: string; type: string; appearance?: ComponentAppearanceMetadata | null; componentType: string; viewModel: string; onInit: string; afterViewInit: string; contents: ComponentMetadata[]; items?: any[]; visible: string | boolean; component?: ComponentMetadata; [prop: string]: any; } export interface VariableMetadata { id: string; name: string; path: string; defaultValue: any; readonly: boolean; bindingField: string; bindingPath: string; code: string; label: string; type: any; } export interface EntityModelMetadata { id: string; code: string; name: string; extendProperties: any; entities: EntityMetadata[]; sourceUri: string; sourceType: string; voPath: string; eapiNameSpace: string; eapiName: string; eapiCode: string; eapiId: string; variables: VariableMetadata[]; } export interface ModuleMetadata { id: string; code: string; name: string; bootstrap: string; entity: EntityModelMetadata[]; stateMachines: StateMachineRefMetadata[]; viewmodels: ViewModelMetadata[]; components: ComponentMetadata[]; webcmds: WebCommandRefMetadata[]; expressions: any[]; actions: any[]; [prop: string]: any; } export interface OptionsMetadata { renderMode: string; formRulePushMode: string; } export interface FormMetadata { module: ModuleMetadata; options: OptionsMetadata; } export interface StateMachineStateMetadata { name: string; state: string; description: string; } export interface StateMachineActionMetadata { [actionName: string]: { name: string; transitTo: string; description: string; }; } export interface StateMachineRenderStateMetadata { [render: string]: { name: string; description: string; condition: any[]; }; } export interface StateMachineMetadata { action: StateMachineActionMetadata; initialState: string; renderState: StateMachineRenderStateMetadata; state: StateMachineStateMetadata[]; } export interface StringResourceMetadata { id: string; resourceType: string; value: string; } export interface ResourceMetadata { originalLanguage: string; stringResources: StringResourceMetadata[]; resourceType: string; } export interface ResolvedEntity { bindingPaths: string[]; primaryKey: string; } export interface ResolvedEntityField { id: string; bindingPath: string; required: any; readonly: any; multiLanguage: boolean; label: string; dataSource: string; } export interface UseEntityResolver { resolve(dataSource: string): ResolvedEntity | null; } export interface UseFieldResolver { resolve(fieldId: string): ResolvedEntityField | null; } export interface UseParamPersistence { persist(): Promise<void>; } export interface UseEventEmitter { emitter: EventEmitter; } export interface UseEventHandler { bind(): void; destroy(): void; } export interface Metadata { id: string; content: any; refs: any[]; extendProperty?: any; code?: string; type?: string; namespace?: string; } export declare enum MetadataType { Component = "component", DataGrid = "data-grid", TreeGrid = "tree-grid" } export interface ViewEvent { token: string; eventName: string; type: string; payloads: any[]; } export declare const ENTITY_STORE_SUFFIX = "-entitystore"; export declare const UI_STORE_SUFFIX = "-uistore"; export declare const REPOSITORY_SUFFIX = "-repository"; export interface RuleMetadata { id: string; type: ExpressionType; value: string; message?: string | null | undefined; } export interface ExpressionMetadata { target: string; targetType: ExpressionBindingType; rules: RuleMetadata[]; }