@praxisui/crud 9.0.5-rc.9 → 9.0.6
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 +27 -3
- package/ai/component-registry.json +65 -12
- package/fesm2022/praxisui-crud.mjs +339 -64
- package/package.json +7 -7
- package/types/praxisui-crud-drawer-adapter.d.ts +32 -1
- package/types/praxisui-crud.d.ts +87 -6
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/crud",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.6",
|
|
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.
|
|
9
|
-
"@praxisui/table": "^9.0.
|
|
10
|
-
"@praxisui/core": "^9.0.
|
|
11
|
-
"@praxisui/dynamic-fields": "^9.0.
|
|
12
|
-
"@praxisui/settings-panel": "^9.0.
|
|
8
|
+
"@praxisui/dynamic-form": "^9.0.6",
|
|
9
|
+
"@praxisui/table": "^9.0.6",
|
|
10
|
+
"@praxisui/core": "^9.0.6",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.6",
|
|
12
|
+
"@praxisui/settings-panel": "^9.0.6",
|
|
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.
|
|
17
|
+
"@praxisui/ai": "^9.0.6",
|
|
18
18
|
"rxjs": "~7.8.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
@@ -51,12 +51,37 @@ interface CrudDrawerResult {
|
|
|
51
51
|
type: CrudDrawerResultType;
|
|
52
52
|
data?: Record<string, unknown>;
|
|
53
53
|
}
|
|
54
|
+
/** Minimal structural evidence contract kept local to the light entrypoint. */
|
|
55
|
+
interface CrudReactiveDeterminationExecutionEvent {
|
|
56
|
+
determinationId: string;
|
|
57
|
+
operationId: string;
|
|
58
|
+
status: 'pending' | 'success' | 'skipped' | 'error';
|
|
59
|
+
sourcePaths: string[];
|
|
60
|
+
targetPaths: string[];
|
|
61
|
+
appliedTargetPaths?: string[];
|
|
62
|
+
correlationId: string;
|
|
63
|
+
durationMs: number;
|
|
64
|
+
reason?: string;
|
|
65
|
+
provenance: {
|
|
66
|
+
kind: 'platform' | 'host';
|
|
67
|
+
source: string;
|
|
68
|
+
version?: string;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
/** Minimal structural stability contract kept local to the light entrypoint. */
|
|
72
|
+
interface CrudReactiveDeterminationStabilityChange {
|
|
73
|
+
status: 'pending' | 'settled-satisfied' | 'settled-unsatisfied';
|
|
74
|
+
pending: boolean;
|
|
75
|
+
unsatisfied: boolean;
|
|
76
|
+
}
|
|
54
77
|
interface CrudDrawerOpenConfig {
|
|
55
78
|
action: CrudAction;
|
|
56
79
|
metadata: CrudMetadata;
|
|
57
80
|
inputs: Record<string, unknown>;
|
|
58
81
|
/** Read-only record context for existing-record drawers. It is never part of form inputs or submit payloads. */
|
|
59
82
|
resourceIdentity?: MaterializedResourceIdentity | null;
|
|
83
|
+
/** Presentation-only preference. Defaults to true; false hides the record identity key while preserving its title. */
|
|
84
|
+
showResourceIdentityKey?: boolean;
|
|
60
85
|
/** Read-only task scope for related operations. It is never part of form inputs or submit payloads. */
|
|
61
86
|
contextIdentity?: MaterializedResourceIdentity | null;
|
|
62
87
|
/**
|
|
@@ -68,6 +93,12 @@ interface CrudDrawerOpenConfig {
|
|
|
68
93
|
* Hosts podem propagar `save/delete/close` para sincronizar telemetria/eventos.
|
|
69
94
|
*/
|
|
70
95
|
onResult?: (result: CrudDrawerResult) => void;
|
|
96
|
+
/** Bind to the child form's metadata-only determination evidence. */
|
|
97
|
+
onReactiveDetermination?: (event: CrudReactiveDeterminationExecutionEvent) => void;
|
|
98
|
+
/** Bind to pending state and refuse every adapter-owned close/submit while true. */
|
|
99
|
+
onReactiveDeterminationPendingChange?: (pending: boolean) => void;
|
|
100
|
+
/** Report aggregate success/unsatisfied stability without form values. */
|
|
101
|
+
onReactiveDeterminationStabilityChange?: (stability: CrudReactiveDeterminationStabilityChange) => void;
|
|
71
102
|
}
|
|
72
103
|
interface CrudDrawerAdapter {
|
|
73
104
|
open(config: CrudDrawerOpenConfig): Promise<void> | void;
|
|
@@ -84,4 +115,4 @@ interface DialogConfig<D = any> extends MatDialogConfig<D> {
|
|
|
84
115
|
declare const CRUD_DRAWER_ADAPTER: InjectionToken<CrudDrawerAdapter>;
|
|
85
116
|
|
|
86
117
|
export { CRUD_DRAWER_ADAPTER };
|
|
87
|
-
export type { CrudAction, CrudDefaults, CrudDrawerAdapter, CrudDrawerOpenConfig, CrudDrawerResult, CrudDrawerResultType, CrudHeaderConfig, CrudMetadata, CrudParamMapping, CrudResource, DialogConfig, FormOpenMode };
|
|
118
|
+
export type { CrudAction, CrudDefaults, CrudDrawerAdapter, CrudDrawerOpenConfig, CrudDrawerResult, CrudDrawerResultType, CrudHeaderConfig, CrudMetadata, CrudParamMapping, CrudReactiveDeterminationExecutionEvent, CrudReactiveDeterminationStabilityChange, CrudResource, DialogConfig, FormOpenMode };
|
package/types/praxisui-crud.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { NgZone, OnChanges, EventEmitter, SimpleChanges, OnInit, AfterViewInit, Provider, OnDestroy } from '@angular/core';
|
|
3
1
|
import * as _praxisui_core from '@praxisui/core';
|
|
4
|
-
import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, BackConfig, TableConfig, PraxisDataQueryContext, FormConfig, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, MaterializedResourceIdentity, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, SurfaceDrawerRef, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider } from '@praxisui/core';
|
|
2
|
+
import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, BackConfig, TableConfig, PraxisDataQueryContext, FormConfig, ReactiveDeterminationExecutionEvent, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, MaterializedResourceIdentity, PraxisResourceEvent, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, SurfaceDrawerRef, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider } from '@praxisui/core';
|
|
5
3
|
export { BackConfig } from '@praxisui/core';
|
|
4
|
+
import * as _angular_core from '@angular/core';
|
|
5
|
+
import { NgZone, OnChanges, EventEmitter, SimpleChanges, OnInit, AfterViewInit, Provider, OnDestroy } from '@angular/core';
|
|
6
6
|
import { TableConfigPersistenceStrategy } from '@praxisui/table';
|
|
7
7
|
import { MatDialogConfig, MatDialogRef, MatDialog } from '@angular/material/dialog';
|
|
8
8
|
export { MAT_DIALOG_DATA as DIALOG_DATA } from '@angular/material/dialog';
|
|
@@ -48,6 +48,17 @@ declare class DialogService {
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
type FormOpenMode = 'route' | 'modal' | 'drawer';
|
|
51
|
+
type CrudReactiveDeterminationStabilityStatus = 'pending' | 'settled-satisfied' | 'settled-unsatisfied';
|
|
52
|
+
/** Value-free stability evidence for the Dynamic Form opened by one CRUD action. */
|
|
53
|
+
interface CrudFormReactiveDeterminationStabilityChange {
|
|
54
|
+
status: CrudReactiveDeterminationStabilityStatus;
|
|
55
|
+
pending: boolean;
|
|
56
|
+
unsatisfied: boolean;
|
|
57
|
+
}
|
|
58
|
+
/** Public CRUD output enriched with the action that owns the open form. */
|
|
59
|
+
interface CrudReactiveDeterminationStabilityChange extends CrudFormReactiveDeterminationStabilityChange {
|
|
60
|
+
action: string;
|
|
61
|
+
}
|
|
51
62
|
interface CrudParamMapping {
|
|
52
63
|
from: string;
|
|
53
64
|
to: 'routeParam' | 'query' | 'input';
|
|
@@ -177,6 +188,8 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
177
188
|
tableConfigPersistenceStrategy: TableConfigPersistenceStrategy;
|
|
178
189
|
context?: Record<string, unknown>;
|
|
179
190
|
enableCustomization: boolean;
|
|
191
|
+
/** Controls whether existing-record hosts expose the canonical identity key. */
|
|
192
|
+
showResourceIdentityKey: boolean;
|
|
180
193
|
/** Capability publica exigida para authoring governado do CRUD e da tabela interna. */
|
|
181
194
|
authoringCapability: string | null;
|
|
182
195
|
configureRequested: EventEmitter<void>;
|
|
@@ -192,11 +205,23 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
192
205
|
afterDelete: EventEmitter<{
|
|
193
206
|
id: string | number;
|
|
194
207
|
}>;
|
|
208
|
+
/** Metadata-only Reactive Determination evidence from an open form host. */
|
|
209
|
+
reactiveDeterminationExecuted: EventEmitter<{
|
|
210
|
+
action: string;
|
|
211
|
+
event: ReactiveDeterminationExecutionEvent;
|
|
212
|
+
}>;
|
|
213
|
+
reactiveDeterminationPendingChange: EventEmitter<{
|
|
214
|
+
action: string;
|
|
215
|
+
pending: boolean;
|
|
216
|
+
}>;
|
|
217
|
+
reactiveDeterminationStabilityChange: EventEmitter<CrudReactiveDeterminationStabilityChange>;
|
|
195
218
|
error: EventEmitter<unknown>;
|
|
196
219
|
rowClick: EventEmitter<unknown>;
|
|
197
220
|
/** Emits the canonical table row-action envelope before the CRUD handles its surface/action. */
|
|
198
221
|
rowAction: EventEmitter<CrudActionRuntimeEvent>;
|
|
199
222
|
selectionChange: EventEmitter<unknown>;
|
|
223
|
+
/** Forwards the canonical resource interaction envelope emitted by the internal table. */
|
|
224
|
+
readonly resourceEvent: _angular_core.OutputEmitterRef<PraxisResourceEvent<unknown>>;
|
|
200
225
|
tableRuntimeConfigChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
201
226
|
crudAuthoringDocumentApplied: EventEmitter<CrudAuthoringWidgetPersistenceEvent>;
|
|
202
227
|
crudAuthoringDocumentSaved: EventEmitter<CrudAuthoringWidgetPersistenceEvent>;
|
|
@@ -218,11 +243,13 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
218
243
|
private readonly snack;
|
|
219
244
|
private readonly dialog;
|
|
220
245
|
private readonly i18n;
|
|
246
|
+
private readonly logger;
|
|
221
247
|
private readonly injector;
|
|
222
248
|
private resourceDiscoveryInstance?;
|
|
223
249
|
private actionOpenAdapterInstance?;
|
|
224
250
|
private surfaceOpenAdapterInstance?;
|
|
225
251
|
private materializedRefreshSequence;
|
|
252
|
+
private surfaceOpenAttemptSequence;
|
|
226
253
|
private readonly global;
|
|
227
254
|
private readonly surfaceService;
|
|
228
255
|
private readonly surfaceOutlets;
|
|
@@ -230,6 +257,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
230
257
|
private readonly route;
|
|
231
258
|
private warnedMissingId;
|
|
232
259
|
private lastEmittedTableRuntimeConfigJson;
|
|
260
|
+
private lastTableRuntimeConfigSnapshot;
|
|
233
261
|
private lastAssignedTableConfigJson;
|
|
234
262
|
private lastAssignedTableCrudContextJson;
|
|
235
263
|
private lastAppliedResourceIdentity;
|
|
@@ -249,6 +277,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
249
277
|
onResetPreferences(): void;
|
|
250
278
|
onTableRowClick(event: unknown): void;
|
|
251
279
|
onTableSelectionChange(event: unknown): void;
|
|
280
|
+
onTableResourceEvent(event: PraxisResourceEvent<unknown>): void;
|
|
252
281
|
onBulkAction(event: CrudActionRuntimeEvent): Promise<void>;
|
|
253
282
|
onToolbarAction(event: CrudActionRuntimeEvent): Promise<void>;
|
|
254
283
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -258,6 +287,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
258
287
|
private resolveOpeningActionLabel;
|
|
259
288
|
private hasExplicitOpenBinding;
|
|
260
289
|
getCurrentTableConfigSnapshot(): TableConfig | null;
|
|
290
|
+
onTableConfigChange(config: TableConfig): void;
|
|
261
291
|
onTableMetadataChange(): void;
|
|
262
292
|
onTableLoadingStateChange(state: LoadingState): void;
|
|
263
293
|
onCollectionLinksChange(links: RestApiLinks | null | undefined): void;
|
|
@@ -279,6 +309,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
279
309
|
private unwrapRestData;
|
|
280
310
|
private extractCollectionData;
|
|
281
311
|
private emitTableRuntimeConfigSnapshot;
|
|
312
|
+
private cloneTableConfigSnapshot;
|
|
282
313
|
private applyResolvedCrudState;
|
|
283
314
|
private assignTableConfigForBinding;
|
|
284
315
|
private assignTableCrudContext;
|
|
@@ -302,6 +333,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
302
333
|
private resolveDiscoveredSurfaceCatalog;
|
|
303
334
|
private tryOpenDiscoveredWorkflowAction;
|
|
304
335
|
private notifySurfaceNavigationFailure;
|
|
336
|
+
private reportDiscoveredSurfaceOpenFailure;
|
|
305
337
|
private resolveDiscoveredActionCatalog;
|
|
306
338
|
private selectDiscoveredWorkflowAction;
|
|
307
339
|
private resolveProvidedWorkflowAction;
|
|
@@ -351,7 +383,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
351
383
|
private txWithParams;
|
|
352
384
|
private interpolateTranslationParams;
|
|
353
385
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudComponent, 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>;
|
|
386
|
+
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; }; "showResourceIdentityKey": { "alias": "showResourceIdentityKey"; "required": false; }; "authoringCapability": { "alias": "authoringCapability"; "required": false; }; }, { "configureRequested": "configureRequested"; "afterOpen": "afterOpen"; "afterClose": "afterClose"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "reactiveDeterminationExecuted": "reactiveDeterminationExecuted"; "reactiveDeterminationPendingChange": "reactiveDeterminationPendingChange"; "reactiveDeterminationStabilityChange": "reactiveDeterminationStabilityChange"; "error": "error"; "rowClick": "rowClick"; "rowAction": "rowAction"; "selectionChange": "selectionChange"; "resourceEvent": "resourceEvent"; "tableRuntimeConfigChange": "tableRuntimeConfigChange"; "crudAuthoringDocumentApplied": "crudAuthoringDocumentApplied"; "crudAuthoringDocumentSaved": "crudAuthoringDocumentSaved"; }, never, never, true, never>;
|
|
355
387
|
}
|
|
356
388
|
|
|
357
389
|
type CrudDrawerResultType = 'save' | 'delete' | 'close';
|
|
@@ -359,12 +391,48 @@ interface CrudDrawerResult {
|
|
|
359
391
|
type: CrudDrawerResultType;
|
|
360
392
|
data?: Record<string, unknown>;
|
|
361
393
|
}
|
|
394
|
+
interface CrudDrawerOpenConfig {
|
|
395
|
+
action: CrudAction;
|
|
396
|
+
metadata: CrudMetadata;
|
|
397
|
+
inputs: Record<string, unknown>;
|
|
398
|
+
/** Read-only record context for existing-record drawers. It is never part of form inputs or submit payloads. */
|
|
399
|
+
resourceIdentity?: MaterializedResourceIdentity | null;
|
|
400
|
+
/** Presentation-only preference. Defaults to true; false hides the record identity key while preserving its title. */
|
|
401
|
+
showResourceIdentityKey?: boolean;
|
|
402
|
+
/** Read-only task scope for related operations. It is never part of form inputs or submit payloads. */
|
|
403
|
+
contextIdentity?: MaterializedResourceIdentity | null;
|
|
404
|
+
/**
|
|
405
|
+
* Ephemeral focus policy resolved for this opening. A host adapter must
|
|
406
|
+
* forward it to its native overlay and must never persist, clone, or put it
|
|
407
|
+
* into form inputs or submit payloads. When a responsive render replaces a
|
|
408
|
+
* detached HTMLElement, an adapter should recover the matching
|
|
409
|
+
* `data-praxis-focus-key` element before focusing it.
|
|
410
|
+
*/
|
|
411
|
+
restoreFocus?: boolean | string | HTMLElement;
|
|
412
|
+
/**
|
|
413
|
+
* Notifica fechamento do drawer (cancelamento/fechamento externo/resultado finalizado).
|
|
414
|
+
*/
|
|
415
|
+
onClose?: () => void;
|
|
416
|
+
/**
|
|
417
|
+
* Notifica resultado semântico do fluxo em drawer.
|
|
418
|
+
* Hosts podem propagar `save/delete/close` para sincronizar telemetria/eventos.
|
|
419
|
+
*/
|
|
420
|
+
onResult?: (result: CrudDrawerResult) => void;
|
|
421
|
+
/** Bind to the child Dynamic Form metadata-only execution event. */
|
|
422
|
+
onReactiveDetermination?: (event: ReactiveDeterminationExecutionEvent) => void;
|
|
423
|
+
/** Bind to the child pending event and guard every adapter-owned close/submit. */
|
|
424
|
+
onReactiveDeterminationPendingChange?: (pending: boolean) => void;
|
|
425
|
+
/** Report aggregate settled-success/settled-unsatisfied state without form values. */
|
|
426
|
+
onReactiveDeterminationStabilityChange?: (stability: CrudFormReactiveDeterminationStabilityChange) => void;
|
|
427
|
+
}
|
|
362
428
|
|
|
363
429
|
interface CrudLaunchRuntime {
|
|
364
430
|
capabilities?: ResourceCapabilitySnapshot | null;
|
|
365
431
|
links?: RestApiLinks | null;
|
|
366
432
|
resourceIdentity?: MaterializedResourceIdentity | null;
|
|
367
433
|
contextIdentity?: MaterializedResourceIdentity | null;
|
|
434
|
+
/** Presentation-only preference for the existing-record identity key. */
|
|
435
|
+
showResourceIdentityKey?: boolean;
|
|
368
436
|
/** Active runtime drawer session. It is never persisted in CRUD metadata. */
|
|
369
437
|
surfaceRuntime?: SurfaceDrawerRef | null;
|
|
370
438
|
/** Stable runtime trigger for restoring focus after a form overlay closes. */
|
|
@@ -383,6 +451,9 @@ declare class CrudLauncherService {
|
|
|
383
451
|
launch(action: CrudAction, row: Record<string, unknown> | undefined, metadata: CrudMetadata, componentKeyId?: string | null, drawerCallbacks?: {
|
|
384
452
|
onClose?: () => void;
|
|
385
453
|
onResult?: (result: CrudDrawerResult) => void;
|
|
454
|
+
onReactiveDetermination?: CrudDrawerOpenConfig['onReactiveDetermination'];
|
|
455
|
+
onReactiveDeterminationPendingChange?: CrudDrawerOpenConfig['onReactiveDeterminationPendingChange'];
|
|
456
|
+
onReactiveDeterminationStabilityChange?: CrudDrawerOpenConfig['onReactiveDeterminationStabilityChange'];
|
|
386
457
|
}, runtime?: CrudLaunchRuntime): Promise<{
|
|
387
458
|
mode: FormOpenMode;
|
|
388
459
|
ref?: DialogRef<any>;
|
|
@@ -428,6 +499,9 @@ declare class DynamicFormDialogHostComponent implements OnInit, AfterViewInit {
|
|
|
428
499
|
private configStorage;
|
|
429
500
|
private readonly surfaceRef;
|
|
430
501
|
formComp?: PraxisDynamicForm;
|
|
502
|
+
reactiveDeterminationExecuted: EventEmitter<ReactiveDeterminationExecutionEvent>;
|
|
503
|
+
reactiveDeterminationPendingChange: EventEmitter<boolean>;
|
|
504
|
+
reactiveDeterminationStabilityChange: EventEmitter<CrudFormReactiveDeterminationStabilityChange>;
|
|
431
505
|
modal: any;
|
|
432
506
|
presentation: 'modal' | 'drawer' | 'surface-frame';
|
|
433
507
|
maximized: boolean;
|
|
@@ -439,11 +513,13 @@ declare class DynamicFormDialogHostComponent implements OnInit, AfterViewInit {
|
|
|
439
513
|
private terminalClose;
|
|
440
514
|
private destroyRef;
|
|
441
515
|
private readonly i18n;
|
|
516
|
+
private reactiveDeterminationStabilitySignature;
|
|
442
517
|
resourcePath?: string;
|
|
443
518
|
resourceId?: string | number;
|
|
444
519
|
initialValue?: Record<string, unknown> | null;
|
|
445
520
|
resourceIdentity: MaterializedResourceIdentity | null;
|
|
446
521
|
contextIdentity: MaterializedResourceIdentity | null;
|
|
522
|
+
showResourceIdentityKey: boolean;
|
|
447
523
|
schemaUrl?: string | null;
|
|
448
524
|
submitUrl?: string | null;
|
|
449
525
|
submitMethod?: string | null;
|
|
@@ -479,6 +555,10 @@ declare class DynamicFormDialogHostComponent implements OnInit, AfterViewInit {
|
|
|
479
555
|
ngAfterViewInit(): void;
|
|
480
556
|
onSave(result: unknown): void;
|
|
481
557
|
onCancel(): void;
|
|
558
|
+
onReactiveDeterminationExecuted(event: ReactiveDeterminationExecutionEvent): void;
|
|
559
|
+
onReactiveDeterminationPendingChange(pending: boolean): void;
|
|
560
|
+
private emitReactiveDeterminationStability;
|
|
561
|
+
private continueCancel;
|
|
482
562
|
private canLeaveSurfaceFrame;
|
|
483
563
|
toggleMaximize(initial?: boolean): void;
|
|
484
564
|
private resolveOverlayPane;
|
|
@@ -488,7 +568,7 @@ declare class DynamicFormDialogHostComponent implements OnInit, AfterViewInit {
|
|
|
488
568
|
private updateHostPosition;
|
|
489
569
|
private resolveMaximizedDrawerPosition;
|
|
490
570
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicFormDialogHostComponent, [{ optional: true; }, { optional: true; }, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
491
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormDialogHostComponent, "praxis-dynamic-form-dialog-host", never, {}, {}, never, never, true, never>;
|
|
571
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicFormDialogHostComponent, "praxis-dynamic-form-dialog-host", never, {}, { "reactiveDeterminationExecuted": "reactiveDeterminationExecuted"; "reactiveDeterminationPendingChange": "reactiveDeterminationPendingChange"; "reactiveDeterminationStabilityChange": "reactiveDeterminationStabilityChange"; }, never, never, true, never>;
|
|
492
572
|
}
|
|
493
573
|
|
|
494
574
|
/** Metadata for PraxisCrudComponent */
|
|
@@ -626,6 +706,7 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
|
|
|
626
706
|
actionParams(actionName: CrudEditorActionKey): CrudParamMapping[];
|
|
627
707
|
actionInitialValueDraft(actionName: CrudEditorActionKey): string;
|
|
628
708
|
actionLabel(actionName: CrudEditorActionKey): string;
|
|
709
|
+
actionUsesRoute(actionName: CrudEditorActionKey): boolean;
|
|
629
710
|
actionSummary(actionName: CrudEditorActionKey): string;
|
|
630
711
|
actionEffectiveBindingSummary(actionName: CrudEditorActionKey): string;
|
|
631
712
|
actionSubmitSummary(actionName: CrudEditorActionKey): string;
|
|
@@ -770,4 +851,4 @@ type OpenCrudMetadataEditorOptions = {
|
|
|
770
851
|
declare function openCrudMetadataEditor(settings: SettingsPanelService, opts?: OpenCrudMetadataEditorOptions): _praxisui_settings_panel.SettingsPanelRef;
|
|
771
852
|
|
|
772
853
|
export { CRUD_AI_CAPABILITIES, CrudLauncherService, CrudMetadataEditorComponent, CrudPageHeaderComponent, DialogService, DynamicFormDialogHostComponent, PRAXIS_CRUD_AUTHORING_MANIFEST, PRAXIS_CRUD_COMPONENT_METADATA, PraxisCrudComponent, PraxisCrudWidgetConfigEditor, assertCrudMetadata, createCrudAuthoringDocument, findCrudAction, normalizeCrudAuthoringDocument, openCrudMetadataEditor, parseLegacyOrCrudDocument, providePraxisCrudMetadata, serializeCrudAuthoringDocument, validateCrudAuthoringDocument };
|
|
773
|
-
export type { Capability, CapabilityCatalog, CapabilityCategory, CrudAction, CrudActionFormContract, CrudActionResolutionMode, CrudAuthoringDocument, CrudAuthoringWidgetPersistenceEvent, CrudDefaults, CrudEditorDiagnostic, CrudHeaderConfig, CrudHeaderVariant, CrudMetadata, CrudMetadataAssertionOptions, CrudParamMapping, CrudResource, CrudValidationContext, DialogConfig, DialogRef, FormOpenMode, OpenCrudMetadataEditorOptions, PraxisCrudWidgetEditorInputs, PraxisCrudWidgetEditorValue, ValueKind };
|
|
854
|
+
export type { Capability, CapabilityCatalog, CapabilityCategory, CrudAction, CrudActionFormContract, CrudActionResolutionMode, CrudAuthoringDocument, CrudAuthoringWidgetPersistenceEvent, CrudDefaults, CrudEditorDiagnostic, CrudFormReactiveDeterminationStabilityChange, CrudHeaderConfig, CrudHeaderVariant, CrudMetadata, CrudMetadataAssertionOptions, CrudParamMapping, CrudReactiveDeterminationStabilityChange, CrudReactiveDeterminationStabilityStatus, CrudResource, CrudValidationContext, DialogConfig, DialogRef, FormOpenMode, OpenCrudMetadataEditorOptions, PraxisCrudWidgetEditorInputs, PraxisCrudWidgetEditorValue, ValueKind };
|