fix: hide the alignment buttons if there is only one group selected (they do nothing if only one group is selected)

This commit is contained in:
feng 2025-04-21 14:38:40 +09:00
parent debf2ad608
commit 4944a739c8

View file

@ -8,6 +8,8 @@ import { KEYS, arrayToMap, getShortcutKey } from "@excalidraw/common";
import { alignElements } from "@excalidraw/element/align";
import { getMaximumGroups } from "@excalidraw/element/groups";
import type { ExcalidrawElement } from "@excalidraw/element/types";
import type { Alignment } from "@excalidraw/element/align";
@ -36,8 +38,12 @@ export const alignActionsPredicate = (
app: AppClassProperties,
) => {
const selectedElements = app.scene.getSelectedElements(appState);
const groups = getMaximumGroups(
selectedElements,
app.scene.getNonDeletedElementsMap(),
);
return (
selectedElements.length > 1 &&
groups.length > 1 &&
// TODO enable aligning frames when implemented properly
!selectedElements.some((el) => isFrameLikeElement(el))
);