Update App.tsx to handle viewport panel hover and modify tests/unit/transform-foundation.integration.test.tsx for pointer events
This commit is contained in:
@@ -1331,6 +1331,16 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
|||||||
x: event.clientX,
|
x: event.clientX,
|
||||||
y: event.clientY
|
y: event.clientY
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const hoveredViewportPanelElement =
|
||||||
|
event.target instanceof Element ? event.target.closest<HTMLElement>("[data-viewport-panel-id]") : null;
|
||||||
|
const hoveredPanelId = hoveredViewportPanelElement?.dataset.viewportPanelId;
|
||||||
|
|
||||||
|
setHoveredViewportPanelId(
|
||||||
|
hoveredPanelId === "topLeft" || hoveredPanelId === "topRight" || hoveredPanelId === "bottomLeft" || hoveredPanelId === "bottomRight"
|
||||||
|
? hoveredPanelId
|
||||||
|
: null
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleWindowKeyDown = (event: globalThis.KeyboardEvent) => {
|
const handleWindowKeyDown = (event: globalThis.KeyboardEvent) => {
|
||||||
@@ -4867,7 +4877,6 @@ export function App({ store, initialStatusMessage }: AppProps) {
|
|||||||
focusRequestId={focusRequest.panelId === panelId ? focusRequest.id : 0}
|
focusRequestId={focusRequest.panelId === panelId ? focusRequest.id : 0}
|
||||||
focusSelection={focusRequest.selection}
|
focusSelection={focusRequest.selection}
|
||||||
onActivatePanel={handleActivateViewportPanel}
|
onActivatePanel={handleActivateViewportPanel}
|
||||||
onHoverPanel={setHoveredViewportPanelId}
|
|
||||||
onSetPanelViewMode={handleSetViewportPanelViewMode}
|
onSetPanelViewMode={handleSetViewportPanelViewMode}
|
||||||
onSetPanelDisplayMode={handleSetViewportPanelDisplayMode}
|
onSetPanelDisplayMode={handleSetViewportPanelDisplayMode}
|
||||||
onCommitCreation={handleCommitCreation}
|
onCommitCreation={handleCommitCreation}
|
||||||
|
|||||||
@@ -436,7 +436,10 @@ describe("transform foundation integration", () => {
|
|||||||
fireEvent.click(screen.getByRole("button", { name: /^Brush Transform Fixture$/ }));
|
fireEvent.click(screen.getByRole("button", { name: /^Brush Transform Fixture$/ }));
|
||||||
});
|
});
|
||||||
|
|
||||||
fireEvent.pointerOver(screen.getByTestId("viewport-panel-bottomRight"));
|
fireEvent.pointerMove(screen.getByTestId("viewport-panel-bottomRight"), {
|
||||||
|
clientX: 24,
|
||||||
|
clientY: 24
|
||||||
|
});
|
||||||
fireEvent.keyDown(window, {
|
fireEvent.keyDown(window, {
|
||||||
key: "g",
|
key: "g",
|
||||||
code: "KeyG"
|
code: "KeyG"
|
||||||
|
|||||||
Reference in New Issue
Block a user