@ywfe/materials-design
Version:
YwDesign for lowcode
134 lines (130 loc) • 4.11 kB
text/typescript
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';
import { IPublicTypeSnippetMore } from '../_base';
const TableSummaryMeta: IPublicTypeComponentMetadata = {
componentName: 'TableSummary',
title: '表格合计',
docUrl: '',
screenshot: '',
devMode: 'proCode',
group: '基础组件',
category: '表格',
npm: {
package: '@ywfe/materials-design',
version: '0.1.0',
exportName: 'TableSummary',
main: 'src/index.tsx',
destructuring: true,
subName: '',
},
configure: {
props: [
{
name: 'value',
display: 'block',
title: { label: '合计配置', tip: 'value | 合计配置' },
setter: {
componentName: 'ArraySetter',
props: {
itemSetter: {
componentName: 'ObjectSetter',
initialValue: {
value: 'Total',
},
props: {
descriptor: 'index',
config: {
items: [
{
display: 'block',
name: 'index',
title: { label: '列序号', tip: 'index | 列序号' },
setter: 'NumberSetter',
isRequired: true,
supportVariable: false,
},
{
display: 'block',
name: 'colSpan',
title: { label: '列合并', tip: 'colSpan | 表头列合并,设置为 0 时,不渲染' },
setter: 'NumberSetter',
supportVariable: false,
},
{
display: 'block',
name: 'value',
title: { label: '显示内容', tip: 'value | 显示内容' },
setter: 'StringSetter',
},
{
display: 'block',
name: 'align',
title: { label: '列', tip: 'align | 设置列的对齐方式' },
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [
{ label: '左边', value: 'left' },
{ label: '右边', value: 'right' },
{ label: '中间', value: 'center' },
],
},
},
supportVariable: false,
},
{
display: 'block',
name: 'type',
title: { label: '文本类型', tip: 'value | 文字类型' },
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [
{ label: '默认', value: 'secondary' },
{ label: '成功色', value: 'success' },
{ label: '警告色', value: 'warning' },
{ label: '危险色', value: 'danger' },
],
},
},
},
],
},
},
},
},
},
},
],
supports: {
style: true,
},
component: {},
},
};
const snippets: IPublicTypeSnippetMore[] = [
{
title: '表格合计',
svgId: 'icon-changwenben',
screenshot: 'https://yw-fed-static.oss-cn-hangzhou.aliyuncs.com/lowcode/longtext',
schema: {
componentName: 'TableSummary',
props: {
pageData: {
type: 'JSExpression',
value: 'this.pageData',
},
value: [
{
index: 0,
value: '合计',
colSpan: 2,
},
],
},
},
},
];
export default {
...TableSummaryMeta,
snippets,
};