refactor(selection): remove selection on node click

This commit is contained in:
moklick
2019-07-24 16:56:46 +02:00
parent 4be80dd985
commit 5fc84bf12c
4 changed files with 9 additions and 24 deletions
+5 -11
View File
@@ -29884,13 +29884,7 @@
var _selectedNodes = getNodesInside(state.nodes, action.payload.selection, state.transform); var _selectedNodes = getNodesInside(state.nodes, action.payload.selection, state.transform);
var selectedNodesBbox = getBoundingBox(_selectedNodes); // const bboxPos = { var selectedNodesBbox = getBoundingBox(_selectedNodes);
// left: ((selectedNodesBbox.x * state.transform[2]) + (state.transform[0] * (1 / 1.0))),
// top: ((selectedNodesBbox.y * state.transform[2]) + (state.transform[1] * (1 / 1.0)))
// };
// let bboxWidth = (selectedNodesBbox.width * state.transform[2]) + 10;
// let bboxHeight = (selectedNodesBbox.height * state.transform[2]) + 10;
return _objectSpread2({}, state, {}, action.payload, { return _objectSpread2({}, state, {}, action.payload, {
selectedNodesBbox: selectedNodesBbox selectedNodesBbox: selectedNodesBbox
}); });
@@ -29905,9 +29899,6 @@
var nextNodes = state.nodes.filter(function (n) { var nextNodes = state.nodes.filter(function (n) {
return !ids.includes(n.data.id); return !ids.includes(n.data.id);
}); });
console.log(ids);
console.log(state.edges, nextEdges);
console.log(state.nodes, nextNodes);
return _objectSpread2({}, state, { return _objectSpread2({}, state, {
nodes: nextNodes, nodes: nextNodes,
edges: nextEdges edges: nextEdges
@@ -30017,7 +30008,8 @@
return { return {
type: SET_SELECTED_NODES_IDS, type: SET_SELECTED_NODES_IDS,
payload: { payload: {
selectedNodeIds: idArray selectedNodeIds: idArray,
nodesSelectionActive: false
} }
}; };
}; };
@@ -32858,6 +32850,8 @@
x: e.clientX * (1 / k), x: e.clientX * (1 / k),
y: e.clientY * (1 / k) y: e.clientY * (1 / k)
}; };
e.preventDefault();
e.stopPropagation();
dispatch(updateNodePos(id, { dispatch(updateNodePos(id, {
x: unscaledPos.x - x - offset.x, x: unscaledPos.x - x - offset.x,
y: unscaledPos.y - y - offset.y y: unscaledPos.y - y - offset.y
+3
View File
@@ -50,6 +50,9 @@ export default NodeComponent => (props) => {
y: e.clientY * (1 / k) y: e.clientY * (1 / k)
} }
e.preventDefault();
e.stopPropagation();
dispatch(updateNodePos(id, { dispatch(updateNodePos(id, {
x: unscaledPos.x - x - offset.x, x: unscaledPos.x - x - offset.x,
y: unscaledPos.y - y - offset.y y: unscaledPos.y - y - offset.y
+1 -1
View File
@@ -69,7 +69,7 @@ export const setNodesSelection = ({ isActive, selection }) => {
export const setSelectedNodesIds = (ids) => { export const setSelectedNodesIds = (ids) => {
const idArray = Array.isArray(ids) ? ids : [ids]; const idArray = Array.isArray(ids) ? ids : [ids];
return { type: SET_SELECTED_NODES_IDS, payload: { selectedNodeIds: idArray } }; return { type: SET_SELECTED_NODES_IDS, payload: { selectedNodeIds: idArray, nodesSelectionActive: false } };
}; };
export const removeNodes = (ids) => { export const removeNodes = (ids) => {
-12
View File
@@ -90,14 +90,6 @@ export const reducer = (state, action) => {
const selectedNodes = getNodesInside(state.nodes, action.payload.selection, state.transform); const selectedNodes = getNodesInside(state.nodes, action.payload.selection, state.transform);
const selectedNodesBbox = getBoundingBox(selectedNodes); const selectedNodesBbox = getBoundingBox(selectedNodes);
// const bboxPos = {
// left: ((selectedNodesBbox.x * state.transform[2]) + (state.transform[0] * (1 / 1.0))),
// top: ((selectedNodesBbox.y * state.transform[2]) + (state.transform[1] * (1 / 1.0)))
// };
// let bboxWidth = (selectedNodesBbox.width * state.transform[2]) + 10;
// let bboxHeight = (selectedNodesBbox.height * state.transform[2]) + 10;
return { ...state, ...action.payload, selectedNodesBbox }; return { ...state, ...action.payload, selectedNodesBbox };
} }
case REMOVE_NODES: { case REMOVE_NODES: {
@@ -105,10 +97,6 @@ export const reducer = (state, action) => {
const nextEdges = state.edges.filter(e => !ids.includes(e.data.target) && !ids.includes(e.data.source)); const nextEdges = state.edges.filter(e => !ids.includes(e.data.target) && !ids.includes(e.data.source));
const nextNodes = state.nodes.filter(n => !ids.includes(n.data.id)); const nextNodes = state.nodes.filter(n => !ids.includes(n.data.id));
console.log(ids,);
console.log( state.edges, nextEdges, );
console.log(state.nodes, nextNodes);
return { ...state, nodes: nextNodes, edges: nextEdges }; return { ...state, nodes: nextNodes, edges: nextEdges };
} }
case SET_NODES: case SET_NODES: