Add store location map manager #20

Open
nalalangan wants to merge 206 commits from feature/location-map-manager into feature/store-selector-modal
2 changed files with 11 additions and 1 deletions
Showing only changes of commit 1b7aaa1989 - Show all commits

View File

@ -1,4 +1,4 @@
import { useMemo } from "react"; import { useEffect, useMemo } from "react";
import { import {
DEFAULT_MAP_FILTERS, DEFAULT_MAP_FILTERS,
getMapObjectDisplayLabel, getMapObjectDisplayLabel,
@ -82,6 +82,13 @@ export default function LocationMapBottomSheet({
const showEditorControls = mode === "edit" && canManage; const showEditorControls = mode === "edit" && canManage;
const showSelectedObjectForm = Boolean(mode === "edit" && editorTool === "edit" && selectedObject); const showSelectedObjectForm = Boolean(mode === "edit" && editorTool === "edit" && selectedObject);
const showUnmappedPanel = filters.showUnmapped && !selectedObject; const showUnmappedPanel = filters.showUnmapped && !selectedObject;
useEffect(() => {
if (selectedObject) {
setLayersOpen(false);
}
}, [selectedObject, setLayersOpen]);
const changedLayerCount = useMemo( const changedLayerCount = useMemo(
() => MAP_DISPLAY_CONTROLS.filter(([key]) => filters[key] !== DEFAULT_MAP_FILTERS[key]).length, () => MAP_DISPLAY_CONTROLS.filter(([key]) => filters[key] !== DEFAULT_MAP_FILTERS[key]).length,
[filters] [filters]

View File

@ -2163,11 +2163,14 @@ test("viewer hides unrelated unmapped items while a zone is selected", async ({
await page.goto("/stores/100/locations/10/map"); await page.goto("/stores/100/locations/10/map");
await page.getByRole("button", { name: "Layers" }).click(); await page.getByRole("button", { name: "Layers" }).click();
await page.getByRole("button", { name: "Unmapped" }).click(); await page.getByRole("button", { name: "Unmapped" }).click();
await expect(page.locator(".location-map-display-panel")).toBeVisible();
await expect(page.getByText("Unmapped Items")).toBeVisible(); await expect(page.getByText("Unmapped Items")).toBeVisible();
await expect(page.getByText("loose batteries")).toBeVisible(); await expect(page.getByText("loose batteries")).toBeVisible();
await page.locator('[data-object-key="1531"]').locator("rect").first().click(); await page.locator('[data-object-key="1531"]').locator("rect").first().click();
await expect(page.locator(".location-map-sheet-header strong")).toHaveText("Bakery"); await expect(page.locator(".location-map-sheet-header strong")).toHaveText("Bakery");
await expect(page.getByRole("button", { name: "Layers, 1 changed" })).toHaveAttribute("aria-expanded", "false");
await expect(page.locator(".location-map-display-panel")).toHaveCount(0);
await expect(page.getByText("french bread")).toBeVisible(); await expect(page.getByText("french bread")).toBeVisible();
await expect(page.getByText("Unmapped Items")).toHaveCount(0); await expect(page.getByText("Unmapped Items")).toHaveCount(0);
await expect(page.getByText("loose batteries")).toHaveCount(0); await expect(page.getByText("loose batteries")).toHaveCount(0);