@cainiaofe/cn-ui-charts
Version:
128 lines (127 loc) • 3.31 kB
JavaScript
import { Bundle } from '@ali/visualengine';
import Icon from "./logo";
import { getChartCommonStyleSetterSnippet, getDataOriginSetterSnippet, getNodeIdSetterSnippet } from "../../common/manager/setter-snippet";
import { dataOriginStatic } from "../../common/util/const";
import { getMixedSetterSnippet } from "../../common/setter/statistic-setter";
import { createDataSourceSetters, getJSExpressionPrototype } from "../../common/util/util";
// 原型配置请参考:https://lark.alipay.com/vision/docs/prototype
export default Bundle.createPrototype({
title: '进度条',
componentName: 'CnProgress',
category: '图表',
icon: Icon,
docUrl: '',
enableCopy: true,
// isContainer: true,
snippets: [{
screenshot: 'https://img.alicdn.com/imgextra/i1/O1CN01pjMThk1t5LqHt34KK_!!6000000005850-0-tps-864-536.jpg',
label: 'CnProgress',
schema: {
componentName: 'CnProgress',
props: {}
}
}],
configure: [{
name: 'isCnProgress',
title: 'CnProgress',
initialValue: true,
display: 'none'
}, {
name: '_context',
title: '上下文',
initialValue: {
type: 'JSExpression',
value: 'this'
},
display: 'none'
}, getDataOriginSetterSnippet({
// disabled(){
// return true;
// },
display: 'none',
defaultValue: dataOriginStatic,
initialValue: dataOriginStatic
}), {
name: 'percent',
title: '数值(0-100)',
display: 'inline',
setter: getMixedSetterSnippet({
setters: [{
componentName: 'NumberSetter',
title: '数字输入框'
}, getJSExpressionPrototype({
type: 'base'
})]
}),
disabled: function disabled() {
return this.getProps().getPropValue('dataOrigin') === 'request';
}
},
// createFilterConfigSetter(),
getChartCommonStyleSetterSnippet({
heightConfig: {
condition: function condition() {
return false;
}
},
items: [{
name: 'shape',
title: '形状',
defaultValue: 'circle',
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [{
label: '圆形',
value: 'circle'
}, {
label: '线型',
value: 'line'
}]
}
}
}, {
name: 'size',
title: '大小',
defaultValue: 'small',
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [{
title: '小',
value: 'small'
}, {
title: '中',
value: 'medium'
}, {
title: '大',
value: 'large'
}]
}
}
}, {
name: 'color',
title: '颜色',
setter: getMixedSetterSnippet({
setters: [{
componentName: 'RadioGroupSetter',
props: {
options: [{
title: '蓝色',
value: '#284cc0'
}, {
title: '绿色',
value: '#00bfb2'
}, {
title: '红色',
value: '#e55346'
}]
}
}, {
title: '输入色值',
componentName: 'StringSetter'
}]
})
}]
})].concat(createDataSourceSetters(), [getNodeIdSetterSnippet()])
});