UNPKG

d-render

Version:

基于 Element Plus 二次封装的数据驱动渲染组件库 - 表单、搜索表单、表格配置化渲染

57 lines (56 loc) 2.33 kB
import { IAnyObject, IRenderConfigDependOn, TFormConfig, IRenderConfigDependOnEffect } from '@d-render/shared'; import { IKey } from './util'; type TEffectFn = ((...args: unknown[]) => unknown | Promise<unknown>) | boolean; interface IPrivateParam { keys: Array<string>; oldValues: Array<unknown>; } type TEffect = [ TEffectFn, IPrivateParam ]; export type IEffects = Array<TEffect>; export type IExecutor = (values: IAnyObject, outValues: IAnyObject | undefined, effects: IEffects, dependOldValues?: IAnyObject) => void | Promise<void>; interface IGlobalParam { values: IAnyObject; outValues?: IAnyObject; keys: Array<IKey>; oldValues: Array<unknown>; executeChangeValueEffect: boolean; dependOldValues?: IAnyObject; } interface IEffectExecutorConfig { executor: IExecutor; condition?: (effects: IEffects, executeChangeValueEffect: boolean) => boolean; transformStrEffect?: (effectStr: string) => Function; } export interface IEffectExecutorConfigs { [propname: string]: IEffectExecutorConfig; } interface IEffectConfig { [propname: string]: IEffects; } interface IEffectParam { keys?: Array<string>; effect?: IRenderConfigDependOn['effect']; oldValues?: Array<unknown>; } type IEffectParams = Array<IEffectParam>; export declare class EffectExecutor { config: IEffectExecutorConfigs; types: Array<string>; executeChangeValueEffect?: boolean; values?: IAnyObject; outValues?: IAnyObject; dependOldValues?: IAnyObject; effectsConfig?: IEffectConfig; constructor(config?: IEffectExecutorConfigs); setExecutor(type: string, executor: IExecutor): void; compatibleEffect(effectConfig: IRenderConfigDependOnEffect, type: string, param: IPrivateParam | IGlobalParam): (TEffectFn | IPrivateParam | IGlobalParam)[][]; getGlobalEffect(fieldConfig: TFormConfig, type: string): any; getExecuteEffect(params: IEffectParams, fieldConfig: TFormConfig, globalParam: IGlobalParam): IEffectConfig; analysisEffects(effectParams: IEffectParams, config: TFormConfig, globalParam: IGlobalParam): void; execute(type: string, logKey: string, ...args: [effects: IEffects, executeChangeValueEffect: boolean]): void; executeAll(logKey: string): void; } export {};