@praxisui/crud 9.0.4-rc.25 → 9.0.4-rc.26
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 +2 -0
- package/ai/component-registry.json +18 -6
- package/fesm2022/praxisui-crud.mjs +14 -1
- package/package.json +7 -7
- package/types/praxisui-crud.d.ts +5 -1
package/README.md
CHANGED
|
@@ -43,6 +43,7 @@ import { PraxisCrudComponent, CrudMetadata } from '@praxisui/crud';
|
|
|
43
43
|
<praxis-crud
|
|
44
44
|
crudId="employees-crud"
|
|
45
45
|
[metadata]="metadata"
|
|
46
|
+
tableConfigPersistenceStrategy="input-first"
|
|
46
47
|
[context]="context"
|
|
47
48
|
[enableCustomization]="true"
|
|
48
49
|
(afterSave)="reloadSummary()"
|
|
@@ -92,6 +93,7 @@ export class EmployeesCrudComponent {
|
|
|
92
93
|
- `metadata`: `CrudMetadata | string`
|
|
93
94
|
- `crudId`: stable instance id
|
|
94
95
|
- `componentInstanceId`: optional host-level instance id
|
|
96
|
+
- `tableConfigPersistenceStrategy`: controls persistence precedence for the internal table. Keep `local-first` for user-owned workspaces, use `input-first` for an authoritative governed contract, and use `volatile` for previews that must neither read nor write stored preferences.
|
|
95
97
|
- `context`: host/runtime context passed into table and form flows
|
|
96
98
|
- `enableCustomization`: enables the package authoring surface
|
|
97
99
|
- `authoringCapability`: optionally requires the exact capability from `EnterpriseRuntimeContext.capabilities` before authoring controls, the CRUD editor, and its internal table authoring are available. This is a UX gate; governed persistence must enforce the same policy server-side.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-04T22:30:51.687Z",
|
|
4
4
|
"packageName": "@praxisui/crud",
|
|
5
|
-
"packageVersion": "9.0.4-rc.
|
|
5
|
+
"packageVersion": "9.0.4-rc.26",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 2,
|
|
@@ -29,6 +29,13 @@
|
|
|
29
29
|
"required": false,
|
|
30
30
|
"description": "Identificador opcional para múltiplas instâncias na mesma rota."
|
|
31
31
|
},
|
|
32
|
+
{
|
|
33
|
+
"name": "tableConfigPersistenceStrategy",
|
|
34
|
+
"type": "'local-first' | 'input-first' | 'volatile'",
|
|
35
|
+
"required": false,
|
|
36
|
+
"description": "Política da tabela interna. Use input-first para contratos governados autoritativos e volatile para previews que não devem ler nem gravar preferências locais.",
|
|
37
|
+
"default": "local-first"
|
|
38
|
+
},
|
|
32
39
|
{
|
|
33
40
|
"name": "context",
|
|
34
41
|
"type": "Record<string, unknown>",
|
|
@@ -5015,6 +5022,11 @@
|
|
|
5015
5022
|
"type": "string",
|
|
5016
5023
|
"description": "Optional stable host instance id for multiple CRUD widgets on the same route."
|
|
5017
5024
|
},
|
|
5025
|
+
{
|
|
5026
|
+
"name": "tableConfigPersistenceStrategy",
|
|
5027
|
+
"type": "'local-first' | 'input-first' | 'volatile'",
|
|
5028
|
+
"description": "Persistence precedence forwarded to the internal Praxis Table. Governed previews should use input-first or volatile explicitly."
|
|
5029
|
+
},
|
|
5018
5030
|
{
|
|
5019
5031
|
"name": "context",
|
|
5020
5032
|
"type": "Record<string, unknown>",
|
|
@@ -7206,9 +7218,9 @@
|
|
|
7206
7218
|
{
|
|
7207
7219
|
"chunkIndex": 0,
|
|
7208
7220
|
"chunkKind": "summary",
|
|
7209
|
-
"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 - 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",
|
|
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",
|
|
7210
7222
|
"sourcePointer": "projects/praxis-crud/src/lib/praxis-crud.metadata.ts",
|
|
7211
|
-
"contentHash": "
|
|
7223
|
+
"contentHash": "a9d744b92ff6f475de4d870e57bc963200a7b68688a8ea5159cc02496a8967be",
|
|
7212
7224
|
"sourceKind": "component_definition",
|
|
7213
7225
|
"sourceId": "praxis-crud",
|
|
7214
7226
|
"corpusVersion": "1.0.0"
|
|
@@ -7436,9 +7448,9 @@
|
|
|
7436
7448
|
{
|
|
7437
7449
|
"chunkIndex": 23,
|
|
7438
7450
|
"chunkKind": "authoring_manifest",
|
|
7439
|
-
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"praxis-crud\",\"ownerPackage\":\"@praxisui/crud\",\"configSchemaId\":\"CrudMetadata\",\"chunkSection\":\"runtimeInputs\",\"runtimeInputs\":[{\"name\":\"metadata\",\"type\":\"CrudMetadata | string\",\"description\":\"Canonical CRUD metadata or serialized metadata document.\"},{\"name\":\"crudId\",\"type\":\"string\",\"description\":\"Stable CRUD instance id used for table/form identity and persistence.\"},{\"name\":\"componentInstanceId\",\"type\":\"string\",\"description\":\"Optional stable host instance id for multiple CRUD widgets on the same route.\"},{\"name\":\"context\",\"type\":\"Record<string, unknown>\",\"description\":\"Opaque host context used for authoring seeds and launcher inputs.\"},{\"name\":\"enableCustomization\",\"type\":\"boolean\",\"description\":\"Explicit host opt-in for CRUD authoring surfaces.\"},{\"name\":\"authoringCapability\",\"type\":\"string | null\",\"description\":\"Public runtime capability required before CRUD and delegated table authoring can open.\"},{\"name\":\"afterOpen\",\"type\":\"{ mode: FormOpenMode; action: string }\",\"description\":\"Emitted after a CRUD action opens.\"},{\"name\":\"afterSave\",\"type\":\"{ id: string | number; data: unknown }\",\"description\":\"Emitted after save; CRUD refetches the list.\"},{\"name\":\"afterDelete\",\"type\":\"{ id: string | number }\",\"description\":\"Emitted after delete; CRUD refetches the list.\"}]}",
|
|
7451
|
+
"content": "{\"schemaVersion\":\"1.0.0\",\"manifestVersion\":\"1.0.0\",\"componentId\":\"praxis-crud\",\"ownerPackage\":\"@praxisui/crud\",\"configSchemaId\":\"CrudMetadata\",\"chunkSection\":\"runtimeInputs\",\"runtimeInputs\":[{\"name\":\"metadata\",\"type\":\"CrudMetadata | string\",\"description\":\"Canonical CRUD metadata or serialized metadata document.\"},{\"name\":\"crudId\",\"type\":\"string\",\"description\":\"Stable CRUD instance id used for table/form identity and persistence.\"},{\"name\":\"componentInstanceId\",\"type\":\"string\",\"description\":\"Optional stable host instance id for multiple CRUD widgets on the same route.\"},{\"name\":\"tableConfigPersistenceStrategy\",\"type\":\"'local-first' | 'input-first' | 'volatile'\",\"description\":\"Persistence precedence forwarded to the internal Praxis Table. Governed previews should use input-first or volatile explicitly.\"},{\"name\":\"context\",\"type\":\"Record<string, unknown>\",\"description\":\"Opaque host context used for authoring seeds and launcher inputs.\"},{\"name\":\"enableCustomization\",\"type\":\"boolean\",\"description\":\"Explicit host opt-in for CRUD authoring surfaces.\"},{\"name\":\"authoringCapability\",\"type\":\"string | null\",\"description\":\"Public runtime capability required before CRUD and delegated table authoring can open.\"},{\"name\":\"afterOpen\",\"type\":\"{ mode: FormOpenMode; action: string }\",\"description\":\"Emitted after a CRUD action opens.\"},{\"name\":\"afterSave\",\"type\":\"{ id: string | number; data: unknown }\",\"description\":\"Emitted after save; CRUD refetches the list.\"},{\"name\":\"afterDelete\",\"type\":\"{ id: string | number }\",\"description\":\"Emitted after delete; CRUD refetches the list.\"}]}",
|
|
7440
7452
|
"sourcePointer": "projects/praxis-crud/src/lib/ai/praxis-crud-authoring-manifest.ts",
|
|
7441
|
-
"contentHash": "
|
|
7453
|
+
"contentHash": "068b8503236aa70e0543cc63c791a5c9cb192983b3e369285bb44732b3b646d8",
|
|
7442
7454
|
"sourceKind": "component_definition",
|
|
7443
7455
|
"sourceId": "praxis-crud",
|
|
7444
7456
|
"corpusVersion": "1.0.0"
|
|
@@ -3667,6 +3667,8 @@ class PraxisCrudComponent {
|
|
|
3667
3667
|
metadata;
|
|
3668
3668
|
crudId;
|
|
3669
3669
|
componentInstanceId;
|
|
3670
|
+
/** Controls whether the CRUD's internal table trusts host input or stored user configuration. */
|
|
3671
|
+
tableConfigPersistenceStrategy = 'local-first';
|
|
3670
3672
|
context;
|
|
3671
3673
|
enableCustomization = false;
|
|
3672
3674
|
/** Capability publica exigida para authoring governado do CRUD e da tabela interna. */
|
|
@@ -5247,7 +5249,7 @@ class PraxisCrudComponent {
|
|
|
5247
5249
|
return Object.entries(params).reduce((current, [name, value]) => current.split(`{${name}}`).join(value), text);
|
|
5248
5250
|
}
|
|
5249
5251
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisCrudComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5250
|
-
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", 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: [
|
|
5252
|
+
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: [
|
|
5251
5253
|
providePraxisI18nConfig(RESOURCE_DISCOVERY_I18N_CONFIG),
|
|
5252
5254
|
providePraxisI18nConfig(PRAXIS_CRUD_RUNTIME_I18N_CONFIG),
|
|
5253
5255
|
], viewQueries: [{ propertyName: "table", first: true, predicate: PraxisTable, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
@@ -5266,6 +5268,7 @@ class PraxisCrudComponent {
|
|
|
5266
5268
|
[queryContext]="tableQueryContext"
|
|
5267
5269
|
[filterCriteria]="tableFilterCriteria"
|
|
5268
5270
|
[tableId]="crudId || 'default'"
|
|
5271
|
+
[configPersistenceStrategy]="tableConfigPersistenceStrategy"
|
|
5269
5272
|
[crudContext]="tableCrudContext"
|
|
5270
5273
|
[enableCustomization]="enableCustomization"
|
|
5271
5274
|
[authoringCapability]="authoringCapability"
|
|
@@ -5313,6 +5316,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5313
5316
|
[queryContext]="tableQueryContext"
|
|
5314
5317
|
[filterCriteria]="tableFilterCriteria"
|
|
5315
5318
|
[tableId]="crudId || 'default'"
|
|
5319
|
+
[configPersistenceStrategy]="tableConfigPersistenceStrategy"
|
|
5316
5320
|
[crudContext]="tableCrudContext"
|
|
5317
5321
|
[enableCustomization]="enableCustomization"
|
|
5318
5322
|
[authoringCapability]="authoringCapability"
|
|
@@ -5346,6 +5350,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
5346
5350
|
args: [{ required: true }]
|
|
5347
5351
|
}], componentInstanceId: [{
|
|
5348
5352
|
type: Input
|
|
5353
|
+
}], tableConfigPersistenceStrategy: [{
|
|
5354
|
+
type: Input
|
|
5349
5355
|
}], context: [{
|
|
5350
5356
|
type: Input
|
|
5351
5357
|
}], enableCustomization: [{
|
|
@@ -6305,6 +6311,12 @@ const PRAXIS_CRUD_COMPONENT_METADATA = {
|
|
|
6305
6311
|
type: 'string',
|
|
6306
6312
|
description: 'Identificador opcional para múltiplas instâncias na mesma rota.',
|
|
6307
6313
|
},
|
|
6314
|
+
{
|
|
6315
|
+
name: 'tableConfigPersistenceStrategy',
|
|
6316
|
+
type: "'local-first' | 'input-first' | 'volatile'",
|
|
6317
|
+
default: 'local-first',
|
|
6318
|
+
description: 'Política da tabela interna. Use input-first para contratos governados autoritativos e volatile para previews que não devem ler nem gravar preferências locais.',
|
|
6319
|
+
},
|
|
6308
6320
|
{
|
|
6309
6321
|
name: 'context',
|
|
6310
6322
|
type: 'Record<string, unknown>',
|
|
@@ -6880,6 +6892,7 @@ const PRAXIS_CRUD_AUTHORING_MANIFEST = {
|
|
|
6880
6892
|
{ name: 'metadata', type: 'CrudMetadata | string', description: 'Canonical CRUD metadata or serialized metadata document.' },
|
|
6881
6893
|
{ name: 'crudId', type: 'string', description: 'Stable CRUD instance id used for table/form identity and persistence.' },
|
|
6882
6894
|
{ name: 'componentInstanceId', type: 'string', description: 'Optional stable host instance id for multiple CRUD widgets on the same route.' },
|
|
6895
|
+
{ name: 'tableConfigPersistenceStrategy', type: "'local-first' | 'input-first' | 'volatile'", description: 'Persistence precedence forwarded to the internal Praxis Table. Governed previews should use input-first or volatile explicitly.' },
|
|
6883
6896
|
{ name: 'context', type: 'Record<string, unknown>', description: 'Opaque host context used for authoring seeds and launcher inputs.' },
|
|
6884
6897
|
{ name: 'enableCustomization', type: 'boolean', description: 'Explicit host opt-in for CRUD authoring surfaces.' },
|
|
6885
6898
|
{ name: 'authoringCapability', type: 'string | null', description: 'Public runtime capability required before CRUD and delegated table authoring can open.' },
|
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.26",
|
|
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.26",
|
|
9
|
+
"@praxisui/table": "^9.0.4-rc.26",
|
|
10
|
+
"@praxisui/core": "^9.0.4-rc.26",
|
|
11
|
+
"@praxisui/dynamic-fields": "^9.0.4-rc.26",
|
|
12
|
+
"@praxisui/settings-panel": "^9.0.4-rc.26",
|
|
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.26",
|
|
18
18
|
"rxjs": "~7.8.0"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
package/types/praxisui-crud.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { NgZone, OnChanges, EventEmitter, SimpleChanges, OnInit, Provider, After
|
|
|
3
3
|
import * as _praxisui_core from '@praxisui/core';
|
|
4
4
|
import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, BackConfig, TableConfig, PraxisDataQueryContext, FormConfig, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, MaterializedResourceIdentity, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider } from '@praxisui/core';
|
|
5
5
|
export { BackConfig } from '@praxisui/core';
|
|
6
|
+
import { TableConfigPersistenceStrategy } from '@praxisui/table';
|
|
6
7
|
import { MatDialogConfig, MatDialogRef, MatDialog } from '@angular/material/dialog';
|
|
7
8
|
export { MAT_DIALOG_DATA as DIALOG_DATA } from '@angular/material/dialog';
|
|
8
9
|
import { ComponentType } from '@angular/cdk/portal';
|
|
@@ -170,6 +171,8 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
170
171
|
metadata: CrudMetadata | string;
|
|
171
172
|
crudId: string;
|
|
172
173
|
componentInstanceId?: string;
|
|
174
|
+
/** Controls whether the CRUD's internal table trusts host input or stored user configuration. */
|
|
175
|
+
tableConfigPersistenceStrategy: TableConfigPersistenceStrategy;
|
|
173
176
|
context?: Record<string, unknown>;
|
|
174
177
|
enableCustomization: boolean;
|
|
175
178
|
/** Capability publica exigida para authoring governado do CRUD e da tabela interna. */
|
|
@@ -333,7 +336,7 @@ declare class PraxisCrudComponent implements OnChanges {
|
|
|
333
336
|
private txWithParams;
|
|
334
337
|
private interpolateTranslationParams;
|
|
335
338
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudComponent, never>;
|
|
336
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudComponent, "praxis-crud", never, { "metadata": { "alias": "metadata"; "required": true; }; "crudId": { "alias": "crudId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "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>;
|
|
339
|
+
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>;
|
|
337
340
|
}
|
|
338
341
|
|
|
339
342
|
type CrudDrawerResultType = 'save' | 'delete' | 'close';
|
|
@@ -692,6 +695,7 @@ interface PraxisCrudWidgetEditorInputs {
|
|
|
692
695
|
metadata?: CrudMetadata | string | null;
|
|
693
696
|
crudId?: string;
|
|
694
697
|
componentInstanceId?: string;
|
|
698
|
+
tableConfigPersistenceStrategy?: TableConfigPersistenceStrategy;
|
|
695
699
|
context?: Record<string, unknown>;
|
|
696
700
|
enableCustomization?: boolean;
|
|
697
701
|
authoringCapability?: string | null;
|