@praxisui/table 10.0.0-rc.25 → 10.0.0-rc.26
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/ai/component-registry.json +19 -2
- package/fesm2022/praxisui-table-authoring.mjs +33 -1
- package/fesm2022/{praxisui-table-praxisui-table-B6XoXX5x.mjs → praxisui-table-praxisui-table-YnI6Bi6b.mjs} +2331 -203
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-fgmem5JL.mjs → praxisui-table-table-agentic-authoring-turn-flow-DU69df4l.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-ib4h1Xy5.mjs → praxisui-table-table-ai.adapter-BFVh0Uhb.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +10 -5
- package/types/praxisui-table.d.ts +128 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable, firstValueFrom } from 'rxjs';
|
|
2
2
|
import { withAuthoringScopePolicy } from '@praxisui/ai';
|
|
3
|
-
import { ar as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-
|
|
3
|
+
import { ar as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-YnI6Bi6b.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 { W as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, p as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, a6 as coerceTableComponentEditPlans, a8 as compileTableComponentEditPlans, Y as TASK_PRESETS, ae as getTableComponentEditPlanCapabilities, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, V as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-
|
|
4
|
+
import { W as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, p as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, a6 as coerceTableComponentEditPlans, a8 as compileTableComponentEditPlans, Y as TASK_PRESETS, ae as getTableComponentEditPlanCapabilities, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, V as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-YnI6Bi6b.mjs';
|
|
5
5
|
|
|
6
6
|
const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
|
|
7
7
|
mode: 'expression',
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticalDrawerRegistryService, b as AnalyticsTableConfigAdapterService, c as AnalyticsTableContractService, d as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, e as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, f as ColumnsConfigEditorComponent, D as DATE_PRESETS, g as DataFormatterComponent, h as DataFormattingService, F as FORMULA_TEMPLATES, i as FilterConfigService, j as FilterSettingsComponent, k as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, l as PRAXIS_ANALYTICAL_DRAWER_SCHEMAS, m as PRAXIS_FILTER_AUTHORING_MANIFEST, n as PRAXIS_FILTER_COMPONENT_METADATA, o as PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, p as PRAXIS_TABLE_AUTHORING_MANIFEST, q as PRAXIS_TABLE_COMPONENT_METADATA, r as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, s as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, t as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, u as PraxisAnalyticalDrawerComponent, v as PraxisFilter, w as PraxisFilterOutletComponent, x as PraxisFilterOutletDirective, y as PraxisFilterWidgetConfigEditor, z as PraxisScopeBarComponent, E as PraxisTable, G as PraxisTableConfigEditor, H as PraxisTableInlineAuthoringEditorComponent, I as PraxisTableToolbar, K as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, L as TABLE_COMPONENT_AI_CAPABILITIES, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, V as TABLE_COMPONENT_EDIT_PLAN_KIND, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Y as TASK_PRESETS, Z as TableDefaultsProvider, _ as TableRulesEditorComponent, $ as ToolbarActionsEditorComponent, a0 as ValueMappingEditorComponent, a1 as VisualFormulaBuilderComponent, a2 as analyticsComparisonMetricField, a3 as applyComputedFieldsToRows, a4 as buildTableApplyPlan, a5 as coerceTableComponentEditPlan, a6 as coerceTableComponentEditPlans, a7 as compileTableComponentEditPlan, a8 as compileTableComponentEditPlans, a9 as createTableAuthoringDocument, aa as formatComputedFieldValue, ab as getActionId, ac as getEnum, ad as getTableCapabilities, ae as getTableComponentEditPlanCapabilities, af as interpolateRelationEndpoint, ag as isAnalyticalDrawerSchema, ah as isTableRendererSupportedByRichContentP0, ai as mapTableRendererToRichContentP0, aj as normalizeComputedFieldDefinition, ak as normalizeTableAuthoringDocument, al as parseLegacyOrTableDocument, am as providePraxisAnalyticalDrawerSchemas, an as providePraxisFilterMetadata, ao as providePraxisTableMetadata, ap as providePraxisTableToolbarAppearance, aq as serializeTableAuthoringDocument, as as toCanonicalTableConfig, at as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-
|
|
1
|
+
export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticalDrawerRegistryService, b as AnalyticsTableConfigAdapterService, c as AnalyticsTableContractService, d as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, e as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, f as ColumnsConfigEditorComponent, D as DATE_PRESETS, g as DataFormatterComponent, h as DataFormattingService, F as FORMULA_TEMPLATES, i as FilterConfigService, j as FilterSettingsComponent, k as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, l as PRAXIS_ANALYTICAL_DRAWER_SCHEMAS, m as PRAXIS_FILTER_AUTHORING_MANIFEST, n as PRAXIS_FILTER_COMPONENT_METADATA, o as PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, p as PRAXIS_TABLE_AUTHORING_MANIFEST, q as PRAXIS_TABLE_COMPONENT_METADATA, r as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, s as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, t as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, u as PraxisAnalyticalDrawerComponent, v as PraxisFilter, w as PraxisFilterOutletComponent, x as PraxisFilterOutletDirective, y as PraxisFilterWidgetConfigEditor, z as PraxisScopeBarComponent, E as PraxisTable, G as PraxisTableConfigEditor, H as PraxisTableInlineAuthoringEditorComponent, I as PraxisTableToolbar, K as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, L as TABLE_COMPONENT_AI_CAPABILITIES, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, V as TABLE_COMPONENT_EDIT_PLAN_KIND, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Y as TASK_PRESETS, Z as TableDefaultsProvider, _ as TableRulesEditorComponent, $ as ToolbarActionsEditorComponent, a0 as ValueMappingEditorComponent, a1 as VisualFormulaBuilderComponent, a2 as analyticsComparisonMetricField, a3 as applyComputedFieldsToRows, a4 as buildTableApplyPlan, a5 as coerceTableComponentEditPlan, a6 as coerceTableComponentEditPlans, a7 as compileTableComponentEditPlan, a8 as compileTableComponentEditPlans, a9 as createTableAuthoringDocument, aa as formatComputedFieldValue, ab as getActionId, ac as getEnum, ad as getTableCapabilities, ae as getTableComponentEditPlanCapabilities, af as interpolateRelationEndpoint, ag as isAnalyticalDrawerSchema, ah as isTableRendererSupportedByRichContentP0, ai as mapTableRendererToRichContentP0, aj as normalizeComputedFieldDefinition, ak as normalizeTableAuthoringDocument, al as parseLegacyOrTableDocument, am as providePraxisAnalyticalDrawerSchemas, an as providePraxisFilterMetadata, ao as providePraxisTableMetadata, ap as providePraxisTableToolbarAppearance, aq as serializeTableAuthoringDocument, as as toCanonicalTableConfig, at as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-YnI6Bi6b.mjs';
|
|
2
2
|
export { createDynamicRecord, extractRecordId, isDynamicDataRecord, resolveDataField } from '@praxisui/core';
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/table",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.26",
|
|
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": "^10.0.0-rc.
|
|
10
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
11
|
-
"@praxisui/dynamic-fields": "^10.0.0-rc.
|
|
12
|
-
"@praxisui/dynamic-form": "^10.0.0-rc.
|
|
13
|
-
"@praxisui/metadata-editor": "^10.0.0-rc.
|
|
14
|
-
"@praxisui/rich-content": "^10.0.0-rc.
|
|
15
|
-
"@praxisui/settings-panel": "^10.0.0-rc.
|
|
16
|
-
"@praxisui/table-rule-builder": "^10.0.0-rc.
|
|
9
|
+
"@praxisui/ai": "^10.0.0-rc.26",
|
|
10
|
+
"@praxisui/core": "^10.0.0-rc.26",
|
|
11
|
+
"@praxisui/dynamic-fields": "^10.0.0-rc.26",
|
|
12
|
+
"@praxisui/dynamic-form": "^10.0.0-rc.26",
|
|
13
|
+
"@praxisui/metadata-editor": "^10.0.0-rc.26",
|
|
14
|
+
"@praxisui/rich-content": "^10.0.0-rc.26",
|
|
15
|
+
"@praxisui/settings-panel": "^10.0.0-rc.26",
|
|
16
|
+
"@praxisui/table-rule-builder": "^10.0.0-rc.26",
|
|
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": "^10.0.0-rc.
|
|
21
|
+
"@praxisui/dialog": "^10.0.0-rc.26",
|
|
22
22
|
"rxjs": "~7.8.0"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
@@ -109,11 +109,16 @@ Este documento e a referencia canonica da API JSON de praxis-table.
|
|
|
109
109
|
> [!WARNING]
|
|
110
110
|
> **Segurança Corporativa em Cenários Corporativos**: A visibilidade de colunas via dropdown da toolbar é um recurso estritamente visual (layout de apresentação do lado do cliente). A ocultação de colunas **não** protege o dado sensível da transmissão de rede nem de inspeção técnica. Se determinados campos (ex: salários, senhas ou tokens) forem confidenciais para o nível de permissão do usuário atual, a restrição de dados deve ser realizada obrigatoriamente no lado do servidor (através da filtragem de propriedades nas APIs de CRUD e consulta), e nunca por meio de ocultação puramente visual na tabela.
|
|
111
111
|
|
|
112
|
-
## Quick filters and density
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
112
|
+
## Quick filters, unified filter region, and density
|
|
113
|
+
|
|
114
|
+
- **Região única de filtros e dono explícito da consulta**: Em telas de coleção com `praxis-table`, a própria tabela é a dona canônica dos filtros editáveis pelo usuário. Quando um campo (ex.: `ativo` / `status`) é governado por `config.toolbar.filters.quickFilters[]`, evite duplicá-lo em `alwaysVisibleFields` (mantenha-o apenas nos escopos rápidos e opcionalmente na gaveta avançada `selectedFieldIds`).
|
|
115
|
+
- `config.toolbar.filters.quickFilters[]` materializa um seletor de escopo governado na toolbar. Cada item declara `id`, `label`, `filter` e `icon` opcional.
|
|
116
|
+
- Um item com `filter: {}` representa o escopo **"Todos"** (sem restrição editável): acioná-lo limpa critérios editáveis anteriores em `filterCriteria` e em `queryContext.filters` não estruturais sem exigir reload da página.
|
|
117
|
+
- Critérios booleanos explícitos `false` (ex.: `{ ativo: false }`) são preservados integralmente na serialização remota e na avaliação local.
|
|
118
|
+
- **Reconciliação de atalhos externos (`queryContext.filters`) vs. filtros estruturais (`queryContext.meta`)**:
|
|
119
|
+
- Quando cards de KPI ou widgets externos aplicam um filtro editável via `queryContext.filters` (ex.: `{ ativo: true }`), a tabela sincroniza `advancedFilterValue`, `activeCrossFilters` e `activeQuickFilterId` correspondente.
|
|
120
|
+
- Se o operador alterar o escopo rápido (`onQuickFilterChange`), submeter/limpar os filtros da tabela (`onAdvancedFilterSubmit` / `onAdvancedFilterClear`) ou remover chips (`onClearCrossFilter` / `onClearAllCrossFilters`), a tabela reconcilia as chaves editáveis em `queryContext.filters` e emite `queryContextChange` e `queryContextClear`, impedindo que `queryContext.filters` órfãos continuem sobrescrevendo `filterCriteria`.
|
|
121
|
+
- Filtros estruturais de contexto (`queryContext.meta.relatedResource === true` + `parentFilterField`, `queryContext.meta.structuralFields`, `queryContext.meta.immutableFields` ou `queryContext.meta.structural === true`) permanecem protegidos e nunca são limpos por ações de filtro do usuário.
|
|
117
122
|
- A composição adaptativa é responsabilidade do runtime: identidade, escopo, consulta e comandos se reorganizam pela largura do container da tabela. Dentro da consulta, campos editáveis formam a região de critérios; tags/atalhos salvos e comandos de gerenciamento formam um único cluster auxiliar. Em largura intermediária, os critérios e esse cluster completo compartilham o mesmo fluxo de quebra para aproveitar a faixa final sem criar uma linha órfã; em largura estreita, o cluster migra inteiro para a faixa seguinte. O host não precisa declarar coordenadas, breakpoints ou ordem visual adicional.
|
|
118
123
|
- Em superfícies de até `640px`, os campos de consulta absorvem o espaço residual da própria linha até o limite do arquétipo; em `320px`, entradas que não cabem em pares ocupam a largura útil integral. Presets e comandos curtos preservam largura intrínseca. Grupos binários de filtros rápidos equilibram as duas opções em até `540px`, enquanto grupos maiores mantêm largura por conteúdo e overflow acessível.
|
|
119
124
|
- `advancedFilters.settings.alwaysVisibleFields` deve conter apenas critérios frequentes. Atalhos persistidos e comandos de gerenciamento não devem ser simulados como campos sempre visíveis nem reposicionados por seletores CSS internos do host.
|
|
@@ -93,7 +93,7 @@ interface PraxisTableQueryContextClearEvent {
|
|
|
93
93
|
remainingFilters?: Record<string, unknown>;
|
|
94
94
|
remainingFilterCount?: number;
|
|
95
95
|
tableId?: string;
|
|
96
|
-
source?: 'toolbar-chip';
|
|
96
|
+
source?: 'toolbar-chip' | 'quick-filter' | 'advanced-filter';
|
|
97
97
|
}
|
|
98
98
|
declare const PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS: Record<string, TableToolbarAppearanceConfig>;
|
|
99
99
|
declare const PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE: InjectionToken<TableToolbarAppearanceConfig>;
|
|
@@ -1851,6 +1851,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1851
1851
|
private hasDeclaredAppearanceSection;
|
|
1852
1852
|
private shouldApplyAppearanceDefaultValue;
|
|
1853
1853
|
private mergePersistedTableConfigWithInput;
|
|
1854
|
+
private reconcileTableConfigInputChange;
|
|
1854
1855
|
private reconcileHostDeclaredTableContract;
|
|
1855
1856
|
private reconcileHostDeclaredColumns;
|
|
1856
1857
|
private reconcileHostDeclaredRowActions;
|
|
@@ -1977,6 +1978,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1977
1978
|
private hasActiveEmptyStateFilters;
|
|
1978
1979
|
private hasMeaningfulFilterCriteria;
|
|
1979
1980
|
private hasMeaningfulFilterValue;
|
|
1981
|
+
isStructuralQueryContextField(field: string): boolean;
|
|
1980
1982
|
computeActiveCrossFilters(): PraxisTableCrossFilterItem[];
|
|
1981
1983
|
onClearCrossFilter(item: PraxisTableCrossFilterItem): void;
|
|
1982
1984
|
onClearAllCrossFilters(): void;
|
|
@@ -2336,6 +2338,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2336
2338
|
filter: Record<string, unknown>;
|
|
2337
2339
|
active: boolean;
|
|
2338
2340
|
}): void;
|
|
2341
|
+
getConfiguredQuickFilters(): Array<{
|
|
2342
|
+
id: string;
|
|
2343
|
+
label: string;
|
|
2344
|
+
filter: Record<string, unknown>;
|
|
2345
|
+
icon?: string;
|
|
2346
|
+
}>;
|
|
2347
|
+
getQuickFilterManagedFields(): string[];
|
|
2348
|
+
private parseQuickFilterDefinition;
|
|
2349
|
+
getEffectiveEditableFilterCriteria(): Record<string, any>;
|
|
2350
|
+
private reconcileEditableQueryContextFilters;
|
|
2351
|
+
private syncQuickFilterStateFromEffectiveCriteria;
|
|
2339
2352
|
private clearQuickFilterRuntimeState;
|
|
2340
2353
|
private hasEquivalentFilterCriteria;
|
|
2341
2354
|
applyAdvancedFilterCriteria(criteria: Record<string, any> | null | undefined, reason?: string): void;
|
|
@@ -3283,6 +3296,17 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
3283
3296
|
getJsonLogicSummary(value: JsonLogicExpression | null | undefined): string;
|
|
3284
3297
|
private parseJsonLogicText;
|
|
3285
3298
|
setConditionalOverrideCondition(index: number, raw: string): void;
|
|
3299
|
+
readonly overrideConditionOperators: readonly ["===", "!=", ">", ">=", "<", "<=", "truthy", "falsy"];
|
|
3300
|
+
getOverrideConditionField(condition: any): string;
|
|
3301
|
+
getOverrideConditionOperator(condition: any): string;
|
|
3302
|
+
getOverrideConditionValue(condition: any): string;
|
|
3303
|
+
setOverrideGuidedCondition(index: number, patch: {
|
|
3304
|
+
field?: string;
|
|
3305
|
+
operator?: string;
|
|
3306
|
+
value?: string;
|
|
3307
|
+
}): void;
|
|
3308
|
+
private extractGuidedJsonLogicCondition;
|
|
3309
|
+
private coerceGuidedScalar;
|
|
3286
3310
|
getOverrideField(path: string): any;
|
|
3287
3311
|
setOverrideField(path: string, value: any): void;
|
|
3288
3312
|
setOverrideJsonLogicField(path: string, raw: string): void;
|
|
@@ -3291,7 +3315,10 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
3291
3315
|
item: any;
|
|
3292
3316
|
index: number;
|
|
3293
3317
|
}>;
|
|
3318
|
+
addOverrideComposeItem(type: 'value' | 'badge' | 'icon' | 'chip'): void;
|
|
3294
3319
|
addOverrideComposeValueItem(): void;
|
|
3320
|
+
removeOverrideComposeItem(index: number): void;
|
|
3321
|
+
setOverrideComposeItemProp(index: number, path: string, value: any): void;
|
|
3295
3322
|
setOverrideComposeValueItemField(index: number, field: string): void;
|
|
3296
3323
|
setOverrideComposeValueItemEmphasis(index: number, emphasis: string): void;
|
|
3297
3324
|
getOverrideComposeLayoutProp(key: string): any;
|
|
@@ -3453,6 +3480,9 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
3453
3480
|
private stripRowPrefixes;
|
|
3454
3481
|
private _coerceExpected;
|
|
3455
3482
|
private getNested;
|
|
3483
|
+
private evaluatePreviewOverrideCondition;
|
|
3484
|
+
getEffectivePreviewRenderer(row: any): any;
|
|
3485
|
+
getPreviewSampleRows(): any[];
|
|
3456
3486
|
getPreviewRendererType(row: any): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'rating' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | null;
|
|
3457
3487
|
getPreviewIconName(row: any): string | null;
|
|
3458
3488
|
getPreviewIconColor(row: any): string | null;
|
|
@@ -3464,14 +3494,15 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
3464
3494
|
getPreviewImageShape(): 'square' | 'rounded' | 'circle' | undefined;
|
|
3465
3495
|
getPreviewImageFit(): 'cover' | 'contain' | undefined;
|
|
3466
3496
|
getPreviewBadgeText(row: any): string | null;
|
|
3467
|
-
getPreviewBadgeIcon(
|
|
3468
|
-
getPreviewBadgeClasses(
|
|
3497
|
+
getPreviewBadgeIcon(row: any): string | null;
|
|
3498
|
+
getPreviewBadgeClasses(row: any): string[];
|
|
3499
|
+
private buildBadgeClassesFromConfig;
|
|
3469
3500
|
getPreviewLinkText(row: any): string;
|
|
3470
3501
|
getPreviewLinkHref(row: any): string | null;
|
|
3471
3502
|
getPreviewButtonLabel(row: any): string;
|
|
3472
3503
|
getPreviewButtonIcon(): string | null;
|
|
3473
3504
|
getPreviewChipText(row: any): string | null;
|
|
3474
|
-
getPreviewChipClasses(): string[];
|
|
3505
|
+
getPreviewChipClasses(row?: any): string[];
|
|
3475
3506
|
getPreviewProgressValue(row: any): number;
|
|
3476
3507
|
getPreviewMicroVisualizationHtml(row: any): string;
|
|
3477
3508
|
getMicroVisualizationGuidance(): 'recommended' | 'conditional';
|
|
@@ -3489,7 +3520,20 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
3489
3520
|
getPreviewRatingOutlineColor(): string | undefined;
|
|
3490
3521
|
getPreviewRatingSize(): 'small' | 'medium' | 'large';
|
|
3491
3522
|
getPreviewRatingAriaLabel(): string | undefined;
|
|
3492
|
-
getComposePreviewItems(
|
|
3523
|
+
getComposePreviewItems(row: any): any[];
|
|
3524
|
+
getComposePreviewContainerStyle(row: any): Record<string, string>;
|
|
3525
|
+
getComposePreviewValueText(item: any, row: any): string;
|
|
3526
|
+
getComposePreviewValueClasses(item: any): string[];
|
|
3527
|
+
getComposePreviewBadgeText(item: any, row: any): string;
|
|
3528
|
+
getComposePreviewBadgeClasses(item: any): string[];
|
|
3529
|
+
getComposePreviewChipText(item: any, row: any): string;
|
|
3530
|
+
getComposePreviewChipClasses(item: any): string[];
|
|
3531
|
+
getComposePreviewIconName(item: any, row: any): string | null;
|
|
3532
|
+
getComposePreviewIconColor(item: any, _row: any): string | null;
|
|
3533
|
+
getComposePreviewIconStyle(item: any, _row: any): Record<string, string> | null;
|
|
3534
|
+
getComposePreviewAvatarStyle(item: any): Record<string, string>;
|
|
3535
|
+
getComposePreviewAvatarInitials(item: any, row: any): string;
|
|
3536
|
+
getComposePreviewProgressValue(item: any, row: any): number;
|
|
3493
3537
|
getComposePreviewRatingValue(item: any, row: any): number;
|
|
3494
3538
|
getComposePreviewRatingMax(item: any): number;
|
|
3495
3539
|
getComposePreviewRatingColor(item: any): string | undefined;
|
|
@@ -3528,6 +3572,8 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
|
|
|
3528
3572
|
getSelectedComposeItem(): any;
|
|
3529
3573
|
getSelectedComposeItemProp(path: string): any;
|
|
3530
3574
|
setSelectedComposeItemProp(path: string, value: any): void;
|
|
3575
|
+
getConsolidatedSecondaryColumn(item: any): ExtendedColumnDefinition | null;
|
|
3576
|
+
hideConsolidatedColumn(field: string): void;
|
|
3531
3577
|
private findRendererFieldByCandidates;
|
|
3532
3578
|
private normalizeFieldLookup;
|
|
3533
3579
|
getColumnKeyInputType(column: ColumnDefinition | null): 'text' | 'number' | 'boolean';
|
|
@@ -4445,22 +4491,23 @@ declare class TableDetailEditorComponent implements OnChanges, OnDestroy {
|
|
|
4445
4491
|
readonly sourceModes: string[];
|
|
4446
4492
|
readonly resourceKinds: string[];
|
|
4447
4493
|
readonly resourcePathMethods: string[];
|
|
4494
|
+
readonly cardGridColumnOptions: Array<'auto' | 1 | 2 | 3 | 4>;
|
|
4495
|
+
readonly composeDirections: Array<'row' | 'column'>;
|
|
4496
|
+
readonly composeGaps: Array<'xs' | 'sm' | 'md' | 'lg'>;
|
|
4497
|
+
readonly semanticTones: Array<'' | 'neutral' | 'info' | 'primary' | 'success' | 'warning' | 'danger'>;
|
|
4498
|
+
readonly conditionOperators: Array<'===' | '!=' | '>' | '>=' | '<' | '<=' | 'truthy' | 'falsy'>;
|
|
4448
4499
|
fallbackModes(): string[];
|
|
4449
|
-
sample:
|
|
4500
|
+
sample: 'A' | 'B' | 'C';
|
|
4450
4501
|
get previewContext(): {
|
|
4451
|
-
row:
|
|
4452
|
-
id: string;
|
|
4453
|
-
note: string;
|
|
4454
|
-
status: string;
|
|
4455
|
-
progress: number;
|
|
4456
|
-
};
|
|
4502
|
+
row: Record<string, unknown>;
|
|
4457
4503
|
};
|
|
4458
4504
|
/** Local presenter projection only; never used as an authoring/save source. */
|
|
4459
4505
|
previewNodes(): RichBlockNode[];
|
|
4460
4506
|
previewRichContentDocuments(): RichContentDocument[];
|
|
4461
4507
|
richContentEditorInputs(): PraxisRichContentEditorInputs | null;
|
|
4462
4508
|
applyRichContentEditor(): void;
|
|
4463
|
-
addPreset(preset: 'callout' | 'richCard'): void;
|
|
4509
|
+
addPreset(preset: 'callout' | 'richCard' | 'richDetailGrid'): void;
|
|
4510
|
+
effectiveNodeType(node?: Record<string, any> | undefined): string;
|
|
4464
4511
|
nodeLabel(node: Record<string, any>): string;
|
|
4465
4512
|
nodeIcon(node: Record<string, any>): string;
|
|
4466
4513
|
canMove(direction: -1 | 1): boolean;
|
|
@@ -4502,6 +4549,38 @@ declare class TableDetailEditorComponent implements OnChanges, OnDestroy {
|
|
|
4502
4549
|
edit(field: string, value: string): void;
|
|
4503
4550
|
fields(): string[];
|
|
4504
4551
|
isAdvancedNode(): boolean;
|
|
4552
|
+
availableColumns(): Array<{
|
|
4553
|
+
field: string;
|
|
4554
|
+
label: string;
|
|
4555
|
+
}>;
|
|
4556
|
+
supportsFieldBinding(): boolean;
|
|
4557
|
+
boundColumnField(): string;
|
|
4558
|
+
bindColumnField(fieldName: string): void;
|
|
4559
|
+
cardGridColumnsValue(): 'auto' | 1 | 2 | 3 | 4;
|
|
4560
|
+
setCardGridColumns(value: 'auto' | 1 | 2 | 3 | 4): void;
|
|
4561
|
+
cardGridMinWidthValue(): number;
|
|
4562
|
+
setCardGridMinWidth(value: number | string): void;
|
|
4563
|
+
composeDirectionValue(): 'row' | 'column';
|
|
4564
|
+
setComposeDirection(direction: 'row' | 'column'): void;
|
|
4565
|
+
composeGapValue(): 'xs' | 'sm' | 'md' | 'lg';
|
|
4566
|
+
setComposeGap(gap: 'xs' | 'sm' | 'md' | 'lg'): void;
|
|
4567
|
+
supportsTone(): boolean;
|
|
4568
|
+
toneValue(): string;
|
|
4569
|
+
setTone(tone: string): void;
|
|
4570
|
+
supportsVisibleWhen(): boolean;
|
|
4571
|
+
visibleWhenMode(): 'always' | 'conditional' | 'custom';
|
|
4572
|
+
setVisibleWhenMode(mode: 'always' | 'conditional' | 'custom'): void;
|
|
4573
|
+
visibleWhenField(): string;
|
|
4574
|
+
visibleWhenOperator(): '===' | '!=' | '>' | '>=' | '<' | '<=' | 'truthy' | 'falsy';
|
|
4575
|
+
visibleWhenValue(): string;
|
|
4576
|
+
setVisibleWhenRule(patch: {
|
|
4577
|
+
field?: string;
|
|
4578
|
+
operator?: '===' | '!=' | '>' | '>=' | '<' | '<=' | 'truthy' | 'falsy';
|
|
4579
|
+
value?: string;
|
|
4580
|
+
}): void;
|
|
4581
|
+
private parseConditionScalar;
|
|
4582
|
+
private parseGuidedVisibleWhen;
|
|
4583
|
+
private isPreviewNodeVisible;
|
|
4505
4584
|
private commitTree;
|
|
4506
4585
|
editJson(value: string): void;
|
|
4507
4586
|
discard(): void;
|
|
@@ -4607,6 +4686,42 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4607
4686
|
getColumnAuthoringMetas(): FieldMetadata[];
|
|
4608
4687
|
get filteredIdFieldOptions(): FieldMetadata[];
|
|
4609
4688
|
isUsingFilterDtoMetas(): boolean;
|
|
4689
|
+
get toolbarFiltersEnabled(): boolean;
|
|
4690
|
+
get toolbarShowQuickFilters(): boolean;
|
|
4691
|
+
get toolbarShowAdvancedButton(): boolean;
|
|
4692
|
+
get toolbarQuickFilters(): Array<{
|
|
4693
|
+
id: string;
|
|
4694
|
+
label: string;
|
|
4695
|
+
icon?: string;
|
|
4696
|
+
filter: any;
|
|
4697
|
+
}>;
|
|
4698
|
+
get duplicatedQuickFilterInlineFields(): string[];
|
|
4699
|
+
private inferDefaultStatusFilterField;
|
|
4700
|
+
private updateToolbarFiltersPatch;
|
|
4701
|
+
onToolbarFiltersEnabledChange(enabled: boolean): void;
|
|
4702
|
+
onToolbarShowQuickFiltersChange(show: boolean): void;
|
|
4703
|
+
onToolbarShowAdvancedButtonChange(show: boolean): void;
|
|
4704
|
+
applyBooleanQuickFilterPreset(fieldName?: string): void;
|
|
4705
|
+
addQuickFilterScope(): void;
|
|
4706
|
+
removeQuickFilterScope(index: number): void;
|
|
4707
|
+
updateQuickFilterMeta(index: number, patch: {
|
|
4708
|
+
id?: string;
|
|
4709
|
+
label?: string;
|
|
4710
|
+
icon?: string;
|
|
4711
|
+
}): void;
|
|
4712
|
+
getQuickFilterMode(item: {
|
|
4713
|
+
filter?: any;
|
|
4714
|
+
}): 'all' | 'boolean' | 'equals';
|
|
4715
|
+
getQuickFilterField(item: {
|
|
4716
|
+
filter?: any;
|
|
4717
|
+
}): string;
|
|
4718
|
+
getQuickFilterValue(item: {
|
|
4719
|
+
filter?: any;
|
|
4720
|
+
}): any;
|
|
4721
|
+
onQuickFilterModeChange(index: number, mode: 'all' | 'boolean' | 'equals'): void;
|
|
4722
|
+
onQuickFilterFieldChange(index: number, fieldName: string): void;
|
|
4723
|
+
onQuickFilterValueChange(index: number, rawValue: any): void;
|
|
4724
|
+
consolidateDuplicateInlineFilterFields(): void;
|
|
4610
4725
|
getEffectiveDataMode(): EffectiveDataMode;
|
|
4611
4726
|
isEffectiveLocalMode(): boolean;
|
|
4612
4727
|
private resolveLocalDataModeFeatureEnabled;
|