@praxisui/table 9.0.65 → 9.0.67
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 +38 -0
- package/ai/component-registry.json +2 -2
- package/docs/local-data-mode-precedence.md +13 -0
- package/fesm2022/{praxisui-table-praxisui-table-B3Gyqwao.mjs → praxisui-table-praxisui-table-DQWmLtjb.mjs} +264 -111
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-B5y6-haX.mjs → praxisui-table-table-agentic-authoring-turn-flow-BkxCL9F2.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-Bo2VuiWB.mjs → praxisui-table-table-ai.adapter-DyrPBufP.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +11 -5
- package/types/praxisui-table.d.ts +26 -9
- package/filter-drawer-adapter/package.json +0 -4
package/README.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Enterprise data table for Praxis UI applications.
|
|
4
4
|
|
|
5
|
+
Opt-in responsive record cards (`appearance.responsive.mobile.cardMode`) adapt to
|
|
6
|
+
the narrower of the viewport and the table host, including resized desktop widgets.
|
|
7
|
+
The existing mobile breakpoint is reused; virtualization and horizontal-scroll
|
|
8
|
+
policy are unchanged. At up to 480 px of internal width, labels stack above values.
|
|
9
|
+
Selection decoration does not replace field labels. No column is removed by this
|
|
10
|
+
adaptation. The config editor no longer displays an informational version banner
|
|
11
|
+
over actionable diagnostics.
|
|
12
|
+
|
|
13
|
+
The checked row-selection radio inherits `--p-table-row-selected-fg` in its normal,
|
|
14
|
+
hover, focus and pressed states, including responsive cards. Disabled and unselected
|
|
15
|
+
radios keep Material's state tokens. Custom themes must maintain sufficient contrast
|
|
16
|
+
between the selected-row foreground and background; the built-in light/dark themes
|
|
17
|
+
are covered by a real-backend regression with a minimum 3:1 indicator contrast.
|
|
18
|
+
|
|
5
19
|
Use this package to render local or backend-driven data grids with `TableConfig`, filtering, sorting, pagination, selection, row actions, visual rules, configurable toolbar, rich detail rows, and optional AI-assisted authoring.
|
|
6
20
|
|
|
7
21
|
Item workflow actions discovered through resource capabilities/action catalogs are executable
|
|
@@ -10,6 +24,14 @@ Dynamic Form surface, propagates the row version declared by `resourceVersionFie
|
|
|
10
24
|
the backend-authored refresh policy after success. Hosts should not recreate these actions from
|
|
11
25
|
button labels, HTTP methods, or local version-field aliases.
|
|
12
26
|
|
|
27
|
+
In a standalone table, the discovered native `view`/`byId` capability opens a readonly
|
|
28
|
+
Dynamic Form through `surface.open`, using the canonical item read and response schema.
|
|
29
|
+
Named record surfaces retain their declared identity, path and schema. Inside a CRUD host,
|
|
30
|
+
native view continues to delegate through `rowAction`; explicit global actions keep precedence.
|
|
31
|
+
The host must provide the surface runtime/drawer bridge and authorize the declared item and
|
|
32
|
+
schema reads. The table forwards its originating injector and trigger focus only in ephemeral
|
|
33
|
+
runtime context, never in authored configuration or API payloads.
|
|
34
|
+
|
|
13
35
|
Collection workflow actions follow the same contract and are materialized in the toolbar. The
|
|
14
36
|
table requires a row selection only when the action publishes `selection.idsField` or uses
|
|
15
37
|
`SELECTION_MAP`; an unrelated current selection is never injected into a selection-independent
|
|
@@ -87,6 +109,14 @@ export class LocalTableComponent {
|
|
|
87
109
|
|
|
88
110
|
## Minimum Remote Runtime
|
|
89
111
|
|
|
112
|
+
For discovered standalone collection create, Table suppresses disabled/denied
|
|
113
|
+
actions and coalesces concurrent opening attempts for the same resource and
|
|
114
|
+
surface while opening is pending. The guard is released after success or failure;
|
|
115
|
+
it does not implement HTTP idempotency or prevent a later deliberate opening.
|
|
116
|
+
A selected surface failure shows localized feedback and never emits a second
|
|
117
|
+
toolbar action as a fallback. CRUD-hosted tables retain CRUD ownership. Diagnostics
|
|
118
|
+
keep correlation and the error type, not arbitrary provider exception messages.
|
|
119
|
+
|
|
90
120
|
Use `resourcePath` when the host wants the table to enter backend schema/data mode.
|
|
91
121
|
|
|
92
122
|
```html
|
|
@@ -482,3 +512,11 @@ Main exports:
|
|
|
482
512
|
- When `excel` is enabled in `export.formats`, the toolbar also exposes a current-page Excel export that downloads only the rows currently loaded in the table runtime with visible columns and formatted cell values. Full filtered exports continue to use the configured collection export provider.
|
|
483
513
|
- Theme the table through Material/Praxis tokens instead of targeting internal descendants.
|
|
484
514
|
- Use the official documentation for full recipes on filters, rich detail rows, rules, formatting, AI authoring, and backend capabilities.
|
|
515
|
+
|
|
516
|
+
### Authoring de tabela e filtro no Page Builder
|
|
517
|
+
|
|
518
|
+
O editor de conteúdo da tabela recebe a configuração efetiva em contexto transitório. Ao salvar, aplica apenas as mudanças autoradas, preservando paginação e renderizadores derivados do schema. Essa projeção não é copiada integralmente para o documento.
|
|
519
|
+
|
|
520
|
+
O editor do filtro permite selecionar o recurso e carregar seus campos pelo schema de filtro canônico. `resourcePath` e preferências visuais são persistidos; os metadados carregados permanecem derivados da API.
|
|
521
|
+
|
|
522
|
+
Ao receber novos `filterCriteria` ou `queryContext` de outro widget, a consulta remota reinicia na página zero. Para um recurso paginado, selecione estratégia de paginação `server` no editor; a estratégia cliente continua sendo uma opção explícita para dados locais.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-09-
|
|
3
|
+
"generatedAt": "2026-09-07T00:54:55.301Z",
|
|
4
4
|
"packageName": "@praxisui/table",
|
|
5
|
-
"packageVersion": "9.0.
|
|
5
|
+
"packageVersion": "9.0.67",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -21,3 +21,16 @@ Mudanças iniciais de `queryContext` ou `filterCriteria` não podem antecipar es
|
|
|
21
21
|
contrário, a Table envia primeiro uma requisição com defaults do construtor e depois outra com a
|
|
22
22
|
configuração final, criando custo desnecessário e uma corrida entre respostas. Depois da
|
|
23
23
|
inicialização, qualquer mudança real nesses inputs continua disparando a atualização remota.
|
|
24
|
+
|
|
25
|
+
## Finalização assíncrona da primeira projeção local
|
|
26
|
+
|
|
27
|
+
Uma coleção obtida por HTTP real pode ser materializada como `data` local por uma
|
|
28
|
+
surface relacionada. `ngAfterContentInit` pode torná-la utilizável antes de o
|
|
29
|
+
`ngOnInit` assíncrono terminar. A finalização tardia não republica a mesma projeção
|
|
30
|
+
quando contém exatamente os mesmos objetos, na mesma ordem, já exibidos pela tabela.
|
|
31
|
+
Isso evita limpar uma seleção feita enquanto a inicialização ainda terminava.
|
|
32
|
+
|
|
33
|
+
Não se trata de persistência de seleção: novos objetos, outra projeção/ordem ou uma
|
|
34
|
+
atualização explícita continuam passando pela política `persistOnDataUpdate` /
|
|
35
|
+
`persistSelection`. Nenhuma identidade é reconstruída pela posição visual e a
|
|
36
|
+
precedência entre `resourcePath`, `data` e conexão persistida permanece inalterada.
|