diff --git a/frontend/components/EntityEdit.vue b/frontend/components/EntityEdit.vue index 85de39d..0510cee 100644 --- a/frontend/components/EntityEdit.vue +++ b/frontend/components/EntityEdit.vue @@ -22,7 +22,7 @@ const props = defineProps({ inModal: { type: Boolean, }, - draggable: { + floatingWindow: { type: Boolean, default: false, }, @@ -531,9 +531,8 @@ const updateItem = async () => { > {{ item.id ? `${dataType.labelSingle} bearbeiten` : `${dataType.labelSingle} erstellen` }} @@ -552,8 +551,8 @@ const updateItem = async () => { Erstellen props.type === "vendors" && props.mode === "create") +const isDraggableWindowOpen = ref(true) const draggableWindow = ref(null) +const draggableWindowHandle = ref(null) const initialWindowPosition = import.meta.client ? { x: Math.max(16, (window.innerWidth - Math.min(1024, window.innerWidth - 32)) / 2), @@ -43,12 +45,14 @@ const initialWindowPosition = import.meta.client const { style: draggableWindowStyle } = useDraggable(draggableWindow, { initialValue: initialWindowPosition, - onStart: (_position, event) => { - const target = event.target - return target instanceof Element && Boolean(target.closest('[data-draggable-handle]')) - }, + handle: draggableWindowHandle, }) +const closeDraggableWindow = () => { + isDraggableWindowOpen.value = false + modal.close() +} + const setupPage = async () => { if(props.mode === "show") { //Load Data for Show @@ -79,17 +83,36 @@ setupPage() + + + + Lieferant erstellen + + + + + emit('returnData', data)" :createQuery="props.createQuery" :mode="props.mode" @@ -101,7 +124,7 @@ setupPage() /> - +