@praxisui/crud 9.0.0-beta.5 → 9.0.0-beta.51
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 +435 -70
- package/package.json +12 -8
- package/types/praxisui-crud.d.ts +30 -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.51",
|
|
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.51",
|
|
9
|
+
"@praxisui/table": "^9.0.0-beta.51",
|
|
10
|
+
"@praxisui/core": "^9.0.0-beta.51",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.0-beta.51",
|
|
12
|
+
"@praxisui/settings-panel": "^9.0.0-beta.51",
|
|
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.51",
|
|
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;
|
|
@@ -203,12 +211,14 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
203
211
|
private collectionCapabilitiesResolvedHref;
|
|
204
212
|
private collectionCapabilitiesRequestSeq;
|
|
205
213
|
private currentAuthoringDocument?;
|
|
214
|
+
selectedRow: Record<string, unknown> | null;
|
|
206
215
|
private getResourceDiscovery;
|
|
207
216
|
private getActionOpenAdapter;
|
|
208
217
|
private getSurfaceOpenAdapter;
|
|
209
218
|
onResetPreferences(): void;
|
|
210
219
|
onTableRowClick(event: unknown): void;
|
|
211
220
|
onTableSelectionChange(event: unknown): void;
|
|
221
|
+
onBulkAction(event: CrudActionRuntimeEvent): Promise<void>;
|
|
212
222
|
ngOnChanges(changes: SimpleChanges): void;
|
|
213
223
|
onAction(action: string, row?: Record<string, unknown>, runtimeEvent?: CrudActionRuntimeEvent): Promise<void>;
|
|
214
224
|
private hasExplicitOpenBinding;
|
|
@@ -234,6 +244,10 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
234
244
|
private syncRuntimeBindings;
|
|
235
245
|
private resolveQueryContext;
|
|
236
246
|
private resolveFilterCriteria;
|
|
247
|
+
private extractRowFromEvent;
|
|
248
|
+
private extractSelectedRowFromEvent;
|
|
249
|
+
private extractSelectedRowFromBulkAction;
|
|
250
|
+
private resolveSelectedRowForAction;
|
|
237
251
|
private tryOpenDiscoveredCrudSurface;
|
|
238
252
|
private resolveDiscoveredSurfaceCatalog;
|
|
239
253
|
private tryOpenDiscoveredWorkflowAction;
|
|
@@ -251,6 +265,9 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
251
265
|
private handleDiscoveredSurfaceResult;
|
|
252
266
|
private buildEffectiveTableConfig;
|
|
253
267
|
private isAddLike;
|
|
268
|
+
private normalizeCrudActionName;
|
|
269
|
+
private shouldCanonicalizeToolbarCreateAction;
|
|
270
|
+
private isCreateActionAliasName;
|
|
254
271
|
private buildTableCrudContext;
|
|
255
272
|
private readonly openCrudAuthoringFromTable;
|
|
256
273
|
private applyCrudAuthoringPayload;
|
|
@@ -306,6 +323,7 @@ declare class CrudLauncherService {
|
|
|
306
323
|
private buildRoute;
|
|
307
324
|
private mapInputs;
|
|
308
325
|
private resolveActionForLaunch;
|
|
326
|
+
private resolveSubmitUrlTemplate;
|
|
309
327
|
private resolveActionFormContract;
|
|
310
328
|
resolveRuntimeContract(action: CrudAction, row: Record<string, unknown> | undefined, metadata: CrudMetadata, runtime?: {
|
|
311
329
|
capabilities?: ResourceCapabilitySnapshot | null;
|
|
@@ -316,10 +334,14 @@ declare class CrudLauncherService {
|
|
|
316
334
|
submitMethod?: string | null;
|
|
317
335
|
apiEndpointKey?: unknown;
|
|
318
336
|
apiUrlEntry?: unknown;
|
|
337
|
+
layoutPolicy?: unknown;
|
|
319
338
|
};
|
|
320
339
|
private buildInferredFormId;
|
|
321
340
|
private isCanonicalCrudAction;
|
|
341
|
+
private normalizeActionForLaunch;
|
|
342
|
+
private normalizeCrudOperationName;
|
|
322
343
|
private isExplicitCrudAction;
|
|
344
|
+
private defaultInferredLayoutPolicy;
|
|
323
345
|
private mergeCrudOverrides;
|
|
324
346
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CrudLauncherService, never>;
|
|
325
347
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CrudLauncherService>;
|
|
@@ -333,6 +355,7 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
333
355
|
private configStorage;
|
|
334
356
|
formComp?: PraxisDynamicForm;
|
|
335
357
|
modal: any;
|
|
358
|
+
presentation: 'modal' | 'drawer';
|
|
336
359
|
maximized: boolean;
|
|
337
360
|
private initialSize;
|
|
338
361
|
private rememberState;
|
|
@@ -347,6 +370,8 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
347
370
|
submitMethod?: string | null;
|
|
348
371
|
apiEndpointKey?: ApiEndpoint | string | null;
|
|
349
372
|
apiUrlEntry?: ApiUrlEntry | null;
|
|
373
|
+
layoutPolicy?: DynamicFormLayoutPolicy | null;
|
|
374
|
+
formConfig: FormConfig;
|
|
350
375
|
formActions?: FormConfig['actions'];
|
|
351
376
|
mode: 'create' | 'edit' | 'view';
|
|
352
377
|
backConfig?: BackConfig;
|
|
@@ -354,7 +379,11 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
354
379
|
texts: Record<string, string>;
|
|
355
380
|
constructor(dialogRef: DialogRef<DynamicFormDialogHostComponent>, data: any, dialogService: DialogService, crud: GenericCrudService<any>, configStorage: AsyncConfigStorage);
|
|
356
381
|
private extractInitialValue;
|
|
382
|
+
private resolveFormConfig;
|
|
383
|
+
get dialogTitle(): string;
|
|
384
|
+
private resolveResourceTitle;
|
|
357
385
|
private resolveFormActions;
|
|
386
|
+
private resolveLayoutPolicy;
|
|
358
387
|
private resolveSubmitLabel;
|
|
359
388
|
ngOnInit(): void;
|
|
360
389
|
onSave(result: unknown): void;
|