fix: node selection rect not dragging correctly

* issue comes from revue-draggable (has been fixed in 0.0.12) naming collision of the prop onDrag (callback fn) and the way JSX events are bound (onDrag instead of drag)
This commit is contained in:
Braks
2021-07-17 21:07:24 +02:00
parent 528f8f4420
commit dfd9e96356
5 changed files with 26 additions and 11 deletions
+9 -1
View File
@@ -70,10 +70,18 @@ const NodesSelection = defineComponent({
props.onSelectionDragStart?.(event, selectedNodes.value);
};
const onDrag: DraggableEventHandler = (event) => {
const onDrag: DraggableEventHandler = (event, data) => {
if (props.onSelectionDrag) {
props.onSelectionDrag(event, selectedNodes.value);
}
store.updateNodePosDiff({
diff: {
x: data.deltaX,
y: data.deltaY
},
isDragging: true
});
};
const onStop: DraggableEventHandler = (event: MouseEvent) => {
-3
View File
@@ -56,7 +56,6 @@ export default defineComponent({
return;
}
console.log('mouseDown');
store?.setUserSelection(mousePos);
};
@@ -69,13 +68,11 @@ export default defineComponent({
if (!mousePos) {
return;
}
console.log('mousemove');
store?.updateUserSelection(mousePos);
};
const onMouseUp = () => {
console.log('mosueUp');
store?.unsetUserSelection();
};
+12 -2
View File
@@ -1,4 +1,14 @@
import { computed, CSSProperties, defineComponent, HTMLAttributes, onBeforeUnmount, PropType, provide, watchEffect } from 'vue';
import {
computed,
CSSProperties,
defineComponent,
HTMLAttributes,
inject,
onBeforeUnmount,
PropType,
provide,
watchEffect
} from 'vue';
import GraphView from '../GraphView';
import DefaultNode from '../../components/Nodes/DefaultNode';
import InputNode from '../../components/Nodes/InputNode';
@@ -538,7 +548,7 @@ const RevueFlow = defineComponent({
*/
},
setup(props, { slots }) {
const store = configureStore(initialState)();
const store = typeof inject('store') !== 'undefined' ? inject<RevueFlowStore>('store')! : configureStore(initialState)();
provide<RevueFlowStore>('store', store);
store.setElements(props.elements);