diff --git a/src/canvas/canvas.js b/src/canvas/canvas.js index bc7e156..6aa7033 100644 --- a/src/canvas/canvas.js +++ b/src/canvas/canvas.js @@ -665,9 +665,9 @@ class Canvas extends React.Component { * Handles drop event to canvas from the sidebar and on canvas widget movement * @param {DragEvent} e */ - handleDropEvent = (e, draggedElement, widgetClass = null, initialPos={x: 0, y: 0}) => { + handleDropEvent = (e, draggedElement, widgetClass = null, initialOffset={x: 0, y: 0}) => { - console.log("event: ", e, draggedElement, widgetClass, initialPos) + console.log("event: ", e, draggedElement, widgetClass, initialOffset) // e.preventDefault() @@ -690,17 +690,18 @@ class Canvas extends React.Component { const { clientX, clientY } = e.nativeEvent - const { initial } = e.operation.shape + const { transform } = e.operation console.log("event: ", e) // const { x: clientX, y: clientY} = e.delta; - // const {clientX: draggedElementInitialX, clientY: draggedElementInitialY} = e.activatorEvent + const {clientX: draggedElementInitialX, clientY: draggedElementInitialY} = e.operation.activatorEvent + const { initial, current } = e.operation.shape - // console.log("wirking: ", clientX, clientY, e, draggedElementInitialX, draggedElementInitialY) + console.log("wirking: ", transform) // TODO: + initial cursor position - final cursor position let finalPosition = { - x: ((clientX - canvasRect.left) / this.state.zoom) - (initial.left) / this.state.zoom, - y: ((clientY - canvasRect.top) / this.state.zoom) - (initial.top) / this.state.zoom, + x: ((clientX - canvasRect.left) / this.state.zoom), + y: ((clientY - canvasRect.top) / this.state.zoom), } console.log("container: ", container) @@ -726,6 +727,11 @@ class Canvas extends React.Component { // y: (clientY - canvasRect.top) / this.state.zoom - (elementHeight / 2) / this.state.zoom, // } + finalPosition = { + x: finalPosition.x - initialOffset.x, + y: finalPosition.y - initialOffset.y + } + console.log(initial, current) let widgetId = draggedElement.getAttribute("data-widget-id") const widgetObj = this.getWidgetById(widgetId) @@ -1083,6 +1089,7 @@ class Canvas extends React.Component { } render() { + // FIXME: inner canvas not recognized as droppable or some thing return (