|
@@ -0,0 +1,38 @@
|
|
|
+import { mapValues } from "lodash";
|
|
|
+import { defineUI } from "queenjs";
|
|
|
+import { useEditor } from "../..";
|
|
|
+import Canvas from "./Canvas";
|
|
|
+import Header from "./Header";
|
|
|
+import Slider from "./Slider";
|
|
|
+
|
|
|
+export default defineUI({
|
|
|
+ slots: {
|
|
|
+ Header,
|
|
|
+ SliderLeft: Slider,
|
|
|
+ SliderRight: Slider,
|
|
|
+ Canvas,
|
|
|
+ },
|
|
|
+ setup(props, { slots }) {
|
|
|
+ const { modules, components } = useEditor();
|
|
|
+ const { design } = modules;
|
|
|
+
|
|
|
+ design.components.UI = mapValues(design.components.UI, (Comp) => {
|
|
|
+ return (props: any) => (
|
|
|
+ <components.EditItem>
|
|
|
+ <Comp {...props} />
|
|
|
+ </components.EditItem>
|
|
|
+ );
|
|
|
+ }) as any;
|
|
|
+
|
|
|
+ return () => (
|
|
|
+ <div class="flex flex-col h-1/1">
|
|
|
+ <slots.Header class="p-16px border-bottom bg-component" />
|
|
|
+ <div class="flex flex-1 h-0">
|
|
|
+ <slots.SliderLeft class="w-300px bg-component border-right" />
|
|
|
+ <slots.Canvas class="flex-1 p-30px" />
|
|
|
+ <slots.SliderRight class="w-300px bg-component border-left" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ },
|
|
|
+});
|