@praxisui/table 9.0.0-beta.36 → 9.0.0-beta.37
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 +9 -4
- package/docs/resource-events.md +26 -0
- package/fesm2022/{praxisui-table-praxisui-table-DVrdSuiO.mjs → praxisui-table-praxisui-table-BKzD2XCB.mjs} +136 -15
- package/fesm2022/{praxisui-table-table-ai.adapter-utRTtk0G.mjs → praxisui-table-table-ai.adapter-oYLM5-wf.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +1 -1
- package/package.json +10 -10
- package/types/praxisui-table.d.ts +5 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-07-
|
|
3
|
+
"generatedAt": "2026-07-06T00:01:30.215Z",
|
|
4
4
|
"packageName": "@praxisui/table",
|
|
5
|
-
"packageVersion": "9.0.0-beta.
|
|
5
|
+
"packageVersion": "9.0.0-beta.37",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 3,
|
|
@@ -6251,6 +6251,11 @@
|
|
|
6251
6251
|
"type": "WidgetEventEnvelope",
|
|
6252
6252
|
"required": false
|
|
6253
6253
|
},
|
|
6254
|
+
{
|
|
6255
|
+
"name": "resourceEvent",
|
|
6256
|
+
"type": "PraxisResourceEvent",
|
|
6257
|
+
"required": false
|
|
6258
|
+
},
|
|
6254
6259
|
{
|
|
6255
6260
|
"name": "rowDoubleClick",
|
|
6256
6261
|
"type": "{ action: string; row: any }",
|
|
@@ -21991,9 +21996,9 @@
|
|
|
21991
21996
|
{
|
|
21992
21997
|
"chunkIndex": 0,
|
|
21993
21998
|
"chunkKind": "summary",
|
|
21994
|
-
"content": "Component ID: praxis-table\nSelector: praxis-table\nFriendly Name: Praxis Table\nDescription: Tabela interativa com paginação, ordenação e ações em massa.\nCategory: table\nLib/Package: @praxisui/table\nTags: widget, table, configurable, hasWizard, stable\nInputs:\n - config (TableConfig)\n - resourcePath (string)\n - data (any[])\n - configPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - queryContext (PraxisDataQueryContext | null)\n - aiContext (TableAiContext | null)\n - aiAssistantVoiceInputMode ('disabled' | 'browser-speech')\n - aiAssistantVoiceLanguage (string)\n - filterCriteria (Record<string, any>)\n - autoDelete (boolean)\n - enableCustomization (boolean)\n - dense (boolean)\n - horizontalScroll ('auto' | 'wrap' | 'none')\n - tableId (string)\n - componentInstanceId (string)\n - title (string)\n - subtitle (string)\n - icon (string)\n - notifyIfOutdated ('inline' | 'snackbar' | 'both' | 'none')\n - snoozeMs (number)\n - autoOpenSettingsOnOutdated (boolean)\n - crudContext (any)\nOutputs:\n - rowClick ({ row: any; index: number })\n - widgetEvent (WidgetEventEnvelope)\n - rowDoubleClick ({ action: string; row: any })\n - rowExpansionChange (RowExpansionChangeEvent)\n - selectionChange ({ trigger: string; row?: any; selectedRows: any[]; selectedCount: number; tableId?: string })\n - rowAction ({ action: string; row: any })\n - toolbarAction ({ action: string })\n - bulkAction ({ action: string; rows: any[] })\n - columnReorder ({ action: string; trigger: \"drag\" | \"keyboard\" | \"undo\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; previousOrder: string[]; currentOrder: string[]; persisted: boolean })\n - columnReorderAttempt ({ action: \"columnReorderAttempt\"; trigger: \"drag\" | \"keyboard\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; result: \"blocked\"; reasonCode: \"drop-zone-policy-blocked\"; configuredColumnDropZones: string[] })\n - beforeDelete (any)\n - afterDelete (any)\n - deleteError ({ row: any; error: unknown })\n - beforeBulkDelete (any[])\n - afterBulkDelete (any[])\n - bulkDeleteError ({ rows: any[]; error: unknown })\n - schemaStatusChange ({ outdated: boolean; serverHash?: string; lastVerifiedAt?: string; trigger?: string; tableId?: string })\n - metadataChange ({ trigger: string; meta: any; tableId?: string })\n - configChange (TableConfig)\n - loadingStateChange (LoadingState)\n",
|
|
21999
|
+
"content": "Component ID: praxis-table\nSelector: praxis-table\nFriendly Name: Praxis Table\nDescription: Tabela interativa com paginação, ordenação e ações em massa.\nCategory: table\nLib/Package: @praxisui/table\nTags: widget, table, configurable, hasWizard, stable\nInputs:\n - config (TableConfig)\n - resourcePath (string)\n - data (any[])\n - configPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - queryContext (PraxisDataQueryContext | null)\n - aiContext (TableAiContext | null)\n - aiAssistantVoiceInputMode ('disabled' | 'browser-speech')\n - aiAssistantVoiceLanguage (string)\n - filterCriteria (Record<string, any>)\n - autoDelete (boolean)\n - enableCustomization (boolean)\n - dense (boolean)\n - horizontalScroll ('auto' | 'wrap' | 'none')\n - tableId (string)\n - componentInstanceId (string)\n - title (string)\n - subtitle (string)\n - icon (string)\n - notifyIfOutdated ('inline' | 'snackbar' | 'both' | 'none')\n - snoozeMs (number)\n - autoOpenSettingsOnOutdated (boolean)\n - crudContext (any)\nOutputs:\n - rowClick ({ row: any; index: number })\n - widgetEvent (WidgetEventEnvelope)\n - resourceEvent (PraxisResourceEvent)\n - rowDoubleClick ({ action: string; row: any })\n - rowExpansionChange (RowExpansionChangeEvent)\n - selectionChange ({ trigger: string; row?: any; selectedRows: any[]; selectedCount: number; tableId?: string })\n - rowAction ({ action: string; row: any })\n - toolbarAction ({ action: string })\n - bulkAction ({ action: string; rows: any[] })\n - columnReorder ({ action: string; trigger: \"drag\" | \"keyboard\" | \"undo\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; previousOrder: string[]; currentOrder: string[]; persisted: boolean })\n - columnReorderAttempt ({ action: \"columnReorderAttempt\"; trigger: \"drag\" | \"keyboard\"; operationId: number; tableId: string; sourceField: string; targetField: string; previousIndex: number; currentIndex: number; sourceZone: \"start\" | \"center\" | \"end\"; targetZone: \"start\" | \"center\" | \"end\"; result: \"blocked\"; reasonCode: \"drop-zone-policy-blocked\"; configuredColumnDropZones: string[] })\n - beforeDelete (any)\n - afterDelete (any)\n - deleteError ({ row: any; error: unknown })\n - beforeBulkDelete (any[])\n - afterBulkDelete (any[])\n - bulkDeleteError ({ rows: any[]; error: unknown })\n - schemaStatusChange ({ outdated: boolean; serverHash?: string; lastVerifiedAt?: string; trigger?: string; tableId?: string })\n - metadataChange ({ trigger: string; meta: any; tableId?: string })\n - configChange (TableConfig)\n - loadingStateChange (LoadingState)\n",
|
|
21995
22000
|
"sourcePointer": "praxis-ui-angular/projects/praxis-table/src/lib/praxis-table.metadata.ts",
|
|
21996
|
-
"contentHash": "
|
|
22001
|
+
"contentHash": "39eff500d21972a173e38f773e212226f348e0d3d9d51d3a047eebadaa99231e",
|
|
21997
22002
|
"sourceKind": "component_definition",
|
|
21998
22003
|
"sourceId": "praxis-table",
|
|
21999
22004
|
"corpusVersion": "1.0.0"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Praxis Table Resource Events
|
|
2
|
+
|
|
3
|
+
`PraxisTable` emits `resourceEvent` in parallel with its existing public outputs. The envelope is intended for enterprise hosts that need one governed stream for audit, analytics, shell orchestration, and related-resource surfaces.
|
|
4
|
+
|
|
5
|
+
## Event Mapping
|
|
6
|
+
|
|
7
|
+
| Table interaction | `kind` | `sourceOutput` | `phase` |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| Row click | `row-click` | `rowClick` | `notification` |
|
|
10
|
+
| Row double click | `row-double-click` | `rowDoubleClick` | `notification` |
|
|
11
|
+
| Selection change | `selection-change` | `selectionChange` | `notification` |
|
|
12
|
+
| Row action | `row-action` | `rowAction` | `notification` |
|
|
13
|
+
| Toolbar action | `toolbar-action` | `toolbarAction` | `notification` |
|
|
14
|
+
| Bulk action | `bulk-action` | `bulkAction` | `notification` |
|
|
15
|
+
| Export action | `export-action` | `exportAction` | `success` or `error` |
|
|
16
|
+
| Dynamic record surface fallback | `surface-open` | `recordSurfaceOpen` | `request` |
|
|
17
|
+
| Catalog-backed record surface | `surface-open` | `recordSurfaceOpen` | `request`, then `success` or `error` |
|
|
18
|
+
| Catalog-backed collection surface | `surface-open` | `toolbarAction` | `request`, then `success` or `error` |
|
|
19
|
+
|
|
20
|
+
`notification` events preserve the old output semantics and should not be interpreted as business completion. Host-mediated operations such as `surface.open` emit `request` before invoking `GlobalActionService` and then emit `success` or `error` after the result is known.
|
|
21
|
+
|
|
22
|
+
## Surface Rules
|
|
23
|
+
|
|
24
|
+
For catalog-backed surfaces, `resourceEvent.surface` carries the canonical `ResourceSurfaceCatalogItem`, including `relatedResource` when the backend publishes it. For fallback dynamic-page requests, the payload still carries the requested surface context, but `surface` may be `null` because no full catalog item is available.
|
|
25
|
+
|
|
26
|
+
Consumers must keep legacy outputs wired where they already depend on them. `resourceEvent` is the canonical cross-component event stream, not a breaking replacement for existing outputs.
|
|
@@ -39501,6 +39501,7 @@ class PraxisTable {
|
|
|
39501
39501
|
advancedFilterMetadataOverridesCache;
|
|
39502
39502
|
rowClick = new EventEmitter();
|
|
39503
39503
|
widgetEvent = new EventEmitter();
|
|
39504
|
+
resourceEvent = new EventEmitter();
|
|
39504
39505
|
rowDoubleClick = new EventEmitter();
|
|
39505
39506
|
rowExpansionChange = new EventEmitter();
|
|
39506
39507
|
rowAction = new EventEmitter();
|
|
@@ -41507,7 +41508,7 @@ class PraxisTable {
|
|
|
41507
41508
|
if (this.aiAdapter || this.aiAdapterLoadStarted)
|
|
41508
41509
|
return;
|
|
41509
41510
|
this.aiAdapterLoadStarted = true;
|
|
41510
|
-
import('./praxisui-table-table-ai.adapter-
|
|
41511
|
+
import('./praxisui-table-table-ai.adapter-oYLM5-wf.mjs')
|
|
41511
41512
|
.then(({ TableAiAdapter }) => {
|
|
41512
41513
|
if (!this.isAiAssistantEnabled()) {
|
|
41513
41514
|
this.aiAssistantOpenAfterAdapterLoad = false;
|
|
@@ -43187,7 +43188,9 @@ class PraxisTable {
|
|
|
43187
43188
|
if (this.shouldSelectRowOnRowClick(event)) {
|
|
43188
43189
|
this.selectRowFromUserInteraction(row);
|
|
43189
43190
|
}
|
|
43190
|
-
|
|
43191
|
+
const payload = { row, index };
|
|
43192
|
+
this.rowClick.emit(payload);
|
|
43193
|
+
this.emitResourceEvent('row-click', 'rowClick', payload);
|
|
43191
43194
|
}
|
|
43192
43195
|
requestRecordSurfaceOpen(surface) {
|
|
43193
43196
|
const selectedRows = this.getSelectedRowsSnapshot();
|
|
@@ -43202,19 +43205,24 @@ class PraxisTable {
|
|
|
43202
43205
|
const index = Array.isArray(this.dataSource?.data)
|
|
43203
43206
|
? this.dataSource.data.indexOf(row)
|
|
43204
43207
|
: -1;
|
|
43208
|
+
const resourceEvent = this.buildResourceEvent('surface-open', 'recordSurfaceOpen', {
|
|
43209
|
+
operationId: 'dynamicPage.surface.open',
|
|
43210
|
+
surface,
|
|
43211
|
+
selectedRow: row,
|
|
43212
|
+
selectedRows,
|
|
43213
|
+
selectedCount: selectedRows.length,
|
|
43214
|
+
tableId: this.tableId,
|
|
43215
|
+
}, null, null, 'request');
|
|
43205
43216
|
this.widgetEvent.emit({
|
|
43206
43217
|
sourceComponentId: 'praxis-table',
|
|
43207
43218
|
output: 'recordSurfaceOpen',
|
|
43208
|
-
payload:
|
|
43209
|
-
|
|
43210
|
-
surface,
|
|
43211
|
-
selectedRow: row,
|
|
43212
|
-
selectedRows,
|
|
43213
|
-
selectedCount: selectedRows.length,
|
|
43214
|
-
tableId: this.tableId,
|
|
43215
|
-
},
|
|
43219
|
+
payload: resourceEvent.payload,
|
|
43220
|
+
resourceEvent,
|
|
43216
43221
|
});
|
|
43217
|
-
this.
|
|
43222
|
+
this.resourceEvent.emit(resourceEvent);
|
|
43223
|
+
const rowClickPayload = { row, index };
|
|
43224
|
+
this.rowClick.emit(rowClickPayload);
|
|
43225
|
+
this.emitResourceEvent('row-click', 'rowClick', rowClickPayload);
|
|
43218
43226
|
return true;
|
|
43219
43227
|
}
|
|
43220
43228
|
resolveResourceRecordSurfaceContext(surface) {
|
|
@@ -43240,6 +43248,15 @@ class PraxisTable {
|
|
|
43240
43248
|
title: surface.title || contextSurface.label,
|
|
43241
43249
|
subtitle: surface.description || contextSurface.description || undefined,
|
|
43242
43250
|
});
|
|
43251
|
+
const surfaceOpenPayload = {
|
|
43252
|
+
operationId: 'dynamicPage.surface.open',
|
|
43253
|
+
surface: contextSurface,
|
|
43254
|
+
selectedRow: row,
|
|
43255
|
+
selectedRows,
|
|
43256
|
+
selectedCount: selectedRows.length,
|
|
43257
|
+
tableId: this.tableId,
|
|
43258
|
+
};
|
|
43259
|
+
this.emitResourceEvent('surface-open', 'recordSurfaceOpen', surfaceOpenPayload, surface, resourceId, 'request');
|
|
43243
43260
|
const result = await this.globalActions.execute('surface.open', payload, {
|
|
43244
43261
|
sourceId: this.tableId || this.componentInstanceId || 'praxis-table',
|
|
43245
43262
|
output: 'recordSurfaceOpen',
|
|
@@ -43264,6 +43281,10 @@ class PraxisTable {
|
|
|
43264
43281
|
},
|
|
43265
43282
|
});
|
|
43266
43283
|
if (!result.success) {
|
|
43284
|
+
this.emitResourceEvent('surface-open', 'recordSurfaceOpen', {
|
|
43285
|
+
...surfaceOpenPayload,
|
|
43286
|
+
error: result.error,
|
|
43287
|
+
}, surface, resourceId, 'error');
|
|
43267
43288
|
this.warnLog('[PraxisTable] Falha ao abrir surface de registro descoberta por capabilities', { surfaceId: surface.id, error: result.error }, { actionId: 'dynamicPage.surface.open' });
|
|
43268
43289
|
this.showActionFeedbackMessage('errors', 'dynamicPage.surface.open', {
|
|
43269
43290
|
label: surface.title || contextSurface.label,
|
|
@@ -43272,8 +43293,20 @@ class PraxisTable {
|
|
|
43272
43293
|
duration: 3000,
|
|
43273
43294
|
});
|
|
43274
43295
|
}
|
|
43296
|
+
else {
|
|
43297
|
+
this.emitResourceEvent('surface-open', 'recordSurfaceOpen', surfaceOpenPayload, surface, resourceId, 'success');
|
|
43298
|
+
}
|
|
43275
43299
|
}
|
|
43276
43300
|
catch (error) {
|
|
43301
|
+
this.emitResourceEvent('surface-open', 'recordSurfaceOpen', {
|
|
43302
|
+
operationId: 'dynamicPage.surface.open',
|
|
43303
|
+
surface: contextSurface,
|
|
43304
|
+
selectedRow: row,
|
|
43305
|
+
selectedRows,
|
|
43306
|
+
selectedCount: selectedRows.length,
|
|
43307
|
+
tableId: this.tableId,
|
|
43308
|
+
error,
|
|
43309
|
+
}, surface, resourceId, 'error');
|
|
43277
43310
|
this.warnLog('[PraxisTable] Falha ao preparar surface de registro descoberta por capabilities', { surfaceId: surface.id, error }, { actionId: 'dynamicPage.surface.open' });
|
|
43278
43311
|
this.showActionFeedbackMessage('errors', 'dynamicPage.surface.open', {
|
|
43279
43312
|
label: surface.title || contextSurface.label,
|
|
@@ -46205,7 +46238,9 @@ class PraxisTable {
|
|
|
46205
46238
|
actionId: actId,
|
|
46206
46239
|
throttleKey: `praxis-table:row-double-click:${actId}`,
|
|
46207
46240
|
});
|
|
46208
|
-
|
|
46241
|
+
const payload = { action: actId, row };
|
|
46242
|
+
this.rowDoubleClick.emit(payload);
|
|
46243
|
+
this.emitResourceEvent('row-double-click', 'rowDoubleClick', payload, null, this.getRowId(row), 'notification');
|
|
46209
46244
|
}
|
|
46210
46245
|
catch { }
|
|
46211
46246
|
}
|
|
@@ -46290,6 +46325,9 @@ class PraxisTable {
|
|
|
46290
46325
|
label: actionLabel,
|
|
46291
46326
|
row,
|
|
46292
46327
|
selectedCount: 1,
|
|
46328
|
+
resourceEventKind: 'row-action',
|
|
46329
|
+
sourceOutput: 'rowAction',
|
|
46330
|
+
resourceId: this.getRowId(row),
|
|
46293
46331
|
});
|
|
46294
46332
|
}
|
|
46295
46333
|
showConfirmDialog(action, row, cfg, willAutoDelete, runtimeOptions) {
|
|
@@ -46610,6 +46648,9 @@ class PraxisTable {
|
|
|
46610
46648
|
emitEventWithActionFeedback(emitter, payload, options) {
|
|
46611
46649
|
try {
|
|
46612
46650
|
emitter.emit(payload);
|
|
46651
|
+
if (options.resourceEventKind && options.sourceOutput) {
|
|
46652
|
+
this.emitResourceEvent(options.resourceEventKind, options.sourceOutput, payload, options.surface, options.resourceId, 'notification');
|
|
46653
|
+
}
|
|
46613
46654
|
this.showActionFeedbackMessage('success', options.actionId, {
|
|
46614
46655
|
label: options.label,
|
|
46615
46656
|
selectedCount: options.selectedCount,
|
|
@@ -46877,6 +46918,8 @@ class PraxisTable {
|
|
|
46877
46918
|
label: actionLabel,
|
|
46878
46919
|
rows,
|
|
46879
46920
|
selectedCount: rows.length,
|
|
46921
|
+
resourceEventKind: 'bulk-action',
|
|
46922
|
+
sourceOutput: 'bulkAction',
|
|
46880
46923
|
});
|
|
46881
46924
|
return;
|
|
46882
46925
|
}
|
|
@@ -46984,6 +47027,8 @@ class PraxisTable {
|
|
|
46984
47027
|
label: actionLabel,
|
|
46985
47028
|
rows,
|
|
46986
47029
|
selectedCount: rows.length,
|
|
47030
|
+
resourceEventKind: 'bulk-action',
|
|
47031
|
+
sourceOutput: 'bulkAction',
|
|
46987
47032
|
});
|
|
46988
47033
|
};
|
|
46989
47034
|
if (requiresConfirmation) {
|
|
@@ -47016,6 +47061,8 @@ class PraxisTable {
|
|
|
47016
47061
|
this.emitEventWithActionFeedback(this.toolbarAction, payload, {
|
|
47017
47062
|
actionId: action,
|
|
47018
47063
|
label: toolbarActionConfig?.label || action,
|
|
47064
|
+
resourceEventKind: 'toolbar-action',
|
|
47065
|
+
sourceOutput: 'toolbarAction',
|
|
47019
47066
|
});
|
|
47020
47067
|
}
|
|
47021
47068
|
async tryHandleCollectionCreateToolbarAction(action, actionConfig) {
|
|
@@ -47040,6 +47087,8 @@ class PraxisTable {
|
|
|
47040
47087
|
this.emitEventWithActionFeedback(this.toolbarAction, payload, {
|
|
47041
47088
|
actionId: action,
|
|
47042
47089
|
label: configuredAction.label || action,
|
|
47090
|
+
resourceEventKind: 'toolbar-action',
|
|
47091
|
+
sourceOutput: 'toolbarAction',
|
|
47043
47092
|
});
|
|
47044
47093
|
return true;
|
|
47045
47094
|
}
|
|
@@ -47052,6 +47101,10 @@ class PraxisTable {
|
|
|
47052
47101
|
presentation: 'drawer',
|
|
47053
47102
|
queryContext: this.queryContext ?? undefined,
|
|
47054
47103
|
});
|
|
47104
|
+
this.emitResourceEvent('surface-open', 'toolbarAction', {
|
|
47105
|
+
...payload,
|
|
47106
|
+
surface,
|
|
47107
|
+
}, surface, null, 'request');
|
|
47055
47108
|
const result = await this.globalActions.execute('surface.open', surfacePayload, {
|
|
47056
47109
|
sourceId: this.tableId || this.componentInstanceId || 'praxis-table',
|
|
47057
47110
|
output: 'toolbarAction',
|
|
@@ -47072,11 +47125,25 @@ class PraxisTable {
|
|
|
47072
47125
|
},
|
|
47073
47126
|
});
|
|
47074
47127
|
if (result.success) {
|
|
47128
|
+
this.emitResourceEvent('surface-open', 'toolbarAction', {
|
|
47129
|
+
...payload,
|
|
47130
|
+
surface,
|
|
47131
|
+
}, surface, null, 'success');
|
|
47075
47132
|
return true;
|
|
47076
47133
|
}
|
|
47134
|
+
this.emitResourceEvent('surface-open', 'toolbarAction', {
|
|
47135
|
+
...payload,
|
|
47136
|
+
surface,
|
|
47137
|
+
error: result.error,
|
|
47138
|
+
}, surface, null, 'error');
|
|
47077
47139
|
this.warnLog('[PraxisTable] Falha ao abrir create de coleção via surface.open', { surfaceId: surface.id, error: result.error }, { actionId: 'create' });
|
|
47078
47140
|
}
|
|
47079
47141
|
catch (error) {
|
|
47142
|
+
this.emitResourceEvent('surface-open', 'toolbarAction', {
|
|
47143
|
+
...payload,
|
|
47144
|
+
surface,
|
|
47145
|
+
error,
|
|
47146
|
+
}, surface, null, 'error');
|
|
47080
47147
|
this.warnLog('[PraxisTable] Falha ao preparar create de coleção via surface.open', { surfaceId: surface.id, error }, { actionId: 'create' });
|
|
47081
47148
|
}
|
|
47082
47149
|
this.emitEventWithActionFeedback(this.toolbarAction, {
|
|
@@ -47085,6 +47152,9 @@ class PraxisTable {
|
|
|
47085
47152
|
}, {
|
|
47086
47153
|
actionId: action,
|
|
47087
47154
|
label: configuredAction.label || action,
|
|
47155
|
+
resourceEventKind: 'toolbar-action',
|
|
47156
|
+
sourceOutput: 'toolbarAction',
|
|
47157
|
+
surface,
|
|
47088
47158
|
});
|
|
47089
47159
|
return true;
|
|
47090
47160
|
}
|
|
@@ -47196,6 +47266,12 @@ class PraxisTable {
|
|
|
47196
47266
|
result: this.cloneForEmit(result),
|
|
47197
47267
|
tableId: this.tableId,
|
|
47198
47268
|
});
|
|
47269
|
+
this.emitResourceEvent('export-action', 'exportAction', {
|
|
47270
|
+
format,
|
|
47271
|
+
request: this.cloneForEmit(request),
|
|
47272
|
+
result: this.cloneForEmit(result),
|
|
47273
|
+
tableId: this.tableId,
|
|
47274
|
+
}, null, null, 'success');
|
|
47199
47275
|
this.downloadExportResult(result, request);
|
|
47200
47276
|
this.showExportFeedback(result);
|
|
47201
47277
|
}
|
|
@@ -47208,6 +47284,11 @@ class PraxisTable {
|
|
|
47208
47284
|
error,
|
|
47209
47285
|
tableId: this.tableId,
|
|
47210
47286
|
});
|
|
47287
|
+
this.emitResourceEvent('export-action', 'exportAction', {
|
|
47288
|
+
format,
|
|
47289
|
+
error,
|
|
47290
|
+
tableId: this.tableId,
|
|
47291
|
+
}, null, null, 'error');
|
|
47211
47292
|
try {
|
|
47212
47293
|
this.snackBar.open(translateTableRuntimeText(this.i18n, 'table.export.error', 'Nao foi possivel exportar os dados.'), undefined, { duration: 4000 });
|
|
47213
47294
|
}
|
|
@@ -54780,15 +54861,37 @@ class PraxisTable {
|
|
|
54780
54861
|
}
|
|
54781
54862
|
emitSelectionChange(trigger, row) {
|
|
54782
54863
|
const selectedRows = this.selection.selected.slice();
|
|
54783
|
-
|
|
54864
|
+
const payload = {
|
|
54784
54865
|
trigger,
|
|
54785
54866
|
row,
|
|
54786
54867
|
selectedRows,
|
|
54787
54868
|
selectedCount: selectedRows.length,
|
|
54788
54869
|
tableId: this.tableId,
|
|
54789
|
-
}
|
|
54870
|
+
};
|
|
54871
|
+
this.selectionChange.emit(payload);
|
|
54872
|
+
this.emitResourceEvent('selection-change', 'selectionChange', payload);
|
|
54790
54873
|
this.refreshAiAssistantContextAfterSelectionChange();
|
|
54791
54874
|
}
|
|
54875
|
+
emitResourceEvent(kind, sourceOutput, payload, surface, resourceId, phase) {
|
|
54876
|
+
this.resourceEvent.emit(this.buildResourceEvent(kind, sourceOutput, payload, surface, resourceId, phase));
|
|
54877
|
+
}
|
|
54878
|
+
buildResourceEvent(kind, sourceOutput, payload, surface, resourceId, phase) {
|
|
54879
|
+
return {
|
|
54880
|
+
kind,
|
|
54881
|
+
sourceComponentId: 'praxis-table',
|
|
54882
|
+
sourceOutput,
|
|
54883
|
+
phase,
|
|
54884
|
+
resourcePath: this.resourcePath || null,
|
|
54885
|
+
resourceKey: surface?.resourceKey ?? null,
|
|
54886
|
+
resourceId: resourceId ?? null,
|
|
54887
|
+
surface: surface ?? null,
|
|
54888
|
+
payload,
|
|
54889
|
+
context: {
|
|
54890
|
+
tableId: this.tableId,
|
|
54891
|
+
componentInstanceId: this.componentInstanceId,
|
|
54892
|
+
},
|
|
54893
|
+
};
|
|
54894
|
+
}
|
|
54792
54895
|
getSelectedRowsSnapshot() {
|
|
54793
54896
|
return Array.isArray(this.selection?.selected)
|
|
54794
54897
|
? this.selection.selected.slice()
|
|
@@ -55764,7 +55867,7 @@ class PraxisTable {
|
|
|
55764
55867
|
this.removeViewportChangeListeners = null;
|
|
55765
55868
|
}
|
|
55766
55869
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i3$3.SettingsPanelService }, { token: i1.GenericCrudService }, { token: TableDefaultsProvider }, { token: FilterConfigService }, { token: DataFormattingService }, { token: i6$2.PraxisDialog }, { token: i2$2.MatSnackBar }, { token: ASYNC_CONFIG_STORAGE }, { token: CONNECTION_STORAGE }, { token: i0.ElementRef }, { token: i1.GlobalConfigService }, { token: i0.Injector }, { token: i1.ComponentKeyService }, { token: i1.LoadingOrchestrator }, { token: i1.GlobalActionService }, { token: PRAXIS_LOADING_RENDERER, optional: true }, { token: i6$1.ActivatedRoute, optional: true }, { token: i1.LoggerService, optional: true }, { token: AnalyticsTableStatsApiService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
55767
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisTable, isStandalone: true, selector: "praxis-table", inputs: { config: "config", resourcePath: "resourcePath", data: "data", tableId: "tableId", componentInstanceId: "componentInstanceId", configPersistenceStrategy: "configPersistenceStrategy", title: "title", subtitle: "subtitle", icon: "icon", autoDelete: "autoDelete", notifyIfOutdated: "notifyIfOutdated", snoozeMs: "snoozeMs", autoOpenSettingsOnOutdated: "autoOpenSettingsOnOutdated", crudContext: "crudContext", filterCriteria: "filterCriteria", queryContext: "queryContext", aiContext: "aiContext", aiAssistantVoiceInputMode: "aiAssistantVoiceInputMode", aiAssistantVoiceLanguage: "aiAssistantVoiceLanguage", horizontalScroll: "horizontalScroll", enableCustomization: ["enableCustomization", "enableCustomization", booleanAttribute], dense: "dense" }, outputs: { rowClick: "rowClick", widgetEvent: "widgetEvent", rowDoubleClick: "rowDoubleClick", rowExpansionChange: "rowExpansionChange", rowAction: "rowAction", toolbarAction: "toolbarAction", bulkAction: "bulkAction", exportAction: "exportAction", columnReorder: "columnReorder", columnReorderAttempt: "columnReorderAttempt", columnResize: "columnResize", beforeDelete: "beforeDelete", afterDelete: "afterDelete", deleteError: "deleteError", beforeBulkDelete: "beforeBulkDelete", afterBulkDelete: "afterBulkDelete", bulkDeleteError: "bulkDeleteError", schemaStatusChange: "schemaStatusChange", configChange: "configChange", metadataChange: "metadataChange", loadingStateChange: "loadingStateChange", collectionLinksChange: "collectionLinksChange", selectionChange: "selectionChange" }, host: { properties: { "class.density-compact": "this.hostDensityCompactClass", "class.density-comfortable": "this.hostDensityComfortableClass", "class.density-spacious": "this.hostDensitySpaciousClass", "class.row-borders": "this.hostRowBordersClass", "class.col-borders": "this.hostColumnBordersClass" } }, providers: [
|
|
55870
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisTable, isStandalone: true, selector: "praxis-table", inputs: { config: "config", resourcePath: "resourcePath", data: "data", tableId: "tableId", componentInstanceId: "componentInstanceId", configPersistenceStrategy: "configPersistenceStrategy", title: "title", subtitle: "subtitle", icon: "icon", autoDelete: "autoDelete", notifyIfOutdated: "notifyIfOutdated", snoozeMs: "snoozeMs", autoOpenSettingsOnOutdated: "autoOpenSettingsOnOutdated", crudContext: "crudContext", filterCriteria: "filterCriteria", queryContext: "queryContext", aiContext: "aiContext", aiAssistantVoiceInputMode: "aiAssistantVoiceInputMode", aiAssistantVoiceLanguage: "aiAssistantVoiceLanguage", horizontalScroll: "horizontalScroll", enableCustomization: ["enableCustomization", "enableCustomization", booleanAttribute], dense: "dense" }, outputs: { rowClick: "rowClick", widgetEvent: "widgetEvent", resourceEvent: "resourceEvent", rowDoubleClick: "rowDoubleClick", rowExpansionChange: "rowExpansionChange", rowAction: "rowAction", toolbarAction: "toolbarAction", bulkAction: "bulkAction", exportAction: "exportAction", columnReorder: "columnReorder", columnReorderAttempt: "columnReorderAttempt", columnResize: "columnResize", beforeDelete: "beforeDelete", afterDelete: "afterDelete", deleteError: "deleteError", beforeBulkDelete: "beforeBulkDelete", afterBulkDelete: "afterBulkDelete", bulkDeleteError: "bulkDeleteError", schemaStatusChange: "schemaStatusChange", configChange: "configChange", metadataChange: "metadataChange", loadingStateChange: "loadingStateChange", collectionLinksChange: "collectionLinksChange", selectionChange: "selectionChange" }, host: { properties: { "class.density-compact": "this.hostDensityCompactClass", "class.density-comfortable": "this.hostDensityComfortableClass", "class.density-spacious": "this.hostDensitySpaciousClass", "class.row-borders": "this.hostRowBordersClass", "class.col-borders": "this.hostColumnBordersClass" } }, providers: [
|
|
55768
55871
|
providePraxisI18nConfig(RESOURCE_DISCOVERY_I18N_CONFIG),
|
|
55769
55872
|
providePraxisI18nConfig(PRAXIS_TABLE_RUNTIME_I18N_CONFIG),
|
|
55770
55873
|
MatPaginatorIntl,
|
|
@@ -55869,6 +55972,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
55869
55972
|
type: Output
|
|
55870
55973
|
}], widgetEvent: [{
|
|
55871
55974
|
type: Output
|
|
55975
|
+
}], resourceEvent: [{
|
|
55976
|
+
type: Output
|
|
55872
55977
|
}], rowDoubleClick: [{
|
|
55873
55978
|
type: Output
|
|
55874
55979
|
}], rowExpansionChange: [{
|
|
@@ -60974,6 +61079,16 @@ const PRAXIS_TABLE_PORTS = [
|
|
|
60974
61079
|
description: 'Evento canonico de selecao de linhas; tambem alimenta o contexto sanitizado do assistente sem decidir intencao primaria.',
|
|
60975
61080
|
exposure: { public: true, group: 'selection' },
|
|
60976
61081
|
},
|
|
61082
|
+
{
|
|
61083
|
+
id: 'resourceEvent',
|
|
61084
|
+
label: 'Resource Event',
|
|
61085
|
+
direction: 'output',
|
|
61086
|
+
semanticKind: 'event',
|
|
61087
|
+
schema: { id: 'PraxisResourceEvent', kind: 'ts-type', ref: 'PraxisResourceEvent' },
|
|
61088
|
+
cardinality: 'stream',
|
|
61089
|
+
description: 'Envelope canonico para eventos de recurso, tabela e surface sem substituir os outputs legados.',
|
|
61090
|
+
exposure: { public: true, group: 'resource-runtime' },
|
|
61091
|
+
},
|
|
60977
61092
|
{
|
|
60978
61093
|
id: 'recordSurfaceOpen',
|
|
60979
61094
|
label: 'Record Surface Open',
|
|
@@ -61166,6 +61281,12 @@ const PRAXIS_TABLE_COMPONENT_METADATA = {
|
|
|
61166
61281
|
label: 'Evento de widget',
|
|
61167
61282
|
description: 'Canal host-mediated para eventos runtime governados, incluindo abertura de superfície relacionada solicitada pelo assistente.',
|
|
61168
61283
|
},
|
|
61284
|
+
{
|
|
61285
|
+
name: 'resourceEvent',
|
|
61286
|
+
type: 'PraxisResourceEvent',
|
|
61287
|
+
label: 'Evento de recurso',
|
|
61288
|
+
description: 'Envelope canonico emitido em paralelo para cliques, selecao, acoes, exportacao e abertura de superficies relacionadas.',
|
|
61289
|
+
},
|
|
61169
61290
|
{
|
|
61170
61291
|
name: 'rowDoubleClick',
|
|
61171
61292
|
type: '{ action: string; row: any }',
|
|
@@ -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 { H as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, X as coerceTableComponentEditPlans, Z as compileTableComponentEditPlans, K as TASK_PRESETS, a2 as getTableComponentEditPlanCapabilities, z as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, E as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, I as TABLE_COMPONENT_EDIT_PLAN_VERSION, y as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, G as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-
|
|
4
|
+
import { H as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, X as coerceTableComponentEditPlans, Z as compileTableComponentEditPlans, K as TASK_PRESETS, a2 as getTableComponentEditPlanCapabilities, z as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, x as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, E as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, I as TABLE_COMPONENT_EDIT_PLAN_VERSION, y as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, G as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-BKzD2XCB.mjs';
|
|
5
5
|
|
|
6
6
|
const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
|
|
7
7
|
mode: 'expression',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, n as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, o as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, p as PraxisFilter, q as PraxisFilterWidgetConfigEditor, r as PraxisTable, s as PraxisTableConfigEditor, t as PraxisTableInlineAuthoringEditorComponent, u as PraxisTableToolbar, v as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, w as TABLE_COMPONENT_AI_CAPABILITIES, x as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, y as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, z as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, E as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, G as TABLE_COMPONENT_EDIT_PLAN_KIND, I as TABLE_COMPONENT_EDIT_PLAN_VERSION, K as TASK_PRESETS, L as TableDefaultsProvider, O as TableRulesEditorComponent, Q as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, R as VisualFormulaBuilderComponent, U as buildTableApplyPlan, W as coerceTableComponentEditPlan, X as coerceTableComponentEditPlans, Y as compileTableComponentEditPlan, Z as compileTableComponentEditPlans, _ as createTableAuthoringDocument, $ as getActionId, a0 as getEnum, a1 as getTableCapabilities, a2 as getTableComponentEditPlanCapabilities, a3 as isTableRendererSupportedByRichContentP0, a4 as mapTableRendererToRichContentP0, a5 as normalizeTableAuthoringDocument, a6 as parseLegacyOrTableDocument, a7 as providePraxisFilterMetadata, a8 as providePraxisTableMetadata, a9 as providePraxisTableToolbarAppearance, aa as serializeTableAuthoringDocument, ab as toCanonicalTableConfig, ac as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-
|
|
1
|
+
export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, n as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, o as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, p as PraxisFilter, q as PraxisFilterWidgetConfigEditor, r as PraxisTable, s as PraxisTableConfigEditor, t as PraxisTableInlineAuthoringEditorComponent, u as PraxisTableToolbar, v as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, w as TABLE_COMPONENT_AI_CAPABILITIES, x as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, y as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, z as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, E as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, G as TABLE_COMPONENT_EDIT_PLAN_KIND, I as TABLE_COMPONENT_EDIT_PLAN_VERSION, K as TASK_PRESETS, L as TableDefaultsProvider, O as TableRulesEditorComponent, Q as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, R as VisualFormulaBuilderComponent, U as buildTableApplyPlan, W as coerceTableComponentEditPlan, X as coerceTableComponentEditPlans, Y as compileTableComponentEditPlan, Z as compileTableComponentEditPlans, _ as createTableAuthoringDocument, $ as getActionId, a0 as getEnum, a1 as getTableCapabilities, a2 as getTableComponentEditPlanCapabilities, a3 as isTableRendererSupportedByRichContentP0, a4 as mapTableRendererToRichContentP0, a5 as normalizeTableAuthoringDocument, a6 as parseLegacyOrTableDocument, a7 as providePraxisFilterMetadata, a8 as providePraxisTableMetadata, a9 as providePraxisTableToolbarAppearance, aa as serializeTableAuthoringDocument, ab as toCanonicalTableConfig, ac as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-BKzD2XCB.mjs';
|
package/package.json
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/table",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.37",
|
|
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.0-beta.
|
|
10
|
-
"@praxisui/core": "^9.0.0-beta.
|
|
11
|
-
"@praxisui/dynamic-fields": "^9.0.0-beta.
|
|
12
|
-
"@praxisui/dynamic-form": "^9.0.0-beta.
|
|
13
|
-
"@praxisui/metadata-editor": "^9.0.0-beta.
|
|
14
|
-
"@praxisui/rich-content": "^9.0.0-beta.
|
|
15
|
-
"@praxisui/settings-panel": "^9.0.0-beta.
|
|
16
|
-
"@praxisui/table-rule-builder": "^9.0.0-beta.
|
|
9
|
+
"@praxisui/ai": "^9.0.0-beta.37",
|
|
10
|
+
"@praxisui/core": "^9.0.0-beta.37",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.0-beta.37",
|
|
12
|
+
"@praxisui/dynamic-form": "^9.0.0-beta.37",
|
|
13
|
+
"@praxisui/metadata-editor": "^9.0.0-beta.37",
|
|
14
|
+
"@praxisui/rich-content": "^9.0.0-beta.37",
|
|
15
|
+
"@praxisui/settings-panel": "^9.0.0-beta.37",
|
|
16
|
+
"@praxisui/table-rule-builder": "^9.0.0-beta.37",
|
|
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.0-beta.
|
|
21
|
+
"@praxisui/dialog": "^9.0.0-beta.37",
|
|
22
22
|
"rxjs": "~7.8.0"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
-
import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
2
|
+
import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector, Type } from '@angular/core';
|
|
5
5
|
import { ActivatedRoute } from '@angular/router';
|
|
@@ -1091,6 +1091,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1091
1091
|
private advancedFilterMetadataOverridesCache?;
|
|
1092
1092
|
rowClick: EventEmitter<any>;
|
|
1093
1093
|
widgetEvent: EventEmitter<any>;
|
|
1094
|
+
resourceEvent: EventEmitter<PraxisResourceEvent<unknown>>;
|
|
1094
1095
|
rowDoubleClick: EventEmitter<any>;
|
|
1095
1096
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
1096
1097
|
rowAction: EventEmitter<any>;
|
|
@@ -2296,6 +2297,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2296
2297
|
getMasterSelectionAriaLabel(): string;
|
|
2297
2298
|
private selectRowFromUserInteraction;
|
|
2298
2299
|
private emitSelectionChange;
|
|
2300
|
+
private emitResourceEvent;
|
|
2301
|
+
private buildResourceEvent;
|
|
2299
2302
|
private getSelectedRowsSnapshot;
|
|
2300
2303
|
private getAiAssistantSelectionFields;
|
|
2301
2304
|
private buildAiAssistantSelectionFilterCandidates;
|
|
@@ -2374,7 +2377,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
2374
2377
|
private scheduleRowDiscoveryMarkForCheck;
|
|
2375
2378
|
ngOnDestroy(): void;
|
|
2376
2379
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
2377
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "columnResize": "columnResize"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
2380
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "resourceEvent": "resourceEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "columnResize": "columnResize"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
2378
2381
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
2379
2382
|
}
|
|
2380
2383
|
|