mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-03-08 10:03:31 +01:00
3.0 KiB
3.0 KiB
TASK-007J: Schema/Database Management UX - COMPLETE
Status: ✅ COMPLETE (with Known Issues)
Summary
Built Schema Manager and Data Browser UI panels with basic CRUD functionality. Uses id (UUID v4) as the primary key field to be compatible with Noodl frontend objects/arrays.
What Was Built
Schema Manager Panel
- SchemaPanel - Main panel for viewing/managing database schemas
- TableRow - Expandable row showing table name, columns, record count
- CreateTableModal - Modal for creating new tables with initial columns
- AddColumnForm - Form for adding columns (type dropdown, required checkbox)
Data Browser Panel
- DataBrowser - Main data browsing UI with table selector, search, pagination
- DataGrid - Spreadsheet-style grid with inline editing
- CellEditor - Inline cell editor with type-aware input handling
- NewRecordModal - Modal for creating new records
Backend Changes
- Changed primary key from
objectIdtoidwith UUID v4 - QueryBuilder uses
idfield for all operations - LocalSQLAdapter generates RFC 4122 UUIDs
Files Created/Modified
New UI Components
-
packages/noodl-editor/src/editor/src/views/panels/schemamanager/SchemaPanel.tsx,SchemaPanel.module.scssTableRow.tsx,TableRow.module.scssCreateTableModal.tsx,CreateTableModal.module.scssAddColumnForm.tsx,AddColumnForm.module.scssindex.ts
-
packages/noodl-editor/src/editor/src/views/panels/databrowser/DataBrowser.tsx,DataBrowser.module.scssDataGrid.tsx,DataGrid.module.scssCellEditor.tsx,CellEditor.module.scssNewRecordModal.tsx,NewRecordModal.module.scssindex.ts
Modified Backend Files
packages/noodl-runtime/src/api/adapters/local-sql/QueryBuilder.jspackages/noodl-runtime/src/api/adapters/local-sql/LocalSQLAdapter.js
Known Issues (Future Task)
The following bugs need to be addressed in a follow-up task:
Data Browser Bugs
- Object/Array fields don't work - Can't type into object/array field editors
- Cell editor focus issues - Sometimes loses focus unexpectedly
- Search functionality limited - Only searches String fields
Schema Manager Bugs
- Can't edit existing tables - Edit button only expands row, no add/remove columns
- Can't delete tables - No delete table functionality
SQLite/Backend Bugs
- Real SQLite database doesn't work - Falls back to in-memory mock
- better-sqlite3 import issues - Electron compatibility problems
- Schema persistence - Schema changes don't persist properly
- Query filtering - Complex WHERE clauses may not work correctly
UI/UX Issues
- Boolean toggle needs improvement - Checkbox isn't very intuitive
- Date picker needed - Currently just text input for dates
- Pointer/Relation fields - No UI for selecting related records
- File upload - No file upload/browse functionality
Next Steps
See TASK-007K-DRAFT.md for bug fixes and improvements.
Completion Date
January 15, 2026