Skip to content

feat: CnObjectDataWidget and CnObjectMetadataWidget#55

Merged
rubenvdlinde merged 4 commits intodevelopmentfrom
feature/opencatalogi-detail-pages
Apr 16, 2026
Merged

feat: CnObjectDataWidget and CnObjectMetadataWidget#55
rubenvdlinde merged 4 commits intodevelopmentfrom
feature/opencatalogi-detail-pages

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Summary

  • Add CnObjectDataWidget — schema-driven editable data grid with inline editing, dirty tracking, and save via objectStore. Supports per-property overrides for order, grid span, visibility, editability, widget type, and enum options.
  • Add CnObjectMetadataWidget — read-only metadata display that auto-extracts @self system fields with compact horizontal table layout.
  • Both components exported from barrel files and documented in CLAUDE.md.

Test plan

  • Import CnObjectDataWidget in a detail page, pass schema + objectData, verify fields render in grid
  • Click a field value, verify inline editor opens with correct widget type
  • Edit a value, verify Save/Discard buttons appear in header
  • Click Save, verify objectStore.saveObject is called
  • Import CnObjectMetadataWidget, pass object with @self block, verify metadata rows display
  • Test override options: order, gridColumn, gridRow, hidden, editable, enum

Vue 2's template compiler does not allow :key on <slot> or <template>
elements in this context. Wrapped the slot in a <div> with the v-for
and :key, ensuring proper keying when consumers override the card slot.
CnObjectDataWidget: schema-driven editable data grid with inline editing,
dirty tracking, save/discard via objectStore. Supports per-property overrides
for order, grid span, visibility, editability, widget type, and enum options.

CnObjectMetadataWidget: read-only metadata display that auto-extracts
@self system fields (id, uuid, uri, register, schema, owner, dates, etc.)
with horizontal table-like layout.
CnChartWidget: replace dynamic import with static import for vue-apexcharts.
CnIndexPage: route all row-click emissions through onRowClick method.
@rubenvdlinde rubenvdlinde merged commit 86dd139 into development Apr 16, 2026
1 check failed
@rubenvdlinde rubenvdlinde deleted the feature/opencatalogi-detail-pages branch April 16, 2026 13:41
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