@praxisui/table 10.0.0-rc.0 → 10.0.0-rc.4
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 +35 -0
- package/ai/component-registry.json +824 -311
- package/docs/adr/table-detail-presentation.md +45 -0
- package/docs/dynamic-filter-backend-contract-cheatsheet.md +1 -1
- package/docs/dynamic-filter-troubleshooting-guide.md +1 -1
- package/docs/local-data-mode-precedence.md +3 -0
- package/docs/table-bottom-detail-progress.md +205 -0
- package/docs/table-bottom-detail-review.md +159 -0
- package/fesm2022/{praxisui-table-praxisui-table-fOG6oo9f.mjs → praxisui-table-praxisui-table-DKvwb6v1.mjs} +2002 -876
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-CF9bUWOK.mjs → praxisui-table-table-agentic-authoring-turn-flow-BzjYuDvo.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-C6MRHQab.mjs → praxisui-table-table-ai.adapter-CPgpIGoi.mjs} +31 -30
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/src/lib/praxis-table.json-api.md +27 -11
- package/types/praxisui-table.d.ts +173 -22
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
-
import { TableToolbarAppearanceConfig, TableConfig, TableToolbarAppearanceDensity, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, FilterPresentationConfig, 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, ResourceQuickConnectComponent, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
3
1
|
import * as i0 from '@angular/core';
|
|
4
2
|
import { InjectionToken, AfterViewInit, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterViewChecked, AfterContentInit, Injector, Type } from '@angular/core';
|
|
3
|
+
import * as _praxisui_core from '@praxisui/core';
|
|
4
|
+
import { TableToolbarAppearanceConfig, TableConfig, TableToolbarAppearanceDensity, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, FilterPresentationConfig, 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, TableDetailListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, RichContentDocument, RichBlockHostCapabilities, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, ResourceQuickConnectComponent, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
5
5
|
import { ActivatedRoute } from '@angular/router';
|
|
6
6
|
import { SafeHtml } from '@angular/platform-browser';
|
|
7
7
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
@@ -24,6 +24,7 @@ import { PraxisAssistantVoiceInputMode, PraxisAssistantTurnViewState, PraxisAssi
|
|
|
24
24
|
import { HttpClient } from '@angular/common/http';
|
|
25
25
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
26
26
|
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
27
|
+
import { PraxisRichContentConfigEditor, PraxisRichContentEditorInputs } from '@praxisui/rich-content';
|
|
27
28
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
28
29
|
|
|
29
30
|
/** Transient presentation of the existing PER_ITEM response, never a workflow contract. */
|
|
@@ -1439,6 +1440,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1439
1440
|
private localFilterFieldMetadataCache;
|
|
1440
1441
|
private localFilterFieldMetadataCacheKey;
|
|
1441
1442
|
private remoteSchemaLoadSequence;
|
|
1443
|
+
private enterpriseContextIdentity;
|
|
1444
|
+
private staleEnterpriseLocalData;
|
|
1442
1445
|
private remoteDataLoadSequence;
|
|
1443
1446
|
private analyticsLoadSequence;
|
|
1444
1447
|
private activeRemoteSchemaLoadSubscription;
|
|
@@ -1455,6 +1458,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1455
1458
|
private expansionDetailSourceByRowKey;
|
|
1456
1459
|
private expansionDetailAbortByRowKey;
|
|
1457
1460
|
private expansionDetailActiveTabByRowKey;
|
|
1461
|
+
private detailRequests?;
|
|
1462
|
+
readonly bottomDetailCollapsed: i0.WritableSignal<boolean>;
|
|
1463
|
+
private bottomDetailKey;
|
|
1464
|
+
private getDetailRequests;
|
|
1458
1465
|
private rowCapabilitySnapshotByHref;
|
|
1459
1466
|
private rowCapabilityCachedAtByHref;
|
|
1460
1467
|
private rowCapabilityErrorHrefs;
|
|
@@ -1493,6 +1500,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1493
1500
|
shouldRenderFooterToolbar(): boolean;
|
|
1494
1501
|
hasTopToolbarStack(): boolean;
|
|
1495
1502
|
hasBottomTableStack(): boolean;
|
|
1503
|
+
hasSurfaceAfterFooterToolbar(): boolean;
|
|
1504
|
+
hasBottomDetailAfterPaginator(): boolean;
|
|
1496
1505
|
shouldShowFooterToolbarMain(): boolean;
|
|
1497
1506
|
shouldShowFooterToolbarEndActions(): boolean;
|
|
1498
1507
|
getToolbarActionsPosition(): 'top' | 'bottom' | 'both';
|
|
@@ -1758,6 +1767,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1758
1767
|
private resolveCollectionCreateDisabled;
|
|
1759
1768
|
private isCreateToolbarAction;
|
|
1760
1769
|
constructor(cdr: ChangeDetectorRef, settingsPanel: SettingsPanelService, crudService: GenericCrudService<any, any>, tableDefaultsProvider: TableDefaultsProvider, filterConfig: FilterConfigService, formattingService: DataFormattingService, pxDialog: PraxisDialog, snackBar: MatSnackBar, asyncConfigStorage: AsyncConfigStorage, connectionStorage: ConnectionStorage, hostRef: ElementRef<HTMLElement>, global: GlobalConfigService, injector: Injector, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, globalActions: GlobalActionService, enterpriseRuntimeContext?: EnterpriseRuntimeContextService | undefined, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined, analyticsStatsApi?: AnalyticsTableStatsApiService | undefined);
|
|
1770
|
+
/** Compare canonical context values; refreshed labels/timestamps do not change data ownership. */
|
|
1771
|
+
private handleEnterpriseContextChange;
|
|
1761
1772
|
private get resourceDiscovery();
|
|
1762
1773
|
private get resourceSurfaceOpenAdapter();
|
|
1763
1774
|
private get resourceActionOpenAdapter();
|
|
@@ -1887,7 +1898,31 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1887
1898
|
getExpansionMotionStyle(): Record<string, string>;
|
|
1888
1899
|
getRowExpansionRegionAriaLabel(row: any, index?: number): string;
|
|
1889
1900
|
getExpansionDetailViewState(row: any, index?: number): ExpansionDetailViewState;
|
|
1901
|
+
hasBottomDetail(): boolean;
|
|
1902
|
+
isBottomDetailBeforeControls(): boolean;
|
|
1903
|
+
isBottomDetailAfterControls(): boolean;
|
|
1904
|
+
hasRenderableBottomDetailSurface(): boolean;
|
|
1905
|
+
shouldRenderBottomDetailSurface(bottom: {
|
|
1906
|
+
status?: string;
|
|
1907
|
+
detailState?: ExpansionDetailViewState | null;
|
|
1908
|
+
}): boolean;
|
|
1909
|
+
bottomDetailText(key: string, params?: Record<string, unknown>): string;
|
|
1910
|
+
getBottomDetailBodyHeight(): number | null;
|
|
1911
|
+
isBottomDetailDynamicHeight(): boolean;
|
|
1912
|
+
getBottomDetailState(): {
|
|
1913
|
+
status: string;
|
|
1914
|
+
title: string;
|
|
1915
|
+
row: Record<string, unknown> | null;
|
|
1916
|
+
index: number;
|
|
1917
|
+
detailState: ExpansionDetailViewState | null;
|
|
1918
|
+
message: string;
|
|
1919
|
+
};
|
|
1920
|
+
toggleBottomDetail(): void;
|
|
1921
|
+
private resetDetailRuntimeForConfig;
|
|
1922
|
+
retryBottomDetail(): void;
|
|
1923
|
+
private restoreBottomDetailFocus;
|
|
1890
1924
|
getExpansionDetailItems(schema: Record<string, unknown> | null): any[];
|
|
1925
|
+
private hasExpansionDetailRenderableSchema;
|
|
1891
1926
|
getExpansionDetailLayout(schema: Record<string, unknown> | null): 'stack' | 'tabs';
|
|
1892
1927
|
getExpansionDetailTabs(schema: Record<string, unknown> | null): any[];
|
|
1893
1928
|
getExpansionDetailNodeType(node: any): string;
|
|
@@ -1898,6 +1933,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1898
1933
|
getExpansionDetailListItems(row: any, node: any): string[];
|
|
1899
1934
|
getExpansionDetailRichListEntries(row: any, node: TableDetailRichListNode | any): unknown[];
|
|
1900
1935
|
getExpansionDetailRichListEmptyText(node: TableDetailRichListNode | any): string;
|
|
1936
|
+
getExpansionDetailListEmptyText(node: TableDetailListNode | any): string;
|
|
1901
1937
|
getExpansionDetailRichListItemNodes(node: TableDetailRichListNode | any): RichBlockNode[];
|
|
1902
1938
|
getExpansionDetailCardGridHeaderNodes(node: TableDetailCardGridNode | any): RichBlockNode[];
|
|
1903
1939
|
getExpansionDetailCardGridCards(node: TableDetailCardGridNode | any): TableDetailCardGridCardNode[];
|
|
@@ -1975,6 +2011,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1975
2011
|
private evaluateExpansionDetailRichListItemCondition;
|
|
1976
2012
|
getExpansionDetailRichText(node: any): string;
|
|
1977
2013
|
getExpansionDetailRichContentContext(row: any, index: number): JsonLogicDataRecord;
|
|
2014
|
+
getExpansionDetailRichContentDocument(node: any): RichContentDocument;
|
|
2015
|
+
getExpansionDetailRichContentLayout(node: any): 'block' | 'inline';
|
|
2016
|
+
getExpansionDetailRichContentHostCapabilities(row: any): RichBlockHostCapabilities;
|
|
2017
|
+
private confirmExpansionDetailRichAction;
|
|
1978
2018
|
getExpansionDetailRichContentNodes(node: any, row: any, index: number): RichBlockNode[] | null;
|
|
1979
2019
|
getExpansionDetailTabRichContentNodes(tab: any, row: any, index: number): RichBlockNode[] | null;
|
|
1980
2020
|
private mapExpansionDetailNodeToRichContent;
|
|
@@ -1992,6 +2032,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1992
2032
|
onExpansionToggleFromIcon(row: any, index: number, event: MouseEvent): void;
|
|
1993
2033
|
onExpansionToggleKeydown(event: KeyboardEvent, row: any, index: number): void;
|
|
1994
2034
|
private getExpansionConfig;
|
|
2035
|
+
private getDetailConfig;
|
|
1995
2036
|
private ensureExpansionDetailPrepared;
|
|
1996
2037
|
private resolveExpansionDetailSchemaForRow;
|
|
1997
2038
|
private resolveExpansionDetailByMode;
|
|
@@ -2005,15 +2046,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2005
2046
|
private sanitizeExpansionDetailNode;
|
|
2006
2047
|
private sanitizeExpansionDetailMediaBlockNode;
|
|
2007
2048
|
private sanitizeExpansionDetailCardGridCards;
|
|
2049
|
+
private expansionDetailRichContentIssue;
|
|
2008
2050
|
private getExpansionDetailCardGridContentTypes;
|
|
2009
2051
|
private getExpansionDetailComposeItemTypes;
|
|
2010
2052
|
private buildExpansionBlockedPlaceholderNode;
|
|
2011
2053
|
private interpolateExpansionResourcePath;
|
|
2012
|
-
private isExpansionResourcePathAllowed;
|
|
2013
|
-
private normalizeResolvedExpansionResourcePath;
|
|
2014
|
-
private isAbsoluteExpansionResourcePath;
|
|
2015
|
-
private normalizeExpansionResourceAllowListPattern;
|
|
2016
|
-
private wildcardToRegExp;
|
|
2017
2054
|
private resolveExpansionContextValue;
|
|
2018
2055
|
private buildExpansionContextRecord;
|
|
2019
2056
|
private getExpansionFallbackMode;
|
|
@@ -3408,17 +3445,7 @@ declare class BehaviorConfigEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
3408
3445
|
private resolvePositiveNumber;
|
|
3409
3446
|
private resolveNonNegativeNumber;
|
|
3410
3447
|
private resolveExpansionMaxExpandedRows;
|
|
3411
|
-
private asRecord;
|
|
3412
|
-
private cloneRecord;
|
|
3413
3448
|
private cloneTableConfig;
|
|
3414
|
-
private resolveAllowedNodes;
|
|
3415
|
-
private objectToPrettyJson;
|
|
3416
|
-
private parseJsonRecordOrFallback;
|
|
3417
|
-
private setInlineSchemaParseError;
|
|
3418
|
-
private setResourcePathParamsMapParseError;
|
|
3419
|
-
private isInlineSchemaValidationErrorActive;
|
|
3420
|
-
private isResourcePathParamsMapValidationErrorActive;
|
|
3421
|
-
private setControlErrorFlag;
|
|
3422
3449
|
static ɵfac: i0.ɵɵFactoryDeclaration<BehaviorConfigEditorComponent, never>;
|
|
3423
3450
|
static ɵcmp: i0.ɵɵComponentDeclaration<BehaviorConfigEditorComponent, "behavior-config-editor", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "forceClientStrategies": { "alias": "forceClientStrategies"; "required": false; }; }, { "configChange": "configChange"; "behaviorChange": "behaviorChange"; }, never, never, true, never>;
|
|
3424
3451
|
}
|
|
@@ -4189,6 +4216,123 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
4189
4216
|
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>;
|
|
4190
4217
|
}
|
|
4191
4218
|
|
|
4219
|
+
type Node = Record<string, any>;
|
|
4220
|
+
/** Edits the original authoring tree; keys exist only in the editor's WeakMap. */
|
|
4221
|
+
declare class TableDetailTreeDraft {
|
|
4222
|
+
private readonly keys;
|
|
4223
|
+
private sequence;
|
|
4224
|
+
selectedKey: string | null;
|
|
4225
|
+
schema: Node;
|
|
4226
|
+
constructor(schema?: Node);
|
|
4227
|
+
entries(): {
|
|
4228
|
+
key: string;
|
|
4229
|
+
node: Node;
|
|
4230
|
+
siblings: Node[];
|
|
4231
|
+
depth: number;
|
|
4232
|
+
}[];
|
|
4233
|
+
selected(): {
|
|
4234
|
+
key: string;
|
|
4235
|
+
node: Node;
|
|
4236
|
+
siblings: Node[];
|
|
4237
|
+
depth: number;
|
|
4238
|
+
} | undefined;
|
|
4239
|
+
move(direction: -1 | 1): void;
|
|
4240
|
+
add(node: Node, nested?: boolean): void;
|
|
4241
|
+
}
|
|
4242
|
+
|
|
4243
|
+
declare class TableDetailEditorComponent implements OnChanges, OnDestroy {
|
|
4244
|
+
private richContentEditorSubscription;
|
|
4245
|
+
private currentRichContentEditor?;
|
|
4246
|
+
richContentDraftDirty: boolean;
|
|
4247
|
+
richContentDraftValid: boolean;
|
|
4248
|
+
set richContentEditor(value: PraxisRichContentConfigEditor | undefined);
|
|
4249
|
+
get richContentEditor(): PraxisRichContentConfigEditor | undefined;
|
|
4250
|
+
config: TableConfig;
|
|
4251
|
+
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
4252
|
+
draftStateChange: EventEmitter<{
|
|
4253
|
+
valid: boolean;
|
|
4254
|
+
dirty: boolean;
|
|
4255
|
+
}>;
|
|
4256
|
+
private readonly i18n;
|
|
4257
|
+
private baseline?;
|
|
4258
|
+
private emitted?;
|
|
4259
|
+
private readonly coupledBefore;
|
|
4260
|
+
private readonly coupledLast;
|
|
4261
|
+
private readonly richContentInputsByNode;
|
|
4262
|
+
tree: TableDetailTreeDraft;
|
|
4263
|
+
json: string;
|
|
4264
|
+
jsonInvalid: boolean;
|
|
4265
|
+
jsonTouched: boolean;
|
|
4266
|
+
advanced: boolean;
|
|
4267
|
+
preset: string;
|
|
4268
|
+
readonly presets: string[];
|
|
4269
|
+
readonly sourceModes: string[];
|
|
4270
|
+
readonly resourceKinds: string[];
|
|
4271
|
+
readonly resourcePathMethods: string[];
|
|
4272
|
+
fallbackModes(): string[];
|
|
4273
|
+
sample: string;
|
|
4274
|
+
get previewContext(): {
|
|
4275
|
+
row: {
|
|
4276
|
+
id: string;
|
|
4277
|
+
note: string;
|
|
4278
|
+
status: string;
|
|
4279
|
+
progress: number;
|
|
4280
|
+
};
|
|
4281
|
+
};
|
|
4282
|
+
/** Local presenter projection only; never used as an authoring/save source. */
|
|
4283
|
+
previewNodes(): RichBlockNode[];
|
|
4284
|
+
previewRichContentDocuments(): RichContentDocument[];
|
|
4285
|
+
richContentEditorInputs(): PraxisRichContentEditorInputs | null;
|
|
4286
|
+
applyRichContentEditor(): void;
|
|
4287
|
+
addPreset(preset: 'callout' | 'richCard'): void;
|
|
4288
|
+
nodeLabel(node: Record<string, any>): string;
|
|
4289
|
+
nodeIcon(node: Record<string, any>): string;
|
|
4290
|
+
canMove(direction: -1 | 1): boolean;
|
|
4291
|
+
selectTreeEntry(key: string): void;
|
|
4292
|
+
onTreeItemKeydown(event: KeyboardEvent, key: string): void;
|
|
4293
|
+
tx(key: string): string;
|
|
4294
|
+
get detail(): _praxisui_core.TableDetailConfig | undefined;
|
|
4295
|
+
get issues(): string[];
|
|
4296
|
+
get selected(): {
|
|
4297
|
+
[x: string]: any;
|
|
4298
|
+
} | undefined;
|
|
4299
|
+
ngOnChanges(): void;
|
|
4300
|
+
ngOnDestroy(): void;
|
|
4301
|
+
private hydrate;
|
|
4302
|
+
private emit;
|
|
4303
|
+
private report;
|
|
4304
|
+
resetDraft(config: TableConfig): void;
|
|
4305
|
+
presentation(command: {
|
|
4306
|
+
enabled?: boolean;
|
|
4307
|
+
placement?: 'row' | 'bottom';
|
|
4308
|
+
initiallyCollapsed?: boolean;
|
|
4309
|
+
bottomStackPosition?: 'beforeControls' | 'afterControls';
|
|
4310
|
+
emptyBehavior?: 'message' | 'hide';
|
|
4311
|
+
}): void;
|
|
4312
|
+
sourceMode(mode: string): void;
|
|
4313
|
+
sourceField(group: string, field: string, value: string): void;
|
|
4314
|
+
sourceRootField(field: string, value: string): void;
|
|
4315
|
+
sourceValue(group: string, field: string): string;
|
|
4316
|
+
allowList(value: string): void;
|
|
4317
|
+
height(px: number): void;
|
|
4318
|
+
heightMode(mode: 'fixed' | 'dynamic'): void;
|
|
4319
|
+
detailMessage(key: 'empty' | 'ready'): string;
|
|
4320
|
+
setDetailMessage(key: 'empty' | 'ready', value: string): void;
|
|
4321
|
+
private patchDetail;
|
|
4322
|
+
add(nested?: boolean): void;
|
|
4323
|
+
canNest(): boolean;
|
|
4324
|
+
move(direction: -1 | 1): void;
|
|
4325
|
+
remove(): void;
|
|
4326
|
+
edit(field: string, value: string): void;
|
|
4327
|
+
fields(): string[];
|
|
4328
|
+
isAdvancedNode(): boolean;
|
|
4329
|
+
private commitTree;
|
|
4330
|
+
editJson(value: string): void;
|
|
4331
|
+
discard(): void;
|
|
4332
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableDetailEditorComponent, never>;
|
|
4333
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableDetailEditorComponent, "praxis-table-detail-editor", never, { "config": { "alias": "config"; "required": true; }; }, { "configChange": "configChange"; "draftStateChange": "draftStateChange"; }, never, never, true, never>;
|
|
4334
|
+
}
|
|
4335
|
+
|
|
4192
4336
|
type ResourcePathIntent = 'set' | 'clear' | 'unchanged';
|
|
4193
4337
|
type EffectiveDataMode = 'remote' | 'local' | 'empty';
|
|
4194
4338
|
declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValueProvider {
|
|
@@ -4199,6 +4343,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4199
4343
|
private readonly globalActionCatalog;
|
|
4200
4344
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
4201
4345
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
4346
|
+
detailEditor?: TableDetailEditorComponent;
|
|
4202
4347
|
rulesEditor?: TableRulesEditorComponent;
|
|
4203
4348
|
set crudEditorSetter(ref: any);
|
|
4204
4349
|
private crudEditor?;
|
|
@@ -4250,6 +4395,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4250
4395
|
hasSuccess: boolean;
|
|
4251
4396
|
statusMessage: string;
|
|
4252
4397
|
private isValidJson;
|
|
4398
|
+
private detailDraftState;
|
|
4253
4399
|
private behaviorFeedbackBurstTypes;
|
|
4254
4400
|
isDirty$: BehaviorSubject<boolean>;
|
|
4255
4401
|
isValid$: BehaviorSubject<boolean>;
|
|
@@ -4360,6 +4506,11 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4360
4506
|
* Verifica se um recurso está disponível na versão atual
|
|
4361
4507
|
*/
|
|
4362
4508
|
isFeatureAvailable(feature: string): boolean;
|
|
4509
|
+
onDetailConfigChange(config: TableConfig): void;
|
|
4510
|
+
onDetailDraftStateChange(state: {
|
|
4511
|
+
valid: boolean;
|
|
4512
|
+
dirty: boolean;
|
|
4513
|
+
}): void;
|
|
4363
4514
|
onBehaviorConfigChange(newConfig: TableConfig): void;
|
|
4364
4515
|
onBehaviorChange(change: BehaviorConfigChange): void;
|
|
4365
4516
|
private shouldSuppressBehaviorFeedback;
|
|
@@ -4977,9 +5128,9 @@ type ComponentEditPlanCapability = {
|
|
|
4977
5128
|
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
4978
5129
|
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
4979
5130
|
declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
|
|
4980
|
-
type TableComponentEditChangeKind = 'add_column' | 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_filterable' | 'set_column_sortable' | 'set_column_width' | 'set_column_order' | 'set_column_align' | 'set_column_style' | 'set_column_header_style' | 'set_column_sticky' | 'set_column_conditional_style' | 'set_row_conditional_style' | 'set_column_computed' | 'set_column_value_mapping' | 'set_column_renderer' | 'set_column_badge_renderer' | 'set_column_conditional_badge_renderers' | 'set_row_conditional_renderer' | 'configure_table_filtering' | 'configure_advanced_filters' | 'add_advanced_filter_fields' | 'remove_advanced_filter_fields' | 'configure_table_pagination' | 'configure_table_selection' | 'configure_table_sorting' | 'configure_toolbar' | 'add_toolbar_action' | 'add_row_action' | 'add_bulk_action' | 'configure_export' | 'set_table_density' | 'set_toolbar_visibility';
|
|
4981
|
-
type TableComponentEditOperationId = 'column.add' | 'column.format.set' | 'column.header.set' | 'column.visibility.set' | 'column.filterable.set' | 'column.sortable.set' | 'column.width.set' | 'column.order.set' | 'column.align.set' | 'column.style.set' | 'column.headerStyle.set' | 'column.sticky.set' | 'column.renderer.set' | 'column.valueMapping.set' | 'column.conditionalStyle.add' | 'row.styleRule.add' | 'row.styleRule.update' | 'column.conditionalRenderer.add' | 'column.computed.add' | 'row.conditionalRenderer.add' | 'behavior.filtering.configure' | 'filter.advanced.configure' | 'filter.advanced.fields.add' | 'filter.advanced.fields.remove' | 'behavior.pagination.configure' | 'behavior.selection.configure' | 'behavior.sorting.configure' | 'toolbar.configure' | 'toolbar.action.add' | 'rowAction.add' | 'bulkAction.add' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
4982
|
-
declare const TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "add_bulk_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
5131
|
+
type TableComponentEditChangeKind = 'add_column' | 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_filterable' | 'set_column_sortable' | 'set_column_width' | 'set_column_order' | 'set_column_align' | 'set_column_style' | 'set_column_header_style' | 'set_column_sticky' | 'set_column_conditional_style' | 'set_row_conditional_style' | 'set_column_computed' | 'set_column_value_mapping' | 'set_column_renderer' | 'set_column_badge_renderer' | 'set_column_conditional_badge_renderers' | 'set_row_conditional_renderer' | 'configure_table_filtering' | 'configure_advanced_filters' | 'add_advanced_filter_fields' | 'remove_advanced_filter_fields' | 'configure_table_pagination' | 'configure_table_detail' | 'configure_table_detail_source' | 'configure_table_detail_presentation' | 'configure_table_expansion' | 'configure_table_selection' | 'configure_table_sorting' | 'configure_toolbar' | 'add_toolbar_action' | 'add_row_action' | 'add_bulk_action' | 'configure_export' | 'set_table_density' | 'set_toolbar_visibility';
|
|
5132
|
+
type TableComponentEditOperationId = 'column.add' | 'column.format.set' | 'column.header.set' | 'column.visibility.set' | 'column.filterable.set' | 'column.sortable.set' | 'column.width.set' | 'column.order.set' | 'column.align.set' | 'column.style.set' | 'column.headerStyle.set' | 'column.sticky.set' | 'column.renderer.set' | 'column.valueMapping.set' | 'column.conditionalStyle.add' | 'row.styleRule.add' | 'row.styleRule.update' | 'column.conditionalRenderer.add' | 'column.computed.add' | 'row.conditionalRenderer.add' | 'behavior.filtering.configure' | 'filter.advanced.configure' | 'filter.advanced.fields.add' | 'filter.advanced.fields.remove' | 'behavior.pagination.configure' | 'detail.configure' | 'detail.source.configure' | 'detail.presentation.configure' | 'expansion.configure' | 'behavior.selection.configure' | 'behavior.sorting.configure' | 'toolbar.configure' | 'toolbar.action.add' | 'rowAction.add' | 'bulkAction.add' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
5133
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_detail", "configure_table_detail_source", "configure_table_detail_presentation", "configure_table_expansion", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "add_bulk_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
4983
5134
|
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
4984
5135
|
interface TableComponentEditPlan {
|
|
4985
5136
|
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
@@ -5022,7 +5173,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
5022
5173
|
readonly $defs: {
|
|
5023
5174
|
readonly changeKind: {
|
|
5024
5175
|
readonly type: "string";
|
|
5025
|
-
readonly enum: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "add_bulk_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
5176
|
+
readonly enum: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_detail", "configure_table_detail_source", "configure_table_detail_presentation", "configure_table_expansion", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "add_bulk_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
5026
5177
|
};
|
|
5027
5178
|
readonly capabilityPath: {
|
|
5028
5179
|
readonly type: "string";
|
|
@@ -5103,7 +5254,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
5103
5254
|
readonly const: "praxis-table";
|
|
5104
5255
|
};
|
|
5105
5256
|
readonly operationId: {
|
|
5106
|
-
readonly enum: readonly ["column.add", "column.format.set", "column.header.set", "column.visibility.set", "column.filterable.set", "column.sortable.set", "column.width.set", "column.order.set", "column.align.set", "column.style.set", "column.headerStyle.set", "column.sticky.set", "column.renderer.set", "column.valueMapping.set", "column.conditionalStyle.add", "row.styleRule.add", "column.conditionalRenderer.add", "column.computed.add", "row.conditionalRenderer.add", "behavior.filtering.configure", "filter.advanced.configure", "filter.advanced.fields.add", "filter.advanced.fields.remove", "behavior.pagination.configure", "behavior.selection.configure", "behavior.sorting.configure", "toolbar.configure", "toolbar.action.add", "rowAction.add", "bulkAction.add", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
5257
|
+
readonly enum: readonly ["column.add", "column.format.set", "column.header.set", "column.visibility.set", "column.filterable.set", "column.sortable.set", "column.width.set", "column.order.set", "column.align.set", "column.style.set", "column.headerStyle.set", "column.sticky.set", "column.renderer.set", "column.valueMapping.set", "column.conditionalStyle.add", "row.styleRule.add", "column.conditionalRenderer.add", "column.computed.add", "row.conditionalRenderer.add", "behavior.filtering.configure", "filter.advanced.configure", "filter.advanced.fields.add", "filter.advanced.fields.remove", "behavior.pagination.configure", "detail.configure", "detail.source.configure", "detail.presentation.configure", "expansion.configure", "behavior.selection.configure", "behavior.sorting.configure", "toolbar.configure", "toolbar.action.add", "rowAction.add", "bulkAction.add", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
5107
5258
|
};
|
|
5108
5259
|
readonly target: true;
|
|
5109
5260
|
readonly input: true;
|