页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

注意,这里的接口和数据挖掘中的接口一致。注意:数据挖掘中的接口和这里自助ETL的接口是一致的。


Markdown
# install 初始化接口

**触发时机**:</strong>自助ETL/strong>etl创建时。挖掘创建时。

**作用**:此时etl刚进行创建,此时开发者可以在此接口中通过on方法添加对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中提供的外部对系统进行修改的接口,这些接口会在对应的生命周期执行。扩展接口是自助ETL/挖掘中提供的外部对系统进行修改的接口,这些接口会在对应的生命周期执行。

开发者实现相关接口时,只需在install方法中,通过on方法监听对应的事件,并实现对应的回调方法,以下示例代码均在install方法中编写。

## Datamining 自助ETL/数据挖掘接口

### DATAMINING_ON_SAVE_DIALOG_INIT

**触发时机**:首次打开保存弹窗时

**作用**:指定用户的可保存的目录

| | **名称** | **类型** | **说明** |
| ------------ | ----------- | ------------------------------------------------------------ | ------------------------------ |
| **输入参数** | iSaveDialog | [ISaveDialog](https://smartbi.feishu.cn/docs/doccnd0RTRACnIwLJwmzRCX1d5d#FCmlCJ) | 保存弹窗对象(见下文接口对象) |
| **返回值** | - | | |

**示例代码**

```JavaScript
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
  })
})
```

### DATAMINING_ON_INIT

**触发时机**:打开自助ETL/数据挖掘界面后

**作用**:获取editor对象,并调用其中的方法,例如,设置保存后的回调函数。

| | **名称** | **类型** | **说明** |
| ------------ | --------------- | --------------- | ------------------------------------------------------------ |
| **输入参数** | editor |  |  |
| **返回值** | - | | |

**示例代码**

```JavaScript
this.on(DATAMINING_ON_INIT,  (datamining) => {
   // 设置保存成功回调
   datamining.setCustomSaveCallback(function (result) {
      console.info(result)
   })
})
```






...