注意,这里的接口和数据挖掘中的接口一致。
Markdown |
---|
# install 初始化接口 **触发时机**:</strong>etl创建时。 **作用**:此时etl刚进行创建,此时开发者可以在此接口中通过on方法添加对etl事件的监听,并进行一些数据准备等初始化操作。 **示例代码** ```JavaScript import SmartBIExt from 'smartbi-ext-x' let { DataminingModule: { BaseDataminingExtender, DataminingEventEmum: { DATAMINING_ON_SAVE_DIALOG_INIT, DATAMINING_ON_INIT } }, Utils: { ExtensionUtil: { rmi } } } = SmartBIExt class SaveDialogExtender extends BaseDataminingExtender { constructor() { super() } install () { // 监听保存面板事件 this.on(DATAMINING_ON_SAVE_DIALOG_INIT, async (iSaveDialog) => { // 设置根节点id let resp = await rmi('UserService', 'getCurrentUser') iSaveDialog.setRootNodeId(`SELF_${resp.result.id}`) // 设置节点过滤方法 iSaveDialog.setNodeFilter(item => { return true }) }) this.on(DATAMINING_ON_INIT, (datamining) => { // 设置保存成功回调 datamining.setCustomSaveCallback(function (result) { console.info(result) }) }) } } export default SaveDialogExtender ``` # 扩展接口 扩展接口是自助ETL中提供的外部对系统进行修改的接口,这些接口会在对应的生命周期执行。 开发者实现相关接口时,只需在install方法中,通过on方法监听对应的事件,并实现对应的回调方法,以下示例代码均在install方法中编写。 ## Datamining 自助ETL/数据挖掘接口 ### DATAMINING_ON_SAVE_DIALOG_INIT **触发时机**:首次打开保存弹窗时 **作用**:指定用户的可保存的目录 | | **名称** | **类型** | **说明** | | ------------ | ----------- | ------------------------------------------------------------ | ------------------------------ | | **输入参数** | iSaveDialog | [ISaveDialog](https://smartbi.feishu.cn/docs/doccnd0RTRACnIwLJwmzRCX1d5d#FCmlCJ) | 保存弹窗对象(见下文接口对象) | | **返回值** | - | | | **示例代码** ```JavaScript this.on(AUGMENTEDDATASETDATAMINING_ON_SAVE_DIALOG_INIT, async (iSaveDialog) => { // 删除所有操作按钮 iSaveDialog.setOperateButtonFilter(item => { return false }) // 设置根节点为我的空间中的分析报表设置根节点id let resp = await rmi('UserService', 'getCurrentUser') iSaveDialog.setRootNodeId(`SELF_ANALYSIS_${resp.result.id}`) // 设置节点过滤方法 iSaveDialog.setNodeFilter(item => { return true }) }) ``` ### DATAMINING_ON_INIT **触发时机**:点击新建的子菜单时:打开自助ETL/数据挖掘界面后 **作用**:自定义新建点击的处理:获取editor对象,并调用其中的方法,例如,设置保存后的回调函数。 **说明**:可以在点击新建即席查询、交互式仪表盘(自由布局、自适应布局)时,定制自己的处理逻辑 | | **名称** | **类型** | **说明** | | ------------ | --------------- | --------------- | ------------------------------------------------------------ | | **输入参数** | iAugmentDataseteditor | IAugmentDataset | 数据模型对象 | | **输入参数** | args | Json对象 | **restype**:资源类型,SMARTBIX_PAGE、COMBINED_QUERY分别代表仪表盘、即席查询 **action**:动作, SMARTBIX_CRAETE_LARGESCREEN_DASHBOARD_WITH_DATASETID、 SMARTBIX_CRAETE_DASHBOARD_WITH_DATASETID、 SMARTBIX_CREATE_MODEL_QUERY_WITH_DATASETID分别代表:创建自由布局、创建自适应布局、创建即席查询 **dataSetId**:数据模型id 示例,如下: `{ restype: 'SMARTBIX_PAGE', action: 'SMARTBIX_CRAETE_LARGESCREEN_DASHBOARD_WITH_DATASETID', dataSetId: 'I8a8a9fb6018210a510a51735018210a517350000' } ` | | **返回值** | - | | | **示例代码** ```JavaScript class AugmentExtentor extends BaseAugmentExtender{ async install () { let resp = await rmi('UserService', 'getCurrentUser'); this.on(AUGMENTEDDATASETDATAMINING_ON_CREATE_RESOURCEINIT, (iAugmentDatasetImpl, argsdatamining) => { console.log(resp) if (resp.result.name === 'admin') { // 禁止原创建的逻辑 iAugmentDatasetImpl.setCreateResource(false); } // 设置保存成功回调 datamining.setCustomSaveCallback(function (result) { console.info(result) }) } }) ``` |