feat: Refactor CnObjectSidebar into separate tab components#33
Open
rubenvdlinde wants to merge 15 commits intobetafrom
Open
feat: Refactor CnObjectSidebar into separate tab components#33rubenvdlinde wants to merge 15 commits intobetafrom
rubenvdlinde wants to merge 15 commits intobetafrom
Conversation
- Fix filters object serialized as [object Object] in query string by using JSON.stringify for all object values in buildQueryString - Flatten filters into individual query params in refetchSearchCollection so backend receives field-level filters instead of a single filters param - Remove source-to-_source mapping (deprecated, backend auto-detects)
…components feat: Spec enrichment and new components
- Add status: implemented frontmatter to all 23 specs missing it - Rename '## ADDED Requirements' to '## Requirements' in 6 specs - Fix ADDED Requirements in unified-grid-widget-system change specs - Fix ADDED Requirements in all archive delta specs - Fix schema template to use 'Requirements' instead of 'ADDED Requirements'
All specs moved from openspec/specs/ to openspec/changes/ with proper proposal.md as the entry point. Follows the spec-driven workflow: proposal -> design -> specs -> tasks
…, full archive - gridLayout mixin: New 12-column CSS grid engine for static layouts (sortedLayout, widgetGridStyle, responsive breakpoints) - CnDetailPage: Add optional grid layout mode via layout+widgets props (backwards compatible — default slot stacking preserved when no layout) - CnInfoWidget: New label-value pair component (manual or schema-driven) - CnTableWidget: New data table widget with card wrapper and dual sourcing (external rows or self-fetch from OpenRegister API) - Barrel exports: Add missing CnChartWidget, CnObjectSidebar, CnInfoWidget, CnTableWidget to components/index.js and src/index.js - All 24 changes: design.md, tasks.md, specs synced to openspec/specs/, archived to openspec/changes/archive/
…seListView - sortedLayout computed now returns [] when layout is null - hasGridLayout uses Array.isArray for strict boolean return - useListView accepts optional objectStore in options for createObjectStore users
Extract each sidebar tab into its own self-contained component: - CnFilesTab: Drop zone file upload (drag-and-drop + click), file list with actions - CnNotesTab: Add/edit/delete notes with inline editing - CnTagsTab: System tag management with autocomplete suggestions - CnTasksTab: Task creation (summary, deadline, assignee), complete/delete actions - CnAuditTrailTab: Audit trail list CnObjectSidebar is now a thin shell (~100 lines) that renders tab wrappers and passes register/schema/objectId/apiBase down to each tab component. All existing slot overrides (#tab-files, #tab-notes, etc.) remain backwards compatible. Tab components are independently importable for use outside the sidebar.
- Sort entries by created date descending (latest first) - Click entry to expand detail panel with action, user, IP, session - Changed fields shown with old→new diff (red strikethrough → green) - Slide-down animation on expand
- Tasks: checkbox click toggles complete/incomplete status - Tasks: overdue tasks show red checkbox icon and red deadline date - Tasks: pagination with "Load more" button - Files: pagination with "Load more" button - Audit trail: server-side filtering (action, user, date range) - Audit trail: pagination with "Load more" button
- Aligned create form using 2-column grid (matches audit trail filters) - Added field labels above Deadline and Assignee inputs - Edit task: pencil action populates form, save icon replaces plus, cancel button - Filter tasks by status and assignee (dropdown filters between form and list) - Save icon (ContentSave) for edit mode, close icon for cancel
… scroll - Create and filter sections visually separated by border - Grid uses min-width:0 to prevent overflow/scrollbar - Removed duplicate Deadline label - overflow-x:hidden on container
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extract each sidebar tab into a self-contained component:
CnObjectSidebar is now a thin shell that passes props to tab components.
Slot overrides remain backwards compatible.
Related: ConductionNL/openregister#1166
Test plan