diff --git a/src/containers/visualization.js b/src/containers/visualization.js index 86b5ef3..869df52 100644 --- a/src/containers/visualization.js +++ b/src/containers/visualization.js @@ -155,6 +155,12 @@ class Visualization extends Component { }); } + snapToGrid(value) { + if (this.state.visualization.grid === 1) return value; + + return Math.round(value / this.state.visualization.grid) * this.state.visualization.grid; + } + handleDrop(item, position) { let widget = null; @@ -166,6 +172,10 @@ class Visualization extends Component { defaultSimulator = this.state.simulation.models[0].simulator; } + // snap position to grid + position.x = this.snapToGrid(position.x); + position.y = this.snapToGrid(position.y); + // create new widget widget = WidgetFactory.createWidgetOfType(item.name, position, defaultSimulator);