mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Refactor ExcalidrawElement (#874)
* Get rid of isSelected, canvas, canvasZoom, canvasOffsetX and canvasOffsetY on ExcalidrawElement. * Fix most unit tests. Fix cmd a. Fix alt drag * Focus on paste * shift select should include previously selected items * Fix last test * Move this.shape out of ExcalidrawElement and into a WeakMap
This commit is contained in:
parent
8ecb4201db
commit
ccbbdb75a6
39 changed files with 416 additions and 306 deletions
|
@ -10,22 +10,23 @@ export const actionDeleteSelected = register({
|
|||
name: "deleteSelectedElements",
|
||||
perform: (elements, appState) => {
|
||||
return {
|
||||
elements: deleteSelectedElements(elements),
|
||||
elements: deleteSelectedElements(elements, appState),
|
||||
appState: { ...appState, elementType: "selection", multiElement: null },
|
||||
};
|
||||
},
|
||||
contextItemLabel: "labels.delete",
|
||||
contextMenuOrder: 3,
|
||||
commitToHistory: (_, elements) => isSomeElementSelected(elements),
|
||||
commitToHistory: (appState, elements) =>
|
||||
isSomeElementSelected(elements, appState),
|
||||
keyTest: event => event.key === KEYS.BACKSPACE || event.key === KEYS.DELETE,
|
||||
PanelComponent: ({ elements, updateData }) => (
|
||||
PanelComponent: ({ elements, appState, updateData }) => (
|
||||
<ToolButton
|
||||
type="button"
|
||||
icon={trash}
|
||||
title={t("labels.delete")}
|
||||
aria-label={t("labels.delete")}
|
||||
onClick={() => updateData(null)}
|
||||
visible={isSomeElementSelected(elements)}
|
||||
visible={isSomeElementSelected(elements, appState)}
|
||||
/>
|
||||
),
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue