lowcode-engine icon indicating copy to clipboard operation
lowcode-engine copied to clipboard

提供自定义workbench的能力

Open zboMa opened this issue 3 years ago • 5 comments

希望能够提供自定义workbench的能力: 通过@alilc/lowcode-editor-skeleton导出的Skeleton、Area、Panel、Widget等内容,来实现设计器结构和区域划分的自定义。 engine-core中init函数可选workbench参数,替换默认的workbench。 或者提供innerSkeleton的调用方式,自行注入(workbench的skeleton参数被hejack了,无法通过导出的skeleton注入自定义workbench实现功能)。

zboMa avatar Aug 26 '22 02:08 zboMa

这里的 workbench 是什么样的能力?如果支持了,如何使用?以及为什么需要提供这样的能力,现有能力有什么不满足的地方。

liujuping avatar Aug 26 '22 03:08 liujuping

workbench即@alilc/lowcode-editor-skeleton/src/layouts/workbench.tsx的自定义。 期望能够自行设计编辑器框架 View,自行划分渲染rightArea等区域。 使用方式期望是采用自定义@/alilc/lowcode-engine/src/engine-core.ts中inti函数的方式

init(...){
// do something
  render(
    createElement(CustomWorkbench, {skeleton: innerSkeleton, ...}),
    engineContainer
  )
}

或者config中设置view: CustomWorkbench; 或者engine-core.ts中的init函数能够接收一个CustomWorkbench参数来替换。

现在的workbench组件区域划分固定了topArea、leftArea、rightArea的位置,在项目中,页面结构的设计可能不是这样划分的,就需要对页面结构进行修改。

现在的@alilc/lowcode-editor-skeleton所导出的内容,不足以支撑上述CustomWorkbench的开发。

zboMa avatar Aug 26 '22 03:08 zboMa

这个是by design就不开放的,生态的插件要有个可预期的布局方式才有可通用的空间,从设计上来说,这就属于不开放的部分。

JackLian avatar Aug 26 '22 04:08 JackLian

我们重新梳理了一下,从社区生态来讲,确实需要一个确定的框架结构才可以进行对应扩展。

然而我们本身希望,能够使用引擎提供能力的同时,重新设计框架结构。 能否提供Area、Skeleton、Widget等已有能力的导出,使得我们可以自行扩展?

例如: 我们将构建topArea、rightArea、mainArea、sliderArea、drawerArea等结构,并创建对应area。 我们将自行添加一系列plugin,或者将生态插件注册到对应位置。

zboMa avatar Aug 26 '22 09:08 zboMa

从系统设计以及项目维护的角度,我们还是不希望开放这个能力。

不如你先fork开发,成品之后我们再一起看看?

LeoYuan avatar Aug 26 '22 10:08 LeoYuan