From e40b1f3e7d55b276519539912c2bc54cf9cce76b Mon Sep 17 00:00:00 2001 From: "wuyue.xht" Date: Tue, 21 Apr 2020 21:55:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=85=A5=E4=B9=90=E9=AB=98?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vision-polyfill/src/demo/index.ts | 20 ++++++++++++++++++- .../vision-polyfill/src/skeleton/skeleton.ts | 3 ++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/vision-polyfill/src/demo/index.ts b/packages/vision-polyfill/src/demo/index.ts index ee31db6c7..2e59f091b 100644 --- a/packages/vision-polyfill/src/demo/index.ts +++ b/packages/vision-polyfill/src/demo/index.ts @@ -1,10 +1,12 @@ // @ts-ignore -import Engine from '@ali/visualengine'; +import Engine, { Panes } from '@ali/visualengine'; +import getTrunkPane from '@ali/ve-trunk-pane'; import loadUrls from './loader'; import { upgradeAssetsBundle } from './upgrade-assets'; const { editor } = Engine; +initTrunkPane(); Engine.init(); load(); @@ -52,3 +54,19 @@ async function loadSchema() { const schema = await editor.utils.get('./schema.json'); editor.set('schema', schema); } + +async function initTrunkPane() { + const assets = await editor.onceGot('legao-assets'); + const config = { + disableLowCodeComponent: true, + disableComponentStore: true, + app: { + getAssetsData() { + return assets; + // return data; + }, + }, + }; + const TrunkPane = getTrunkPane(config); + Panes.add(TrunkPane); +} diff --git a/packages/vision-polyfill/src/skeleton/skeleton.ts b/packages/vision-polyfill/src/skeleton/skeleton.ts index ebc0996ca..2d0b20cc1 100644 --- a/packages/vision-polyfill/src/skeleton/skeleton.ts +++ b/packages/vision-polyfill/src/skeleton/skeleton.ts @@ -18,6 +18,7 @@ import PanelDock from './panel-dock'; import Dock from './dock'; import { Stage, StageConfig } from './stage'; import { isValidElement } from 'react'; +import { isPlainObject } from 'globals/src/utils'; export enum SkeletonEvents { PANEL_DOCK_ACTIVE = 'skeleton.panel-dock.active', @@ -230,7 +231,7 @@ export class Skeleton { add(config: IWidgetBaseConfig & { area: string }) { const { content, ...restConfig } = config; if (content) { - if (typeof content === 'object' && !isValidElement(content)) { + if (isPlainObject(content) && !isValidElement(content)) { Object.keys(content).forEach((key) => { if (/props$/i.test(key) && restConfig[key]) { restConfig[key] = {