30 lines
1.3 KiB
Markdown
30 lines
1.3 KiB
Markdown
|
|
# DataTable Migration & Optimization TODO
|
||
|
|
|
||
|
|
## Goal
|
||
|
|
Port advanced features from the v1.0.3 backup while leveraging the new **Keyed Each** framework optimization for extreme performance.
|
||
|
|
|
||
|
|
## Status: Framework Breakthrough
|
||
|
|
- **Engine Version**: @web/state v1.0.11 (Keyed Each & Node Recycling)
|
||
|
|
- **Measured Refresh Performance**: **16ms** (Target: < 20ms).
|
||
|
|
- **Architecture**: Zero manual DOM patching required. Standard reactive templates are now performant enough.
|
||
|
|
|
||
|
|
## Migration Steps
|
||
|
|
|
||
|
|
### Phase 1: Core Infrastructure
|
||
|
|
- [x] **Framework Optimization**. Implemented Keyed Each and node recycling in `dom.js`.
|
||
|
|
- [ ] **Step 1: Port Selection System**. Re-implement ID System and row selection without compromising the 16ms refresh.
|
||
|
|
- [ ] **Step 2: Column Metadata & Features**. Port `Resizer`, `pinned` support, and icons.
|
||
|
|
- [ ] **Step 3: Advanced Formatters**. Re-enable custom formatting logic.
|
||
|
|
|
||
|
|
### Phase 2: Interactivity
|
||
|
|
- [ ] **Step 4: Enhanced Selection (Multi-select, Keyboard Nav)**.
|
||
|
|
- [ ] **Step 5: Drag & Drop (Score-based sorting)**.
|
||
|
|
- [ ] **Step 6: Bulk Editing**.
|
||
|
|
|
||
|
|
## Performance Gate
|
||
|
|
**Continuous Monitoring:**
|
||
|
|
Every feature port must maintain the **< 20ms** `Assign` threshold in `refresh()`.
|
||
|
|
|
||
|
|
## Backup Reference
|
||
|
|
- File: `dataTable/src/index.js.bak` (Full v1.0.3 feature set)
|