指标自定义属性
指标自定义属性编辑器是平台提供设计模式下指标属性编辑的的另一种实现方式,相对与通用属性方式更为灵活,但相对复杂。一般是无法基于通用属性方式实现的情况下的备选方案。
自定义属性编辑器的实现,需要满足如下要求:
- 插件清单文件 中的editor*三个相关属性描述需指定有效值。
- editorJs:插件的自定义编辑器javascript文件。
- editorTpl:插件的自定义编辑器html模板文件。
- editorCss:插件自定义编辑器css样式文件。
editorJs
的代码格式要求为采用requireJs + angularJs的代码实现方式,主要逻辑是通过基于angularJs的数据绑定方式对属性进行设置。- 编辑器可用对象及事件如下:
- $scope.indexPlugin 指标控件实例
- $scope.bindingOfIndex 指标绑定数据,[]类型,对应指标参数的Binding
- $scope.eventsOfIndex 指标事件对象,[]类型,对应指标参数的Events
- $scope.optionOfIndex 指标配置参数,{}类型,对应指标参数的Extend
- $scope.extendOfIndex 指标属性扩展,{}类型,对应指标参数的Option
- $scope.bindPivotEvent 钻取事件设置
- 'ad.index.binding.changed' 绑定对象变更事件
- 'ad.index.option.changed' 配置编辑器更新事件
- 对于自定义属性编辑器,指标编辑的属性可存储于 $scope.optionOfIndex 或 $scope.extendOfIndex 内,由编辑器保存时持久化,对应的指标插件核心逻辑应有相应的处理规则,以保证指标进行正常渲染。
- 如不打算支持自定义属性编辑器,可将指标清单文件
manifest.json
中对应的设置移除或置空。
对于自定义属性编辑器的实现方式,不做过多的解释,具体可参见项目中的代码。