UNPKG

@farris/devkit-vue

Version:
102 lines (101 loc) 2.46 kB
import { Reactive } from 'vue'; import { Injector } from '../common/index'; import { Entity, EntityState, EntityStore, UIState, UIStore, FormState, FormStore, FormArrayState, FormArrayStore, StateMachineState, StateMachine } from '../store/index'; import { Repository } from '../repository/index'; import { Command, CommandBus } from '../command/index'; import { ViewModelConfig, ViewModelConfigManager } from './configs/index'; import { ViewModelNode } from './viewmodel-node'; /** * 注入Token */ declare const VIEWMODEL_INJECTION_TOKEN: unique symbol; /** * 视图模型状态 */ declare class ViewModelState { /** * 实体状态 * BAP: BA统一查询平台支持多个entityState,所以新增any类型 */ entityState?: EntityState<Entity> | any; /** * UI状态 */ uiState?: UIState; /** * 表单状态 */ form?: FormState; /** * 表单数组状态 */ formArray?: FormArrayState; /** * 状态机状态 */ stateMachine?: StateMachineState; } /** * 视图模型 */ declare class ViewModel<S extends ViewModelState> extends ViewModelNode { /** * ID */ id: string; /** * 配置管理 */ configManager: ViewModelConfigManager; /** * 实体曾库 * BAP: BA统一查询平台支持多个entityStore,所以新增any类型 */ entityStore: EntityStore<EntityState<Entity>> | any | null; /** * UI仓库 */ uiStore: UIStore<UIState> | null; /** * 表单仓库 */ formStore: FormStore<FormState> | null; /** * 表单数组仓库 */ formArrayStore: FormArrayStore<FormArrayState> | null; /** * 状态机 */ stateMachine: StateMachine<StateMachineState> | null; /** * 远程实体仓库 * BAP: BA统一查询平台支持多个repository,所以新增any类型 */ repository: Repository<Entity> | any; /** * 视图模型状态 */ state: Reactive<S>; /** * 命令总线 */ commandBus: CommandBus | null; /** * 是否启用验证 */ enableValidation: boolean; /** * 构造函数 */ constructor(injector: Injector); /** * 初始化 */ init(config: ViewModelConfig): void; /** * 初始化命令总线 */ dispatch(command: Command): any; } export { VIEWMODEL_INJECTION_TOKEN, ViewModelState, ViewModel };