UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

61 lines (60 loc) 2.93 kB
import { DesignerHostService } from "../../designer-canvas/src/composition/types"; export type MapperFunction = (key: string, value: any, resolvedSchema?: any) => Record<string, any>; export interface SchemaService { closest: (componentId: string, componentType: string) => Record<string, any> | null; getSchemaById: (string: any) => Record<string, any>; load: (componentSchema: Record<string, any>) => void; select: (root: Record<string, any>, predicate: (child: Record<string, any>) => boolean) => Record<string, any>; getRealEditorType: (editorType: string) => string; updateExpression: (expressionItem: any) => void; getExpressionRuleValue: (expressionId: string, ruleType: string) => string; } export interface PropertyConverter { convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any, schemaService: SchemaService, componentId?: string) => void; convertFrom: (schema: Record<string, any>, propertyKey: string, schemaService: SchemaService, componentId?: string) => any; } export interface DynamicResolver { getSchemaByType: (componentType: string, resolveContext?: Record<string, any>, designerHostService?: DesignerHostService) => Record<string, any> | null; getPropertyConfigByType?: (componentType: string) => Record<string, any> | null; } export type SchemaResolverFunction = (dynamicResolver: DynamicResolver, schema: Record<string, any>, resolveContext: Record<string, any>, designerHostService?: DesignerHostService) => Record<string, any>; export type EffectFunction = (source: Record<string, any>) => Record<string, any>; export interface EventDispatcher { dispatch(token: string, eventName: string, ...payloads: any[]): any; } export interface BindingModel { getValue(field: string): any; setValue(field: string, value: any): any; getList(dataSource: string): any; updateData(...payloads: any[]): any; dataMapping(...payloads: any[]): any; } export interface BindingData { getValue(elementId: string): any; setValue(elementId: string, field: string | undefined, value: any): any; onValueChange: (callback: (event: any) => void) => void; } export interface BindingResolver { resolve(schema: Record<string, any>, bindingData: BindingData): any; } export interface SelectionItemResolver { selectItemById(component: any, id: string): any; } export interface EditorResolver { resolve(schema: Record<string, any>): any; } export interface UpdateColumnsResolver { updateColumns(component: any, schema: Record<string, any>): any; } export interface ViewEvent { token: string; type: string; name: string; payloads: any[]; } export interface EventHandlerResolver { resolve(schema: Record<string, any>, event: ViewEvent): any; } export interface Caller { call: (methodName: string, viewSchema: Record<string, any>, payloads: any[], editorSchema?: Record<string, any>) => any; }