From 448a0affe8f692c66a292a54e9616decac017342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E7=A6=85?= Date: Wed, 22 Jul 2020 17:55:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20Slot=20=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=8B=96=E5=85=A5=E7=89=A9=E6=96=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/editor-preset-general/src/index.ts | 13 +--- .../src/transducers/addon-combine.ts | 7 ++ .../src/builtin-components/slot.tsx | 72 ++++++++++--------- 3 files changed, 48 insertions(+), 44 deletions(-) diff --git a/packages/editor-preset-general/src/index.ts b/packages/editor-preset-general/src/index.ts index bb250bac9..3e188b761 100644 --- a/packages/editor-preset-general/src/index.ts +++ b/packages/editor-preset-general/src/index.ts @@ -43,7 +43,7 @@ skeleton.add({ props: { condition: () => { return designer.dragon.dragging && !getTreeMaster(designer).hasVisibleTreeBoard(); - } + }, }, content: OutlineBackupPane, }); @@ -67,14 +67,7 @@ export function init(container?: Element) { } container.id = 'lowcodeEditorPresetGeneral'; - render( - createElement(GeneralWorkbench), - container, - ); + render(createElement(GeneralWorkbench), container); } -console.log( - `%cLowcodeEngine %cv${version}`, - "color:#000;font-weight:bold;", - "color:green;font-weight:bold;" -); +console.log(`%cLowcodeEngine %cv${version}`, 'color:#000;font-weight:bold;', 'color:green;font-weight:bold;'); diff --git a/packages/editor-skeleton/src/transducers/addon-combine.ts b/packages/editor-skeleton/src/transducers/addon-combine.ts index 62dff8204..53d21a6ae 100644 --- a/packages/editor-skeleton/src/transducers/addon-combine.ts +++ b/packages/editor-skeleton/src/transducers/addon-combine.ts @@ -85,6 +85,13 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp let propsGroup = props || []; const basicInfo: any = {}; if (componentName === 'Slot') { + if (!configure.component) { + configure.component = { + isContainer: true + } + } else if (typeof configure.component === 'object'){ + configure.component.isContainer = true; + } basicInfo.icon = IconSlot; propsGroup = [{ name: getConvertedExtraKey('title'), diff --git a/packages/react-simulator-renderer/src/builtin-components/slot.tsx b/packages/react-simulator-renderer/src/builtin-components/slot.tsx index cf67dbcf2..3cba5184b 100644 --- a/packages/react-simulator-renderer/src/builtin-components/slot.tsx +++ b/packages/react-simulator-renderer/src/builtin-components/slot.tsx @@ -5,48 +5,52 @@ class Slot extends Component { static componentMetadata = { componentName: 'Slot', configure: { - props: [{ - name: '___title', - title: { - type: 'i18n', - 'en-US': 'Slot Title', - 'zh-CN': '插槽标题' + props: [ + { + name: '___title', + title: { + type: 'i18n', + 'en-US': 'Slot Title', + 'zh-CN': '插槽标题', + }, + setter: 'StringSetter', + defaultValue: '插槽容器', }, - setter: 'StringSetter', - defaultValue: '插槽容器' - }, { - name: '___params', - title: { - type: 'i18n', - 'en-US': 'Slot Params', - 'zh-CN': '插槽入参' + { + name: '___params', + title: { + type: 'i18n', + 'en-US': 'Slot Params', + 'zh-CN': '插槽入参', + }, + setter: { + componentName: 'ArraySetter', + props: { + itemSetter: { + componentName: 'StringSetter', + props: { + placeholder: { + type: 'i18n', + 'zh-CN': '参数名称', + 'en-US': 'Argument Name', + }, + }, + }, + }, + }, }, - setter: { - componentName: 'ArraySetter', - props: { - itemSetter: { - componentName: 'StringSetter', - props: { - placeholder: { - type: 'i18n', - 'zh-CN': '参数名称', - 'en-US': 'Argument Name' - } - } - } - } - } - }], + ], + component: { + isContainer: true, + }, // events/className/style/general/directives supports: false, - } + }, }; render() { const { children } = this.props; - return ( -
{children}
- ); + return
{children}
; } }