argent-grid 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +70 -27
- package/e2e/advanced.spec.ts +1 -1
- package/e2e/benchmark.spec.ts +7 -7
- package/e2e/cell-renderers.spec.ts +152 -0
- package/e2e/debug-streaming.spec.ts +31 -0
- package/e2e/dnd.spec.ts +73 -0
- package/e2e/screenshots.spec.ts +1 -1
- package/e2e/visual.spec.ts +30 -9
- package/e2e/visual.spec.ts-snapshots/checkbox-renderer-mixed.png +0 -0
- package/e2e/visual.spec.ts-snapshots/debug.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-column-group-headers.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-default.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-empty-state.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-filter-popup.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-scroll-borders.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-sidebar-buttons.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-text-filter.png +0 -0
- package/e2e/visual.spec.ts-snapshots/grid-with-selection.png +0 -0
- package/e2e/visual.spec.ts-snapshots/rating-renderer-varied.png +0 -0
- package/package.json +5 -5
- package/plan.md +30 -34
- package/src/lib/components/argent-grid.component.css +258 -549
- package/src/lib/components/argent-grid.component.html +272 -306
- package/src/lib/components/argent-grid.component.ts +585 -135
- package/src/lib/components/argent-grid.regressions.spec.ts +301 -0
- package/src/lib/components/argent-grid.selection.spec.ts +2 -2
- package/src/lib/components/set-filter/set-filter.component.spec.ts +191 -0
- package/src/lib/components/set-filter/set-filter.component.ts +7 -2
- package/src/lib/rendering/canvas-renderer.spec.ts +148 -1
- package/src/lib/rendering/canvas-renderer.ts +177 -286
- package/src/lib/rendering/render/cells.ts +122 -5
- package/src/lib/rendering/render/column-utils.ts +27 -5
- package/src/lib/rendering/render/hit-test.ts +6 -11
- package/src/lib/rendering/render/index.ts +15 -6
- package/src/lib/rendering/render/lines.ts +12 -6
- package/src/lib/rendering/render/primitives.ts +269 -7
- package/src/lib/rendering/render/types.ts +2 -1
- package/src/lib/rendering/render/walk.ts +39 -19
- package/src/lib/services/grid.service.spec.ts +76 -0
- package/src/lib/services/grid.service.ts +451 -114
- package/src/lib/themes/theme-quartz.ts +2 -2
- package/src/lib/types/ag-grid-types.ts +500 -0
- package/src/stories/Advanced.stories.ts +78 -17
- package/src/stories/ArgentGrid.stories.ts +50 -26
- package/src/stories/Benchmark.stories.ts +17 -15
- package/src/stories/CellRenderers.stories.ts +205 -31
- package/src/stories/Filtering.stories.ts +56 -16
- package/src/stories/Grouping.stories.ts +86 -13
- package/src/stories/Streaming.stories.ts +57 -0
- package/src/stories/Theming.stories.ts +23 -10
- package/src/stories/Tooltips.stories.ts +381 -0
- package/src/stories/benchmark-wrapper.component.ts +69 -29
- package/src/stories/story-utils.ts +88 -0
- package/src/stories/streaming-wrapper.component.ts +441 -0
- package/tsconfig.json +1 -0
package/plan.md
CHANGED
|
@@ -29,11 +29,12 @@
|
|
|
29
29
|
| **Accessibility (ARIA)**| Yes | Yes | **Partial (Headers only)** |
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
## 🚀 Status: Phase VI
|
|
32
|
+
## 🚀 Status: Phase VI Underway - Advanced UX
|
|
33
33
|
|
|
34
|
-
**Phases I-
|
|
35
|
-
**Phase
|
|
36
|
-
**Phase
|
|
34
|
+
**Phases I-V**: ✅ Complete (100%)
|
|
35
|
+
**Phase VI**: 🚧 Active (Advanced UX & Validation)
|
|
36
|
+
**Phase VII**: ⏳ Next (SSRM & Data Scale)
|
|
37
|
+
**Phase VIII**: ⏳ Future (AI & Formulas)
|
|
37
38
|
|
|
38
39
|
ArgentGrid now has feature parity with AG Grid Enterprise for core features, and has successfully migrated to a Storybook-driven development workflow.
|
|
39
40
|
|
|
@@ -73,10 +74,10 @@ ArgentGrid now has feature parity with AG Grid Enterprise for core features, and
|
|
|
73
74
|
- [x] Add "hamburger" or "ellipsis" menu to column headers.
|
|
74
75
|
- [x] Support Sort, Filter, and "Hide Column" actions from menu.
|
|
75
76
|
- [x] Integrate with existing `GridApi`.
|
|
76
|
-
- [
|
|
77
|
+
- [x] **Context Menus**:
|
|
77
78
|
- [x] Right-click cell interaction.
|
|
78
79
|
- [x] Default actions: Copy, Export, Reset Columns.
|
|
79
|
-
- [
|
|
80
|
+
- [x] Support for user-defined custom context menu items via `getContextMenuItems`.
|
|
80
81
|
- [x] **Excel-like Range Selection**:
|
|
81
82
|
- [x] Drag-to-select rectangular ranges of cells.
|
|
82
83
|
- [x] Visual selection box rendered on Canvas.
|
|
@@ -89,39 +90,34 @@ ArgentGrid now has feature parity with AG Grid Enterprise for core features, and
|
|
|
89
90
|
- [x] **True Excel Export**: Implementation using `exceljs` for native `.xlsx` files with styles.
|
|
90
91
|
- [x] **Integrated Sparklines**: Mini-charts rendered directly in cells using the Canvas engine.
|
|
91
92
|
|
|
92
|
-
### Phase VI: UX
|
|
93
|
-
- [x] **String-Based Cell Renderers**: Support for cellRenderer functions returning plain text
|
|
93
|
+
### Phase VI: Advanced UX & Developer Experience 🚧
|
|
94
|
+
- [x] **String-Based Cell Renderers**: Support for cellRenderer functions returning plain text.
|
|
94
95
|
- [x] Basic cellRenderer support
|
|
95
96
|
- [x] HTML tag stripping (plain text only)
|
|
96
|
-
- [
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
- [x] **
|
|
100
|
-
|
|
101
|
-
- [
|
|
102
|
-
- [
|
|
103
|
-
- [
|
|
104
|
-
|
|
105
|
-
- [
|
|
106
|
-
- [
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- [x] getUniqueValues() method
|
|
111
|
-
- [x] SetFilterComponent UI
|
|
112
|
-
- [x] UI integration in floating filters
|
|
113
|
-
- [ ] Multi-filter support - Future
|
|
114
|
-
- [ ] **Advanced Keyboard Navigation**: Full cell-to-cell navigation (Arrows, Tab, Page Up/Down) matching AG Grid behavior.
|
|
115
|
-
|
|
116
|
-
### Phase VII: Enterprise Row Models ⏳ NEXT
|
|
97
|
+
- [ ] Registered renderer names (cellRenderer: 'myRenderer')
|
|
98
|
+
- [x] **Context Menu API**: Full implementation of `getContextMenuItems`.
|
|
99
|
+
- [x] **State Persistence**: Save/Restore user grid state to LocalStorage.
|
|
100
|
+
- [x] **Advanced Filtering (Part 1)**: Set Filter (Excel-style checkboxes).
|
|
101
|
+
- [ ] **Tooltips**: High-performance tooltips for cells and headers.
|
|
102
|
+
- [ ] Hover detection on Canvas coordinates.
|
|
103
|
+
- [ ] Support for `tooltipField` and `tooltipValueGetter` in `ColDef`.
|
|
104
|
+
- [ ] **Multi-Filter Support**: Combine Set Filter with Text/Number filters.
|
|
105
|
+
- [ ] **Advanced Editing & Validation**:
|
|
106
|
+
- [ ] **Cell Editor Validation**: Built-in constraints for user input.
|
|
107
|
+
- [ ] **Bulk Editing**: Drag-to-fill or copy-paste range of values.
|
|
108
|
+
- [ ] **Advanced Keyboard Navigation**: Full cell-to-cell navigation (Arrows, Tab, Page Up/Down).
|
|
109
|
+
|
|
110
|
+
### Phase VII: Enterprise Data Scale ⏳ NEXT
|
|
117
111
|
- [ ] **Server-Side Row Model (SSRM)**: Loading and aggregating millions of rows on the server.
|
|
118
|
-
- [ ] **Infinite Row Model**: Standard
|
|
112
|
+
- [ ] **Infinite Row Model**: Standard lazy loading for large flat datasets.
|
|
113
|
+
- [ ] **Column Virtualization**: Performance optimization for grids with 100+ columns.
|
|
119
114
|
- [ ] **Tree Data**: Advanced hierarchical structures with path-based navigation.
|
|
120
115
|
|
|
121
|
-
### Phase VIII:
|
|
122
|
-
- [ ] **
|
|
123
|
-
- [ ] **
|
|
124
|
-
- [ ] **
|
|
116
|
+
### Phase VIII: Next-Gen Analytics & AI ⏳ FUTURE
|
|
117
|
+
- [ ] **Formula Engine**: Excel-like formula support in cells.
|
|
118
|
+
- [ ] **AI Toolkit**: Integrated LLM support for data analysis and grid configuration.
|
|
119
|
+
- [ ] **Full Accessibility (ARIA)**: Deep ARIA compliance for Canvas-rendered content.
|
|
120
|
+
- [ ] **Touch & Mobile Support**: Optimized touch interactions.
|
|
125
121
|
|
|
126
122
|
## 🎉 Project Milestone: PHASE VI COMPLETE!
|
|
127
123
|
|