UI 操作
编辑UI 操作
编辑UI 操作插件提供 API 来管理触发器和操作。
触发器是对用户执行操作意图的抽象描述(例如用户点击图表中的值)。它允许我们在运行时绑定来自不同插件的代码。例如,一个这样的触发器是当有人在仪表板上应用过滤器时;另一个是当有人打开仪表板面板上下文菜单时。
操作是响应触发器而执行的代码片段。例如,可以为仪表板过滤触发器附加多个操作。一旦用户在仪表板上进行过滤,所有可能的操作都会在弹出菜单中显示给用户,用户必须选择一个。
一般来说,此插件提供:
- 创建自定义功能(操作)。
- 创建自定义用户交互事件(触发器)。
- 将操作附加到触发器和从触发器分离操作。
- 触发触发器事件。
- 执行附加到给定触发器的操作。
- 当单个触发器附加多个操作时,公开一个上下文菜单供用户选择要执行的适当操作。
基本用法
编辑要开始使用,首先您需要知道您将要附加操作的触发器。您可以选择现有的触发器,也可以注册自己的触发器
plugins.uiActions.registerTrigger({ id: 'MY_APP_PIE_CHART_CLICK', title: 'Pie chart click', description: 'When user clicks on a pie chart slice.', });
现在,当用户点击饼图切片时,您需要“触发”您的触发器并提供一些上下文数据
plugins.uiActions.getTrigger('MY_APP_PIE_CHART_CLICK').exec({ /* Custom context data. */ });
最后,您的代码或其他插件的开发人员可以注册 UI 操作,这些操作监听上述触发器并在触发器被触发时执行一些代码。
plugins.uiActions.registerAction({ id: 'DO_SOMETHING', isCompatible: async (context) => true, execute: async (context) => { // Do something. }, }); plugins.uiActions.attachAction('MY_APP_PIE_CHART_CLICK', 'DO_SOMETHING');
现在,当 MY_APP_PIE_CHART_CLICK
触发器被触发时,您的 DO_SOMETHING
操作将自动执行;或者,如果该触发器附加了多个兼容的操作,则会向用户显示一个上下文菜单弹出窗口,以选择一个要执行的操作。