UNPKG

@cainiaofe/cn-ui-lowcode

Version:
210 lines (207 loc) 5.47 kB
import { Bundle } from '@ali/visualengine'; import React from 'react'; // import { createSlot } from '@ali/vu-slot-property'; import Icon from './logo.tsx'; import { createMessageSetters } from '@/common/util/message'; import { createButtonListSetters, getItem, } from '@/common/manager/button'; import { ButtonPosition } from '@/common/manager/position/button-position'; import { getJSXTemplate, getMixedSetterSnippet, } from '@/common/manager/setter-snippet'; import { getJSExpressionPrototype } from '@/common/manager/common-style'; const CnResultBundle = Bundle.createPrototype({ title: '结果反馈(CnResult)', componentName: 'CnResult', category: '反馈', icon: Icon, docUrl: 'https://cone.cainiao-inc.com/market/awesome?business=internationality&id=3313', 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', }, { name: 'handleProps', title: '手动设置组件props', display: 'inline', setter: getJSExpressionPrototype({ type: 'props', }), }, ], }); export default CnResultBundle;