Skip to content

chore(openspec): generate map-component spec#378

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/spec-map-component
May 11, 2026
Merged

chore(openspec): generate map-component spec#378
rubenvdlinde merged 1 commit into
developmentfrom
chore/spec-map-component

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Summary

Generates a new OpenSpec change map-component proposing a single reusable MapComponent.vue that wraps CnMapWidget from @conduction/nextcloud-vue (>= beta.30) and serves as the shared map surface for three Procest embeddings:

  • Case detail map tab
  • Dashboard CaseMapWidget
  • Public case page (read-only mode)

Sister spec to case-location (provides the geometry field) and case-map-overview (provides the mapFormatters registry and the caseMarkerFormatter). This is the shared base for all in-app map embeddings; the standalone /map page stays with case-map-overview and its CnMapPage.

Spec only -- no code. STRICT validation passes (openspec change validate map-component --strict).

Contents

  • openspec/changes/map-component/proposal.md -- need / scope / dependencies (case-location + case-map-overview as upstream)
  • openspec/changes/map-component/design.md -- component API, marker icon strategy, NL Design System tokens, WCAG AA accessibility, three integration points
  • openspec/changes/map-component/tasks.md -- T01 component, T02 customComponents registration, T03 case detail tab, T04 dashboard widget, T05 public case page; V01-V04 verification
  • openspec/changes/map-component/specs/map-component/spec.md -- 6 ADDED requirements (REQ-MC-1..6) with 16 Given/When/Then scenarios

Requirements

  • REQ-MC-1 Reusable wrapper around CnMapWidget
  • REQ-MC-2 Component prop API (8 props with documented defaults)
  • REQ-MC-3 Events (marker-click, viewport-change debounced 200ms, ready)
  • REQ-MC-4 Interactive mode toggle (read-only public mode)
  • REQ-MC-5 NL Design System tokens + WCAG AA + i18n NL/EN
  • REQ-MC-6 Registration in customComponents registry

Test plan

  • openspec change validate map-component --strict passes (verified locally)
  • PR reviewed for scope boundaries vs. case-location and case-map-overview
  • No code changes in this PR -- spec only

Add OpenSpec change proposal for a reusable MapComponent.vue that wraps
CnMapWidget and serves as the shared map surface for case detail map tab,
dashboard map widget, and public case page.

Includes proposal, design, tasks (T01-T05 + V01-V04), and REQ-MC-1..6
delta spec covering the wrapper, prop API, events, interactive mode,
NL Design System / accessibility, and customComponents registration.

Sister spec to case-location and case-map-overview.
@rubenvdlinde rubenvdlinde requested a review from Rem-Dam as a code owner May 11, 2026 11:41
@rubenvdlinde rubenvdlinde merged commit 3ca7b0d into development May 11, 2026
17 of 21 checks passed
@rubenvdlinde rubenvdlinde deleted the chore/spec-map-component branch May 11, 2026 11:42
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/procest @ b111b7e

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 407/407
PHPUnit ⏭️
Newman ⏭️
Playwright

Spec coverage: 3% (21 tests / 673 specs)


Quality workflow — 2026-05-11 11:55 UTC

Download the full PDF report from the workflow artifacts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant