From ea6cb9dca9653b38e72c9768cc3fd8617456c299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E7=A6=85?= Date: Tue, 21 Jul 2020 13:12:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20table=20=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/demo/public/assets.json | 357 ++++++++++++++++-- .../src/components/object-setter/index.tsx | 2 +- 2 files changed, 333 insertions(+), 26 deletions(-) diff --git a/packages/demo/public/assets.json b/packages/demo/public/assets.json index 3a9ce284a..0502f4b26 100644 --- a/packages/demo/public/assets.json +++ b/packages/demo/public/assets.json @@ -60,6 +60,256 @@ } } }, + { + "componentName": "Table", + "title": "Table", + "docUrl": "", + "screenshot": "", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "exportName": "Table", + "main": "src/index.js", + "destructuring": true, + "subName": "" + }, + "props": [ + { + "name": "prefix", + "propType": "string" + }, + { + "name": "pure", + "propType": "bool" + }, + { + "name": "rtl", + "propType": "bool" + }, + { + "name": "tableLayout", + "propType": { + "type": "oneOf", + "value": [ + "fixed", + "auto" + ] + } + }, + { + "name": "tableWidth", + "propType": "number" + }, + { + "name": "className", + "propType": "string" + }, + { + "name": "style", + "propType": "object" + }, + { + "name": "size", + "propType": { + "type": "oneOf", + "value": [ + "small", + "medium" + ] + } + }, + { + "name": "dataSource", + "propType": { + "type": "arrayOf", + "value": "object" + } + }, + { + "name": "entireDataSource", + "propType": "array" + }, + { + "name": "onRowClick", + "propType": "func" + }, + { + "name": "onRowMouseEnter", + "propType": "func" + }, + { + "name": "rowProps", + "propType": "func" + }, + { + "name": "cellProps", + "propType": "func" + }, + { + "name": "hasBorder", + "propType": "bool" + }, + { + "name": "hasHeader", + "propType": "bool" + }, + { + "name": "isZebra", + "propType": "bool" + }, + { + "name": "loading", + "propType": "bool" + }, + { + "name": "filterParams", + "propType": "object" + }, + { + "name": "sort", + "propType": "object" + }, + { + "name": "sortIcons", + "propType": "object" + }, + { + "name": "locale", + "propType": "object" + }, + { + "name": "components", + "propType": "object" + }, + { + "name": "columns", + "propType": "array" + }, + { + "name": "emptyContent", + "propType": "node" + }, + { + "name": "primaryKey", + "propType": "string" + }, + { + "name": "lockType", + "propType": { + "type": "oneOf", + "value": [ + "left", + "right" + ] + } + },{ + "name": "style", + "propType": "object" + }, + { + "name": "wrapperContent", + "propType": "any" + }, + { + "name": "refs", + "propType": "object" + }, + { + "name": "expandedRowRender", + "propType": "func" + }, + { + "name": "expandedRowIndent", + "propType": "array" + }, + { + "name": "hasExpandedRowCtrl", + "propType": "bool" + }, + { + "name": "getExpandedColProps", + "propType": "func" + }, + { + "name": "openRowKeys", + "propType": "array" + }, + { + "name": "onRowOpen", + "propType": "func" + }, + { + "name": "onExpandedRowClick", + "propType": "func" + }, + { + "name": "fixedHeader", + "propType": "bool" + }, + { + "name": "rowSelection", + "propType": "object" + }, + { + "name": "stickyHeader", + "propType": "bool" + }, + { + "name": "offsetTop", + "propType": "number" + }, + { + "name": "affixProps", + "propType": "object" + }, + { + "name": "indent", + "propType": "number" + }, + { + "name": "isTree", + "propType": "bool" + }, + { + "name": "useVirtual", + "propType": "bool" + }, + { + "name": "onBodyScroll", + "propType": "func" + }, + { + "name": "expandedIndexSimulate", + "propType": "bool" + }, + { + "name": "crossline", + "propType": "bool" + }, + { + "name": "lengths", + "propType": "object" + } + ] + }, + { + "componentName": "Table.Column", + "title": "Table.Column", + "npm": { + "package": "@alifd/next", + "version": "1.19.18", + "exportName": "Table", + "main": "src/index.js", + "destructuring": true, + "subName": "" + }, + "props": [ + { + "name": "title", + "propType": "string" + } + ] + }, { "componentName": "Badge", "title": "Badge", @@ -614,7 +864,7 @@ "name": "children", "propType": { "type": "instanceOf", - "value": "custom" + "value": "node" }, "description": "面包屑子节点,需传入 Breadcrumb.Item" }, @@ -663,7 +913,12 @@ "name": "style", "propType": "object" } - ] + ], + "configure": { + "component": { + "isContainer": true + } + } }, { "componentName": "MCBreadcrumb", @@ -699,7 +954,7 @@ "name": "children", "propType": { "type": "instanceOf", - "value": "custom" + "value": "node" }, "description": "面包屑子节点,需传入 Breadcrumb.Item" }, @@ -748,7 +1003,12 @@ "name": "style", "propType": "object" } - ] + ], + "configure": { + "component": { + "isContainer": true + } + } }, { "componentName": "Breadcrumb.Item", @@ -804,7 +1064,12 @@ "name": "style", "propType": "object" } - ] + ], + "configure": { + "component": { + "isContainer": true + } + } }, { "componentName": "Button", @@ -4266,26 +4531,6 @@ } ] }, - { - "componentName": "Table", - "title": "Table", - "docUrl": "", - "screenshot": "", - "npm": { - "package": "@alifd/next", - "version": "1.19.18", - "exportName": "Table", - "main": "src/index.js", - "destructuring": true, - "subName": "" - }, - "props": [ - { - "name": "style", - "propType": "object" - } - ] - }, { "componentName": "Form", "title": "Form", @@ -11888,6 +12133,46 @@ } } ] + },{ + "componentName": "Table", + "title": "表格", + "icon": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_table.png", + "package": "@alife/next", + "library": "Next", + "snippets": [ + { + "title": "表格", + "screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_table.png", + "schema": { + "componentName": "Table", + "props": { + "dataSource": [{ + "title": {"name": "Quotation"}, + "id": 100306660940, + "time": 2000 + }], + "size": "medium", + "prefix": "next-", + "hasBorder": true, + "hasHeader": true, + "isZebra": false, + "loading": false, + "expandedIndexSimulate": false, + "primaryKey": "id", + "locale": "zhCN.Table", + "crossline": false + }, + "children": [ + { + "componentName": "Table.Column", + "props": { + "title": "name" + } + } + ] + } + } + ] }, { "componentName": "Calendar", @@ -12559,6 +12844,28 @@ } } ] + },{ + "componentName": "Breadcrumb.Item", + "title": "面包屑 Item", + "icon": "", + "package": "@alife/next", + "library": "Next", + "snippets": [ + { + "title": "面包屑", + "screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_breadcrumb.png", + "schema": { + "componentName": "Breadcrumb.Item", + "props": { + "prefix": "next-" + }, + "children": [ + "222", + "222111" + ] + } + } + ] }, { "componentName": "MCBreadcrumb", diff --git a/packages/editor-skeleton/src/components/object-setter/index.tsx b/packages/editor-skeleton/src/components/object-setter/index.tsx index 59639cd7d..7db49483b 100644 --- a/packages/editor-skeleton/src/components/object-setter/index.tsx +++ b/packages/editor-skeleton/src/components/object-setter/index.tsx @@ -56,7 +56,7 @@ class RowSetter extends Component { super(props); const { config, descriptor, field, columns } = props; const items: SettingField[] = []; - if (columns && config.items) { + if (columns && config?.items) { const l = Math.min(config.items.length, columns); for (let i = 0; i < l; i++) { const conf = config.items[i];