UNPKG

@chief-editor/flow

Version:

Old核心数据流

42 lines (41 loc) 2.47 kB
import { IBoardInfo, IBrick, IBrickDataGlobal, IBrickInstance, IValidateInfo } from '@chief-editor/base'; export declare type PromiseResult<T> = Promise<T> | T; export interface IFlowBrickLifeCycle<V, DS, DP, CG, ST> { onLoaded: (_: void, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onDispose: (_: void, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onBeforeRefreshBrick: (_: void, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onAfterRefreshBrick: (_: void, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onBeforeValidate: (_: void, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onAfterValidate: (_: void, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onBeforeGetDatasource: <E>(extra: E, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<E>; onAfterGetDatasource: (data: DS, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onCheckValidateValue: (value: V, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<V | null>; onBeforeChange: (value: V, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<V>; onValueChange?: (value: V, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onAfterChange: (value: V, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<void>; onCatchErrorInfo: (info: IValidateInfo, path: IBrick<V, DS, DP, CG, ST>) => PromiseResult<string>; } export interface IFlowBrickRenderConfig { updateWhenLoading: boolean; updateWhenValidating: boolean; updateUntilReady: boolean; } export interface IFlowPartMapInfo { key: string; part: string; bricks?: IBrickDataGlobal[]; repeat?: boolean; field?: string; } export interface IFlowBrickConfig<V, DS, DP, CG, ST> extends Partial<IFlowBrickLifeCycle<V, DS, DP, CG, ST>> { getInitialState(): ST; getDynamicInitialState(path: IBrickInstance<V, DS, DP, CG, ST>): ST; getDefaultValue(): V; getDynamicDefaultValue(path: IBrickInstance<V, DS, DP, CG, ST>): V; getInitialDatasource(): DS; getPartBoardInfoFromBrickData(path: IBrickInstance<V, DS, DP, CG, ST>, part: string): IBoardInfo | null; getPartKeyMapFromBrickData?(path: IBrickInstance<V, DS, DP, CG, ST>): IFlowPartMapInfo[]; getDisplayData(path: IBrickInstance<V, DS, DP, CG, ST>): DP; getRenderConfig(path: IBrickInstance<V, DS, DP, CG, ST>): IFlowBrickRenderConfig; } export declare type IFlowBrickConfigGlobal = IFlowBrickConfig<any, any, any, any, any>;