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 12 additions and 5 deletions
Showing only changes of commit a45f02b727 - Show all commits

View File

@ -108,6 +108,11 @@ export default function LocationMapBottomSheet({
[mapObjects] [mapObjects]
); );
const showDraftOverview = mode === "edit" && editorTool === "edit" && !selectedObject; const showDraftOverview = mode === "edit" && editorTool === "edit" && !selectedObject;
const draftOverviewRows = [
{ label: "Areas", value: totalAreaCount },
...(hiddenAreaCount > 0 ? [{ label: "Hidden", value: hiddenAreaCount }] : []),
...(unlinkedAreaCount > 0 ? [{ label: "Unlinked", value: unlinkedAreaCount }] : []),
];
const hiddenUnmappedItemCount = Math.max(0, unmappedItemCount - visibleUnmappedItems.length); const hiddenUnmappedItemCount = Math.max(0, unmappedItemCount - visibleUnmappedItems.length);
const hasHiddenUnmappedItems = const hasHiddenUnmappedItems =
filters.showUnmapped && unmappedItemCount > 0 && visibleUnmappedItems.length === 0; filters.showUnmapped && unmappedItemCount > 0 && visibleUnmappedItems.length === 0;
@ -258,11 +263,7 @@ export default function LocationMapBottomSheet({
{showDraftOverview ? ( {showDraftOverview ? (
<LocationMapOverview <LocationMapOverview
ariaLabel="Draft map summary" ariaLabel="Draft map summary"
rows={[ rows={draftOverviewRows}
{ label: "Areas", value: totalAreaCount },
{ label: "Hidden", value: hiddenAreaCount },
{ label: "Unlinked", value: unlinkedAreaCount },
]}
/> />
) : null} ) : null}

View File

@ -1548,6 +1548,12 @@ test("admin selecting an object does not mark a draft dirty until it changes", a
await page.getByRole("button", { name: "Continue Editing" }).click(); await page.getByRole("button", { name: "Continue Editing" }).click();
await page.getByRole("button", { name: "Edit Areas" }).click(); await page.getByRole("button", { name: "Edit Areas" }).click();
const summary = page.getByLabel("Draft map summary");
await expect(summary.locator(".location-map-overview-row")).toHaveCount(1);
await expect(summary.locator(".location-map-overview-row", { hasText: "Areas" }).locator("strong")).toHaveText("1");
await expect(summary.locator(".location-map-overview-row", { hasText: "Hidden" })).toHaveCount(0);
await expect(summary.locator(".location-map-overview-row", { hasText: "Unlinked" })).toHaveCount(0);
const bakeryObject = page.locator(".location-map-object", { hasText: "Bakery" }).locator("rect").first(); const bakeryObject = page.locator(".location-map-object", { hasText: "Bakery" }).locator("rect").first();
await bakeryObject.click(); await bakeryObject.click();