@praxisui/table 8.0.0-beta.2 → 8.0.0-beta.21
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/README.md +150 -8
- package/docs/DSL-Extensions-Guide.md +23 -0
- package/docs/adr/2026-03-dynamic-filter-cross-lib-coupling.md +107 -0
- package/docs/adr/2026-03-filter-drawer-adapter-light-entrypoint.md +105 -0
- package/docs/adr/2026-03-table-editor-idfield-decision.md +85 -0
- package/docs/column-resize-reorder-implementation-plan.md +338 -0
- package/docs/column-resize-reorder-review-prompt.md +34 -0
- package/docs/dynamic-filter-architecture-overview.md +207 -0
- package/docs/dynamic-filter-backend-contract-cheatsheet.md +167 -0
- package/docs/dynamic-filter-editor-settings-guide.md +229 -0
- package/docs/dynamic-filter-host-integration-guide.md +217 -0
- package/docs/dynamic-filter-payload-contract.md +331 -0
- package/docs/dynamic-filter-range-filters-guide.md +289 -0
- package/docs/dynamic-filter-troubleshooting-guide.md +220 -0
- package/docs/dynamic-inline-filter-catalog.md +147 -0
- package/docs/e2e-column-drag-playwright.md +62 -0
- package/docs/expandable-rows-enterprise-big-leagues-plan.md +1080 -0
- package/docs/json-logic-operators-and-helpers.md +57 -0
- package/docs/local-data-mode-precedence.md +12 -0
- package/docs/local-data-pre-implementation-baseline.md +22 -0
- package/docs/local-data-preimplementation-go-no-go.md +39 -0
- package/docs/local-data-support-implementation-plan.md +524 -0
- package/docs/local-data-support-pr-package.md +66 -0
- package/docs/localization-persistence-merge.md +22 -0
- package/docs/performance-hardening-v2-implementation-plan.md +479 -0
- package/docs/playground-scenario-curation-plan.md +482 -0
- package/docs/playground-scenario-second-opinion-prompt.md +121 -0
- package/docs/playground-scenario-second-opinion-review.md +234 -0
- package/docs/release-notes-p1-hardening.md +76 -0
- package/docs/table-authoring-document-completeness-checklist.md +120 -0
- package/docs/table-editor-capability-review-prompt.md +349 -0
- package/docs/visual-rules-editor-transition.md +29 -0
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-tu7jtTwV.mjs → praxisui-table-table-agentic-authoring-turn-flow-DRuE55Mi.mjs} +100 -0
- package/fesm2022/{praxisui-table-table-ai.adapter-DxjDaQqy.mjs → praxisui-table-table-ai.adapter-fS74fZ7o.mjs} +14 -5
- package/fesm2022/praxisui-table.mjs +5317 -736
- package/index.d.ts +325 -106
- package/package.json +15 -9
- package/src/lib/praxis-table.json-api.md +1325 -0
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
# Praxis Table Playground Scenario Curation Plan
|
|
2
|
+
|
|
3
|
+
## Objective
|
|
4
|
+
|
|
5
|
+
Replace the current table playground catalog with a smaller, capability-driven set of scenarios that demonstrates the real power of `@praxisui/table` without repeating the same runtime grammar across multiple domain skins.
|
|
6
|
+
|
|
7
|
+
This plan is based on:
|
|
8
|
+
|
|
9
|
+
- public contract in `@praxisui/core` (`TableConfigV2`, `TableBehaviorConfig`)
|
|
10
|
+
- runtime implementation in `projects/praxis-table/src/lib/praxis-table.ts`
|
|
11
|
+
- template/runtime surface in `projects/praxis-table/src/lib/praxis-table.html`
|
|
12
|
+
- authoring/settings flow in `projects/praxis-table/src/lib/table-editor-capability.ts`
|
|
13
|
+
- AI metadata in `projects/praxis-table/src/lib/ai/*.ts`
|
|
14
|
+
- specialized docs for filter, DSL, local-data and expansion
|
|
15
|
+
|
|
16
|
+
## Executive Summary
|
|
17
|
+
|
|
18
|
+
The current playground over-indexes on:
|
|
19
|
+
|
|
20
|
+
- rule styling
|
|
21
|
+
- domain variation
|
|
22
|
+
- small narrative changes over the same base runtime
|
|
23
|
+
|
|
24
|
+
It under-represents:
|
|
25
|
+
|
|
26
|
+
- remote vs local data mode
|
|
27
|
+
- dynamic filter as a first-class feature
|
|
28
|
+
- selection and bulk operations
|
|
29
|
+
- schema reconciliation
|
|
30
|
+
- settings-driven authoring
|
|
31
|
+
- column governance
|
|
32
|
+
- virtualization
|
|
33
|
+
|
|
34
|
+
The result is breadth by theme, not by capability.
|
|
35
|
+
|
|
36
|
+
After the second-opinion review, one more rule became explicit:
|
|
37
|
+
|
|
38
|
+
- the target catalog must optimize for editorial navigation, not only for capability completeness.
|
|
39
|
+
|
|
40
|
+
Because of that, the final structure distinguishes:
|
|
41
|
+
|
|
42
|
+
- main scenarios
|
|
43
|
+
- advanced scenarios
|
|
44
|
+
- patches and secondary variants
|
|
45
|
+
|
|
46
|
+
## Current Catalog Problems
|
|
47
|
+
|
|
48
|
+
### 1. Operational flows are mostly the same demo
|
|
49
|
+
|
|
50
|
+
Current scenarios:
|
|
51
|
+
|
|
52
|
+
- `minimal`
|
|
53
|
+
- `financial`
|
|
54
|
+
- `crm`
|
|
55
|
+
- `sla`
|
|
56
|
+
- `backoffice`
|
|
57
|
+
|
|
58
|
+
All five reuse the same metadata factory and nearly the same runtime grammar:
|
|
59
|
+
|
|
60
|
+
- same core columns
|
|
61
|
+
- same toolbar shape
|
|
62
|
+
- same conditional style baseline
|
|
63
|
+
- same interaction model
|
|
64
|
+
|
|
65
|
+
They should not exist as five equal-weight presets.
|
|
66
|
+
|
|
67
|
+
### 2. Rules demos are over-fragmented
|
|
68
|
+
|
|
69
|
+
Current scenarios:
|
|
70
|
+
|
|
71
|
+
- `rules-full`
|
|
72
|
+
- `rules-funcionarios`
|
|
73
|
+
- `rules-simple`
|
|
74
|
+
- `rules-eventos-folha`
|
|
75
|
+
- `rules-cargos`
|
|
76
|
+
|
|
77
|
+
Most of them prove the same category of value:
|
|
78
|
+
|
|
79
|
+
- conditional row emphasis
|
|
80
|
+
- typed columns
|
|
81
|
+
- small domain-specific patch set
|
|
82
|
+
|
|
83
|
+
This should be consolidated into fewer, sharper demos.
|
|
84
|
+
|
|
85
|
+
### 3. Expansion is duplicated as presets instead of being modeled as one lab
|
|
86
|
+
|
|
87
|
+
Current scenarios:
|
|
88
|
+
|
|
89
|
+
- `expansion-inline-basic`
|
|
90
|
+
- `expansion-inline-tabs`
|
|
91
|
+
- `expansion-advanced-nodes`
|
|
92
|
+
- `expansion-funcionarios`
|
|
93
|
+
|
|
94
|
+
The first three are variants of the same idea and should become one scenario with patches. Only the employee case clearly justifies a separate business-oriented example.
|
|
95
|
+
|
|
96
|
+
### 4. Some documented features are absent or underplayed
|
|
97
|
+
|
|
98
|
+
The runtime and docs show meaningful capabilities that are not properly showcased today:
|
|
99
|
+
|
|
100
|
+
- dynamic filter pipeline
|
|
101
|
+
- local data mode precedence
|
|
102
|
+
- schema freshness / reconciliation
|
|
103
|
+
- settings panel + canonical authoring document
|
|
104
|
+
- selection and bulk delete flows
|
|
105
|
+
- column reorder with keyboard/undo/persistence
|
|
106
|
+
- virtualization as a governed mode
|
|
107
|
+
|
|
108
|
+
### 5. Documentation drift must shape the examples
|
|
109
|
+
|
|
110
|
+
The README still contains old event examples that do not match the runtime outputs. The playground should be curated against runtime truth, not outdated prose.
|
|
111
|
+
|
|
112
|
+
## Runtime Truth to Preserve
|
|
113
|
+
|
|
114
|
+
Examples should explicitly reflect these runtime facts:
|
|
115
|
+
|
|
116
|
+
- `behavior.sorting.multiSort` is currently schema-only in runtime
|
|
117
|
+
- `behavior.filtering.columnFilters.enabled` is currently schema-only in runtime
|
|
118
|
+
- `behavior.dragging.rows` is currently schema-only in runtime
|
|
119
|
+
- row expansion is blocked when virtualization is active in the current runtime policy
|
|
120
|
+
- export is visible in toolbar config, but should not be oversold as a complete end-to-end runtime story unless the host flow is implemented
|
|
121
|
+
|
|
122
|
+
## Curation Principles
|
|
123
|
+
|
|
124
|
+
### Principle 1. Organize by capability, not by domain
|
|
125
|
+
|
|
126
|
+
Use business framing only when it proves a capability better than an abstract demo.
|
|
127
|
+
|
|
128
|
+
### Principle 2. Keep one scenario per real question
|
|
129
|
+
|
|
130
|
+
Each scenario should answer one primary question, for example:
|
|
131
|
+
|
|
132
|
+
- how do I connect remote data?
|
|
133
|
+
- how does the dynamic filter work?
|
|
134
|
+
- how do row actions and bulk actions behave?
|
|
135
|
+
- how does schema reconciliation look in practice?
|
|
136
|
+
|
|
137
|
+
### Principle 3. Use patches for variants, not new presets
|
|
138
|
+
|
|
139
|
+
If the only difference is layout mode, emphasis rule or business skin, prefer patches.
|
|
140
|
+
|
|
141
|
+
### Principle 4. Be explicit about maturity
|
|
142
|
+
|
|
143
|
+
Do not create demos that imply runtime support for features that are still schema-only or partially rolled out.
|
|
144
|
+
|
|
145
|
+
## Proposed Target Catalog
|
|
146
|
+
|
|
147
|
+
The catalog should not ship as 11 equal-weight scenarios.
|
|
148
|
+
|
|
149
|
+
Recommended publication model:
|
|
150
|
+
|
|
151
|
+
- 6 main scenarios on the primary surface
|
|
152
|
+
- 4 advanced scenarios behind a secondary grouping
|
|
153
|
+
- patches for domain/layout variants
|
|
154
|
+
|
|
155
|
+
### 1. Remote CRUD Baseline
|
|
156
|
+
|
|
157
|
+
Primary goal:
|
|
158
|
+
|
|
159
|
+
- prove remote mode with schema bootstrap and data fetching
|
|
160
|
+
|
|
161
|
+
Should demonstrate:
|
|
162
|
+
|
|
163
|
+
- `resourcePath`
|
|
164
|
+
- server-driven pagination and sorting
|
|
165
|
+
- row click and row actions
|
|
166
|
+
- schema-derived columns
|
|
167
|
+
- loading / error / empty state transitions
|
|
168
|
+
|
|
169
|
+
Can absorb parts of:
|
|
170
|
+
|
|
171
|
+
- `minimal`
|
|
172
|
+
- `financial`
|
|
173
|
+
- `crm`
|
|
174
|
+
|
|
175
|
+
### 2. Dynamic Filter Workbench
|
|
176
|
+
|
|
177
|
+
Primary goal:
|
|
178
|
+
|
|
179
|
+
- prove that filtering is a full feature pipeline, not a toolbar extra
|
|
180
|
+
|
|
181
|
+
Should demonstrate:
|
|
182
|
+
|
|
183
|
+
- `praxis-filter`
|
|
184
|
+
- always-visible fields
|
|
185
|
+
- advanced filter settings
|
|
186
|
+
- submit/change/clear behavior
|
|
187
|
+
- remote request contract
|
|
188
|
+
- DTO persistence
|
|
189
|
+
- inline control variety
|
|
190
|
+
|
|
191
|
+
Should become one of the flagship scenarios.
|
|
192
|
+
|
|
193
|
+
### 3. Local Data Projection
|
|
194
|
+
|
|
195
|
+
Primary goal:
|
|
196
|
+
|
|
197
|
+
- prove local mode as a first-class operational path
|
|
198
|
+
|
|
199
|
+
Should demonstrate:
|
|
200
|
+
|
|
201
|
+
- `[data]`
|
|
202
|
+
- precedence against `resourcePath`
|
|
203
|
+
- client-side sorting and pagination projection
|
|
204
|
+
- local filtering
|
|
205
|
+
- no backend dependency
|
|
206
|
+
|
|
207
|
+
This should be explicit because local mode is a meaningful contract decision.
|
|
208
|
+
|
|
209
|
+
### 4. Selection and Bulk Operations
|
|
210
|
+
|
|
211
|
+
Primary goal:
|
|
212
|
+
|
|
213
|
+
- prove enterprise action orchestration instead of only read-only tables
|
|
214
|
+
|
|
215
|
+
Should demonstrate:
|
|
216
|
+
|
|
217
|
+
- single/multiple selection
|
|
218
|
+
- select all
|
|
219
|
+
- bulk action toolbar
|
|
220
|
+
- bulk delete with confirmation
|
|
221
|
+
- remote vs local behavior difference
|
|
222
|
+
- action feedback states
|
|
223
|
+
- clear distinction between row action, toolbar action, emitted action and automatic destructive flow
|
|
224
|
+
|
|
225
|
+
This scenario should explicitly own the action-orchestration thesis.
|
|
226
|
+
|
|
227
|
+
### 5. Schema Reconciliation
|
|
228
|
+
|
|
229
|
+
Primary goal:
|
|
230
|
+
|
|
231
|
+
- prove schema freshness as a product capability
|
|
232
|
+
|
|
233
|
+
Should demonstrate:
|
|
234
|
+
|
|
235
|
+
- ETag verification
|
|
236
|
+
- `schemaStatusChange`
|
|
237
|
+
- outdated badge
|
|
238
|
+
- inline banner
|
|
239
|
+
- snooze / ignore
|
|
240
|
+
- reconcile via settings panel
|
|
241
|
+
|
|
242
|
+
This scenario is strategically important because it differentiates Praxis from generic grids.
|
|
243
|
+
|
|
244
|
+
### 6. Expansion Lab
|
|
245
|
+
|
|
246
|
+
Primary goal:
|
|
247
|
+
|
|
248
|
+
- prove row expansion in its real current maturity level
|
|
249
|
+
|
|
250
|
+
Base scenario should demonstrate:
|
|
251
|
+
|
|
252
|
+
- non-virtualized detail row
|
|
253
|
+
- identity rules
|
|
254
|
+
- a11y expansion trigger
|
|
255
|
+
- row vs icon trigger
|
|
256
|
+
- single vs multiple open
|
|
257
|
+
|
|
258
|
+
Patches should switch between:
|
|
259
|
+
|
|
260
|
+
- stack detail
|
|
261
|
+
- tabs detail
|
|
262
|
+
- advanced node set
|
|
263
|
+
|
|
264
|
+
Keep one separate business scenario only if needed:
|
|
265
|
+
|
|
266
|
+
- `Employee expansion`
|
|
267
|
+
|
|
268
|
+
## Advanced Catalog
|
|
269
|
+
|
|
270
|
+
These scenarios should exist, but not as first-surface peers of the six main scenarios.
|
|
271
|
+
|
|
272
|
+
### A1. Column Governance
|
|
273
|
+
|
|
274
|
+
Primary goal:
|
|
275
|
+
|
|
276
|
+
- prove that the table supports governed column management
|
|
277
|
+
|
|
278
|
+
Should demonstrate:
|
|
279
|
+
|
|
280
|
+
- sticky columns
|
|
281
|
+
- width control
|
|
282
|
+
- reorder by drag
|
|
283
|
+
- reorder by keyboard
|
|
284
|
+
- drop-zone policy
|
|
285
|
+
- undo
|
|
286
|
+
- persisted preference behavior
|
|
287
|
+
|
|
288
|
+
This should be framed as governance, not just “drag columns around”.
|
|
289
|
+
|
|
290
|
+
### A2. Renderers and Rules Lab
|
|
291
|
+
|
|
292
|
+
Primary goal:
|
|
293
|
+
|
|
294
|
+
- prove the combination of rich renderer surface and conditional rule logic without splitting the story too early
|
|
295
|
+
|
|
296
|
+
Should demonstrate:
|
|
297
|
+
|
|
298
|
+
- badge
|
|
299
|
+
- progress
|
|
300
|
+
- button
|
|
301
|
+
- menu
|
|
302
|
+
- toggle
|
|
303
|
+
- avatar
|
|
304
|
+
- image
|
|
305
|
+
- html
|
|
306
|
+
- compose
|
|
307
|
+
- rating
|
|
308
|
+
- rowConditionalStyles
|
|
309
|
+
- column conditional styles
|
|
310
|
+
- JSON helpers
|
|
311
|
+
- date/time helpers
|
|
312
|
+
- list helpers
|
|
313
|
+
- rule preview/test mindset
|
|
314
|
+
|
|
315
|
+
Can absorb parts of:
|
|
316
|
+
|
|
317
|
+
- `rules-incidentes`
|
|
318
|
+
- `rules-perfil-heroi`
|
|
319
|
+
- `rules-ranking-reputacao`
|
|
320
|
+
- `rules-complex`
|
|
321
|
+
- `rules-full`
|
|
322
|
+
- `rules-funcionarios`
|
|
323
|
+
- `rules-simple`
|
|
324
|
+
- `rules-eventos-folha`
|
|
325
|
+
- `rules-cargos`
|
|
326
|
+
|
|
327
|
+
If this scenario later becomes too dense, split it again only with explicit thesis labels:
|
|
328
|
+
|
|
329
|
+
- `Renderer Gallery`
|
|
330
|
+
- `Rules and DSL Playground`
|
|
331
|
+
|
|
332
|
+
### A3. Virtualized High Volume
|
|
333
|
+
|
|
334
|
+
Primary goal:
|
|
335
|
+
|
|
336
|
+
- prove performance mode with honest constraints
|
|
337
|
+
|
|
338
|
+
Should demonstrate:
|
|
339
|
+
|
|
340
|
+
- fixed-height virtualization
|
|
341
|
+
- high row volume
|
|
342
|
+
- scroll behavior
|
|
343
|
+
- compatible renderer set
|
|
344
|
+
- explicit note that expansion is blocked under current policy
|
|
345
|
+
|
|
346
|
+
This scenario must not imply unsupported expansion + virtualization parity.
|
|
347
|
+
|
|
348
|
+
### A4. Settings-Driven Authoring
|
|
349
|
+
|
|
350
|
+
Primary goal:
|
|
351
|
+
|
|
352
|
+
- prove the table as an authorable runtime surface
|
|
353
|
+
|
|
354
|
+
Should demonstrate:
|
|
355
|
+
|
|
356
|
+
- opening `PraxisTableConfigEditor`
|
|
357
|
+
- canonical `praxis.table.editor` document
|
|
358
|
+
- bindings such as `resourcePath`, `idField`, `horizontalScroll`
|
|
359
|
+
- `buildTableApplyPlan`
|
|
360
|
+
- diagnostics and projection rules
|
|
361
|
+
|
|
362
|
+
This scenario should communicate that the table is governable by document, but it should live in the advanced track so the playground does not look like an internal editor first.
|
|
363
|
+
|
|
364
|
+
## Current-to-Target Mapping
|
|
365
|
+
|
|
366
|
+
### Keep as concept, but redesign heavily
|
|
367
|
+
|
|
368
|
+
- `minimal` -> `Remote CRUD Baseline`
|
|
369
|
+
- `rules-full` -> `Renderers and Rules Lab`
|
|
370
|
+
- `expansion-funcionarios` -> optional business-specific `Employee expansion`
|
|
371
|
+
|
|
372
|
+
### Merge into other scenarios
|
|
373
|
+
|
|
374
|
+
- `financial` -> merge into `Remote CRUD Baseline` as patch or dataset variant
|
|
375
|
+
- `crm` -> merge into `Remote CRUD Baseline`
|
|
376
|
+
- `sla` -> merge into `Remote CRUD Baseline`
|
|
377
|
+
- `backoffice` -> merge into `Remote CRUD Baseline`
|
|
378
|
+
- `rules-funcionarios` -> merge into `Renderers and Rules Lab`
|
|
379
|
+
- `rules-simple` -> merge into `Renderers and Rules Lab`
|
|
380
|
+
- `rules-eventos-folha` -> merge into `Renderers and Rules Lab`
|
|
381
|
+
- `rules-cargos` -> merge into `Renderers and Rules Lab`
|
|
382
|
+
- `rules-incidentes` -> merge into `Renderers and Rules Lab`
|
|
383
|
+
- `rules-perfil-heroi` -> merge into `Renderers and Rules Lab`
|
|
384
|
+
- `rules-ranking-reputacao` -> merge into `Renderers and Rules Lab`
|
|
385
|
+
- `rules-complex` -> merge into `Renderers and Rules Lab`
|
|
386
|
+
- `expansion-inline-basic` -> merge into `Expansion Lab`
|
|
387
|
+
- `expansion-inline-tabs` -> merge into `Expansion Lab`
|
|
388
|
+
- `expansion-advanced-nodes` -> merge into `Expansion Lab`
|
|
389
|
+
|
|
390
|
+
### Create from scratch
|
|
391
|
+
|
|
392
|
+
- `Dynamic Filter Workbench`
|
|
393
|
+
- `Local Data Projection`
|
|
394
|
+
- `Selection and Bulk Operations`
|
|
395
|
+
- `Column Governance`
|
|
396
|
+
- `Schema Reconciliation`
|
|
397
|
+
- `Settings-Driven Authoring`
|
|
398
|
+
- `Virtualized High Volume`
|
|
399
|
+
|
|
400
|
+
## Recommended Final Scenario Count
|
|
401
|
+
|
|
402
|
+
Recommended stable catalog:
|
|
403
|
+
|
|
404
|
+
- 6 main scenarios
|
|
405
|
+
- 4 advanced scenarios
|
|
406
|
+
- 1 optional business-specific expansion example
|
|
407
|
+
|
|
408
|
+
This is enough to communicate breadth without turning the playground into a demo graveyard.
|
|
409
|
+
|
|
410
|
+
## Recommended Grouping
|
|
411
|
+
|
|
412
|
+
### Main scenarios
|
|
413
|
+
|
|
414
|
+
- Remote CRUD Baseline
|
|
415
|
+
- Dynamic Filter Workbench
|
|
416
|
+
- Local Data Projection
|
|
417
|
+
- Selection and Bulk Operations
|
|
418
|
+
- Schema Reconciliation
|
|
419
|
+
- Expansion Lab
|
|
420
|
+
|
|
421
|
+
### Advanced scenarios
|
|
422
|
+
|
|
423
|
+
- Column Governance
|
|
424
|
+
- Renderers and Rules Lab
|
|
425
|
+
- Virtualized High Volume
|
|
426
|
+
- Settings-Driven Authoring
|
|
427
|
+
|
|
428
|
+
## Implementation Sequence
|
|
429
|
+
|
|
430
|
+
### Phase 1. Remove catalog noise
|
|
431
|
+
|
|
432
|
+
- merge operational flow variants
|
|
433
|
+
- merge renderer/rules variants
|
|
434
|
+
- fold generic expansion presets into one lab
|
|
435
|
+
|
|
436
|
+
### Phase 2. Add missing flagship scenarios
|
|
437
|
+
|
|
438
|
+
- Dynamic Filter Workbench
|
|
439
|
+
- Selection and Bulk Operations
|
|
440
|
+
- Schema Reconciliation
|
|
441
|
+
|
|
442
|
+
### Phase 3. Add advanced platform scenarios
|
|
443
|
+
|
|
444
|
+
- Local Data Projection
|
|
445
|
+
- Column Governance
|
|
446
|
+
- Renderers and Rules Lab
|
|
447
|
+
- Settings-Driven Authoring
|
|
448
|
+
- Virtualized High Volume
|
|
449
|
+
|
|
450
|
+
### Phase 4. Documentation alignment
|
|
451
|
+
|
|
452
|
+
- update README event examples to match runtime outputs
|
|
453
|
+
- mark schema-only capabilities clearly
|
|
454
|
+
- align playground copy with current maturity of expansion and export
|
|
455
|
+
|
|
456
|
+
## Editorial Path
|
|
457
|
+
|
|
458
|
+
The first-surface sequence should feel intentional:
|
|
459
|
+
|
|
460
|
+
1. start with connection and CRUD reality
|
|
461
|
+
2. move into filtering
|
|
462
|
+
3. prove local mode
|
|
463
|
+
4. prove actions and orchestration
|
|
464
|
+
5. prove schema governance
|
|
465
|
+
6. prove expansion
|
|
466
|
+
|
|
467
|
+
Only after that should the user enter advanced tracks for:
|
|
468
|
+
|
|
469
|
+
- column governance
|
|
470
|
+
- renderer/rules breadth
|
|
471
|
+
- virtualization
|
|
472
|
+
- authoring
|
|
473
|
+
|
|
474
|
+
## Definition of Done for the New Catalog
|
|
475
|
+
|
|
476
|
+
- each scenario has one primary capability thesis
|
|
477
|
+
- no two first-surface scenarios share the same interaction grammar without a strong reason
|
|
478
|
+
- schema-only capabilities are not presented as fully active runtime features
|
|
479
|
+
- at least one scenario proves each strategic capability of the component
|
|
480
|
+
- the primary surface stays within 6 scenarios
|
|
481
|
+
- advanced scenarios are clearly labeled as deeper capability tracks
|
|
482
|
+
- the catalog explains why `praxis-table` is a governed runtime platform, not just a configurable grid
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Praxis Table Playground Second-Opinion Prompt
|
|
2
|
+
|
|
3
|
+
Faça uma análise criteriosa e independente da estratégia de curadoria dos cenários do playground de `@praxisui/table`.
|
|
4
|
+
|
|
5
|
+
Seu papel aqui não é apenas concordar com o plano. Você deve atuar como uma segunda opinião técnica/editorial exigente, procurando:
|
|
6
|
+
|
|
7
|
+
- pontos cegos;
|
|
8
|
+
- simplificações perigosas;
|
|
9
|
+
- capacidades subestimadas ou superestimadas;
|
|
10
|
+
- cenários redundantes;
|
|
11
|
+
- cenários ausentes;
|
|
12
|
+
- riscos de comunicação errada sobre a maturidade real do componente.
|
|
13
|
+
|
|
14
|
+
## Contexto
|
|
15
|
+
|
|
16
|
+
O componente `@praxisui/table` é mais do que uma grid configurável. Pela leitura do código-fonte e da documentação da lib, ele já combina:
|
|
17
|
+
|
|
18
|
+
- modo remoto com bootstrap por schema;
|
|
19
|
+
- modo local com precedência formal de fonte de dados;
|
|
20
|
+
- filtro dinâmico como feature transversal, com `praxis-filter`, metadata, persistência local e contrato backend;
|
|
21
|
+
- renderers ricos, inclusive `compose`;
|
|
22
|
+
- seleção, row actions e bulk actions;
|
|
23
|
+
- governança de colunas com reorder, teclado, undo e persistência;
|
|
24
|
+
- verificação de schema via ETag com reconciliação;
|
|
25
|
+
- settings/editor com documento canônico autorável;
|
|
26
|
+
- DSL de regras com helpers nativos de JSON, tempo, listas e texto;
|
|
27
|
+
- expansão de linhas com contrato tipado e restrições explícitas de virtualização;
|
|
28
|
+
- virtualização como modo governado.
|
|
29
|
+
|
|
30
|
+
Ao mesmo tempo, a investigação também encontrou limites importantes no runtime atual:
|
|
31
|
+
|
|
32
|
+
- `behavior.sorting.multiSort` ainda é `schema-only`;
|
|
33
|
+
- `behavior.filtering.columnFilters.enabled` ainda é `schema-only`;
|
|
34
|
+
- `behavior.dragging.rows` ainda é `schema-only`;
|
|
35
|
+
- expansão é bloqueada quando virtualização está ativa na política atual;
|
|
36
|
+
- export aparece como affordance de toolbar, mas não deve ser tratado automaticamente como fluxo end-to-end completo;
|
|
37
|
+
- a README ainda contém exemplos de eventos/API desatualizados em relação ao runtime real.
|
|
38
|
+
|
|
39
|
+
## Problema Atual do Playground
|
|
40
|
+
|
|
41
|
+
A curadoria atual do playground da tabela parece excessivamente orientada por domínio e pouco orientada por capacidade.
|
|
42
|
+
|
|
43
|
+
Exemplos do problema:
|
|
44
|
+
|
|
45
|
+
- cinco cenários operacionais (`minimal`, `financial`, `crm`, `sla`, `backoffice`) reaproveitam a mesma gramática de runtime com datasets e copy diferentes;
|
|
46
|
+
- vários demos de regras parecem fragmentos do mesmo showcase, com pouca diferenciação real de interação;
|
|
47
|
+
- os três exemplos genéricos de expansão parecem variantes de layout empacotadas como presets separados, quando poderiam ser um único laboratório com patches;
|
|
48
|
+
- recursos fortes do componente, como filtro dinâmico, modo local, schema reconciliation, settings-driven authoring, seleção/bulk e governança de colunas, estão sub-representados ou praticamente ausentes;
|
|
49
|
+
- a vitrine atual comunica bem “rules styling”, mas comunica mal a ideia de plataforma governada para dados enterprise.
|
|
50
|
+
|
|
51
|
+
## Objetivo do Plano
|
|
52
|
+
|
|
53
|
+
O plano proposto tenta substituir a vitrine atual por um catálogo menor, mais claro e mais honesto, organizado por capacidade.
|
|
54
|
+
|
|
55
|
+
Catálogo alvo proposto:
|
|
56
|
+
|
|
57
|
+
1. `Remote CRUD Baseline`
|
|
58
|
+
2. `Dynamic Filter Workbench`
|
|
59
|
+
3. `Local Data Projection`
|
|
60
|
+
4. `Renderer Gallery`
|
|
61
|
+
5. `Rules and DSL Playground`
|
|
62
|
+
6. `Selection and Bulk Operations`
|
|
63
|
+
7. `Column Governance`
|
|
64
|
+
8. `Schema Reconciliation`
|
|
65
|
+
9. `Settings-Driven Authoring`
|
|
66
|
+
10. `Expansion Lab`
|
|
67
|
+
11. `Virtualized High Volume`
|
|
68
|
+
|
|
69
|
+
Racional do plano:
|
|
70
|
+
|
|
71
|
+
- reduzir redundância entre cenários orientados por domínio;
|
|
72
|
+
- usar patches para variantes, em vez de multiplicar presets quase iguais;
|
|
73
|
+
- destacar capacidades estratégicas e diferenciais reais da tabela;
|
|
74
|
+
- evitar que o playground prometa maturidade maior que a do runtime;
|
|
75
|
+
- reposicionar `praxis-table` como superfície governada de dados, não só como demo de badges/regras.
|
|
76
|
+
|
|
77
|
+
## Documento-base do plano
|
|
78
|
+
|
|
79
|
+
Use como referência principal o documento:
|
|
80
|
+
|
|
81
|
+
- `projects/praxis-table/docs/playground-scenario-curation-plan.md`
|
|
82
|
+
|
|
83
|
+
## O que eu quero da sua resposta
|
|
84
|
+
|
|
85
|
+
Quero uma revisão crítica de verdade, não um resumo.
|
|
86
|
+
|
|
87
|
+
Avalie:
|
|
88
|
+
|
|
89
|
+
1. Se o diagnóstico do catálogo atual está correto ou superficial.
|
|
90
|
+
2. Se o catálogo alvo realmente cobre o poder do componente.
|
|
91
|
+
3. Se algum cenário proposto está abstrato demais ou genérico demais.
|
|
92
|
+
4. Se falta algum cenário essencial para provar valor enterprise.
|
|
93
|
+
5. Se algum cenário proposto deveria ser fundido, renomeado, quebrado ou removido.
|
|
94
|
+
6. Se a separação entre “Renderer Gallery” e “Rules and DSL Playground” está boa ou artificial.
|
|
95
|
+
7. Se “Settings-Driven Authoring” merece mesmo ser um cenário flagship ou deveria ser incorporado a outro.
|
|
96
|
+
8. Se “Schema Reconciliation” está sendo tratado com a importância correta.
|
|
97
|
+
9. Se “Virtualized High Volume” deve ser cenário próprio ou apenas patch de outro.
|
|
98
|
+
10. Se a proposta respeita bem os limites atuais do runtime e evita oversell.
|
|
99
|
+
|
|
100
|
+
## Formato esperado da resposta
|
|
101
|
+
|
|
102
|
+
Responda com:
|
|
103
|
+
|
|
104
|
+
1. `Veredito executivo`
|
|
105
|
+
- diga se o plano está forte, incompleto, enviesado ou mal calibrado.
|
|
106
|
+
|
|
107
|
+
2. `Principais achados`
|
|
108
|
+
- liste os problemas ou acertos mais importantes, em ordem de impacto.
|
|
109
|
+
|
|
110
|
+
3. `Ajustes recomendados no catálogo`
|
|
111
|
+
- diga exatamente o que manter, fundir, criar, remover ou renomear.
|
|
112
|
+
|
|
113
|
+
4. `Riscos de comunicação`
|
|
114
|
+
- destaque onde o playground ainda pode induzir interpretação errada sobre o componente.
|
|
115
|
+
|
|
116
|
+
5. `Catálogo final recomendado`
|
|
117
|
+
- proponha sua própria versão final, se diferente.
|
|
118
|
+
|
|
119
|
+
## Instrução final
|
|
120
|
+
|
|
121
|
+
Se você discordar do plano, seja explícito. Prefiro uma crítica dura e útil a uma validação diplomática.
|