@praxisui/table 9.0.3 → 9.0.4-rc.2
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 +18 -2
- package/ai/component-registry.json +1637 -257
- package/docs/adr/2026-07-table-rich-cells-governance.md +80 -0
- package/fesm2022/{praxisui-table-praxisui-table-BstM1W8K.mjs → praxisui-table-praxisui-table-D2KDWKwk.mjs} +1186 -39
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-DAEXf2W_.mjs → praxisui-table-table-agentic-authoring-turn-flow-CnaGUWDc.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-BeMPZCqh.mjs → praxisui-table-table-ai.adapter-BR1_LnWy.mjs} +9 -12
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +3 -1
- package/types/praxisui-table.d.ts +47 -6
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable, firstValueFrom } from 'rxjs';
|
|
2
2
|
import { withAuthoringScopePolicy } from '@praxisui/ai';
|
|
3
|
-
import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-
|
|
3
|
+
import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-D2KDWKwk.mjs';
|
|
4
4
|
|
|
5
5
|
class TableAgenticAuthoringTurnFlow {
|
|
6
6
|
adapter;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { firstValueFrom } from 'rxjs';
|
|
2
2
|
import { BaseAiAdapter, sanitizePraxisAssistantText, createComponentAuthoringContext } from '@praxisui/ai';
|
|
3
3
|
import { PRAXIS_GLOBAL_ACTION_CATALOG, deepMerge } from '@praxisui/core';
|
|
4
|
-
import { I as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, l as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, Z as coerceTableComponentEditPlans, $ as compileTableComponentEditPlans, L as TASK_PRESETS, a4 as getTableComponentEditPlanCapabilities, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, H as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-
|
|
4
|
+
import { I as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, l as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, Z as coerceTableComponentEditPlans, $ as compileTableComponentEditPlans, L as TASK_PRESETS, a4 as getTableComponentEditPlanCapabilities, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, H as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-D2KDWKwk.mjs';
|
|
5
5
|
|
|
6
6
|
const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
|
|
7
7
|
mode: 'expression',
|
|
@@ -418,6 +418,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
|
|
|
418
418
|
'columns[].renderer.compose.items[].type': {
|
|
419
419
|
mode: 'enum',
|
|
420
420
|
options: [
|
|
421
|
+
{ value: 'value', label: 'Value' },
|
|
421
422
|
{ value: 'icon', label: 'Icon' },
|
|
422
423
|
{ value: 'image', label: 'Image' },
|
|
423
424
|
{ value: 'badge', label: 'Badge' },
|
|
@@ -563,6 +564,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
|
|
|
563
564
|
'columns[].conditionalRenderers[].renderer.compose.items[].type': {
|
|
564
565
|
mode: 'enum',
|
|
565
566
|
options: [
|
|
567
|
+
{ value: 'value', label: 'Value' },
|
|
566
568
|
{ value: 'icon', label: 'Icon' },
|
|
567
569
|
{ value: 'image', label: 'Image' },
|
|
568
570
|
{ value: 'badge', label: 'Badge' },
|
|
@@ -963,8 +965,8 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
|
|
|
963
965
|
compose: {
|
|
964
966
|
layout: { direction: 'column', gap: 4 },
|
|
965
967
|
items: [
|
|
966
|
-
{ type: 'value',
|
|
967
|
-
{ type: 'value', textField: '{{params.subtitleField}}',
|
|
968
|
+
{ type: 'value', emphasis: 'strong' }, // Title (current field)
|
|
969
|
+
{ type: 'value', textField: '{{params.subtitleField}}', emphasis: 'subtle' } // Subtitle
|
|
968
970
|
]
|
|
969
971
|
}
|
|
970
972
|
}
|
|
@@ -986,17 +988,10 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
|
|
|
986
988
|
renderer: {
|
|
987
989
|
type: 'compose',
|
|
988
990
|
compose: {
|
|
989
|
-
layout: { direction: 'row', gap: 12, align: 'center' },
|
|
991
|
+
layout: { direction: 'row', gap: 12, align: 'center', ellipsis: true },
|
|
990
992
|
items: [
|
|
991
993
|
{ type: 'avatar', avatar: { srcField: '{{params.imageField}}', initialsField: '{{target}}', shape: 'circle' } },
|
|
992
|
-
{ type: '
|
|
993
|
-
layout: { direction: 'column', gap: 2 },
|
|
994
|
-
items: [
|
|
995
|
-
{ type: 'value', style: 'font-weight: 500;' },
|
|
996
|
-
{ type: 'value', textField: '{{params.subtitleField}}', style: 'font-size: 0.85em; opacity: 0.7;' }
|
|
997
|
-
]
|
|
998
|
-
}
|
|
999
|
-
}
|
|
994
|
+
{ type: 'value', emphasis: 'strong' }
|
|
1000
995
|
]
|
|
1001
996
|
}
|
|
1002
997
|
}
|
|
@@ -1693,6 +1688,8 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
|
|
|
1693
1688
|
'DOC: When resourcePath is available, the table can load schema and data; ask the user to pick an API resource when missing.',
|
|
1694
1689
|
'DOC: resourcePath must be the base resource path only (no /filter, /all, /{id}). CRUD endpoints are handled internally.',
|
|
1695
1690
|
'DOC: columns[].computed.expression agora usa AST Json Logic canônico para derived values; não use fórmulas string.',
|
|
1691
|
+
'DOC: Para microVisualization em table-cell, recomende delta, bullet, radial, harveyBall ou stackedBar para leitura rápida. line, area e column são condicionais à largura horizontal; comparison aumenta a altura da linha; processFlow exige etapas reconhecíveis. Quando esses trade-offs não servirem à decisão, prefira detalhe expandido ou superfície relacionada.',
|
|
1692
|
+
'DOC: Expressões de microVisualization aceitam caminho da linha (row.sla) ou fórmula controlada com prefixo = (= row.sla), com a mesma semântica do editor visual.',
|
|
1696
1693
|
'DOC: Operadores/funções canônicos úteis: +, -, *, /, %, min, max, cat, substr, round, ceil, floor, abs, coalesce, now, date, yearsSince, monthsSince, daysSince, len, toNumber e stringify.',
|
|
1697
1694
|
'DOC: Examples: {"yearsSince":[{"var":"dataNascimento"}]} → idade; {"yearsSince":[{"var":"dataAdmissao"}]} → tempoEmpresa (anos); {"monthsSince":[{"var":"dataAdmissao"}]} → tempoEmpresa (meses); {"daysSince":[{"var":"dataCadastro"}]} → dias desde cadastro; {"+":[{"coalesce":[{"var":"bonus"},0]},{"var":"salario"}]} → total com fallback.',
|
|
1698
1695
|
'### DATA ARCHETYPE TO VISUAL STRATEGY',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticsTableConfigAdapterService, b as AnalyticsTableContractService, c as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, d as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, e as ColumnsConfigEditorComponent, D as DATE_PRESETS, f as DataFormatterComponent, g as DataFormattingService, F as FORMULA_TEMPLATES, h as FilterConfigService, i as FilterSettingsComponent, j as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, k as PRAXIS_FILTER_COMPONENT_METADATA, l as PRAXIS_TABLE_AUTHORING_MANIFEST, m as PRAXIS_TABLE_COMPONENT_METADATA, n as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, o as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, p as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, q as PraxisFilter, r as PraxisFilterWidgetConfigEditor, s as PraxisTable, t as PraxisTableConfigEditor, u as PraxisTableInlineAuthoringEditorComponent, v as PraxisTableToolbar, w as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, x as TABLE_COMPONENT_AI_CAPABILITIES, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_KIND, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, L as TASK_PRESETS, O as TableDefaultsProvider, Q as TableRulesEditorComponent, R as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, U as VisualFormulaBuilderComponent, W as analyticsComparisonMetricField, X as buildTableApplyPlan, Y as coerceTableComponentEditPlan, Z as coerceTableComponentEditPlans, _ as compileTableComponentEditPlan, $ as compileTableComponentEditPlans, a0 as createTableAuthoringDocument, a1 as getActionId, a2 as getEnum, a3 as getTableCapabilities, a4 as getTableComponentEditPlanCapabilities, a5 as isTableRendererSupportedByRichContentP0, a6 as mapTableRendererToRichContentP0, a7 as normalizeTableAuthoringDocument, a8 as parseLegacyOrTableDocument, a9 as providePraxisFilterMetadata, aa as providePraxisTableMetadata, ab as providePraxisTableToolbarAppearance, ac as serializeTableAuthoringDocument, ae as toCanonicalTableConfig, af as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-
|
|
1
|
+
export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticsTableConfigAdapterService, b as AnalyticsTableContractService, c as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, d as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, e as ColumnsConfigEditorComponent, D as DATE_PRESETS, f as DataFormatterComponent, g as DataFormattingService, F as FORMULA_TEMPLATES, h as FilterConfigService, i as FilterSettingsComponent, j as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, k as PRAXIS_FILTER_COMPONENT_METADATA, l as PRAXIS_TABLE_AUTHORING_MANIFEST, m as PRAXIS_TABLE_COMPONENT_METADATA, n as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, o as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, p as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, q as PraxisFilter, r as PraxisFilterWidgetConfigEditor, s as PraxisTable, t as PraxisTableConfigEditor, u as PraxisTableInlineAuthoringEditorComponent, v as PraxisTableToolbar, w as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, x as TABLE_COMPONENT_AI_CAPABILITIES, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_KIND, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, L as TASK_PRESETS, O as TableDefaultsProvider, Q as TableRulesEditorComponent, R as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, U as VisualFormulaBuilderComponent, W as analyticsComparisonMetricField, X as buildTableApplyPlan, Y as coerceTableComponentEditPlan, Z as coerceTableComponentEditPlans, _ as compileTableComponentEditPlan, $ as compileTableComponentEditPlans, a0 as createTableAuthoringDocument, a1 as getActionId, a2 as getEnum, a3 as getTableCapabilities, a4 as getTableComponentEditPlanCapabilities, a5 as isTableRendererSupportedByRichContentP0, a6 as mapTableRendererToRichContentP0, a7 as normalizeTableAuthoringDocument, a8 as parseLegacyOrTableDocument, a9 as providePraxisFilterMetadata, aa as providePraxisTableMetadata, ab as providePraxisTableToolbarAppearance, ac as serializeTableAuthoringDocument, ae as toCanonicalTableConfig, af as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-D2KDWKwk.mjs';
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/table",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.4-rc.2",
|
|
4
4
|
"description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
8
|
"@angular/platform-browser": "^21.0.0",
|
|
9
|
-
"@praxisui/ai": "^9.0.
|
|
10
|
-
"@praxisui/core": "^9.0.
|
|
11
|
-
"@praxisui/dynamic-fields": "^9.0.
|
|
12
|
-
"@praxisui/dynamic-form": "^9.0.
|
|
13
|
-
"@praxisui/metadata-editor": "^9.0.
|
|
14
|
-
"@praxisui/rich-content": "^9.0.
|
|
15
|
-
"@praxisui/settings-panel": "^9.0.
|
|
16
|
-
"@praxisui/table-rule-builder": "^9.0.
|
|
9
|
+
"@praxisui/ai": "^9.0.4-rc.2",
|
|
10
|
+
"@praxisui/core": "^9.0.4-rc.2",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.4-rc.2",
|
|
12
|
+
"@praxisui/dynamic-form": "^9.0.4-rc.2",
|
|
13
|
+
"@praxisui/metadata-editor": "^9.0.4-rc.2",
|
|
14
|
+
"@praxisui/rich-content": "^9.0.4-rc.2",
|
|
15
|
+
"@praxisui/settings-panel": "^9.0.4-rc.2",
|
|
16
|
+
"@praxisui/table-rule-builder": "^9.0.4-rc.2",
|
|
17
17
|
"@angular/cdk": "^21.0.0",
|
|
18
18
|
"@angular/forms": "^21.0.0",
|
|
19
19
|
"@angular/material": "^21.0.0",
|
|
20
20
|
"@angular/router": "^21.0.0",
|
|
21
|
-
"@praxisui/dialog": "^9.0.
|
|
21
|
+
"@praxisui/dialog": "^9.0.4-rc.2",
|
|
22
22
|
"rxjs": "~7.8.0"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
@@ -351,6 +351,8 @@ Renderer defaults:
|
|
|
351
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
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
353
|
|
|
354
|
+
- Em `renderer.compose.items[]` com `type = "value"`, `emphasis = "strong"` representa o valor primário e `emphasis = "subtle"` o contexto de apoio. São os únicos níveis de hierarquia visual no item de texto; `style` arbitrário não integra o contrato de compose.
|
|
355
|
+
|
|
354
356
|
- 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
357
|
|
|
356
358
|
### Toolbar contract
|
|
@@ -462,7 +464,7 @@ degraded filter.
|
|
|
462
464
|
| `ASYNC_CONFIG_STORAGE` | bidirectional | `loadConfig/saveConfig/clearConfig` | fail-open | Persistência de config e inputs por `tableId`/instância; não é acessado quando `configPersistenceStrategy='volatile'`. |
|
|
463
465
|
| `CONNECTION_STORAGE` | bidirectional | `loadConnection/saveConnection` | fail-open | Persistência de `resourcePath` para quick-connect. |
|
|
464
466
|
| `SettingsPanelService` | bidirectional | `open(...).applied$/saved$` | fail-open | Canal de edição em runtime (quick connect/editor). |
|
|
465
|
-
| `
|
|
467
|
+
| `PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER` | outbound call | Angular DI token (`TableDetailResourceResolver`) | fail-closed | Resolução externa e governada de detail schema por `resource`; o host deve fornecer o token por DI. |
|
|
466
468
|
|
|
467
469
|
### Host/runtime dependencies
|
|
468
470
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
-
import { TableToolbarAppearanceConfig, TableConfig, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, 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';
|
|
2
|
+
import { TableToolbarAppearanceConfig, TableConfig, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, 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, Type } from '@angular/core';
|
|
5
5
|
import { ActivatedRoute } from '@angular/router';
|
|
@@ -1087,6 +1087,10 @@ type RowActionRuntimeOptions = {
|
|
|
1087
1087
|
payload?: any;
|
|
1088
1088
|
actionConfig?: any;
|
|
1089
1089
|
};
|
|
1090
|
+
type RowActionTriggerEvent = {
|
|
1091
|
+
target?: EventTarget | null;
|
|
1092
|
+
stopPropagation?: () => void;
|
|
1093
|
+
};
|
|
1090
1094
|
type RuntimeRowAction = {
|
|
1091
1095
|
id: string;
|
|
1092
1096
|
action: string;
|
|
@@ -1156,6 +1160,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1156
1160
|
private collectionCapabilitiesResolvedHref;
|
|
1157
1161
|
private collectionCapabilitiesRequestSeq;
|
|
1158
1162
|
private readonly detailInlineNodeResolvers;
|
|
1163
|
+
private readonly detailResourceResolver;
|
|
1159
1164
|
private runtimeObservationRegistration;
|
|
1160
1165
|
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
1161
1166
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
@@ -1822,7 +1827,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1822
1827
|
private collapseExpandedRowsByPolicy;
|
|
1823
1828
|
private applyExpansionCollapsePolicy;
|
|
1824
1829
|
onRowDoubleClicked(row: any, index: number): void;
|
|
1825
|
-
onRowAction(action: string, row: any, event:
|
|
1830
|
+
onRowAction(action: string, row: any, event: RowActionTriggerEvent, runtimeOptions?: RowActionRuntimeOptions): void;
|
|
1826
1831
|
private resolveRowActionRuntimeOptions;
|
|
1827
1832
|
private emitRowActionEvent;
|
|
1828
1833
|
private showConfirmDialog;
|
|
@@ -2297,6 +2302,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2297
2302
|
getComposeGapStyle(row: any, column: ColumnDefinition): any;
|
|
2298
2303
|
private getComposeItemField;
|
|
2299
2304
|
getComposeItemValue(row: any, base: ColumnDefinition, item: any): any;
|
|
2305
|
+
getComposeValueClasses(item: any): string[];
|
|
2300
2306
|
private asComposeValueItemColumn;
|
|
2301
2307
|
asItemColumn(base: ColumnDefinition, item: any): any;
|
|
2302
2308
|
getItemEffectiveType(row: any, column: ColumnDefinition, item: any): any;
|
|
@@ -2756,7 +2762,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2756
2762
|
private readonly destroyRef;
|
|
2757
2763
|
private destroy$;
|
|
2758
2764
|
onlyVisibleRendererFields: boolean;
|
|
2759
|
-
uiRendererType: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null;
|
|
2765
|
+
uiRendererType: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null;
|
|
2760
2766
|
private _rendererApplyTimer;
|
|
2761
2767
|
rendererFieldOptions: RendererFieldOption[];
|
|
2762
2768
|
uiRendererConditional: boolean;
|
|
@@ -2774,7 +2780,29 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2774
2780
|
setConditionalOverrideCondition(index: number, raw: string): void;
|
|
2775
2781
|
getOverrideField(path: string): any;
|
|
2776
2782
|
setOverrideField(path: string, value: any): void;
|
|
2783
|
+
setOverrideJsonLogicField(path: string, raw: string): void;
|
|
2784
|
+
private ensureOverrideCompose;
|
|
2785
|
+
getOverrideComposeItems(): Array<{
|
|
2786
|
+
item: any;
|
|
2787
|
+
index: number;
|
|
2788
|
+
}>;
|
|
2789
|
+
addOverrideComposeValueItem(): void;
|
|
2790
|
+
setOverrideComposeValueItemField(index: number, field: string): void;
|
|
2791
|
+
setOverrideComposeValueItemEmphasis(index: number, emphasis: string): void;
|
|
2792
|
+
getOverrideComposeLayoutProp(key: string): any;
|
|
2793
|
+
setOverrideComposeLayoutProp(key: string, value: any): void;
|
|
2777
2794
|
onOverrideTypeChange(ov: any, val: string): void;
|
|
2795
|
+
getOverrideMicroVisualizationProp(path: string): any;
|
|
2796
|
+
setOverrideMicroVisualizationProp(path: string, value: any): void;
|
|
2797
|
+
getOverrideMicroVisualizationKind(): PraxisPresentationVisualizationKind;
|
|
2798
|
+
getOverrideMicroVisualizationGuidance(): 'recommended' | 'conditional';
|
|
2799
|
+
getOverrideMicroVisualizationConstraint(): PraxisTableCellVisualizationConstraint;
|
|
2800
|
+
isOverrideMicroVisualizationValueKind(): boolean;
|
|
2801
|
+
isOverrideMicroVisualizationPointsKind(): boolean;
|
|
2802
|
+
isOverrideMicroVisualizationSegmentsKind(): boolean;
|
|
2803
|
+
isOverrideMicroVisualizationItemsKind(): boolean;
|
|
2804
|
+
isOverrideMicroVisualizationTotalKind(): boolean;
|
|
2805
|
+
getOverrideMicroVisualizationGuidanceText(): string;
|
|
2778
2806
|
exportOverrideJson(index: number): void;
|
|
2779
2807
|
importOverrideJson(index: number): void;
|
|
2780
2808
|
rendererValidationErrors: string[];
|
|
@@ -2829,8 +2857,8 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2829
2857
|
getColumnMapping(column: ColumnDefinition | null): {
|
|
2830
2858
|
[key: string | number]: string;
|
|
2831
2859
|
};
|
|
2832
|
-
getRendererType(col: ColumnDefinition | null): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | null;
|
|
2833
|
-
onRendererTypeChange(type: 'icon' | 'image' | 'badge' | null): void;
|
|
2860
|
+
getRendererType(col: ColumnDefinition | null): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | null;
|
|
2861
|
+
onRendererTypeChange(type: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null): void;
|
|
2834
2862
|
onRendererModeClosed(): void;
|
|
2835
2863
|
onToggleRendererConditional(enabled: boolean): void;
|
|
2836
2864
|
getRendererTypeExpr(): string;
|
|
@@ -2876,6 +2904,8 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2876
2904
|
getRendererProp(kind: string, path: string): any;
|
|
2877
2905
|
setRendererJsonLogicProp(kind: string, path: string, raw: string): void;
|
|
2878
2906
|
setRendererProp(kind: string, path: string, value: any): void;
|
|
2907
|
+
private createDefaultMicroVisualization;
|
|
2908
|
+
setMicroVisualizationProp(path: string, value: any): void;
|
|
2879
2909
|
private _deepClone;
|
|
2880
2910
|
hasSelectedRenderer(): boolean;
|
|
2881
2911
|
onApplyRenderer(): void;
|
|
@@ -2887,6 +2917,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2887
2917
|
private sanitizeComposeItem;
|
|
2888
2918
|
private ensurePreviewRows;
|
|
2889
2919
|
private evalValueExpr;
|
|
2920
|
+
private evalMicroVisualizationExpression;
|
|
2890
2921
|
private evalArrayExpr;
|
|
2891
2922
|
private normalizeExpression;
|
|
2892
2923
|
private normalizeOptionalChaining;
|
|
@@ -2894,7 +2925,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2894
2925
|
private stripRowPrefixes;
|
|
2895
2926
|
private _coerceExpected;
|
|
2896
2927
|
private getNested;
|
|
2897
|
-
getPreviewRendererType(row: any): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'rating' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | null;
|
|
2928
|
+
getPreviewRendererType(row: any): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'rating' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | null;
|
|
2898
2929
|
getPreviewIconName(row: any): string | null;
|
|
2899
2930
|
getPreviewIconColor(row: any): string | null;
|
|
2900
2931
|
getPreviewIconStyle(row: any): Record<string, string> | null;
|
|
@@ -2914,6 +2945,16 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
2914
2945
|
getPreviewChipText(row: any): string | null;
|
|
2915
2946
|
getPreviewChipClasses(): string[];
|
|
2916
2947
|
getPreviewProgressValue(row: any): number;
|
|
2948
|
+
getPreviewMicroVisualizationHtml(row: any): string;
|
|
2949
|
+
getMicroVisualizationGuidance(): 'recommended' | 'conditional';
|
|
2950
|
+
getMicroVisualizationKind(): PraxisPresentationVisualizationKind;
|
|
2951
|
+
isMicroVisualizationValueKind(): boolean;
|
|
2952
|
+
isMicroVisualizationPointsKind(): boolean;
|
|
2953
|
+
isMicroVisualizationSegmentsKind(): boolean;
|
|
2954
|
+
isMicroVisualizationItemsKind(): boolean;
|
|
2955
|
+
isMicroVisualizationTotalKind(): boolean;
|
|
2956
|
+
getMicroVisualizationGuidanceText(): string;
|
|
2957
|
+
getMicroVisualizationConstraint(): PraxisTableCellVisualizationConstraint;
|
|
2917
2958
|
getPreviewRatingValue(row: any): number;
|
|
2918
2959
|
getPreviewRatingMax(): number;
|
|
2919
2960
|
getPreviewRatingColor(): string | undefined;
|