fix: clear hidden map area selection
This commit is contained in:
parent
1bcf4ea6d1
commit
5b8b7ee2b8
@ -189,6 +189,15 @@ export default function LocationMapManager() {
|
|||||||
}
|
}
|
||||||
}, [editorTool, mode]);
|
}, [editorTool, mode]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (!selectedObjectKey) return;
|
||||||
|
|
||||||
|
const selectedMapObject = objects.find((object) => getObjectKey(object) === selectedObjectKey);
|
||||||
|
if (!selectedMapObject || !filters.showZones || selectedMapObject.visible === false) {
|
||||||
|
setSelectedObjectKey(null);
|
||||||
|
}
|
||||||
|
}, [filters.showZones, objects, selectedObjectKey]);
|
||||||
|
|
||||||
const remember = (currentObjects = objects) => {
|
const remember = (currentObjects = objects) => {
|
||||||
setHistory((previous) => [...previous.slice(-19), currentObjects.map((object) => ({ ...object }))]);
|
setHistory((previous) => [...previous.slice(-19), currentObjects.map((object) => ({ ...object }))]);
|
||||||
setFuture([]);
|
setFuture([]);
|
||||||
|
|||||||
@ -1171,11 +1171,16 @@ test("viewer explains when the zones layer hides the map", async ({ page }) => {
|
|||||||
|
|
||||||
await page.goto("/stores/100/locations/10/map");
|
await page.goto("/stores/100/locations/10/map");
|
||||||
await expect(page.getByRole("button", { name: "Map area Bakery" })).toBeVisible();
|
await expect(page.getByRole("button", { name: "Map area Bakery" })).toBeVisible();
|
||||||
|
await page.getByRole("button", { name: "Map area Bakery" }).click();
|
||||||
|
await expect(page.locator(".location-map-sheet-header strong")).toHaveText("Bakery");
|
||||||
|
await expect(page.locator(".location-map-sheet-count")).toHaveText("2 items");
|
||||||
|
|
||||||
await page.getByRole("button", { name: "Layers" }).click();
|
await page.getByRole("button", { name: "Layers" }).click();
|
||||||
await page.getByLabel("Zones").uncheck();
|
await page.getByLabel("Zones").uncheck();
|
||||||
|
|
||||||
await expect(page.getByRole("button", { name: "Map area Bakery" })).toHaveCount(0);
|
await expect(page.getByRole("button", { name: "Map area Bakery" })).toHaveCount(0);
|
||||||
|
await expect(page.locator(".location-map-sheet-header strong")).toHaveText("Map Details");
|
||||||
|
await expect(page.locator(".location-map-sheet-count")).toHaveCount(0);
|
||||||
await expect(page.getByText("Zones hidden in Layers")).toBeVisible();
|
await expect(page.getByText("Zones hidden in Layers")).toBeVisible();
|
||||||
await expect(page.getByRole("button", { name: "Show Zones" })).toBeVisible();
|
await expect(page.getByRole("button", { name: "Show Zones" })).toBeVisible();
|
||||||
await expect(page.getByRole("button", { name: "Layers, 1 changed" })).toBeVisible();
|
await expect(page.getByRole("button", { name: "Layers, 1 changed" })).toBeVisible();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user