jquery
我们将在这个demo中制作一个标题组件,它将拥有改变尺寸、字体、字体颜色的、排量方式的属性栏,还拥有数据源组件的属性。
在我们选择完数据源,以及维度或度量后,文本中左侧将展示度量或维度的名称,右侧将展示对应的值。
示例中我们将展示如何引入jquery,以及通过jquey改变html上的显示值。
创建组件
在这里填写好组件名称,选好分组后可以直接点击确定。系统会自动创建好一些必须的初始化文件。
html
修改原有html
config.json
需要在plugins中配置jquery。
我们需要在config中配置属性栏组件
我们配置了一个尺寸组件,一个字体下拉列表,两个颜色组件,一个排列列表。
字体组件中的ngvSelects列表是云视界内部拥有的值。
除了尺寸组件我们没有配置callback函数,因为我们不需要对组件尺寸做相应调整。其他组件都需要设置回调函数。
需要在main.js中的return对象中创建这些回调函数。
main.js:
接下来需要在config.json中配置数据源组件
上例中在 customAttributes.con中配置了数据源组件,和参与组件过滤。
我们只取维度的数据,所以设置justDimension为true,本例中我们只需要一个维度,所以配置了dimensionCount为1。
参与组件过滤,我们配置数据源组件的时候默认带上它,它的作用是其他筛选器可以对当前组件连接的数据源进行筛选。
至此我们完成了组件的配置,下面需要在main.js中完成开发。
先处理setData方法,当我们连接完数据源后,当云视界拿到数据的时候会调用这个方法。
setData方法的入参值value中,包含了一些复合信息。除了返回的数据外,还报错,连接的数据源信息,其中又包括维度和度量的信息。我们可以处理成自己想要的数据。
这里我们以后会封装一些api,让开发者可以快速的调用对应的方法,得到想要的数据。但目前位置,需要开发者自己处理。
连接好数据源和维度后,setData方法得到数据。打印后得到以下数据:
某个只选择了维度的数据源信息:
data.type,unlive表明当前是非实时数据
data.data中的c0,就是我们选择的维度返回的数据,如果选择多个维度,data.data中会有多个值。
data.dataSourceInfo.measure中存储的是度量信息。
data.dataSourceInfo.dimension中存储的是维度信息。
css:
下面是全部的main.js代码。
在函数头部,就声明了变量$,用来接收jquery插件的引用。
var $=window.plugins.jquery;
云视界提供的内部插件,都放在window.plugins下。
通过window.plugins['插件名称']引用,这个插件名称,以开发文档中提到的为准。
还需要注意,如果想引用插件,必须在config.json中的plugins中引入,否则window.plugins中将无法引用该插件。
属性栏组件的回调函数中都对入参值做了非空判断,这是有必要的,初始化的时候这些回调函数会被调用,但入参值有可能是undefined。
$data属性中,声明了一些变量,然后在onInit方法中对变量进行赋值。
onInit方法中通过在properties中获取组件的宽度、高度、还有排列方式。
setData方法中对返回的数据做了处理。最终创建一个setInterval方法,让返回值循环显示。
onDestroy方法中再把这个interval清除掉。