mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-03-08 01:53:30 +01:00
91 lines
3.0 KiB
Markdown
91 lines
3.0 KiB
Markdown
# 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 `objectId` to `id` with UUID v4
|
|
- QueryBuilder uses `id` field 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.scss`
|
|
- `TableRow.tsx`, `TableRow.module.scss`
|
|
- `CreateTableModal.tsx`, `CreateTableModal.module.scss`
|
|
- `AddColumnForm.tsx`, `AddColumnForm.module.scss`
|
|
- `index.ts`
|
|
|
|
- `packages/noodl-editor/src/editor/src/views/panels/databrowser/`
|
|
- `DataBrowser.tsx`, `DataBrowser.module.scss`
|
|
- `DataGrid.tsx`, `DataGrid.module.scss`
|
|
- `CellEditor.tsx`, `CellEditor.module.scss`
|
|
- `NewRecordModal.tsx`, `NewRecordModal.module.scss`
|
|
- `index.ts`
|
|
|
|
### Modified Backend Files
|
|
|
|
- `packages/noodl-runtime/src/api/adapters/local-sql/QueryBuilder.js`
|
|
- `packages/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
|
|
|
|
1. **Object/Array fields don't work** - Can't type into object/array field editors
|
|
2. **Cell editor focus issues** - Sometimes loses focus unexpectedly
|
|
3. **Search functionality limited** - Only searches String fields
|
|
|
|
### Schema Manager Bugs
|
|
|
|
1. **Can't edit existing tables** - Edit button only expands row, no add/remove columns
|
|
2. **Can't delete tables** - No delete table functionality
|
|
|
|
### SQLite/Backend Bugs
|
|
|
|
1. **Real SQLite database doesn't work** - Falls back to in-memory mock
|
|
2. **better-sqlite3 import issues** - Electron compatibility problems
|
|
3. **Schema persistence** - Schema changes don't persist properly
|
|
4. **Query filtering** - Complex WHERE clauses may not work correctly
|
|
|
|
### UI/UX Issues
|
|
|
|
1. **Boolean toggle needs improvement** - Checkbox isn't very intuitive
|
|
2. **Date picker needed** - Currently just text input for dates
|
|
3. **Pointer/Relation fields** - No UI for selecting related records
|
|
4. **File upload** - No file upload/browse functionality
|
|
|
|
## Next Steps
|
|
|
|
See **TASK-007K-DRAFT.md** for bug fixes and improvements.
|
|
|
|
## Completion Date
|
|
|
|
January 15, 2026
|