@praxisui/crud 9.0.4-rc.37 → 9.0.4-rc.39
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 +1 -1
- package/ai/component-registry.json +10 -4
- package/fesm2022/praxisui-crud.mjs +17 -3
- package/package.json +7 -7
- package/types/praxisui-crud.d.ts +4 -1
package/README.md
CHANGED
|
@@ -103,7 +103,7 @@ It emits:
|
|
|
103
103
|
- `configureRequested`
|
|
104
104
|
- `afterOpen`, `afterClose`, `afterSave`, `afterDelete`
|
|
105
105
|
- `error`
|
|
106
|
-
- `rowClick`, `selectionChange`
|
|
106
|
+
- `rowClick`, `rowAction`, `selectionChange`. `rowAction` preserves the canonical table envelope (`row`, `action`, `resourceIdentity`) so a governed composition can update task context without forcing visual row selection.
|
|
107
107
|
- `tableRuntimeConfigChange`
|
|
108
108
|
- `crudAuthoringDocumentApplied`, `crudAuthoringDocumentSaved`
|
|
109
109
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-10T02:36:18.987Z",
|
|
4
4
|
"packageName": "@praxisui/crud",
|
|
5
|
-
"packageVersion": "9.0.4-rc.
|
|
5
|
+
"packageVersion": "9.0.4-rc.39",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 2,
|
|
@@ -130,6 +130,12 @@
|
|
|
130
130
|
"required": false,
|
|
131
131
|
"description": "Encaminha o clique de linha da tabela interna para composição master-detail e seleção local."
|
|
132
132
|
},
|
|
133
|
+
{
|
|
134
|
+
"name": "rowAction",
|
|
135
|
+
"type": "CrudActionRuntimeEvent",
|
|
136
|
+
"required": false,
|
|
137
|
+
"description": "Encaminha a ação contextual da linha com row, action e resourceIdentity para composição governada."
|
|
138
|
+
},
|
|
133
139
|
{
|
|
134
140
|
"name": "selectionChange",
|
|
135
141
|
"type": "unknown",
|
|
@@ -7218,9 +7224,9 @@
|
|
|
7218
7224
|
{
|
|
7219
7225
|
"chunkIndex": 0,
|
|
7220
7226
|
"chunkKind": "summary",
|
|
7221
|
-
"content": "Component ID: praxis-crud\nSelector: praxis-crud\nFriendly Name: Praxis CRUD\nDescription: Tabela com operações de CRUD via metadados.\nLib/Package: @praxisui/crud\nTags: widget, crud, configurable, hasWizard, stable\nInputs:\n - metadata (CrudMetadata | string)\n - crudId (string)\n - componentInstanceId (string)\n - tableConfigPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - context (Record<string, unknown>)\n - metadata.queryContext (PraxisDataQueryContext | null)\n - metadata.resource.schemaPath (string | null)\n - metadata.resource.title (string | null)\n - metadata.resource.formTitle (string | null)\n - metadata.filterCriteria (Record<string, unknown> | null)\n - metadata.form (FormConfig)\n - metadata.actions[].form (CrudActionFormContract)\n - enableCustomization (boolean)\n - authoringCapability (string | null)\nOutputs:\n - afterOpen ({ mode: FormOpenMode; action: string })\n - afterClose (void)\n - afterSave ({ id: string | number; data: unknown })\n - afterDelete ({ id: string | number })\n - rowClick ({ row: unknown; index: number })\n - selectionChange (unknown)\n - error (unknown)\n - configureRequested (void)\n - crudAuthoringDocumentApplied (CrudAuthoringWidgetPersistenceEvent)\n - crudAuthoringDocumentSaved (CrudAuthoringWidgetPersistenceEvent)\n",
|
|
7227
|
+
"content": "Component ID: praxis-crud\nSelector: praxis-crud\nFriendly Name: Praxis CRUD\nDescription: Tabela com operações de CRUD via metadados.\nLib/Package: @praxisui/crud\nTags: widget, crud, configurable, hasWizard, stable\nInputs:\n - metadata (CrudMetadata | string)\n - crudId (string)\n - componentInstanceId (string)\n - tableConfigPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - context (Record<string, unknown>)\n - metadata.queryContext (PraxisDataQueryContext | null)\n - metadata.resource.schemaPath (string | null)\n - metadata.resource.title (string | null)\n - metadata.resource.formTitle (string | null)\n - metadata.filterCriteria (Record<string, unknown> | null)\n - metadata.form (FormConfig)\n - metadata.actions[].form (CrudActionFormContract)\n - enableCustomization (boolean)\n - authoringCapability (string | null)\nOutputs:\n - afterOpen ({ mode: FormOpenMode; action: string })\n - afterClose (void)\n - afterSave ({ id: string | number; data: unknown })\n - afterDelete ({ id: string | number })\n - rowClick ({ row: unknown; index: number })\n - rowAction (CrudActionRuntimeEvent)\n - selectionChange (unknown)\n - error (unknown)\n - configureRequested (void)\n - crudAuthoringDocumentApplied (CrudAuthoringWidgetPersistenceEvent)\n - crudAuthoringDocumentSaved (CrudAuthoringWidgetPersistenceEvent)\n",
|
|
7222
7228
|
"sourcePointer": "projects/praxis-crud/src/lib/praxis-crud.metadata.ts",
|
|
7223
|
-
"contentHash": "
|
|
7229
|
+
"contentHash": "5f18e01c2da358f033eb9b8ee4616dac8a348addc3ce3e56bcb077b094c13300",
|
|
7224
7230
|
"sourceKind": "component_definition",
|
|
7225
7231
|
"sourceId": "praxis-crud",
|
|
7226
7232
|
"corpusVersion": "1.0.0"
|
|
@@ -3807,6 +3807,8 @@ class PraxisCrudComponent {
|
|
|
3807
3807
|
afterDelete = new EventEmitter();
|
|
3808
3808
|
error = new EventEmitter();
|
|
3809
3809
|
rowClick = new EventEmitter();
|
|
3810
|
+
/** Emits the canonical table row-action envelope before the CRUD handles its surface/action. */
|
|
3811
|
+
rowAction = new EventEmitter();
|
|
3810
3812
|
selectionChange = new EventEmitter();
|
|
3811
3813
|
tableRuntimeConfigChange = new EventEmitter();
|
|
3812
3814
|
crudAuthoringDocumentApplied = new EventEmitter();
|
|
@@ -3877,6 +3879,10 @@ class PraxisCrudComponent {
|
|
|
3877
3879
|
collectionCapabilitiesRequestSeq = 0;
|
|
3878
3880
|
currentAuthoringDocument;
|
|
3879
3881
|
selectedRow = null;
|
|
3882
|
+
onTableRowAction(event) {
|
|
3883
|
+
this.rowAction.emit(event);
|
|
3884
|
+
void this.onAction(event.action || '', event.row, event);
|
|
3885
|
+
}
|
|
3880
3886
|
getResourceDiscovery() {
|
|
3881
3887
|
const assigned = this.resourceDiscovery;
|
|
3882
3888
|
return assigned ?? (this.resourceDiscoveryInstance ??= this.injector.get(ResourceDiscoveryService));
|
|
@@ -4564,6 +4570,7 @@ class PraxisCrudComponent {
|
|
|
4564
4570
|
presentation: 'drawer',
|
|
4565
4571
|
title: surface.title,
|
|
4566
4572
|
subtitle: surface.description ?? undefined,
|
|
4573
|
+
parentIdentity: runtimeEvent?.resourceIdentity ?? null,
|
|
4567
4574
|
});
|
|
4568
4575
|
}
|
|
4569
4576
|
catch (error) {
|
|
@@ -5442,7 +5449,7 @@ class PraxisCrudComponent {
|
|
|
5442
5449
|
return Object.entries(params).reduce((current, [name, value]) => current.split(`{${name}}`).join(value), text);
|
|
5443
5450
|
}
|
|
5444
5451
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisCrudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5445
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisCrudComponent, isStandalone: true, selector: "praxis-crud", inputs: { metadata: "metadata", crudId: "crudId", componentInstanceId: "componentInstanceId", tableConfigPersistenceStrategy: "tableConfigPersistenceStrategy", context: "context", enableCustomization: "enableCustomization", authoringCapability: "authoringCapability" }, outputs: { configureRequested: "configureRequested", afterOpen: "afterOpen", afterClose: "afterClose", afterSave: "afterSave", afterDelete: "afterDelete", error: "error", rowClick: "rowClick", selectionChange: "selectionChange", tableRuntimeConfigChange: "tableRuntimeConfigChange", crudAuthoringDocumentApplied: "crudAuthoringDocumentApplied", crudAuthoringDocumentSaved: "crudAuthoringDocumentSaved" }, providers: [
|
|
5452
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisCrudComponent, isStandalone: true, selector: "praxis-crud", inputs: { metadata: "metadata", crudId: "crudId", componentInstanceId: "componentInstanceId", tableConfigPersistenceStrategy: "tableConfigPersistenceStrategy", context: "context", enableCustomization: "enableCustomization", authoringCapability: "authoringCapability" }, outputs: { configureRequested: "configureRequested", afterOpen: "afterOpen", afterClose: "afterClose", afterSave: "afterSave", afterDelete: "afterDelete", error: "error", rowClick: "rowClick", rowAction: "rowAction", selectionChange: "selectionChange", tableRuntimeConfigChange: "tableRuntimeConfigChange", crudAuthoringDocumentApplied: "crudAuthoringDocumentApplied", crudAuthoringDocumentSaved: "crudAuthoringDocumentSaved" }, providers: [
|
|
5446
5453
|
providePraxisI18nConfig(RESOURCE_DISCOVERY_I18N_CONFIG),
|
|
5447
5454
|
providePraxisI18nConfig(PRAXIS_CRUD_RUNTIME_I18N_CONFIG),
|
|
5448
5455
|
], viewQueries: [{ propertyName: "table", first: true, predicate: PraxisTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
@@ -5467,7 +5474,7 @@ class PraxisCrudComponent {
|
|
|
5467
5474
|
[authoringCapability]="authoringCapability"
|
|
5468
5475
|
(rowClick)="onTableRowClick($event)"
|
|
5469
5476
|
(selectionChange)="onTableSelectionChange($event)"
|
|
5470
|
-
(rowAction)="
|
|
5477
|
+
(rowAction)="onTableRowAction($event)"
|
|
5471
5478
|
(toolbarAction)="onToolbarAction($event)"
|
|
5472
5479
|
(bulkAction)="onBulkAction($event)"
|
|
5473
5480
|
(collectionLinksChange)="onCollectionLinksChange($event)"
|
|
@@ -5515,7 +5522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5515
5522
|
[authoringCapability]="authoringCapability"
|
|
5516
5523
|
(rowClick)="onTableRowClick($event)"
|
|
5517
5524
|
(selectionChange)="onTableSelectionChange($event)"
|
|
5518
|
-
(rowAction)="
|
|
5525
|
+
(rowAction)="onTableRowAction($event)"
|
|
5519
5526
|
(toolbarAction)="onToolbarAction($event)"
|
|
5520
5527
|
(bulkAction)="onBulkAction($event)"
|
|
5521
5528
|
(collectionLinksChange)="onCollectionLinksChange($event)"
|
|
@@ -5565,6 +5572,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5565
5572
|
type: Output
|
|
5566
5573
|
}], rowClick: [{
|
|
5567
5574
|
type: Output
|
|
5575
|
+
}], rowAction: [{
|
|
5576
|
+
type: Output
|
|
5568
5577
|
}], selectionChange: [{
|
|
5569
5578
|
type: Output
|
|
5570
5579
|
}], tableRuntimeConfigChange: [{
|
|
@@ -6684,6 +6693,11 @@ const PRAXIS_CRUD_COMPONENT_METADATA = {
|
|
|
6684
6693
|
type: '{ row: unknown; index: number }',
|
|
6685
6694
|
description: 'Encaminha o clique de linha da tabela interna para composição master-detail e seleção local.',
|
|
6686
6695
|
},
|
|
6696
|
+
{
|
|
6697
|
+
name: 'rowAction',
|
|
6698
|
+
type: 'CrudActionRuntimeEvent',
|
|
6699
|
+
description: 'Encaminha a ação contextual da linha com row, action e resourceIdentity para composição governada.',
|
|
6700
|
+
},
|
|
6687
6701
|
{
|
|
6688
6702
|
name: 'selectionChange',
|
|
6689
6703
|
type: 'unknown',
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/crud",
|
|
3
|
-
"version": "9.0.4-rc.
|
|
3
|
+
"version": "9.0.4-rc.39",
|
|
4
4
|
"description": "CRUD building blocks for Praxis UI: integrates dynamic forms and tables with unified configuration and services.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
|
-
"@praxisui/dynamic-form": "^9.0.4-rc.
|
|
9
|
-
"@praxisui/table": "^9.0.4-rc.
|
|
10
|
-
"@praxisui/core": "^9.0.4-rc.
|
|
11
|
-
"@praxisui/dynamic-fields": "^9.0.4-rc.
|
|
12
|
-
"@praxisui/settings-panel": "^9.0.4-rc.
|
|
8
|
+
"@praxisui/dynamic-form": "^9.0.4-rc.39",
|
|
9
|
+
"@praxisui/table": "^9.0.4-rc.39",
|
|
10
|
+
"@praxisui/core": "^9.0.4-rc.39",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.4-rc.39",
|
|
12
|
+
"@praxisui/settings-panel": "^9.0.4-rc.39",
|
|
13
13
|
"@angular/cdk": "^21.0.0",
|
|
14
14
|
"@angular/forms": "^21.0.0",
|
|
15
15
|
"@angular/material": "^21.0.0",
|
|
16
16
|
"@angular/router": "^21.0.0",
|
|
17
|
-
"@praxisui/ai": "^9.0.4-rc.
|
|
17
|
+
"@praxisui/ai": "^9.0.4-rc.39",
|
|
18
18
|
"rxjs": "~7.8.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
package/types/praxisui-crud.d.ts
CHANGED
|
@@ -194,6 +194,8 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
194
194
|
}>;
|
|
195
195
|
error: EventEmitter<unknown>;
|
|
196
196
|
rowClick: EventEmitter<unknown>;
|
|
197
|
+
/** Emits the canonical table row-action envelope before the CRUD handles its surface/action. */
|
|
198
|
+
rowAction: EventEmitter<CrudActionRuntimeEvent>;
|
|
197
199
|
selectionChange: EventEmitter<unknown>;
|
|
198
200
|
tableRuntimeConfigChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
199
201
|
crudAuthoringDocumentApplied: EventEmitter<CrudAuthoringWidgetPersistenceEvent>;
|
|
@@ -240,6 +242,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
240
242
|
private collectionCapabilitiesRequestSeq;
|
|
241
243
|
private currentAuthoringDocument?;
|
|
242
244
|
selectedRow: Record<string, unknown> | null;
|
|
245
|
+
onTableRowAction(event: CrudActionRuntimeEvent): void;
|
|
243
246
|
private getResourceDiscovery;
|
|
244
247
|
private getActionOpenAdapter;
|
|
245
248
|
private getSurfaceOpenAdapter;
|
|
@@ -348,7 +351,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
348
351
|
private txWithParams;
|
|
349
352
|
private interpolateTranslationParams;
|
|
350
353
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudComponent, never>;
|
|
351
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudComponent, "praxis-crud", never, { "metadata": { "alias": "metadata"; "required": true; }; "crudId": { "alias": "crudId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "tableConfigPersistenceStrategy": { "alias": "tableConfigPersistenceStrategy"; "required": false; }; "context": { "alias": "context"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "authoringCapability": { "alias": "authoringCapability"; "required": false; }; }, { "configureRequested": "configureRequested"; "afterOpen": "afterOpen"; "afterClose": "afterClose"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "error": "error"; "rowClick": "rowClick"; "selectionChange": "selectionChange"; "tableRuntimeConfigChange": "tableRuntimeConfigChange"; "crudAuthoringDocumentApplied": "crudAuthoringDocumentApplied"; "crudAuthoringDocumentSaved": "crudAuthoringDocumentSaved"; }, never, never, true, never>;
|
|
354
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudComponent, "praxis-crud", never, { "metadata": { "alias": "metadata"; "required": true; }; "crudId": { "alias": "crudId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "tableConfigPersistenceStrategy": { "alias": "tableConfigPersistenceStrategy"; "required": false; }; "context": { "alias": "context"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "authoringCapability": { "alias": "authoringCapability"; "required": false; }; }, { "configureRequested": "configureRequested"; "afterOpen": "afterOpen"; "afterClose": "afterClose"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "error": "error"; "rowClick": "rowClick"; "rowAction": "rowAction"; "selectionChange": "selectionChange"; "tableRuntimeConfigChange": "tableRuntimeConfigChange"; "crudAuthoringDocumentApplied": "crudAuthoringDocumentApplied"; "crudAuthoringDocumentSaved": "crudAuthoringDocumentSaved"; }, never, never, true, never>;
|
|
352
355
|
}
|
|
353
356
|
|
|
354
357
|
type CrudDrawerResultType = 'save' | 'delete' | 'close';
|