# @qn-pandora/visualization-sdk

> Pandora 平台实现自定义可视化 App 基础库，主要实现 VisualizationBase、VisualizationUtils .

## VisualizationBase

该类为绘图的核心类，作为平台与自定义逻辑沟通的桥梁。提供大量的生命周期方法，通过重载这些方法来实现自定义图表逻辑。其中 updateView 为必须实现的方法，其它可选。

### 相关方法介绍

#### initialize

自定义初始化逻辑

#### getInitialDataParams

定义初始化参数，根据参数决定 App 中获取到的数据格式

返回结构

```json
{
  "outputMode": "json_cols",
  "count": 100
}
```

- outputMode: 数据格式,支持`json_cols`, `json_rows`, `json`,
- count: 返回的数据量

#### formatData

对获取到的数据进行格式化，在 updateView 前执行

参数：

- data: 获取到的数据

返回值：

- data: format 后的数据

#### updateView

实现图表渲染逻辑，图表数据或图表样式发生变化时执行

参数：

- data：formatData 格式化后的数据
- config： 当前图表配置

#### reflow

图表容器发生变化时执行

#### onConfigChange

样式配置变化时执行，在 updateView 前执行

#### remove

回收资源，在图表销毁时执行

#### element（属性）

VisualizationBase 中包含挂载可视化图表的 dom 元素，可通过 `this.element`获取。

#### el（属性）

VisualizationBase 中包含挂载可视化图表的 dom 元素的 id，可通过 `this.el`获取。

## VisualizationUtils

提供平台的工具方法。
