文件介绍及示例
文件介绍
{widget}.editor.js为组件属性定义文件,负责组件编辑状态时需要渲染的界面和逻辑。其中,“{widget}”为自定义组件的名称,如本示例中该文件名为“EchartsWidgetTemplate.editor.js”。{widget}.editor.js文件只在组件编辑状态被加载,主要包括propertiesConfig方法和create方法。
文件示例
EchartsWidgetTemplate = EchartsWidgetTemplate.extend({
// 组件事件配置项,定义组件事件结构及说明,给全局变量映射使用
eventConfig: {
clickSeries: {
desc: { zh_CN: "点击系列", en_US: "Click Series" },
fields: [
{
name: 'seriesIndex',
desc: { zh_CN: '系列索引', en_US: 'Series Index' },
},
{
name: 'seriesName',
desc: { zh_CN: '系列名', en_US: 'Series Name' },
},
],
},
},
// 配置项大的分类
classfication: [[{ name: 'configuration' }, { name: 'tooltip' }]],
// 组件详细配置
propertiesConfig: [
{
config: [
{
type: 'dataSetting',
mapping: {
x: {
keyName: 'dataX',
keyTitle: { zh_CN: 'X轴数据', en_US: 'X axis Data' },
limitNumber: '1',
type: 'category',
label: 'x',
required: true,
},
y: {
keyName: 'value',
keyTitle: { zh_CN: 'Y轴数据', en_US: 'Y axis Data' },
limitNumber: '1',
type: 'value',
label: 'y',
required: true,
},
s: {
label: 's',
limitNumber: '1',
series: [
{
type: '',
label: '',
required: false,
},
],
},
},
mock: {},
name: 'EchartsWidgetTemplateConnector',
model: 'CommonViewModel',
},
],
},
{
migrateFrom: 'advancedSettings',
headerTitle: { zh_CN: '数据映射', en_US: 'Data Mapping' },
belong: 'configuration',
config: [
{
type: 'select',
name: 'commonProps.emphasisFocus',
label: { zh_CN: '高亮时淡出', en_US: 'Emphasis Focus' },
value: 'series',
options: [
{
label: { zh_CN: '不淡出其它图形', en_US: 'None' },
value: 'none',
},
{
label: { zh_CN: '只聚焦当前高亮的数据的图形', en_US: 'Self' },
value: 'self',
},
{
label: { zh_CN: '聚焦当前高亮的数据所在的系列的所有图形', en_US: 'Series' },
value: 'series',
},
],
},
{
type: 'tab',
name: 'commonProps.showLabel',
label: { zh_CN: '显示标签', en_US: 'Emphasis Focus' },
value: true,
options: [
{
label: { zh_CN: '显示', en_US: 'Show' },
value: true,
},
{
label: { zh_CN: '隐藏', en_US: 'Hide' },
value: false,
},
],
},
],
},
{
migrateFrom: 'advancedSettings',
headerTitle: { zh_CN: '提示', en_US: 'Tooltip' },
belong: 'tooltip',
config: [
{
type: 'select',
name: 'commonProps.axisPointerType',
label: { zh_CN: '指示器', en_US: 'Axis Pointer' },
value: 'shadow',
options: [
{
label: { zh_CN: '直线指示器', en_US: 'Line' },
value: 'line',
},
{
label: { zh_CN: '阴影指示器', en_US: 'Shadow' },
value: 'shadow',
},
{
label: { zh_CN: '无指示器', en_US: 'None' },
value: 'none',
},
],
},
],
}
],
// 仅在组件首次被创建时调用一次,必填
create: function (cbk) {
if (cbk) {
this._super();
cbk();
}
},
});
// 注册组件,必填
window.Studio.registerWidget('EchartsWidgetTemplate', 'EchartsWidgetTemplate', {});
- eventConfig:组件事件描述配置项,用来扩展给全局变量使用。
- classfication:组件的配置项分类。
- propertiesConfig:负责组件配置页面中,右侧的属性配置逻辑。
- create(必须配置):组件内置的扩展,仅在组件首次被创建时调用一次。
- registerWidget(必须配置):注册组件的逻辑实现。