Double finger zoom should not select things (#1333)
This commit is contained in:
parent
1e9adf0a80
commit
fd75b88bd3
@ -48,6 +48,7 @@ export const getDefaultAppState = (): AppState => {
|
|||||||
openMenu: null,
|
openMenu: null,
|
||||||
lastPointerDownWith: "mouse",
|
lastPointerDownWith: "mouse",
|
||||||
selectedElementIds: {},
|
selectedElementIds: {},
|
||||||
|
previousSelectedElementIds: {},
|
||||||
collaborators: new Map(),
|
collaborators: new Map(),
|
||||||
shouldCacheIgnoreZoom: false,
|
shouldCacheIgnoreZoom: false,
|
||||||
showShortcutsDialog: false,
|
showShortcutsDialog: false,
|
||||||
|
@ -675,6 +675,22 @@ class App extends React.Component<any, AppState> {
|
|||||||
clearTimeout(tappedTwiceTimer);
|
clearTimeout(tappedTwiceTimer);
|
||||||
}
|
}
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
if (event.touches.length === 2) {
|
||||||
|
this.setState({
|
||||||
|
selectedElementIds: {},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private onTapEnd = (event: TouchEvent) => {
|
||||||
|
event.preventDefault();
|
||||||
|
if (event.touches.length > 0) {
|
||||||
|
const { previousSelectedElementIds } = this.state;
|
||||||
|
this.setState({
|
||||||
|
previousSelectedElementIds: {},
|
||||||
|
selectedElementIds: previousSelectedElementIds,
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private pasteFromClipboard = withBatchedUpdates(
|
private pasteFromClipboard = withBatchedUpdates(
|
||||||
@ -1275,6 +1291,9 @@ class App extends React.Component<any, AppState> {
|
|||||||
|
|
||||||
private onGestureStart = withBatchedUpdates((event: GestureEvent) => {
|
private onGestureStart = withBatchedUpdates((event: GestureEvent) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
this.setState({
|
||||||
|
selectedElementIds: {},
|
||||||
|
});
|
||||||
gesture.initialScale = this.state.zoom;
|
gesture.initialScale = this.state.zoom;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1288,6 +1307,11 @@ class App extends React.Component<any, AppState> {
|
|||||||
|
|
||||||
private onGestureEnd = withBatchedUpdates((event: GestureEvent) => {
|
private onGestureEnd = withBatchedUpdates((event: GestureEvent) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
const { previousSelectedElementIds } = this.state;
|
||||||
|
this.setState({
|
||||||
|
previousSelectedElementIds: {},
|
||||||
|
selectedElementIds: previousSelectedElementIds,
|
||||||
|
});
|
||||||
gesture.initialScale = null;
|
gesture.initialScale = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -2097,6 +2121,11 @@ class App extends React.Component<any, AppState> {
|
|||||||
? prevState.editingGroupId
|
? prevState.editingGroupId
|
||||||
: null,
|
: null,
|
||||||
}));
|
}));
|
||||||
|
const { selectedElementIds } = this.state;
|
||||||
|
this.setState({
|
||||||
|
selectedElementIds: {},
|
||||||
|
previousSelectedElementIds: selectedElementIds,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we click on something
|
// If we click on something
|
||||||
@ -2138,6 +2167,11 @@ class App extends React.Component<any, AppState> {
|
|||||||
hitElementWasAddedToSelection = true;
|
hitElementWasAddedToSelection = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { selectedElementIds } = this.state;
|
||||||
|
this.setState({
|
||||||
|
previousSelectedElementIds: selectedElementIds,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.setState({
|
this.setState({
|
||||||
@ -2746,9 +2780,11 @@ class App extends React.Component<any, AppState> {
|
|||||||
passive: false,
|
passive: false,
|
||||||
});
|
});
|
||||||
this.canvas.addEventListener(EVENT.TOUCH_START, this.onTapStart);
|
this.canvas.addEventListener(EVENT.TOUCH_START, this.onTapStart);
|
||||||
|
this.canvas.addEventListener(EVENT.TOUCH_END, this.onTapEnd);
|
||||||
} else {
|
} else {
|
||||||
this.canvas?.removeEventListener(EVENT.WHEEL, this.handleWheel);
|
this.canvas?.removeEventListener(EVENT.WHEEL, this.handleWheel);
|
||||||
this.canvas?.removeEventListener(EVENT.TOUCH_START, this.onTapStart);
|
this.canvas?.removeEventListener(EVENT.TOUCH_START, this.onTapStart);
|
||||||
|
this.canvas?.removeEventListener(EVENT.TOUCH_END, this.onTapEnd);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2862,6 +2898,7 @@ class App extends React.Component<any, AppState> {
|
|||||||
private handleWheel = withBatchedUpdates((event: WheelEvent) => {
|
private handleWheel = withBatchedUpdates((event: WheelEvent) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const { deltaX, deltaY } = event;
|
const { deltaX, deltaY } = event;
|
||||||
|
const { selectedElementIds, previousSelectedElementIds } = this.state;
|
||||||
|
|
||||||
// note that event.ctrlKey is necessary to handle pinch zooming
|
// note that event.ctrlKey is necessary to handle pinch zooming
|
||||||
if (event.metaKey || event.ctrlKey) {
|
if (event.metaKey || event.ctrlKey) {
|
||||||
@ -2872,8 +2909,21 @@ class App extends React.Component<any, AppState> {
|
|||||||
delta = MAX_STEP;
|
delta = MAX_STEP;
|
||||||
}
|
}
|
||||||
delta *= sign;
|
delta *= sign;
|
||||||
|
if (Object.keys(previousSelectedElementIds).length !== 0) {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.setState({
|
||||||
|
selectedElementIds: previousSelectedElementIds,
|
||||||
|
previousSelectedElementIds: {},
|
||||||
|
});
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
this.setState(({ zoom }) => ({
|
this.setState(({ zoom }) => ({
|
||||||
zoom: getNormalizedZoom(zoom - delta / 100),
|
zoom: getNormalizedZoom(zoom - delta / 100),
|
||||||
|
selectedElementIds: {},
|
||||||
|
previousSelectedElementIds:
|
||||||
|
Object.keys(selectedElementIds).length !== 0
|
||||||
|
? selectedElementIds
|
||||||
|
: previousSelectedElementIds,
|
||||||
}));
|
}));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -43,6 +43,7 @@ export enum EVENT {
|
|||||||
STATE_CHANGE = "statechange",
|
STATE_CHANGE = "statechange",
|
||||||
WHEEL = "wheel",
|
WHEEL = "wheel",
|
||||||
TOUCH_START = "touchstart",
|
TOUCH_START = "touchstart",
|
||||||
|
TOUCH_END = "touchend",
|
||||||
}
|
}
|
||||||
|
|
||||||
export const ENV = {
|
export const ENV = {
|
||||||
|
@ -32,6 +32,10 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Unbenannt-201933152653",
|
"name": "Unbenannt-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
"id3": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -425,6 +429,9 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -628,6 +635,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -750,6 +758,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -1008,6 +1017,9 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -1166,6 +1178,10 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
"id1": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -1361,6 +1377,9 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id1": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -1563,6 +1582,9 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id2": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -1866,6 +1888,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Unbenannt-201933152653",
|
"name": "Unbenannt-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -2257,6 +2280,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4041,6 +4065,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4163,6 +4188,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4285,6 +4311,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4407,6 +4434,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4551,6 +4579,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4695,6 +4724,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4839,6 +4869,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -4983,6 +5014,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -5105,6 +5137,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -5227,6 +5260,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -5371,6 +5405,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -5493,6 +5528,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -5637,6 +5673,12 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Unbenannt-201933152653",
|
"name": "Unbenannt-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
"id1": true,
|
||||||
|
"id2": true,
|
||||||
|
"id3": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -6268,6 +6310,10 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
"id3": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -6470,6 +6516,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": -6,
|
"scrollX": -6,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -6533,6 +6580,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -6594,6 +6642,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -7412,6 +7461,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -7807,6 +7857,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -8119,6 +8170,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -8352,6 +8404,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -8510,6 +8563,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -9277,6 +9331,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -9945,6 +10000,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -10518,6 +10574,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -11000,6 +11057,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -11438,6 +11496,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -11791,6 +11850,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -12063,6 +12123,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -12258,6 +12319,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -13076,6 +13138,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -13793,6 +13856,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -14413,6 +14477,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -14940,6 +15005,12 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {
|
||||||
|
"id0": true,
|
||||||
|
"id1": true,
|
||||||
|
"id2": true,
|
||||||
|
"id3": true,
|
||||||
|
},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -15204,6 +15275,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 60,
|
"scrollX": 60,
|
||||||
"scrollY": 60,
|
"scrollY": 60,
|
||||||
@ -15265,6 +15337,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Unbenannt-201933152653",
|
"name": "Unbenannt-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -15915,6 +15988,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 11,
|
"scrollX": 11,
|
||||||
"scrollY": -5,
|
"scrollY": -5,
|
||||||
@ -15978,6 +16052,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -16402,6 +16477,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Unbenannt-201933152653",
|
"name": "Unbenannt-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
@ -16474,6 +16550,7 @@ Object {
|
|||||||
"multiElement": null,
|
"multiElement": null,
|
||||||
"name": "Untitled-201933152653",
|
"name": "Untitled-201933152653",
|
||||||
"openMenu": null,
|
"openMenu": null,
|
||||||
|
"previousSelectedElementIds": Object {},
|
||||||
"resizingElement": null,
|
"resizingElement": null,
|
||||||
"scrollX": 0,
|
"scrollX": 0,
|
||||||
"scrollY": 0,
|
"scrollY": 0,
|
||||||
|
@ -57,6 +57,7 @@ export type AppState = {
|
|||||||
openMenu: "canvas" | "shape" | null;
|
openMenu: "canvas" | "shape" | null;
|
||||||
lastPointerDownWith: PointerType;
|
lastPointerDownWith: PointerType;
|
||||||
selectedElementIds: { [id: string]: boolean };
|
selectedElementIds: { [id: string]: boolean };
|
||||||
|
previousSelectedElementIds: { [id: string]: boolean };
|
||||||
collaborators: Map<
|
collaborators: Map<
|
||||||
string,
|
string,
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user