utils.tsx 979 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { useEditor } from "@/modules/editor";
  2. import { ref, onMounted, defineComponent, nextTick } from "vue";
  3. import { css } from "@linaria/core";
  4. import { string ,any} from "vue-types";
  5. import { useCompEditLayerRef } from "./hooks";
  6. const WidthEditlayer = defineComponent({
  7. props: {
  8. compId: string().isRequired
  9. },
  10. setup(props, {slots}) {
  11. const { helper, store } = useEditor();
  12. if (!store.isEditMode) {
  13. return ()=>(slots.default?.())
  14. }
  15. const editLayerRef = useCompEditLayerRef(props.compId);
  16. return ()=>(
  17. <div class="relative">
  18. {
  19. slots.default?.()
  20. }
  21. <div class={editLayerStyle} ref={editLayerRef}>
  22. </div>
  23. </div>
  24. )
  25. },
  26. })
  27. const editLayerStyle = css`
  28. position: absolute;
  29. top: 0;
  30. left: 0;
  31. width: 100%;
  32. height: 100%;
  33. pointer-events: none;
  34. `
  35. export {WidthEditlayer}