import { IPSControl } from '../ipscontrol'; import { IPSControlAction } from '../ipscontrol-action'; import { IPSControlContainer } from '../ipscontrol-container'; import { IPSLayoutContainer } from '../layout/ipslayout-container'; import { IPSPanelField } from './ipspanel-field'; import { IPSPanelItem } from './ipspanel-item'; /** * * 子接口类型识别属性[] * @export * @interface IPSPanel */ export interface IPSPanel extends IPSControl, IPSControlContainer, IPSLayoutContainer { /** * 面板字段项集合 * * @type {IPSPanelField[]} */ getAllPSPanelFields(): IPSPanelField[] | null; /** * 面板字段项集合 * * @type {IPSPanelField[]} */ get allPSPanelFields(): IPSPanelField[] | null; findPSPanelField(objKey: any): IPSPanelField | null; /** * 代码标识 * @type {string} */ codeName: string; /** * 面板数据模式 * @description 值模式 [面板数据模式] {0:不获取(使用传入数据)、 1:未传入时获取、 2:始终获取、 3:绑定到应用全局变量、 4:绑定到路由视图会话变量、 5:绑定到当前视图会话变量 } * @type {( number | 0 | 1 | 2 | 3 | 4 | 5)} * @default 0 */ dataMode: number | 0 | 1 | 2 | 3 | 4 | 5; /** * 数据对象名称 * @type {string} */ dataName: string; /** * 面板数据刷新间隔 * @type {number} * @default -1 */ dataTimer: number; /** * 获取数据行为 * * @type {IPSControlAction} */ getGetPSControlAction(): IPSControlAction | null; /** * 获取数据行为 * * @type {IPSControlAction} */ get getPSControlAction(): IPSControlAction | null; /** * 获取数据行为(必须存在) * * @type {IPSControlAction} */ getGetPSControlActionMust(): IPSControlAction; /** * 布局模式 * @description 值模式 [面板布局模型] {TABLE:表格、 TABLE_12COL:栅格布局(12列)、 TABLE_24COL:栅格布局(24列)、 FLEX:Flex布局、 BORDER:边缘布局、 ABSOLUTE:绝对布局 } * @type {( string | 'TABLE' | 'TABLE_12COL' | 'TABLE_24COL' | 'FLEX' | 'BORDER' | 'ABSOLUTE')} */ layoutMode: string | 'TABLE' | 'TABLE_12COL' | 'TABLE_24COL' | 'FLEX' | 'BORDER' | 'ABSOLUTE'; /** * 面板样式 * @type {string} */ panelStyle: string; /** * 面板宽度 * @type {number} * @default 0.0 */ panelWidth: number; /** * 面板顶级成员集合 * * @type {IPSPanelItem[]} */ getRootPSPanelItems(): IPSPanelItem[] | null; /** * 面板顶级成员集合 * * @type {IPSPanelItem[]} */ get rootPSPanelItems(): IPSPanelItem[] | null; findRootPSPanelItem(objKey: any): IPSPanelItem | null; /** * 布局面板 * @type {boolean} * @default false */ layoutPanel: boolean; /** * 移动端面板 * @type {boolean} * @default false */ mobilePanel: boolean; }