import { DesignComp } from "@/modules/editor/objects/DesignTemp/DesignComp"; import { css } from "@linaria/core"; import { defineUI } from "queenjs"; import { onUnmounted, reactive, ref, onMounted } from "vue"; import { Container, Draggable } from "vue-dndrop"; import { useEditor } from "../../.."; import { HotKeyCtrl } from "../../../controllers/HotKeyCtrl"; import { CompUI } from "../../CompUI"; import { SelectTransfer } from "../../CompUI/basicUI/Transfer/select"; import { TipIcons } from "../../TipIcons"; import { CompBase } from "@/modules/editor/objects/Elements/base"; export default defineUI({ setup() { const editor = useEditor(); const { store, actions, helper, controls } = editor; const hotKeyCtrl = new HotKeyCtrl(editor); hotKeyCtrl.init(); onUnmounted(() => { hotKeyCtrl.destroy(); }); const state = reactive({ draging: false, }); const NotFoundComp = () =>
无效的组件
; const flagRef = ref(); const containRef = ref(); const selectCanvasRef = ref(); const viewportRef = ref(); controls.cropCtrl.modifyCtrl.toolbars = TipIcons; const editLayerRef = ref(); onMounted(()=>{ if (!flagRef.value) { flagRef.value = true; setTimeout(() => { actions.onViewReady( controls.compCtrl.getRootPage().$el, selectCanvasRef.value, viewportRef.value ); // helper.initEditLayer(editLayerRef.value); }, 0); } }) return () => { const pageRoot = controls.compCtrl.getRootPage(); return (
{{ Container(children: any) { return ( <> { if (sourceContainerOptions.groupName != "canvas") { return false; } if (typeof payload == "string") controls.dragAddCtrl.updateCompKey(payload); else { controls.dragAddCtrl.updateCompKey(payload.type); controls.dragAddCtrl.updateCompData(payload.data); } return false; }} drop-not-allowed={(p: any) => { console.log("p", p); }} onDrop={(e: any) => { if (e.payload) { actions.addCompToDesign(e.payload, e.addedIndex); } else { controls.compCtrl.switchCard(e.removedIndex, e.addedIndex); } }} onDragStart={() => (state.draging = true)} onDragEnd={() => { state.draging = false; }} non-drag-area-selector={".drag-disable"} > {children} {/* {store.currStreamCardId && ( )} */} {/* { !state.draging && controls.cropCtrl.state.visible && } */} {!state.draging && } ); }, CompItem(c: CompBase) { const Comp = controls.compUICtrl.state.components.get(c.compKey) ?.Component || NotFoundComp; return ( ); }, }}
); }; }, }); const contentCls = css` .dndrop-container.vertical > .dndrop-draggable-wrapper { overflow: unset; } `; const selectCls = css` pointer-events: none; position: fixed; left: 0; top: 0; width: 100%; height: 100%; z-index: 1000; `; const meatureStyle = css` position: absolute; width: 100%; height: 100%; left: 0; top: 0; z-index: 1001; pointer-events: none; .ruler { position: absolute; cursor: ns-resize; pointer-events: auto; } .top { top: 0; left: 0; height: 10px; width: 100%; } .bottom { bottom: 0; left: 0; height: 10px; width: 100%; } .left { top: 0; left: 0; height: 100%; width: 10px; cursor: ew-resize; } .right { top: 0; right: 0; height: 100%; width: 10px; cursor: ew-resize; } `; const editLayerStyle = css` pointer-events: none; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 1000; `