@praxisui/table 9.0.0-beta.3 → 9.0.0-beta.30
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 +11 -1
- package/ai/component-registry.json +21959 -0
- package/docs/column-resize-reorder-implementation-plan.md +42 -34
- package/docs/local-data-support-implementation-plan.md +17 -17
- package/docs/local-data-support-pr-package.md +12 -12
- package/docs/release-notes-p1-hardening.md +1 -3
- package/fesm2022/{praxisui-table-praxisui-table-CunEk0vb.mjs → praxisui-table-praxisui-table-IVMOBeVU.mjs} +1438 -533
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-DL9l0XF7.mjs → praxisui-table-table-agentic-authoring-turn-flow-Ch_ORcol.mjs} +241 -17
- package/fesm2022/{praxisui-table-table-ai.adapter-BvaMq2CS.mjs → praxisui-table-table-ai.adapter-Dh-7AnET.mjs} +84 -11
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +16 -11
- package/src/lib/praxis-table.json-api.md +47 -15
- package/types/praxisui-table.d.ts +109 -21
|
@@ -37,9 +37,9 @@ source_of_truth:
|
|
|
37
37
|
- "projects/praxis-core/src/lib/tokens/global-action.catalog.ts"
|
|
38
38
|
- "projects/praxis-core/src/lib/models/global-action.model.ts"
|
|
39
39
|
- "projects/praxis-core/src/lib/actions/global-action-ui.ts"
|
|
40
|
-
source_of_truth_last_verified: "2026-
|
|
40
|
+
source_of_truth_last_verified: "2026-06-24"
|
|
41
41
|
publish_source_of_truth: false
|
|
42
|
-
last_updated: "2026-
|
|
42
|
+
last_updated: "2026-06-24"
|
|
43
43
|
toc: true
|
|
44
44
|
sidebar: true
|
|
45
45
|
tags:
|
|
@@ -92,6 +92,13 @@ Este documento e a referencia canonica da API JSON de praxis-table.
|
|
|
92
92
|
- Para exportar apenas a selecao, combine `behavior.selection.enabled`, `config.export.general.scope: "selected"` e uma bulk action visivel apenas quando `selectedCount > 0`.
|
|
93
93
|
- Quando `config.export.general.scope` e `"selected"`, a exportacao sem linhas selecionadas e bloqueada com feedback de usuario em vez de gerar um arquivo vazio.
|
|
94
94
|
|
|
95
|
+
## AI assistant entrypoint
|
|
96
|
+
|
|
97
|
+
- `config.ai.assistant.enabled` controla a visibilidade e o acionamento do assistente de IA embarcado na tabela.
|
|
98
|
+
- Ausencia do campo equivale ao comportamento historico: o entrypoint continua disponivel quando o adapter de IA da tabela estiver carregado.
|
|
99
|
+
- Use `false` para surfaces em que o host precisa remover a acao de IA por contrato publico, sem CSS contra classes internas da tabela ou do Angular Material.
|
|
100
|
+
- Ao mudar para `false`, a tabela fecha o assistente e remove a sessao contextual da tabela no registry compartilhado de IA.
|
|
101
|
+
|
|
95
102
|
## Columns visibility dropdown
|
|
96
103
|
|
|
97
104
|
- `config.toolbar.columnsVisibility.enabled` controla a exibição do botão de visibilidade de colunas na barra de ferramentas.
|
|
@@ -331,6 +338,21 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
|
|
|
331
338
|
| `actions.row.discovery.enabled` | boolean | No | `true` | row-action-discovery | Controla se row actions podem ser enriquecidas por HATEOAS/capabilities. Configure `false` para manter somente ações declaradas em `actions.row.actions[]`. |
|
|
332
339
|
| `columns[].renderer` | object | No | field-type-driven | renderer-contract | Renderers condicionais, payload expr e ações interativas. |
|
|
333
340
|
|
|
341
|
+
Quando `actions.row.discovery.enabled` esta ativo e o item publica
|
|
342
|
+
capabilities CRUD canonicas, `PraxisTable` pode sintetizar entradas
|
|
343
|
+
contextuais `view`, `edit` e `delete`. Quando o backend publica
|
|
344
|
+
explicitamente `operations["duplicate-draft"]`, a tabela tambem materializa
|
|
345
|
+
`duplicate-draft` como operacao estendida de item. Essas entradas continuam
|
|
346
|
+
sendo capabilities, nao workflow actions: o clique emite `rowAction` com
|
|
347
|
+
`actionConfig` apontando para a capability, para que um contexto CRUD ou
|
|
348
|
+
host composto materialize a operacao.
|
|
349
|
+
|
|
350
|
+
Renderer defaults:
|
|
351
|
+
- `columns[].renderer.type = "avatar"` aplica `columns[].align = "center"` quando a coluna não declara alinhamento explícito. Esse default governa header e célula para manter foto/avatar centralizados em colunas dedicadas, preservando `align`, `width` e demais overrides declarados pelo host.
|
|
352
|
+
- `columns[].renderer.type = "microVisualization"` renderiza a visualização compacta declarada em `renderer.microVisualization.visualization`. O caminho preferencial é metadata-driven: campos de schema com `presentation.presenter = "microVisualization"` e `presentation.visualization.surface = "table-cell"` são convertidos automaticamente para esse renderer quando o tipo é seguro para tabela. O contrato visual e a normalização pertencem a `@praxisui/core` (`PraxisPresentationVisualizationConfig`); a tabela apenas hospeda o HTML compacto em célula, compose item ou renderer condicional.
|
|
353
|
+
|
|
354
|
+
- Em tabela, campos `*Expr` da visualizacao, como `valueExpr`, `targetExpr`, `segmentsExpr`, `toneExpr` e `fallbackTextExpr`, sao resolvidos contra o contexto da linha antes de renderizar. Strings simples sao caminhos (`row.slaAtual`) e objetos seguem Json Logic. Para `kind = "comparison"`, use `points`/`pointsExpr`; `items` fica reservado para visualizacoes orientadas a itens/etapas.
|
|
355
|
+
|
|
334
356
|
### Toolbar contract
|
|
335
357
|
|
|
336
358
|
- Acoes globais de toolbar, row e bulk usam `effects[].kind = "global-action"` como envelope canonico de novo authoring.
|
|
@@ -365,7 +387,7 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
|
|
|
365
387
|
| `icon` | `string` | No | component-input | host-surface passthrough | Ícone opcional usado em affordances auxiliares do runtime. |
|
|
366
388
|
| `autoDelete` | `boolean` | No | component-input | boolean coercion | Ativa deleção automática quando o host delega esse fluxo ao runtime. |
|
|
367
389
|
| `enableCustomization` | `boolean` | No | component-input | boolean coercion | Controla entrada em editor/configuração; default canônico `false`. |
|
|
368
|
-
| `dense` | `boolean` | No | component-input | boolean coercion |
|
|
390
|
+
| `dense` | `boolean` | No | component-input | boolean coercion | Entrada legada de compactação. Equivale a `appearance.density="compact"` apenas quando o contrato não informa `appearance.density`. |
|
|
369
391
|
| `notifyIfOutdated` | `'inline' \| 'snackbar' \| 'both' \| 'none'` | No | component-input | enum validation + prefs fallback | Política de aviso de drift de schema; o host escolhe banner inline, snackbar, ambos ou silêncio explícito. |
|
|
370
392
|
| `snoozeMs` | `number` | No | component-input | numeric fallback + prefs fallback | Janela de snooze para avisos de drift; default do input é `86400000` (24h) e políticas globais podem complementar. |
|
|
371
393
|
| `autoOpenSettingsOnOutdated` | `boolean` | No | component-input | schema-prefs resolution | Abre automaticamente o settings panel quando drift de schema é detectado. |
|
|
@@ -413,13 +435,14 @@ degraded filter.
|
|
|
413
435
|
| `rowClick` | `{ row, index }` | Clique em linha. | Partial | Preservado da documentação anterior. |
|
|
414
436
|
| `rowDoubleClick` | `{ action, row }` | Duplo clique quando habilitado. | Partial | Preservado da documentação anterior. |
|
|
415
437
|
| `rowExpansionChange` | `RowExpansionChangeEvent` | Evento canônico para expand/collapse de detail row no runtime P0A (caminho não virtualizado), com payload discriminado por política de exposição (`allowRawExposure` + `eventExposureDefault`). | Partial | Preservado da documentação anterior. |
|
|
416
|
-
| `rowAction` | `{ action, row, payload?, actionConfig?, localMode?, preventedHttp? }` | Acao de linha (coluna `_actions
|
|
438
|
+
| `rowAction` | `{ action, row, payload?, actionConfig?, localMode?, preventedHttp? }` | Acao de linha (coluna `_actions`, renderer interativo ou CRUD capability sintetizada). `payload` e emitido quando houver `payloadExpr` em renderer interativo. Quando `actionConfig.globalAction` aponta para `navigation.openRoute`, o runtime resolve templates como `${row.id}` antes de executar a navegação interna. Para actions como `surface.open`, `payload.*` continua sendo o envelope canônico do evento entregue ao destino. Para `view/edit/delete/duplicate-draft` vindos de capabilities, `actionConfig` carrega a operacao canonica e o host composto deve encaminhar ao contexto CRUD apropriado. | Partial | Preservado da documentação anterior. |
|
|
417
439
|
| `toolbarAction` | `{ action, actionConfig? }` | Acao clicada em `toolbar.actions[]` que nao foi roteada para fluxo bulk; `actionConfig` carrega o objeto da acao quando disponivel. | Partial | Preservado da documentação anterior. |
|
|
418
440
|
| `exportAction` | `{ format, request?, result?, error?, tableId? }` | Acao de exportacao acionada pelo menu `export.formats[]`; `request` segue `PraxisCollectionExportRequest`. | Active | Usa o contrato canonico de Collection Export em `@praxisui/core`. |
|
|
419
441
|
| `exportAction` | `{ format, request?, result?, error?, tableId? }` | Acao de exportacao acionada pelo menu `export.formats[]`; `request` segue `PraxisCollectionExportRequest`. | Active | Usa o contrato canonico de Collection Export em `@praxisui/core`. |
|
|
420
442
|
| `bulkAction` | `{ action, rows, actionConfig? }` | Acao em lote; `actionConfig` carrega a configuracao da acao quando disponivel. | Partial | Preservado da documentação anterior. |
|
|
421
443
|
| `columnReorder` | `ColumnReorderEvent` | Reordenação de coluna concluída (drag/keyboard). | Partial | Inclui metadados de origem, destino e operação. |
|
|
422
444
|
| `columnReorderAttempt` | `ColumnReorderAttemptEvent` | Tentativa bloqueada por política de drop-zone. | Partial | Evento diagnóstico para observabilidade e auditoria. |
|
|
445
|
+
| `columnResize` | `{ action: 'columnResize', trigger: 'pointer' \| 'keyboard', tableId, field, header, previousWidth, currentWidth, persisted }` | Redimensionamento de coluna concluido pelo separador do header. | Partial | Usa `behavior.resizing.enabled`, respeita `columns[].resizable !== false` e persiste `columns[].width` em px quando `persistWidths !== false`. Em modo `px`, altera a largura da coluna e a largura interna do conteudo rolavel; o viewport/card externo permanece estavel. |
|
|
423
446
|
| `beforeDelete` | `row` | Antes de delete de linha. | Partial | Preservado da documentação anterior. |
|
|
424
447
|
| `afterDelete` | `row` | Depois de delete com sucesso. | Partial | Preservado da documentação anterior. |
|
|
425
448
|
| `deleteError` | `{ row, error }` | Erro no delete de linha. | Partial | Preservado da documentação anterior. |
|
|
@@ -928,6 +951,7 @@ row selection through table affordances.
|
|
|
928
951
|
| `bulkAction` | `{ action, rows, actionConfig? }` | Acao em lote; `actionConfig` carrega a configuracao da acao quando disponivel. | Partial | Preservado da documentação anterior. |
|
|
929
952
|
| `columnReorder` | `{ action, trigger: 'drag' \ | 'keyboard' \ | Partial | Preservado da documentação anterior. |
|
|
930
953
|
| `columnReorderAttempt` | `{ action: 'columnReorderAttempt', trigger: 'drag' \ | 'keyboard', operationId, tableId, sourceField, targetField, previousIndex, currentIndex, sourceZone, targetZone, result: 'blocked', reasonCode: 'drop-zone-policy-blocked', configuredColumnDropZones[] }` | Partial | Preservado da documentação anterior. |
|
|
954
|
+
| `columnResize` | `{ action: 'columnResize', trigger: 'pointer' \| 'keyboard', tableId, field, header, previousWidth, currentWidth, persisted }` | Separador de resize no header. | Partial | Mutacao visual/runtime de largura; nao redefine schema nem dados. Em modo `px`, nao redistribui colunas vizinhas; o conteudo interno pode ficar maior que o viewport e usar scroll horizontal. |
|
|
931
955
|
| `beforeDelete` | `row` | Antes de delete de linha. | Partial | Preservado da documentação anterior. |
|
|
932
956
|
| `afterDelete` | `row` | Depois de delete com sucesso. | Partial | Preservado da documentação anterior. |
|
|
933
957
|
| `deleteError` | `{ row, error }` | Erro no delete de linha. | Partial | Preservado da documentação anterior. |
|
|
@@ -944,28 +968,31 @@ row selection through table affordances.
|
|
|
944
968
|
| `--p-table-row-even-bg` | zebra row |
|
|
945
969
|
| `--p-table-row-hover-bg` | hover row |
|
|
946
970
|
| `--p-table-row-selected-bg` | row selecionada |
|
|
971
|
+
| `--p-table-row-height` | altura da linha; sobrescreve o default do preset de densidade |
|
|
972
|
+
| `--p-table-header-height` | altura do header; sobrescreve o default do preset de densidade |
|
|
973
|
+
| `--p-table-column-resize-hit-area` | area clicavel do separador de resize |
|
|
974
|
+
| `--p-table-column-resize-separator-color` | cor base da divisoria de resize |
|
|
975
|
+
| `--p-table-column-resize-separator-hover-color` | cor da divisoria em hover/focus |
|
|
976
|
+
| `--p-table-column-resize-active-color` | cor da divisoria durante resize |
|
|
947
977
|
| `--p-header-padding` | padding do header |
|
|
978
|
+
| `--p-cell-padding` | padding das células; sobrescreve o default do preset de densidade |
|
|
948
979
|
| `--p-header-font-size` | fonte do header |
|
|
949
980
|
| `--p-header-font-weight` | peso do header |
|
|
950
981
|
| `--p-header-letter-spacing` | tracking do header |
|
|
951
982
|
| `--p-header-text-transform` | caixa do texto do header |
|
|
952
|
-
| `--p-table-drag-handle-size` | tamanho do handle de drag (preset padrao do runtime) |
|
|
953
|
-
| `--p-table-drag-handle-color` | cor do handle de drag |
|
|
954
|
-
| `--p-table-drag-handle-base-opacity` | opacidade base do handle em repouso |
|
|
955
|
-
| `--p-table-drag-handle-idle-bg` | fundo base do handle em repouso |
|
|
956
|
-
| `--p-table-drag-handle-idle-border` | borda base do handle em repouso |
|
|
957
|
-
| `--p-table-drag-handle-hover-bg` | fundo do handle em hover/focus |
|
|
958
|
-
| `--p-table-drag-handle-hover-border` | borda do handle em hover/focus |
|
|
959
|
-
| `--p-table-drag-handle-active-bg` | fundo do handle em estado ativo |
|
|
960
|
-
| `--p-table-drag-handle-active-border` | borda do handle em estado ativo |
|
|
961
|
-
| `--p-table-drag-handle-focus-ring` | cor do anel de foco do handle |
|
|
962
|
-
| `--p-table-drag-handle-transition-duration` | duracao das transicoes do handle |
|
|
963
983
|
| `--p-table-reorder-transition-duration` | duracao da animacao de reorder das colunas |
|
|
964
984
|
| `--p-table-drag-preview-scale` | escala visual do preview durante drag |
|
|
965
985
|
| `--p-table-drag-preview-shadow` | sombra do preview durante drag |
|
|
966
986
|
| `--p-table-drag-status-enter-duration` | duracao da entrada da mensagem visual de reorder |
|
|
967
987
|
| `--p-actions-btn-size` | tamanho de botoes de acao |
|
|
968
988
|
| `--p-actions-icon-size` | tamanho de icones de acao |
|
|
989
|
+
| `--p-table-paginator-container-min-height` | altura minima do paginator |
|
|
990
|
+
| `--p-table-paginator-container-padding` | padding do paginator |
|
|
991
|
+
| `--p-table-paginator-container-gap` | espaçamento entre controles do paginator |
|
|
992
|
+
| `--p-table-paginator-action-size` | tamanho dos botoes de navegacao do paginator |
|
|
993
|
+
| `--p-table-paginator-select-width` | largura do seletor de tamanho de pagina |
|
|
994
|
+
| `--p-table-paginator-select-height` | altura do seletor de tamanho de pagina |
|
|
995
|
+
| `--p-table-paginator-select-padding-inline` | padding horizontal do seletor de tamanho de pagina |
|
|
969
996
|
| `--p-table-state-success-*` | tokens de estado success |
|
|
970
997
|
| `--p-table-state-warning-*` | tokens de estado warning |
|
|
971
998
|
| `--p-table-state-danger-*` | tokens de estado danger |
|
|
@@ -981,6 +1008,10 @@ row selection through table affordances.
|
|
|
981
1008
|
| `col-borders` | bordas verticais entre colunas |
|
|
982
1009
|
| `pfx-column-drag-enabled` | habilita layout base de DnD de colunas |
|
|
983
1010
|
| `pfx-column-drag-indicator` | habilita indicador visual de drag |
|
|
1011
|
+
| `pfx-column-resize-enabled` | habilita separadores de resize no header |
|
|
1012
|
+
| `pfx-column-resizing` | estado ativo enquanto uma coluna esta sendo redimensionada |
|
|
1013
|
+
|
|
1014
|
+
`appearance.density` seleciona apenas o preset de defaults. `appearance.spacing.*` e defaults globais também alimentam tokens `*-default`. Hosts podem redefinir livremente os tokens finais sem depender de seletores internos, por exemplo `--p-table-row-height`, `--p-table-header-height`, `--p-cell-padding`, `--p-actions-btn-size` e `--p-table-paginator-select-height`. Em virtualização sem `itemHeight` explícito, o runtime deriva a altura da densidade efetiva.
|
|
984
1015
|
|
|
985
1016
|
#### DnD classes (globais)
|
|
986
1017
|
| Classe CSS | Escopo | Efeito |
|
|
@@ -1214,6 +1245,7 @@ matching on row values must not decide primary intent.
|
|
|
1214
1245
|
| `density-compact` / `density-comfortable` / `density-spacious` | host classes | controle de densidade visual | Derivadas de `appearance.density`. |
|
|
1215
1246
|
| `.pfx-column-drag-enabled` | host class | habilita feedback visual de reordenacao | Ativada quando contrato de reorder esta habilitado. |
|
|
1216
1247
|
| `.pfx-column-drag-indicator` | host class | indicador visual durante drag/drop | Integrada ao runtime de `columnReorder`. |
|
|
1248
|
+
| `.praxis-header-sort-trigger` | internal header zone | zona dedicada de sort no header | Recebe `mat-sort-header`; reorder por drag continua implicito no header cell. |
|
|
1217
1249
|
|
|
1218
1250
|
### Fallback global de aparencia
|
|
1219
1251
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
-
import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
2
|
+
import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector } from '@angular/core';
|
|
5
5
|
import { ActivatedRoute } from '@angular/router';
|
|
6
|
+
import { SafeHtml } from '@angular/platform-browser';
|
|
6
7
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
7
8
|
import * as _angular_material_paginator from '@angular/material/paginator';
|
|
8
9
|
import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
@@ -95,6 +96,7 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
95
96
|
getMoreActionsLabel(): string;
|
|
96
97
|
emitExportAction(event: Event, format: string): void;
|
|
97
98
|
getColumnsVisibilityLabel(): string;
|
|
99
|
+
getColumnsVisibilityIcon(): string;
|
|
98
100
|
isColumnsVisibilityEnabled(): boolean;
|
|
99
101
|
getVisibleColumnsCount(): number;
|
|
100
102
|
isColumnVisibilityToggleDisabled(column: {
|
|
@@ -140,7 +142,6 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
140
142
|
private resolveVisibleWhenFallback;
|
|
141
143
|
private resolveVisibleWhenFallbackPolicy;
|
|
142
144
|
private resolveRuntimeEnvironment;
|
|
143
|
-
private isDiagnosticsEnvironment;
|
|
144
145
|
private buildEvaluationContext;
|
|
145
146
|
private warnVisibleWhenFallback;
|
|
146
147
|
private collectShortcutBindings;
|
|
@@ -359,8 +360,9 @@ type FilterConfig = {
|
|
|
359
360
|
};
|
|
360
361
|
declare class FilterConfigService {
|
|
361
362
|
private storage;
|
|
363
|
+
private localStorage;
|
|
362
364
|
private readonly PREFIX;
|
|
363
|
-
constructor(storage: AsyncConfigStorage);
|
|
365
|
+
constructor(storage: AsyncConfigStorage, localStorage: LocalStorageConfigService);
|
|
364
366
|
/**
|
|
365
367
|
* Load a persisted filter configuration for the given key.
|
|
366
368
|
*/
|
|
@@ -369,6 +371,11 @@ declare class FilterConfigService {
|
|
|
369
371
|
* Persist a filter configuration for the given key.
|
|
370
372
|
*/
|
|
371
373
|
save(key: string, config: FilterConfig): void;
|
|
374
|
+
/**
|
|
375
|
+
* Clear the persisted filter configuration from both remote storage and the
|
|
376
|
+
* local fallback cache so reset/reopen cannot revive stale preferences.
|
|
377
|
+
*/
|
|
378
|
+
clear(key: string): void;
|
|
372
379
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilterConfigService, never>;
|
|
373
380
|
static ɵprov: i0.ɵɵInjectableDeclaration<FilterConfigService>;
|
|
374
381
|
}
|
|
@@ -651,6 +658,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
651
658
|
private resolveInitialDto;
|
|
652
659
|
private syncFormsFromDto;
|
|
653
660
|
private refreshProgrammaticFilterFieldDisplays;
|
|
661
|
+
private getProgrammaticRefreshFieldNames;
|
|
654
662
|
private refreshProgrammaticFilterFieldDisplay;
|
|
655
663
|
ngOnInit(): Promise<void>;
|
|
656
664
|
ngAfterViewInit(): void;
|
|
@@ -995,6 +1003,7 @@ type RuntimeRowAction = {
|
|
|
995
1003
|
overflow?: boolean;
|
|
996
1004
|
__praxisDiscoveredAction?: ResourceActionCatalogItem;
|
|
997
1005
|
__praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
|
|
1006
|
+
__praxisCrudOperation?: ResourceCapabilityOperation;
|
|
998
1007
|
__praxisCapabilityDenied?: boolean;
|
|
999
1008
|
};
|
|
1000
1009
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
@@ -1077,6 +1086,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1077
1086
|
exportAction: EventEmitter<any>;
|
|
1078
1087
|
columnReorder: EventEmitter<any>;
|
|
1079
1088
|
columnReorderAttempt: EventEmitter<any>;
|
|
1089
|
+
columnResize: EventEmitter<any>;
|
|
1080
1090
|
beforeDelete: EventEmitter<any>;
|
|
1081
1091
|
afterDelete: EventEmitter<any>;
|
|
1082
1092
|
deleteError: EventEmitter<any>;
|
|
@@ -1118,8 +1128,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1118
1128
|
private columnReorderStatusTimer;
|
|
1119
1129
|
private columnReorderVisualStatusTimer;
|
|
1120
1130
|
private columnReorderUndoSubscription;
|
|
1121
|
-
private
|
|
1122
|
-
private
|
|
1131
|
+
private columnRuntimeMutationOperationCounter;
|
|
1132
|
+
private latestColumnRuntimeMutationOperationId;
|
|
1133
|
+
private columnResizeTransientWidths;
|
|
1134
|
+
private columnResizeTableWidthStyle;
|
|
1135
|
+
private columnResizeLayoutSignature;
|
|
1136
|
+
private isApplyingColumnResizeLayoutMutation;
|
|
1137
|
+
private activeColumnResize;
|
|
1138
|
+
private readonly columnResizePointerMoveListener;
|
|
1139
|
+
private readonly columnResizePointerUpListener;
|
|
1140
|
+
private readonly columnResizePointerCancelListener;
|
|
1141
|
+
private readonly columnResizeKeydownListener;
|
|
1123
1142
|
localSource: any[];
|
|
1124
1143
|
localView: any[];
|
|
1125
1144
|
localTotal: number;
|
|
@@ -1157,6 +1176,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1157
1176
|
private rowDiscoveryMarkForCheckScheduled;
|
|
1158
1177
|
private lastRowDiscoveryScopeKey;
|
|
1159
1178
|
private readonly i18n;
|
|
1179
|
+
private readonly sanitizer;
|
|
1160
1180
|
private readonly collectionExport;
|
|
1161
1181
|
private readonly paginatorIntl;
|
|
1162
1182
|
private schemaFieldsSnapshot;
|
|
@@ -1192,9 +1212,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1192
1212
|
getRowActionsWidthStyle(): string | null;
|
|
1193
1213
|
getColumnTextAlignStyle(column: ColumnDefinition): string | null;
|
|
1194
1214
|
getColumnWidthStyle(column: ColumnDefinition): string | null;
|
|
1215
|
+
getColumnResizeTableWidthStyle(): string | null;
|
|
1195
1216
|
getColumnHeaderAttrStyle(column: ColumnDefinition): string | null;
|
|
1196
1217
|
getColumnHeaderNgStyle(column: ColumnDefinition): Record<string, string> | undefined;
|
|
1197
1218
|
getColumnCellAttrStyle(column: ColumnDefinition): string | null;
|
|
1219
|
+
private mergeColumnWidthIntoInlineStyle;
|
|
1220
|
+
private buildColumnWidthInlineStyle;
|
|
1198
1221
|
getTableElevationClassName(): string;
|
|
1199
1222
|
private normalizeTableElevationLevel;
|
|
1200
1223
|
private resolveRuntimeTableElevationLevel;
|
|
@@ -1251,6 +1274,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1251
1274
|
set resolvedPrefs(val: any);
|
|
1252
1275
|
get resolvedPrefs(): any;
|
|
1253
1276
|
dense: boolean;
|
|
1277
|
+
private hostDeclaredAppearanceDensity;
|
|
1278
|
+
private hostDeclaredAppearanceSpacing;
|
|
1279
|
+
private hostDeclaredAppearanceTypography;
|
|
1254
1280
|
private resolveAppearanceDensity;
|
|
1255
1281
|
get hostDensityCompactClass(): boolean;
|
|
1256
1282
|
get hostDensityComfortableClass(): boolean;
|
|
@@ -1339,6 +1365,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1339
1365
|
private tableConfigKey;
|
|
1340
1366
|
private filterConfigKey;
|
|
1341
1367
|
private ensureConfigDefaults;
|
|
1368
|
+
private hasDeclaredAppearanceDensity;
|
|
1369
|
+
private hasDeclaredAppearanceSection;
|
|
1370
|
+
private shouldApplyAppearanceDefaultValue;
|
|
1342
1371
|
private mergePersistedTableConfigWithInput;
|
|
1343
1372
|
private reconcileHostDeclaredTableContract;
|
|
1344
1373
|
private reconcileHostDeclaredColumns;
|
|
@@ -1347,6 +1376,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1347
1376
|
private normalizePersistedExportFormats;
|
|
1348
1377
|
private normalizePersistedRowActionIds;
|
|
1349
1378
|
private normalizePersistedColumnIds;
|
|
1379
|
+
private columnIdentitySetChanged;
|
|
1350
1380
|
private clonePlainObject;
|
|
1351
1381
|
private setShowToolbar;
|
|
1352
1382
|
private shouldExposeToolbar;
|
|
@@ -1361,6 +1391,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1361
1391
|
aiAssistantTriggerBadge(): string;
|
|
1362
1392
|
aiAssistantTriggerLabel(): string;
|
|
1363
1393
|
aiAssistantTriggerTooltip(): string;
|
|
1394
|
+
isAiAssistantEnabled(): boolean;
|
|
1395
|
+
shouldShowAiAssistantEntrypoint(): boolean;
|
|
1364
1396
|
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
1365
1397
|
closeAiAssistant(): void;
|
|
1366
1398
|
onAiAssistantPromptChange(prompt: string): void;
|
|
@@ -1404,6 +1436,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1404
1436
|
private buildRuntimeObservationClaims;
|
|
1405
1437
|
private isRuntimeObservationVisible;
|
|
1406
1438
|
private syncAiAssistantSession;
|
|
1439
|
+
private disableAiAssistantSession;
|
|
1407
1440
|
private assistantContextRuntimeLocale;
|
|
1408
1441
|
private refreshAiAssistantContextAfterSelectionChange;
|
|
1409
1442
|
private hasAiAssistantSessionState;
|
|
@@ -1718,6 +1751,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1718
1751
|
private resolveSortingStrategy;
|
|
1719
1752
|
private applyDataSourceSettings;
|
|
1720
1753
|
private sanitizeColumns;
|
|
1754
|
+
private applyRendererPresentationDefaults;
|
|
1721
1755
|
private setupColumns;
|
|
1722
1756
|
private preserveSchemaDrivenColumnsIfConfigOmittedColumns;
|
|
1723
1757
|
private isDataColumnField;
|
|
@@ -1726,6 +1760,46 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1726
1760
|
isColumnDraggingEnabled(): boolean;
|
|
1727
1761
|
isColumnDragIndicatorEnabled(): boolean;
|
|
1728
1762
|
isColumnDraggable(column: ColumnDefinition | null | undefined): boolean;
|
|
1763
|
+
isColumnResizeEnabled(): boolean;
|
|
1764
|
+
isColumnResizable(column: ColumnDefinition | null | undefined): boolean;
|
|
1765
|
+
isColumnResizeActive(column?: ColumnDefinition | null): boolean;
|
|
1766
|
+
getColumnResizeHandleAriaLabel(column: ColumnDefinition): string;
|
|
1767
|
+
getColumnResizeHandleTooltip(column: ColumnDefinition): string;
|
|
1768
|
+
getColumnResizeMinWidthAriaValue(column: ColumnDefinition): number;
|
|
1769
|
+
getColumnResizeMaxWidthAriaValue(column: ColumnDefinition): number | null;
|
|
1770
|
+
getColumnResizeCurrentWidthAriaValue(column: ColumnDefinition): number | null;
|
|
1771
|
+
onColumnResizeHandleClick(event: MouseEvent): void;
|
|
1772
|
+
onColumnResizeHandleKeydown(event: KeyboardEvent, column: ColumnDefinition): void;
|
|
1773
|
+
onColumnResizePointerDown(event: PointerEvent, column: ColumnDefinition): void;
|
|
1774
|
+
private onColumnResizePointerMove;
|
|
1775
|
+
private onColumnResizePointerUp;
|
|
1776
|
+
private onColumnResizePointerCancel;
|
|
1777
|
+
private onColumnResizeDocumentKeydown;
|
|
1778
|
+
private addColumnResizeDocumentListeners;
|
|
1779
|
+
private removeColumnResizeDocumentListeners;
|
|
1780
|
+
private cancelColumnResize;
|
|
1781
|
+
private commitColumnResize;
|
|
1782
|
+
private applyColumnResizeWidth;
|
|
1783
|
+
private emitAndPersistColumnResize;
|
|
1784
|
+
private updateConfigColumnWidth;
|
|
1785
|
+
private updateConfigColumnWidths;
|
|
1786
|
+
private updateColumnResizeTableWidthFromDelta;
|
|
1787
|
+
private captureColumnResizeLockedWidths;
|
|
1788
|
+
private resolveColumnResizeTableWidthPx;
|
|
1789
|
+
private resolveColumnWidthPx;
|
|
1790
|
+
private parseColumnResizePixelWidth;
|
|
1791
|
+
private normalizeColumnResizeWidthStyle;
|
|
1792
|
+
private clampColumnWidthPx;
|
|
1793
|
+
private resolveColumnResizeEffectiveMinWidthPx;
|
|
1794
|
+
private resolveColumnResizeMinWidthPx;
|
|
1795
|
+
private resolveColumnResizeMaxWidthPx;
|
|
1796
|
+
private normalizeColumnResizeConfigWidths;
|
|
1797
|
+
private runColumnResizeLayoutMutation;
|
|
1798
|
+
private reconcileColumnResizeLayoutState;
|
|
1799
|
+
private clearColumnResizeLayoutState;
|
|
1800
|
+
private createColumnResizeLayoutSignature;
|
|
1801
|
+
private formatColumnWidthPx;
|
|
1802
|
+
private isTableRtl;
|
|
1729
1803
|
private resolveColumnReorderHeader;
|
|
1730
1804
|
private isEnglishLocale;
|
|
1731
1805
|
private isEnglishLocaleValue;
|
|
@@ -1742,9 +1816,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1742
1816
|
private emitColumnReorderAttempt;
|
|
1743
1817
|
private createColumnReorderOperationId;
|
|
1744
1818
|
private isLatestColumnReorderOperation;
|
|
1819
|
+
private createColumnRuntimeMutationOperationId;
|
|
1820
|
+
private isLatestColumnRuntimeMutationOperation;
|
|
1745
1821
|
private offerColumnReorderUndo;
|
|
1746
1822
|
private restoreColumnOrderFromUndo;
|
|
1747
|
-
|
|
1823
|
+
onColumnHeaderReorderKeydown(event: KeyboardEvent, column: ColumnDefinition): void;
|
|
1748
1824
|
onColumnDrop(event: CdkDragDrop<ColumnDefinition[]>): void;
|
|
1749
1825
|
onColumnDragStarted(column: ColumnDefinition): void;
|
|
1750
1826
|
onColumnDragEnded(event: CdkDragEnd<ColumnDefinition>, column: ColumnDefinition): void;
|
|
@@ -1781,10 +1857,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1781
1857
|
* Runs only on initial bootstrap (when columns are derived from schema).
|
|
1782
1858
|
*/
|
|
1783
1859
|
private applyAutoRenderer;
|
|
1784
|
-
/**
|
|
1785
|
-
* Check if a value is a valid ColumnDataType
|
|
1786
|
-
*/
|
|
1787
|
-
private isValidColumnDataType;
|
|
1788
1860
|
/**
|
|
1789
1861
|
* Infer column data type from field name patterns when API type is not available
|
|
1790
1862
|
* Refined logic to reduce false positives
|
|
@@ -1919,7 +1991,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1919
1991
|
private isJsonLogicExpression;
|
|
1920
1992
|
private hasConditionalExpression;
|
|
1921
1993
|
private resolveRuntimeEnvironment;
|
|
1922
|
-
private isDiagnosticsRuntimeEnvironment;
|
|
1923
1994
|
private logActionConditionFallback;
|
|
1924
1995
|
getRowClasses(rowData: any): string[] | undefined;
|
|
1925
1996
|
getRowNgStyle(rowData: any): Record<string, string> | undefined;
|
|
@@ -2032,7 +2103,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2032
2103
|
getBadgeClasses(row: any, column: ColumnDefinition): string[];
|
|
2033
2104
|
getBadgeRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
2034
2105
|
shouldRenderBadge(row: any, column: ColumnDefinition): boolean;
|
|
2035
|
-
getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | null;
|
|
2106
|
+
getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | 'microVisualization' | null;
|
|
2107
|
+
getMicroVisualizationHtml(row: any, column: ColumnDefinition): SafeHtml;
|
|
2108
|
+
private resolveMicroVisualizationForRow;
|
|
2109
|
+
private applyMicroVisualizationExpression;
|
|
2110
|
+
private evaluateMicroVisualizationExpression;
|
|
2036
2111
|
getComposeItems(row: any, column: ColumnDefinition): any[];
|
|
2037
2112
|
trackComposeItem(index: number, item: any): string;
|
|
2038
2113
|
getComposeClasses(row: any, column: ColumnDefinition): string[];
|
|
@@ -2161,6 +2236,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2161
2236
|
private getVirtualizationSources;
|
|
2162
2237
|
isVirtualized(): boolean;
|
|
2163
2238
|
getVirtItemHeight(): number;
|
|
2239
|
+
private getDefaultDensityRowHeight;
|
|
2164
2240
|
getVirtBufferSize(): number;
|
|
2165
2241
|
getVirtMinHeightStyle(): string;
|
|
2166
2242
|
getVirtMinHeightHostStyle(): string | null;
|
|
@@ -2213,10 +2289,18 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2213
2289
|
private splitVisibleRowActionsFromVisible;
|
|
2214
2290
|
private decorateConfiguredRowAction;
|
|
2215
2291
|
private getDiscoveredRowWorkflowActions;
|
|
2292
|
+
private getDiscoveredRowCrudActionsFromSnapshot;
|
|
2293
|
+
private buildDiscoveredRowCrudAction;
|
|
2216
2294
|
private getDiscoveredRowSurfaceActionsFromSnapshot;
|
|
2217
2295
|
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
2296
|
+
private resolveRowCrudCapabilityOperation;
|
|
2297
|
+
private createSyntheticCrudCapabilityOperation;
|
|
2218
2298
|
private supportsRowCrudAction;
|
|
2219
2299
|
private isCapabilityManagedCrudRowAction;
|
|
2300
|
+
private getCrudRowActionLabel;
|
|
2301
|
+
private getCrudRowActionIcon;
|
|
2302
|
+
private getCrudRowActionColor;
|
|
2303
|
+
private getUnavailableCrudOperationMessage;
|
|
2220
2304
|
private findItemWorkflowAction;
|
|
2221
2305
|
private findItemSurface;
|
|
2222
2306
|
private isRowSurfaceAction;
|
|
@@ -2245,7 +2329,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2245
2329
|
private scheduleRowDiscoveryMarkForCheck;
|
|
2246
2330
|
ngOnDestroy(): void;
|
|
2247
2331
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
2248
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
2332
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "columnResize": "columnResize"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
2249
2333
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
2250
2334
|
}
|
|
2251
2335
|
|
|
@@ -3108,6 +3192,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
3108
3192
|
private scrollTrackingRafId;
|
|
3109
3193
|
readonly layoutPreviewFields: string[];
|
|
3110
3194
|
private readonly storage;
|
|
3195
|
+
private readonly filterConfigService;
|
|
3111
3196
|
private readonly settingsPanel;
|
|
3112
3197
|
private readonly snackBar;
|
|
3113
3198
|
private readonly destroyRef;
|
|
@@ -3297,16 +3382,8 @@ interface RuleGroup {
|
|
|
3297
3382
|
}
|
|
3298
3383
|
type StructuredRuleCondition = JsonLogicExpression | null;
|
|
3299
3384
|
declare class RuleCompilerService {
|
|
3300
|
-
/**
|
|
3301
|
-
* Compiles a rule group into a single textual expression string, adding
|
|
3302
|
-
* parentheses according to grouping and operator precedence.
|
|
3303
|
-
*/
|
|
3304
|
-
compileGroup(group: RuleGroup): string;
|
|
3305
|
-
/** Compiles a single rule atom to a textual expression. */
|
|
3306
|
-
compileAtom(atom: RuleAtom): string;
|
|
3307
3385
|
compileGroupToJsonLogic(group: RuleGroup): StructuredRuleCondition;
|
|
3308
3386
|
compileAtomToJsonLogic(atom: RuleAtom): JsonLogicExpression | null;
|
|
3309
|
-
private stringify;
|
|
3310
3387
|
private toJsonLogicValue;
|
|
3311
3388
|
private toList;
|
|
3312
3389
|
static ɵfac: i0.ɵɵFactoryDeclaration<RuleCompilerService, never>;
|
|
@@ -3342,6 +3419,11 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
3342
3419
|
manualMode: boolean;
|
|
3343
3420
|
manualErrors: string[];
|
|
3344
3421
|
testSummary: string;
|
|
3422
|
+
normalizationWarning: string;
|
|
3423
|
+
importStatus: {
|
|
3424
|
+
type: 'success' | 'warning' | 'error';
|
|
3425
|
+
message: string;
|
|
3426
|
+
} | null;
|
|
3345
3427
|
editIndex: number;
|
|
3346
3428
|
get currentRules(): RuleItem[];
|
|
3347
3429
|
set currentRules(v: RuleItem[]);
|
|
@@ -3408,6 +3490,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
3408
3490
|
removeRule(index: number): void;
|
|
3409
3491
|
duplicateRule(index: number): void;
|
|
3410
3492
|
onRuleToggle(): void;
|
|
3493
|
+
private emitRulesConfigChange;
|
|
3411
3494
|
buildAppliedConfig(baseConfig?: TableConfig): TableConfig;
|
|
3412
3495
|
onApply(): void;
|
|
3413
3496
|
isValid(): boolean;
|
|
@@ -3508,9 +3591,14 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
3508
3591
|
onDropCondition(evt: CdkDragDrop<RuleAtom[]>): void;
|
|
3509
3592
|
updateDraftFromGroup(): void;
|
|
3510
3593
|
getAtomPreview(a: RuleAtom): string;
|
|
3594
|
+
private stringifyJsonLogicPreview;
|
|
3595
|
+
private stringifyJsonLogicInlinePreview;
|
|
3511
3596
|
addSubgroup(): void;
|
|
3512
3597
|
removeSubgroup(index: number): void;
|
|
3513
3598
|
getGroupPreview(g: RuleGroup): string;
|
|
3599
|
+
private isNumericFieldType;
|
|
3600
|
+
private parseNumericCsv;
|
|
3601
|
+
private toFiniteNumber;
|
|
3514
3602
|
private getActiveGroupRef;
|
|
3515
3603
|
static ɵfac: i0.ɵɵFactoryDeclaration<TableRulesEditorComponent, [null, null, null, null, null, { optional: true; }]>;
|
|
3516
3604
|
static ɵcmp: i0.ɵɵComponentDeclaration<TableRulesEditorComponent, "table-rules-editor", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "i18nRules": { "alias": "i18nRules"; "required": false; }; "debugLogs": { "alias": "debugLogs"; "required": false; }; "debugLevel": { "alias": "debugLevel"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
|