跳转到内容

面板事件逻辑脚本

在面板中,支持对面板项配置事件逻辑脚本,在脚本中处理业务逻辑,目前支持的面板项事件有:点击(onClick)、聚焦(onFocus)、失焦(onBlur)、值变更(onChange)、回车(onEnter)。

参数

名称类型描述
triggerControlNamestring触发部件名称,仅面板部件触发时存在
triggerEventNamestring事件名称,仅面板部件触发时存在
triggerEventIApiData触发部件参数,仅面板部件触发时存在
panelItemNamestring面板项名称,仅非面板部件触发时存在
panelItemEventNamestring面板项事件名称,仅非面板部件触发时存在
documentDocument当前文档对象
selector(className: string) => HTMLCollectionOf<Element>元素选择器
envIEnvironment当前环境对象
appSessionIApiData当前应用会话对象
topViewSessionIApiData当前顶级视图会话对象
viewSessionIApiData当前视图会话对象
contextIApiContext当前视图上下文
viewParamIApiParams当前视图参数
dataIApiData[]当前业务数据
appIApiAppHubController当前应用
topViewIApiViewController当前顶级视图
parentViewIApiViewController | undefined当前父视图
viewIApiViewController当前视图
parentIApiViewController | undefined当前父视图
util{ message: IApiMessageUtil, notification: IApiNotificationUtil,modal: IApiModalUtil,confirm: IApiConfirmUtil,openView: IApiOpenViewUtil}工具集
ctrlIApiControlController | 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/-`
  );
}
未来已来,立即拥抱应用融合的力量
Released under the MIT License.