@praxisui/table 9.0.67 → 9.0.68-rc.1
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 +152 -2
- package/ai/component-registry.json +316 -33
- package/docs/dynamic-filter-host-integration-guide.md +24 -0
- package/docs/dynamic-filter-payload-contract.md +5 -0
- package/docs/table-authoring-document-completeness-checklist.md +13 -0
- package/fesm2022/{praxisui-table-praxisui-table-DQWmLtjb.mjs → praxisui-table-praxisui-table-Cxa4T7sm.mjs} +55753 -54828
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-BkxCL9F2.mjs → praxisui-table-table-agentic-authoring-turn-flow-ujl2U5u7.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-DyrPBufP.mjs → praxisui-table-table-ai.adapter-B2hfkjTX.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +29 -0
- package/types/praxisui-table.d.ts +49 -8
|
@@ -314,3 +314,27 @@ Para uma nova tabela enterprise:
|
|
|
314
314
|
2. use overrides só onde a barra compacta realmente precisa;
|
|
315
315
|
3. valide payload com backend antes de abrir opções avançadas;
|
|
316
316
|
4. só então ligue tags, settings editor e variantes inline mais complexas.
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
## Ciclo de vida dos editores do filtro
|
|
320
|
+
|
|
321
|
+
Os painéis de preferências e de metadados são vinculados ao `DestroyRef` da origem
|
|
322
|
+
pelo contrato `owner` do Settings Panel. Remover a origem encerra seus painéis e
|
|
323
|
+
as assinaturas de Apply/Save. Um carregamento lazy concluído após a destruição
|
|
324
|
+
do pai não abre um editor filho. O host deve destruir efetivamente o componente
|
|
325
|
+
quando sua origem deixa de existir, em vez de apenas ocultá-lo por CSS.
|
|
326
|
+
|
|
327
|
+
Salvar metadados no editor filho altera o rascunho do pai; a gravação da configuração
|
|
328
|
+
continua pertencendo ao fluxo de Save do filtro. Destruir a origem não inicia Save
|
|
329
|
+
e não implica cancelar requisições de gravação já iniciadas legitimamente.
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
### Confirmação de Save nas preferências do filtro
|
|
333
|
+
|
|
334
|
+
O painel aguarda a conclusão do storage antes de fechar. Apply permanece uma
|
|
335
|
+
prévia sem gravação; erros de Save mantêm o rascunho aberto para nova tentativa.
|
|
336
|
+
Conflitos 409/412 não são sobrescritos automaticamente. Alterações feitas durante
|
|
337
|
+
uma requisição também permanecem abertas após a confirmação da versão enviada.
|
|
338
|
+
O cache local de FilterConfigService é atualizado ou removido somente após sucesso
|
|
339
|
+
de Save/Clear. A garantia corresponde ao storage configurado: o adapter local não
|
|
340
|
+
constitui confirmação de gravação no backend.
|
|
@@ -348,3 +348,8 @@ Toda documentação de filtro dinâmico precisa citar explicitamente:
|
|
|
348
348
|
- quais falhas devolvem `400`.
|
|
349
349
|
|
|
350
350
|
Sem isso, a doc tende a ficar “bonita na UI” e incompleta na integração real.
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
## Linguagem editorial das saídas
|
|
354
|
+
|
|
355
|
+
O descritor editorial registrado pelos providers oficiais do filtro e da Table distingue `change` (“Valores do filtro”) de `contextChange` (“Valores e rótulos do filtro”). O primeiro carrega os valores; o segundo inclui `filter`, `labels`, `fieldLabels` e `fields` para apresentação. Os títulos são resolvidos pelo PraxisI18nService (pt-BR/en-US, fallback e override do host), sem alterar nomes de outputs ou payloads. O Page Builder consome essa descrição pelo ComponentMetadataRegistry, preservando identificadores em detalhes técnicos.
|
|
@@ -48,6 +48,19 @@ O documento será considerado completo quando:
|
|
|
48
48
|
- [ ] `toCanonicalConfig()` não precisa buscar `advancedFilters.settings` no estado anterior do componente.
|
|
49
49
|
- [ ] `applyTableConfig()` não depende mais de fallback implícito baseado no estado interno previamente aplicado.
|
|
50
50
|
|
|
51
|
+
### Visibilidade dos filtros em páginas compostas
|
|
52
|
+
|
|
53
|
+
No editor, **Visão geral e comportamento → Filtragem → Exibir filtros na tabela**
|
|
54
|
+
controla `behavior.filtering.advancedFilters.enabled`. Desativar essa preferência
|
|
55
|
+
oculta a barra interna; um widget de filtro conectado continua fornecendo critérios
|
|
56
|
+
à tabela. Os critérios recebidos não dependem de renderizar a barra interna.
|
|
57
|
+
|
|
58
|
+
A normalização de `advancedFilters.settings` pela aba Filtros deve preservar
|
|
59
|
+
`enabled: false` explícito, inclusive ao ler, aplicar e salvar o documento.
|
|
60
|
+
O editor nativo também publica configuração e bindings pelo evento existente
|
|
61
|
+
`tableInputPatch`, para que o Page Builder atualize os inputs persistíveis antes
|
|
62
|
+
de receber a próxima interação de outro widget.
|
|
63
|
+
|
|
51
64
|
### 5. Coerções contextuais
|
|
52
65
|
|
|
53
66
|
- [ ] Coerção de `pagination.strategy` e `sorting.strategy` em modo local acontece em `toCanonicalConfig()`, não em `normalizeDocument()`.
|