面板事件逻辑脚本
在面板中,支持对面板项配置事件逻辑脚本,在脚本中处理业务逻辑,目前支持的面板项事件有:点击(onClick)、聚焦(onFocus)、失焦(onBlur)、值变更(onChange)、回车(onEnter)。
参数
名称 | 类型 | 描述 |
---|---|---|
triggerControlName | string | 触发部件名称,仅面板部件触发时存在 |
triggerEventName | string | 事件名称,仅面板部件触发时存在 |
triggerEvent | IApiData | 触发部件参数,仅面板部件触发时存在 |
panelItemName | string | 面板项名称,仅非面板部件触发时存在 |
panelItemEventName | string | 面板项事件名称,仅非面板部件触发时存在 |
document | Document | 当前文档对象 |
selector | (className: string) => HTMLCollectionOf<Element> | 元素选择器 |
env | IEnvironment | 当前环境对象 |
appSession | IApiData | 当前应用会话对象 |
topViewSession | IApiData | 当前顶级视图会话对象 |
viewSession | IApiData | 当前视图会话对象 |
context | IApiContext | 当前视图上下文 |
viewParam | IApiParams | 当前视图参数 |
data | IApiData[] | 当前业务数据 |
app | IApiAppHubController | 当前应用 |
topView | IApiViewController | 当前顶级视图 |
parentView | IApiViewController | undefined | 当前父视图 |
view | IApiViewController | 当前视图 |
parent | IApiViewController | undefined | 当前父视图 |
util | { message: IApiMessageUtil, notification: IApiNotificationUtil,modal: IApiModalUtil,confirm: IApiConfirmUtil,openView: IApiOpenViewUtil} | 工具集 |
ctrl | IApiControlController | undefined | 当前部件 |
调用示例
输入框点击后控制面板项容器的显示与隐藏
typescript
view.layoutPanel.panelItems.send_comment_container.state.visible = true;
view.layoutPanel.panelItems.comment_container.state.visible = false;
view.layoutPanel.panelItems.field_textbox.editor.focus();
输入框失焦后控制面板项容器的显示与隐藏
typescript
view.layoutPanel.panelItems.comment_container.state.visible = true;
view.layoutPanel.panelItems.send_comment_container.state.visible = false;
面板项点击后提交界面域数据变更
typescript
const uiDomain = ibiz.uiDomainManager.get(context.srfsessionid);
if (uiDomain) {
uiDomain.dataChangeCompleted();
}
面板项点击后选中导入文件并导入
typescript
view.selectAndImport();
面板项点击后下载模版文件
typescript
view.downloadTemplate();
面板项点击后打开实体视图
typescript
if (context.psmodule) {
ibiz.openView.push(
`/psdevslnsys=${context.psdevslnsys}/modelingindex/psdevslnsys=${context.psdevslnsys};psdataentity=${context.psdataentity}/psdataentityindexview/srfnavctx=%257B%2522psmodule%2522%253A%2522${context.psmodule}%2522%257D;srfnav=logic/psdataentitylogictreeexpview/srfnav=root%3Apsdeactions/psdeactioncursysgridview/-`
);
} else {
ibiz.openView.push(
`/psdevslnsys=${context.psdevslnsys}/modelingindex/psdevslnsys=${context.psdevslnsys};psdataentity=${context.psdataentity}/psdataentityindexview/srfnav=logic/psdataentitylogictreeexpview/srfnav=root%3Apsdeactions/psdeactioncursysgridview/-`
);
}