import { IPSAppDEUILogic } from '../dataentity/ipsapp-deuilogic'; import { IPSAppDataEntity } from '../dataentity/ipsapp-data-entity'; import { IPSAppUILogic } from '../logic/ipsapp-uilogic'; import { IPSAppViewEngine } from './ipsapp-view-engine'; import { IPSAppViewUIAction } from './ipsapp-view-uiaction'; import { IPSModelObject } from '../../ipsmodel-object'; /** * * 子接口类型识别属性[] * @export * @interface IPSAppViewLogic */ export interface IPSAppViewLogic extends IPSModelObject { /** * 注入属性名称 * @type {string} */ attrName: string; /** * 事件参数 * @type {string} */ eventArg: string; /** * 事件参数2 * @type {string} */ eventArg2: string; /** * 事件名称 * @type {string} */ eventNames: string; /** * 子项名称 * @type {string} */ itemName: string; /** * 逻辑标记 * @type {string} */ logicParam: string; /** * 逻辑标记2 * @type {string} */ logicParam2: string; /** * 逻辑触发 * @description 值模式 [实体视图逻辑类型] {TIMER:定时器触发、 VIEWEVENT:视图事件触发、 CTRLEVENT:部件事件触发、 ITEMVISIBLE:项显示逻辑、 ITEMENABLE:项启用逻辑、 ITEMBLANK:项空输入逻辑、 ATTRIBUTE:注入属性、 CUSTOM:只挂接(外部调用)、 VUE_DIRECTIVE:VUE指令 } * @type {( string | 'TIMER' | 'VIEWEVENT' | 'CTRLEVENT' | 'ITEMVISIBLE' | 'ITEMENABLE' | 'ITEMBLANK' | 'ATTRIBUTE' | 'CUSTOM' | 'VUE_DIRECTIVE')} */ logicTrigger: string | 'TIMER' | 'VIEWEVENT' | 'CTRLEVENT' | 'ITEMVISIBLE' | 'ITEMENABLE' | 'ITEMBLANK' | 'ATTRIBUTE' | 'CUSTOM' | 'VUE_DIRECTIVE'; /** * 触发逻辑类型 * @type {string} */ logicType: string; /** * 部件容器 * @type {IModel} */ owner: IModel; /** * 应用实体界面逻辑对象 * * @type {IPSAppDEUILogic} */ getPSAppDEUILogic(): IPSAppDEUILogic | null; /** * 应用实体界面逻辑对象 * * @type {IPSAppDEUILogic} */ get psAppDEUILogic(): IPSAppDEUILogic | null; /** * 应用实体界面逻辑对象(必须存在) * * @type {IPSAppDEUILogic} */ getPSAppDEUILogicMust(): IPSAppDEUILogic; /** * 应用实体对象 * * @type {IPSAppDataEntity} */ getPSAppDataEntity(): IPSAppDataEntity | null; /** * 应用实体对象 * * @type {IPSAppDataEntity} */ get psAppDataEntity(): IPSAppDataEntity | null; /** * 应用实体对象(必须存在) * * @type {IPSAppDataEntity} */ getPSAppDataEntityMust(): IPSAppDataEntity; /** * 应用预置界面逻辑 * * @type {IPSAppUILogic} */ getPSAppUILogic(): IPSAppUILogic | null; /** * 应用预置界面逻辑 * * @type {IPSAppUILogic} */ get psAppUILogic(): IPSAppUILogic | null; /** * 应用预置界面逻辑(必须存在) * * @type {IPSAppUILogic} */ getPSAppUILogicMust(): IPSAppUILogic; /** * 视图界面引擎 * * @type {IPSAppViewEngine} */ getPSAppViewEngine(): IPSAppViewEngine | null; /** * 视图界面引擎 * * @type {IPSAppViewEngine} */ get psAppViewEngine(): IPSAppViewEngine | null; /** * 视图界面引擎(必须存在) * * @type {IPSAppViewEngine} */ getPSAppViewEngineMust(): IPSAppViewEngine; /** * 调用视图逻辑 * * @type {IPSAppViewLogic} */ getPSAppViewLogic(): IPSAppViewLogic | null; /** * 调用视图逻辑 * * @type {IPSAppViewLogic} */ get psAppViewLogic(): IPSAppViewLogic | null; /** * 调用视图逻辑(必须存在) * * @type {IPSAppViewLogic} */ getPSAppViewLogicMust(): IPSAppViewLogic; /** * 视图界面行为 * * @type {IPSAppViewUIAction} */ getPSAppViewUIAction(): IPSAppViewUIAction | null; /** * 视图界面行为 * * @type {IPSAppViewUIAction} */ get psAppViewUIAction(): IPSAppViewUIAction | null; /** * 视图界面行为(必须存在) * * @type {IPSAppViewUIAction} */ getPSAppViewUIActionMust(): IPSAppViewUIAction; /** * 部件名称 * @type {string} */ psViewCtrlName: string; /** * 部件名称 * @type {string} */ getPSViewCtrlName(): string; /** * 脚本代码 * @type {string} */ scriptCode: string; /** * 定时间隔(ms) * @type {number} * @default 0 */ timer: number; /** * 内建逻辑 * @type {boolean} * @default true */ builtinLogic: boolean; }