|
@@ -15,7 +15,7 @@ import {
|
|
|
import {
|
|
|
clearSelection,
|
|
|
deleteSelectedElements,
|
|
|
- getElementsWithinSelection,
|
|
|
+ setSelection,
|
|
|
isOverScrollBars,
|
|
|
restoreFromLocalStorage,
|
|
|
saveToLocalStorage,
|
|
@@ -746,24 +746,13 @@ export class App extends React.Component<{}, AppState> {
|
|
|
this.state.scrollY;
|
|
|
draggingElement.width = width;
|
|
|
// Make a perfect square or circle when shift is enabled
|
|
|
- draggingElement.height =
|
|
|
- // Shift key on selection must add items to selection
|
|
|
- e.shiftKey && this.state.elementType !== "selection"
|
|
|
- ? Math.abs(width) * Math.sign(height)
|
|
|
- : height;
|
|
|
+ draggingElement.height = e.shiftKey
|
|
|
+ ? Math.abs(width) * Math.sign(height)
|
|
|
+ : height;
|
|
|
draggingElement.shape = null;
|
|
|
|
|
|
if (this.state.elementType === "selection") {
|
|
|
- const elementsWithinSelection = getElementsWithinSelection(
|
|
|
- elements,
|
|
|
- draggingElement
|
|
|
- );
|
|
|
- if (!e.shiftKey) {
|
|
|
- elements = clearSelection(elements);
|
|
|
- }
|
|
|
- elementsWithinSelection.forEach(
|
|
|
- element => (element.isSelected = true)
|
|
|
- );
|
|
|
+ elements = setSelection(elements, draggingElement);
|
|
|
}
|
|
|
// We don't want to save history when moving an element
|
|
|
history.skipRecording();
|