@praxisui/crud 9.0.0-beta.7 → 9.0.0-beta.71
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 +26 -9
- package/ai/component-registry.json +10741 -0
- package/fesm2022/praxisui-crud.mjs +569 -73
- package/package.json +12 -8
- package/types/praxisui-crud.d.ts +39 -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.71",
|
|
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.71",
|
|
9
|
+
"@praxisui/table": "^9.0.0-beta.71",
|
|
10
|
+
"@praxisui/core": "^9.0.0-beta.71",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.0-beta.71",
|
|
12
|
+
"@praxisui/settings-panel": "^9.0.0-beta.71",
|
|
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.71",
|
|
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,8 +196,10 @@ 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;
|
|
202
|
+
private readonly surfaceOutlets;
|
|
193
203
|
private readonly componentKeys;
|
|
194
204
|
private readonly route;
|
|
195
205
|
private warnedMissingId;
|
|
@@ -203,12 +213,14 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
203
213
|
private collectionCapabilitiesResolvedHref;
|
|
204
214
|
private collectionCapabilitiesRequestSeq;
|
|
205
215
|
private currentAuthoringDocument?;
|
|
216
|
+
selectedRow: Record<string, unknown> | null;
|
|
206
217
|
private getResourceDiscovery;
|
|
207
218
|
private getActionOpenAdapter;
|
|
208
219
|
private getSurfaceOpenAdapter;
|
|
209
220
|
onResetPreferences(): void;
|
|
210
221
|
onTableRowClick(event: unknown): void;
|
|
211
222
|
onTableSelectionChange(event: unknown): void;
|
|
223
|
+
onBulkAction(event: CrudActionRuntimeEvent): Promise<void>;
|
|
212
224
|
ngOnChanges(changes: SimpleChanges): void;
|
|
213
225
|
onAction(action: string, row?: Record<string, unknown>, runtimeEvent?: CrudActionRuntimeEvent): Promise<void>;
|
|
214
226
|
private hasExplicitOpenBinding;
|
|
@@ -226,6 +238,11 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
226
238
|
onConfigureRequested(): void;
|
|
227
239
|
private tryHandleCanonicalDeleteAction;
|
|
228
240
|
private refreshTable;
|
|
241
|
+
private tryRefreshMaterializedLocalData;
|
|
242
|
+
private isCurrentMaterializedRefresh;
|
|
243
|
+
private resolveMaterializedReadUrl;
|
|
244
|
+
private unwrapRestData;
|
|
245
|
+
private extractCollectionData;
|
|
229
246
|
private emitTableRuntimeConfigSnapshot;
|
|
230
247
|
private applyResolvedCrudState;
|
|
231
248
|
private assignTableConfigForBinding;
|
|
@@ -234,6 +251,10 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
234
251
|
private syncRuntimeBindings;
|
|
235
252
|
private resolveQueryContext;
|
|
236
253
|
private resolveFilterCriteria;
|
|
254
|
+
private extractRowFromEvent;
|
|
255
|
+
private extractSelectedRowFromEvent;
|
|
256
|
+
private extractSelectedRowFromBulkAction;
|
|
257
|
+
private resolveSelectedRowForAction;
|
|
237
258
|
private tryOpenDiscoveredCrudSurface;
|
|
238
259
|
private resolveDiscoveredSurfaceCatalog;
|
|
239
260
|
private tryOpenDiscoveredWorkflowAction;
|
|
@@ -251,6 +272,9 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
251
272
|
private handleDiscoveredSurfaceResult;
|
|
252
273
|
private buildEffectiveTableConfig;
|
|
253
274
|
private isAddLike;
|
|
275
|
+
private normalizeCrudActionName;
|
|
276
|
+
private shouldCanonicalizeToolbarCreateAction;
|
|
277
|
+
private isCreateActionAliasName;
|
|
254
278
|
private buildTableCrudContext;
|
|
255
279
|
private readonly openCrudAuthoringFromTable;
|
|
256
280
|
private applyCrudAuthoringPayload;
|
|
@@ -306,6 +330,7 @@ declare class CrudLauncherService {
|
|
|
306
330
|
private buildRoute;
|
|
307
331
|
private mapInputs;
|
|
308
332
|
private resolveActionForLaunch;
|
|
333
|
+
private resolveSubmitUrlTemplate;
|
|
309
334
|
private resolveActionFormContract;
|
|
310
335
|
resolveRuntimeContract(action: CrudAction, row: Record<string, unknown> | undefined, metadata: CrudMetadata, runtime?: {
|
|
311
336
|
capabilities?: ResourceCapabilitySnapshot | null;
|
|
@@ -316,10 +341,14 @@ declare class CrudLauncherService {
|
|
|
316
341
|
submitMethod?: string | null;
|
|
317
342
|
apiEndpointKey?: unknown;
|
|
318
343
|
apiUrlEntry?: unknown;
|
|
344
|
+
layoutPolicy?: unknown;
|
|
319
345
|
};
|
|
320
346
|
private buildInferredFormId;
|
|
321
347
|
private isCanonicalCrudAction;
|
|
348
|
+
private normalizeActionForLaunch;
|
|
349
|
+
private normalizeCrudOperationName;
|
|
322
350
|
private isExplicitCrudAction;
|
|
351
|
+
private defaultInferredLayoutPolicy;
|
|
323
352
|
private mergeCrudOverrides;
|
|
324
353
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CrudLauncherService, never>;
|
|
325
354
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CrudLauncherService>;
|
|
@@ -333,6 +362,7 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
333
362
|
private configStorage;
|
|
334
363
|
formComp?: PraxisDynamicForm;
|
|
335
364
|
modal: any;
|
|
365
|
+
presentation: 'modal' | 'drawer';
|
|
336
366
|
maximized: boolean;
|
|
337
367
|
private initialSize;
|
|
338
368
|
private rememberState;
|
|
@@ -347,14 +377,22 @@ declare class DynamicFormDialogHostComponent implements OnInit {
|
|
|
347
377
|
submitMethod?: string | null;
|
|
348
378
|
apiEndpointKey?: ApiEndpoint | string | null;
|
|
349
379
|
apiUrlEntry?: ApiUrlEntry | null;
|
|
380
|
+
layoutPolicy?: DynamicFormLayoutPolicy | null;
|
|
381
|
+
formConfig: FormConfig;
|
|
350
382
|
formActions?: FormConfig['actions'];
|
|
383
|
+
readonly formConfigPersistenceStrategy = "input-first";
|
|
351
384
|
mode: 'create' | 'edit' | 'view';
|
|
352
385
|
backConfig?: BackConfig;
|
|
353
386
|
private idField;
|
|
354
387
|
texts: Record<string, string>;
|
|
355
388
|
constructor(dialogRef: DialogRef<DynamicFormDialogHostComponent>, data: any, dialogService: DialogService, crud: GenericCrudService<any>, configStorage: AsyncConfigStorage);
|
|
356
389
|
private extractInitialValue;
|
|
390
|
+
private resolveFormConfig;
|
|
391
|
+
get dialogTitle(): string;
|
|
392
|
+
private resolveActionDialogTitle;
|
|
393
|
+
private resolveResourceTitle;
|
|
357
394
|
private resolveFormActions;
|
|
395
|
+
private resolveLayoutPolicy;
|
|
358
396
|
private resolveSubmitLabel;
|
|
359
397
|
ngOnInit(): void;
|
|
360
398
|
onSave(result: unknown): void;
|