@praxisui/crud 9.0.0-beta.6 → 9.0.0-beta.60
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 +10741 -0
- package/fesm2022/praxisui-crud.mjs +543 -70
- package/package.json +12 -8
- package/types/praxisui-crud.d.ts +38 -1
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/crud",
|
|
3
|
-
"version": "9.0.0-beta.
|
|
3
|
+
"version": "9.0.0-beta.60",
|
|
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.0-beta.
|
|
9
|
-
"@praxisui/table": "^9.0.0-beta.
|
|
10
|
-
"@praxisui/core": "^9.0.0-beta.
|
|
11
|
-
"@praxisui/dynamic-fields": "^9.0.0-beta.
|
|
12
|
-
"@praxisui/settings-panel": "^9.0.0-beta.
|
|
8
|
+
"@praxisui/dynamic-form": "^9.0.0-beta.60",
|
|
9
|
+
"@praxisui/table": "^9.0.0-beta.60",
|
|
10
|
+
"@praxisui/core": "^9.0.0-beta.60",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.0-beta.60",
|
|
12
|
+
"@praxisui/settings-panel": "^9.0.0-beta.60",
|
|
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.0-beta.
|
|
17
|
+
"@praxisui/ai": "^9.0.0-beta.60",
|
|
18
18
|
"rxjs": "~7.8.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"keywords": [
|
|
29
29
|
"angular",
|
|
30
30
|
"praxisui",
|
|
31
|
+
"praxis",
|
|
31
32
|
"crud",
|
|
32
33
|
"admin",
|
|
33
34
|
"backoffice",
|
|
@@ -48,7 +49,10 @@
|
|
|
48
49
|
"./drawer-adapter": {
|
|
49
50
|
"types": "./types/praxisui-crud-drawer-adapter.d.ts",
|
|
50
51
|
"default": "./fesm2022/praxisui-crud-drawer-adapter.mjs"
|
|
52
|
+
},
|
|
53
|
+
"./ai/component-registry.json": {
|
|
54
|
+
"default": "./ai/component-registry.json"
|
|
51
55
|
}
|
|
52
56
|
},
|
|
53
57
|
"type": "module"
|
|
54
|
-
}
|
|
58
|
+
}
|
package/types/praxisui-crud.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
-
import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, BackConfig, TableConfig, PraxisDataQueryContext, FormConfig, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider } from '@praxisui/core';
|
|
2
|
+
import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, BackConfig, TableConfig, PraxisDataQueryContext, FormConfig, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider } from '@praxisui/core';
|
|
3
3
|
export { BackConfig } from '@praxisui/core';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
5
|
import { NgZone, OnChanges, EventEmitter, SimpleChanges, OnInit, Provider, AfterViewInit, OnDestroy } from '@angular/core';
|
|
@@ -53,6 +53,7 @@ interface CrudActionFormContract {
|
|
|
53
53
|
apiEndpointKey?: ApiEndpoint | string | null;
|
|
54
54
|
apiUrlEntry?: ApiUrlEntry | null;
|
|
55
55
|
initialValue?: Record<string, unknown> | null;
|
|
56
|
+
layoutPolicy?: DynamicFormLayoutPolicy | null;
|
|
56
57
|
}
|
|
57
58
|
type CrudActionResolutionMode = 'inferred' | 'explicit';
|
|
58
59
|
type CrudAction = (RowAction | ToolbarAction) & {
|
|
@@ -72,8 +73,13 @@ interface CrudDefaults {
|
|
|
72
73
|
}
|
|
73
74
|
interface CrudResource {
|
|
74
75
|
path: string;
|
|
76
|
+
schemaPath?: string | null;
|
|
75
77
|
idField?: string | number;
|
|
78
|
+
title?: string | null;
|
|
79
|
+
label?: string | null;
|
|
80
|
+
formTitle?: string | null;
|
|
76
81
|
endpointKey?: ApiEndpoint;
|
|
82
|
+
apiUrlEntry?: ApiUrlEntry | null;
|
|
77
83
|
}
|
|
78
84
|
interface CrudMetadata {
|
|
79
85
|
component: 'praxis-crud';
|
|
@@ -124,7 +130,9 @@ interface CrudValidationContext {
|
|
|
124
130
|
}
|
|
125
131
|
|
|
126
132
|
type CrudActionRuntimeEvent = {
|
|
133
|
+
action?: string;
|
|
127
134
|
actionConfig?: ResourceActionCatalogItem | ResourceSurfaceCatalogItem | null;
|
|
135
|
+
rows?: Record<string, unknown>[];
|
|
128
136
|
};
|
|
129
137
|
type CrudContextAction = {
|
|
130
138
|
action: string;
|
|
@@ -188,6 +196,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
188
196
|
private resourceDiscoveryInstance?;
|
|
189
197
|
private actionOpenAdapterInstance?;
|
|
190
198
|
private surfaceOpenAdapterInstance?;
|
|
199
|
+
private materializedRefreshSequence;
|
|
191
200
|
private readonly global;
|
|
192
201
|
private readonly surfaceService;
|
|
193
202
|
private readonly componentKeys;
|
|
@@ -203,12 +212,14 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
203
212
|
private collectionCapabilitiesResolvedHref;
|
|
204
213
|
private collectionCapabilitiesRequestSeq;
|
|
205
214
|
private currentAuthoringDocument?;
|
|
215
|
+
selectedRow: Record<string, unknown> | null;
|
|
206
216
|
private getResourceDiscovery;
|
|
207
217
|
private getActionOpenAdapter;
|
|
208
218
|
private getSurfaceOpenAdapter;
|
|
209
219
|
onResetPreferences(): void;
|
|
210
220
|
onTableRowClick(event: unknown): void;
|
|
211
221
|
onTableSelectionChange(event: unknown): void;
|
|
222
|
+
onBulkAction(event: CrudActionRuntimeEvent): Promise<void>;
|
|
212
223
|
ngOnChanges(changes: SimpleChanges): void;
|
|
213
224
|
onAction(action: string, row?: Record<string, unknown>, runtimeEvent?: CrudActionRuntimeEvent): Promise<void>;
|
|
214
225
|
private hasExplicitOpenBinding;
|
|
@@ -226,6 +237,11 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
226
237
|
onConfigureRequested(): void;
|
|
227
238
|
private tryHandleCanonicalDeleteAction;
|
|
228
239
|
private refreshTable;
|
|
240
|
+
private tryRefreshMaterializedLocalData;
|
|
241
|
+
private isCurrentMaterializedRefresh;
|
|
242
|
+
private resolveMaterializedReadUrl;
|
|
243
|
+
private unwrapRestData;
|
|
244
|
+
private extractCollectionData;
|
|
229
245
|
private emitTableRuntimeConfigSnapshot;
|
|
230
246
|
private applyResolvedCrudState;
|
|
231
247
|
private assignTableConfigForBinding;
|
|
@@ -234,6 +250,10 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
234
250
|
private syncRuntimeBindings;
|
|
235
251
|
private resolveQueryContext;
|
|
236
252
|
private resolveFilterCriteria;
|
|
253
|
+
private extractRowFromEvent;
|
|
254
|
+
private extractSelectedRowFromEvent;
|
|
255
|
+
private extractSelectedRowFromBulkAction;
|
|
256
|
+
private resolveSelectedRowForAction;
|
|
237
257
|
private tryOpenDiscoveredCrudSurface;
|
|
238
258
|
private resolveDiscoveredSurfaceCatalog;
|
|
239
259
|
private tryOpenDiscoveredWorkflowAction;
|
|
@@ -251,6 +271,9 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
251
271
|
private handleDiscoveredSurfaceResult;
|
|
252
272
|
private buildEffectiveTableConfig;
|
|
253
273
|
private isAddLike;
|
|
274
|
+
private normalizeCrudActionName;
|
|
275
|
+
private shouldCanonicalizeToolbarCreateAction;
|
|
276
|
+
private isCreateActionAliasName;
|
|
254
277
|
private buildTableCrudContext;
|
|
255
278
|
private readonly openCrudAuthoringFromTable;
|
|
256
279
|
private applyCrudAuthoringPayload;
|
|
@@ -306,6 +329,7 @@ declare class CrudLauncherService {
|
|
|
306
329
|
private buildRoute;
|
|
307
330
|
private mapInputs;
|
|
308
331
|
private resolveActionForLaunch;
|
|
332
|
+
private resolveSubmitUrlTemplate;
|
|
309
333
|
private resolveActionFormContract;
|
|
310
334
|
resolveRuntimeContract(action: CrudAction, row: Record<string, unknown> | undefined, metadata: CrudMetadata, runtime?: {
|
|
311
335
|
capabilities?: ResourceCapabilitySnapshot | null;
|
|
@@ -316,10 +340,14 @@ declare class CrudLauncherService {
|
|
|
316
340
|
submitMethod?: string | null;
|
|
317
341
|
apiEndpointKey?: unknown;
|
|
318
342
|
apiUrlEntry?: unknown;
|
|
343
|
+
layoutPolicy?: unknown;
|
|
319
344
|
};
|
|
320
345
|
private buildInferredFormId;
|
|
321
346
|
private isCanonicalCrudAction;
|
|
347
|
+
private normalizeActionForLaunch;
|
|
348
|
+
private normalizeCrudOperationName;
|
|
322
349
|
private isExplicitCrudAction;
|
|
350
|
+
private defaultInferredLayoutPolicy;
|
|
323
351
|
private mergeCrudOverrides;
|
|
324
352
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CrudLauncherService, never>;
|
|
325
353
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CrudLauncherService>;
|
|
@@ -333,6 +361,7 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
333
361
|
private configStorage;
|
|
334
362
|
formComp?: PraxisDynamicForm;
|
|
335
363
|
modal: any;
|
|
364
|
+
presentation: 'modal' | 'drawer';
|
|
336
365
|
maximized: boolean;
|
|
337
366
|
private initialSize;
|
|
338
367
|
private rememberState;
|
|
@@ -347,14 +376,22 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
347
376
|
submitMethod?: string | null;
|
|
348
377
|
apiEndpointKey?: ApiEndpoint | string | null;
|
|
349
378
|
apiUrlEntry?: ApiUrlEntry | null;
|
|
379
|
+
layoutPolicy?: DynamicFormLayoutPolicy | null;
|
|
380
|
+
formConfig: FormConfig;
|
|
350
381
|
formActions?: FormConfig['actions'];
|
|
382
|
+
readonly formConfigPersistenceStrategy = "input-first";
|
|
351
383
|
mode: 'create' | 'edit' | 'view';
|
|
352
384
|
backConfig?: BackConfig;
|
|
353
385
|
private idField;
|
|
354
386
|
texts: Record<string, string>;
|
|
355
387
|
constructor(dialogRef: DialogRef<DynamicFormDialogHostComponent>, data: any, dialogService: DialogService, crud: GenericCrudService<any>, configStorage: AsyncConfigStorage);
|
|
356
388
|
private extractInitialValue;
|
|
389
|
+
private resolveFormConfig;
|
|
390
|
+
get dialogTitle(): string;
|
|
391
|
+
private resolveActionDialogTitle;
|
|
392
|
+
private resolveResourceTitle;
|
|
357
393
|
private resolveFormActions;
|
|
394
|
+
private resolveLayoutPolicy;
|
|
358
395
|
private resolveSubmitLabel;
|
|
359
396
|
ngOnInit(): void;
|
|
360
397
|
onSave(result: unknown): void;
|