@cainiaofe/cn-ui-m-lowcode
Version:
195 lines (193 loc) • 5.08 kB
JavaScript
import React from 'react';
import { Bundle } from '@ali/visualengine';
import Icon from './logo';
import {
getJSXTemplate,
getMixedSetterSnippet,
} from '@/common/manager/setter-snippet';
import { getJSExpressionPrototype } from '@/common/manager/common-style';
import { ButtonPosition } from '@/type/button-position';
import { createButtonListSetters, getItem } from '@/common/manager/button';
// 原型配置请参考:https://lark.alipay.com/vision/docs/prototype
export default Bundle.createPrototype({
title: '结果反馈',
componentName: 'CnResult',
category: '反馈',
icon: Icon,
docUrl: '',
isContainer: false,
canHovering: true,
canSelecting: true,
canDragging: true,
enableCopy: true,
snippets: [
{
screenshot:
'https://img.alicdn.com/tfs/TB1gaZrr.T1gK0jSZFhXXaAtVXa-1048-366.png',
label: 'CnResult',
schema: {
componentName: 'CnResult',
props: {},
},
},
],
configure: [
{
name: 'isCnResult',
title: 'isCnResult',
initialValue: true,
display: 'none',
},
{
title: '反馈类型',
name: 'type',
display: 'inline',
initialValue: 'info',
setter: getMixedSetterSnippet({
setters: [
{
componentName: 'CnSelectSetter',
props: {
options: [
{
label: '警告',
value: 'warning',
},
{
label: '错误',
value: 'error',
},
{
label: '成功',
value: 'success',
},
{
label: '信息提示',
value: 'info',
},
{
label: '数据为空',
value: 'empty',
},
{
label: '暂无权限(403)',
value: '403',
},
{
label: '页面不存在(404)',
value: '404',
},
{
label: '服务器异常(500)',
value: '500',
},
{
label: '网络问题',
value: 'networkError',
},
{
label: '暂无消息',
value: 'messageEmpty',
},
{
label: '搜索无结果',
value: 'searchEmpty',
},
],
selectProps: {
hasClear: true,
},
},
},
getJSExpressionPrototype({
type: 'base',
}),
],
}),
},
{
name: 'title',
title: '标题',
display: 'inline',
setter: getMixedSetterSnippet({
setters: [
{
componentName: 'CnI18nSetter',
title: '多语言设置器',
},
getJSExpressionPrototype({
type: 'base',
}),
],
}),
},
{
name: 'subTitle',
title: '副标题',
display: 'inline',
forceInline: 1,
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
title: '文本',
componentName: 'CnI18nSetter',
},
{
title: '超链接',
componentName: 'ObjectSetter',
props: {
config: {
items: [
{
name: 'text',
title: '链接文案',
display: 'inline',
setter: {
componentName: 'MixedSetter',
props: {
setters: [
{
componentName: 'CnI18nSetter',
title: '文本',
},
getJSExpressionPrototype({ type: 'base' }),
],
},
},
},
...getItem(
ButtonPosition.result,
'link',
'getPrototypeList',
)(ButtonPosition.result),
],
},
},
},
getJSXTemplate({
position: ButtonPosition.result,
}),
],
},
},
},
{
name: 'buttons',
title: '底部按钮栏',
display: 'accordion',
initialValue: [],
setter: createButtonListSetters({ position: ButtonPosition.result }),
},
{
name: '_context',
title: '上下文',
initialValue: {
type: 'JSExpression',
value: 'this',
},
display: 'none',
},
],
});