Skip to content

feat(detail): a header pill can show a referenced record's label (schema 2.123.0) - #1746

Closed
rubenvdlinde wants to merge 4 commits into
developmentfrom
feat/detail-pill-resolve
Closed

rubenvdlinde wants to merge 4 commits into
developmentfrom
feat/detail-pill-resolve

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

A case's type pill used to read its caseType field, which holds the case type's uuid. So the dossiq case header showed a uuid instead of "Woo-verzoek" (BLD-Dq-A, DqZaak boards).

  • New config: config.typePill and config.statusPill take resolve: { register, schema, labelField? }.
    • The pill looks up its field value as a record of that schema.
    • It shows that record's labelField, falling back to its title or name.
    • The label also keys colorMap, so you can write { "Woo-verzoek": "info" }.
  • Same lookup as the tables: it reuses createRefLabelResolver, the resolver the index tables use for reference labels. A record already in the object store costs no request.
  • Fallback: while the lookup runs, and when it finds nothing, the pill shows the raw value.
  • Schema 2.123.0: adds headerPill.resolve. Number 2.122.0 is skipped, as the coordinator decided. This PR lands after feat(index): a preset or a folder scope sets the list's presentation (schema 2.121.0) #1736.

Without resolve, the pill behaves as before.

Tests

  • tests/components/CnDetailPagePillResolve.spec.js (3 tests): the resolve test fails against development.
  • Schema spec: version bump, recorded hash, and accept/refuse cases.
  • Local gates per LIB-GATES, all exit 0:
    • touched specs, 564 tests;
    • eslint, 0 errors (one inherited favourite warning);
    • check:docs;
    • check:jsdoc.
  • Reference pages regenerated.

AI-assisted: written with Claude Code, reviewed by the coordinator before merge.

🤖 Generated with Claude Code

Assisted-by: ClaudeCode:claude-opus-5-5
…ema 2.123.0)

typePill / statusPill take resolve: { register, schema, labelField? }. The
pill's field value is looked up as a record of that schema with the
reference-label resolver the index tables use, and its label replaces the
id ("Woo-verzoek", not the case type uuid) and keys colorMap. The raw value
shows while the lookup runs and when it finds nothing.

Assisted-by: ClaudeCode:claude-opus-5-5
…ll-resolve

# Conflicts:
#	docs/components/_generated/CnDetailPage.md
#	docs/components/_generated/reliance.json
#	src/schemas/app-manifest-v2.schema.json
#	tests/schemas/app-manifest-v2.schema.hashes.json
#	tests/schemas/app-manifest-v2.schema.spec.js
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/nextcloud-vue @ 6e72d36

Check PHP Vue Security License Tests
lint ⏭️
phpcs ⏭️
phpmd ⏭️
psalm ⏭️
phpstan ⏭️
phpmetrics ⏭️
eslint ✅
stylelint ✅
build ✅
test ✅
check-build ✅
check-vue3-compile ✅
check-public-safe ✅
check-journey-vocabulary ✅
check-docs ✅
check-docs-mdx ✅
check-jsdoc ✅
check-integration-parity ✅
check-peers ✅
check-docs-fresh ✅
check-a11y ✅
check-smoke ✅
composer ✅ ✅
npm ✅ ✅ 643/643
app:check-code ⏭️
info.xml ⏭️
REUSE ✅
lockfile sync ✅
PHPUnit ⏭️
Newman ⏭️
Playwright ⏭️
Hydra gates ⏭️

Quality workflow — 2026-10-17 10:52 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde

Copy link
Copy Markdown
Contributor Author

Landed in batch 8 via #1771.

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