@praxisui/dynamic-form 9.0.66 → 9.0.67
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 +28 -0
- package/ai/component-registry.json +24 -8
- package/docs/dynamic-form-authoring-document-semantics.md +18 -0
- package/fesm2022/praxisui-dynamic-form.mjs +209 -85
- package/package.json +8 -8
- package/src/lib/config-editor/praxis-dynamic-form-config-editor.json-api.md +17 -0
- package/src/lib/praxis-dynamic-form.json-api.md +20 -3
- package/types/praxisui-dynamic-form.d.ts +24 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-form",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.67",
|
|
4
4
|
"description": "Angular dynamic form engine for Praxis UI: metadata-driven forms, hooks, and services integrating @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
"@angular/forms": "^21.0.0",
|
|
10
10
|
"@angular/material": "^21.0.0",
|
|
11
11
|
"@angular/router": "^21.0.0",
|
|
12
|
-
"@praxisui/ai": "^9.0.
|
|
13
|
-
"@praxisui/dynamic-fields": "^9.0.
|
|
14
|
-
"@praxisui/metadata-editor": "^9.0.
|
|
15
|
-
"@praxisui/rich-content": "^9.0.
|
|
16
|
-
"@praxisui/settings-panel": "^9.0.
|
|
17
|
-
"@praxisui/visual-builder": "^9.0.
|
|
18
|
-
"@praxisui/core": "^9.0.
|
|
12
|
+
"@praxisui/ai": "^9.0.67",
|
|
13
|
+
"@praxisui/dynamic-fields": "^9.0.67",
|
|
14
|
+
"@praxisui/metadata-editor": "^9.0.67",
|
|
15
|
+
"@praxisui/rich-content": "^9.0.67",
|
|
16
|
+
"@praxisui/settings-panel": "^9.0.67",
|
|
17
|
+
"@praxisui/visual-builder": "^9.0.67",
|
|
18
|
+
"@praxisui/core": "^9.0.67",
|
|
19
19
|
"rxjs": "^7.8.0"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
@@ -55,6 +55,13 @@ Este documento e a referencia canonica da API JSON de praxis-dynamic-form-config
|
|
|
55
55
|
|
|
56
56
|
## Canonical authoring semantics
|
|
57
57
|
|
|
58
|
+
- Em Geral → Dados do formulário, `Modo de dados` e `Modo de exibição` são preferências independentes.
|
|
59
|
+
- `bindings.presentationModeGlobal` reutiliza o input runtime existente: `true` = Apresentação (efetiva somente em `view`), `false` = Campos de formulário, `null`/ausência = Automático, seguindo `layoutPolicy`.
|
|
60
|
+
- Em replace-all, omitir a preferência remove o override anterior; `false` deve ser preservado. Não existe um quarto valor em `bindings.mode`.
|
|
61
|
+
- O Page Builder projeta a preferência nos inputs do widget, preservando ausência de `config` em formulários schema-driven. No editor do runtime, Apply/Save também publicam `mode` e `presentationModeGlobal` em `configPatchChange.inputPatch`.
|
|
62
|
+
- `contextSnapshot.presentation` continua reservado aos estilos (tipografia, densidade e alinhamento), editáveis nos dois caminhos pela aba Estilo da apresentação; não é o seletor de ativação. O Filter Form não oferece o seletor de exibição porque seu runtime não suporta apresentação.
|
|
63
|
+
|
|
64
|
+
|
|
58
65
|
- O editor visual e o editor JSON operam sobre `DynamicFormAuthoringDocument`.
|
|
59
66
|
- O editor JSON aceita apenas o envelope canônico; payloads legados pertencem aos caminhos de compatibilidade do runtime.
|
|
60
67
|
- `Apply` e `Save` emitem um snapshot canonico completo com semantica `replace-all`.
|
|
@@ -481,3 +488,13 @@ Correcao: e diff estrutural para UX do painel, nao auditoria de negocio.
|
|
|
481
488
|
| local-file | projects/praxis-dynamic-form/src/lib/praxis-dynamic-form.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
|
|
482
489
|
| local-file | projects/praxis-settings-panel/src/lib/settings-panel.types.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
|
|
483
490
|
| local-file | projects/praxis-core/src/lib/models/form/form-config.model.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
### Presentation style projection and editor UX
|
|
494
|
+
|
|
495
|
+
- `contextSnapshot.presentation` is the canonical style snapshot. The optional runtime input `presentation: DynamicFormPresentationSnapshot | null` projects it into page widgets independently of schema-generated `config`. Explicit styles take precedence over stored style preferences; `null` restores defaults and blocks stale stored overrides; omission retains normal style resolution.
|
|
496
|
+
- Runtime editor Apply/Save emits `presentation` with `mode` and `presentationModeGlobal` in `configPatchChange.inputPatch`. Widget save/reopen preserves the same snapshot; omitting the document block clears the widget projection with `null`.
|
|
497
|
+
- Numeric font sizes and label widths are pixels. Capturing a runtime `rem` size converts it using the host root font size; opening and saving must not reinterpret `0.78rem` as `0.78px`.
|
|
498
|
+
- **Geral → Dados do formulário** separates **Criar / Editar / Visualizar** from **Automático / Campos / Apresentação**. Selecting presentation in Create/Edit keeps the operation unchanged and explains the inactive state with an explicit action to switch to View.
|
|
499
|
+
- **Estilo da apresentação** remains discoverable regardless of the current mode. It previews sample data and does not activate presentation by itself. Filter Form does not expose this tab because it has no presentation runtime.
|
|
500
|
+
- Applying or finishing widget editing updates the page draft. **Salvar página** persists the composition. Shortening sample text affects the preview only.
|
|
@@ -68,6 +68,13 @@ Este documento e a referencia canonica da API JSON de praxis-dynamic-form.
|
|
|
68
68
|
|
|
69
69
|
## Canonical authoring semantics
|
|
70
70
|
|
|
71
|
+
- Em Geral → Dados do formulário, `Modo de dados` e `Modo de exibição` são preferências independentes.
|
|
72
|
+
- `bindings.presentationModeGlobal` reutiliza o input runtime existente: `true` = Apresentação (efetiva somente em `view`), `false` = Campos de formulário, `null`/ausência = Automático, seguindo `layoutPolicy`.
|
|
73
|
+
- Em replace-all, omitir a preferência remove o override anterior; `false` deve ser preservado. Não existe um quarto valor em `bindings.mode`.
|
|
74
|
+
- O Page Builder projeta a preferência nos inputs do widget, preservando ausência de `config` em formulários schema-driven. No editor do runtime, Apply/Save também publicam `mode` e `presentationModeGlobal` em `configPatchChange.inputPatch`.
|
|
75
|
+
- `contextSnapshot.presentation` continua reservado aos estilos (tipografia, densidade e alinhamento), editáveis nos dois caminhos pela aba Estilo da apresentação; não é o seletor de ativação. O Filter Form não oferece o seletor de exibição porque seu runtime não suporta apresentação.
|
|
76
|
+
|
|
77
|
+
|
|
71
78
|
- `DynamicFormAuthoringDocument` e o snapshot canonico completo de autoria de `praxis-dynamic-form`.
|
|
72
79
|
- Quando aplicado por fluxos canonicos de editor, `config`, `bindings` e `contextSnapshot` possuem semantica `replace-all`.
|
|
73
80
|
- Ausencia de `bindings.mode` limpa o binding persistido e restaura o modo default efetivo do host.
|
|
@@ -411,7 +418,7 @@ Limites de segurança:
|
|
|
411
418
|
| `formCancel` | `void` | Acao cancelar. | Partial | Preservado da documentação anterior. |
|
|
412
419
|
| `formReset` | `void` | Acao reset. | Partial | Preservado da documentação anterior. |
|
|
413
420
|
| `configChange` | `FormConfig` | Alteracoes de layout/config durante edicao. | Partial | Preservado da documentação anterior. |
|
|
414
|
-
| `configPatchChange` | `{ inputPatch: { config
|
|
421
|
+
| `configPatchChange` | `{ inputPatch: { config?: FormConfig; resourcePath?: string \| null; mode?: DynamicFormMode; presentationModeGlobal?: boolean \| null; presentation?: DynamicFormPresentationSnapshot \| null } }` | Alteracoes autoradas de configuracao que devem ser persistidas pelo host. | Partial | Contrato aditivo para hosts genericos sem alterar o payload legado de `configChange`. |
|
|
415
422
|
| `formReady` | `FormReadyEvent` | Form pronto para interacao. | Partial | Preservado da documentação anterior. |
|
|
416
423
|
| `valueChange` | `FormValueChangeEvent` | Alteracao de valor no form runtime. | Partial | Preservado da documentação anterior. |
|
|
417
424
|
| `syncCompleted` | `SyncResult` | Sincronizacao de schema/config concluida. | Partial | Preservado da documentação anterior. |
|
|
@@ -745,7 +752,7 @@ Validado em 2026-04-23 contra `praxis-api-quickstart` publicado no Render com
|
|
|
745
752
|
| `formCancel` | `void` | Acao cancelar. |
|
|
746
753
|
| `formReset` | `void` | Acao reset. |
|
|
747
754
|
| `configChange` | `FormConfig` | Alteracoes de layout/config durante edicao. |
|
|
748
|
-
| `configPatchChange` | `{ inputPatch: { config
|
|
755
|
+
| `configPatchChange` | `{ inputPatch: { config?: FormConfig; resourcePath?: string \| null; mode?: DynamicFormMode; presentationModeGlobal?: boolean \| null; presentation?: DynamicFormPresentationSnapshot \| null } }` | Alteracoes autoradas de configuracao que devem ser persistidas pelo host. |
|
|
749
756
|
| `formReady` | `FormReadyEvent` | Form pronto para interacao. |
|
|
750
757
|
| `valueChange` | `FormValueChangeEvent` | Alteracao de valor no form runtime. |
|
|
751
758
|
| `syncCompleted` | `SyncResult` | Sincronizacao de schema/config concluida. |
|
|
@@ -971,7 +978,7 @@ O runtime emite `target-not-found` quando uma regra aponta para `section`, `row`
|
|
|
971
978
|
| `formCancel` | `void` | Acao cancelar. | Partial | Preservado da documentação anterior. |
|
|
972
979
|
| `formReset` | `void` | Acao reset. | Partial | Preservado da documentação anterior. |
|
|
973
980
|
| `configChange` | `FormConfig` | Alteracoes de layout/config durante edicao. | Partial | Preservado da documentação anterior. |
|
|
974
|
-
| `configPatchChange` | `{ inputPatch: { config
|
|
981
|
+
| `configPatchChange` | `{ inputPatch: { config?: FormConfig; resourcePath?: string \| null; mode?: DynamicFormMode; presentationModeGlobal?: boolean \| null; presentation?: DynamicFormPresentationSnapshot \| null } }` | Alteracoes autoradas de configuracao que devem ser persistidas pelo host. | Partial | Contrato aditivo para hosts genericos sem alterar o payload legado de `configChange`. |
|
|
975
982
|
| `formReady` | `FormReadyEvent` | Form pronto para interacao. | Partial | Preservado da documentação anterior. |
|
|
976
983
|
| `valueChange` | `FormValueChangeEvent` | Alteracao de valor no form runtime. | Partial | Preservado da documentação anterior. |
|
|
977
984
|
| `syncCompleted` | `SyncResult` | Sincronizacao de schema/config concluida. | Partial | Preservado da documentação anterior. |
|
|
@@ -1110,3 +1117,13 @@ O runtime emite `target-not-found` quando uma regra aponta para `section`, `row`
|
|
|
1110
1117
|
| local-file | projects/praxis-dynamic-fields/src/lib/directives/dynamic-field-loader.directive.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
|
|
1111
1118
|
| local-file | projects/praxis-core/src/lib/models/form/form-config.model.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
|
|
1112
1119
|
| local-file | projects/praxis-core/src/lib/models/form/form-layout.model.ts | Evidencia de implementacao e contrato. | 2026-03-05 | referencia preservada da versao anterior |
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
### Presentation style projection and editor UX
|
|
1123
|
+
|
|
1124
|
+
- `contextSnapshot.presentation` is the canonical style snapshot. The optional runtime input `presentation: DynamicFormPresentationSnapshot | null` projects it into page widgets independently of schema-generated `config`. Explicit styles take precedence over stored style preferences; `null` restores defaults and blocks stale stored overrides; omission retains normal style resolution.
|
|
1125
|
+
- Runtime editor Apply/Save emits `presentation` with `mode` and `presentationModeGlobal` in `configPatchChange.inputPatch`. Widget save/reopen preserves the same snapshot; omitting the document block clears the widget projection with `null`.
|
|
1126
|
+
- Numeric font sizes and label widths are pixels. Capturing a runtime `rem` size converts it using the host root font size; opening and saving must not reinterpret `0.78rem` as `0.78px`.
|
|
1127
|
+
- **Geral → Dados do formulário** separates **Criar / Editar / Visualizar** from **Automático / Campos / Apresentação**. Selecting presentation in Create/Edit keeps the operation unchanged and explains the inactive state with an explicit action to switch to View.
|
|
1128
|
+
- **Estilo da apresentação** remains discoverable regardless of the current mode. It previews sample data and does not activate presentation by itself. Filter Form does not expose this tab because it has no presentation runtime.
|
|
1129
|
+
- Applying or finishing widget editing updates the page draft. **Salvar página** persists the composition. Shortening sample text affects the preview only.
|
|
@@ -575,6 +575,8 @@ interface EditorDiagnostic {
|
|
|
575
575
|
type DynamicFormMode = 'create' | 'edit' | 'view';
|
|
576
576
|
interface DynamicFormBindings {
|
|
577
577
|
mode?: DynamicFormMode;
|
|
578
|
+
/** true: presentation in view; false: fields; null/absent: inherit layout policy. */
|
|
579
|
+
presentationModeGlobal?: boolean | null;
|
|
578
580
|
}
|
|
579
581
|
type DynamicFormPresentationSnapshot = FormPresentationConfig;
|
|
580
582
|
interface DynamicFormSchemaPrefsSnapshot {
|
|
@@ -628,6 +630,7 @@ interface DynamicFormApplyPlan {
|
|
|
628
630
|
runtime?: {
|
|
629
631
|
rebindMode?: boolean;
|
|
630
632
|
clearMode?: boolean;
|
|
633
|
+
clearPresentationMode?: boolean;
|
|
631
634
|
rebuildForm?: boolean;
|
|
632
635
|
refreshPresentation?: boolean;
|
|
633
636
|
clearPresentation?: boolean;
|
|
@@ -650,7 +653,11 @@ interface DynamicFormApplyPlan {
|
|
|
650
653
|
|
|
651
654
|
interface DynamicFormConfigPatchChangeEvent {
|
|
652
655
|
inputPatch: {
|
|
653
|
-
config
|
|
656
|
+
config?: FormConfig;
|
|
657
|
+
resourcePath?: string | null;
|
|
658
|
+
mode?: DynamicFormMode;
|
|
659
|
+
presentationModeGlobal?: boolean | null;
|
|
660
|
+
presentation?: DynamicFormPresentationSnapshot | null;
|
|
654
661
|
};
|
|
655
662
|
}
|
|
656
663
|
/**
|
|
@@ -863,6 +870,8 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
863
870
|
readonlyModeGlobal: boolean | null;
|
|
864
871
|
disabledModeGlobal: boolean | null;
|
|
865
872
|
presentationModeGlobal: boolean | null;
|
|
873
|
+
/** Projection of contextSnapshot.presentation; null clears authored style overrides. */
|
|
874
|
+
presentation?: DynamicFormPresentationSnapshot | null;
|
|
866
875
|
visibleGlobal: boolean | null;
|
|
867
876
|
fieldIconPolicy: 'all' | 'presentation-only' | 'none';
|
|
868
877
|
/** Opt-in loader for shared domain rule materializations persisted outside FormConfig. */
|
|
@@ -1510,7 +1519,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
1510
1519
|
private applyPresentationVars;
|
|
1511
1520
|
private applyPresentationConfig;
|
|
1512
1521
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisDynamicForm, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1513
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicForm, "praxis-dynamic-form", never, { "resourcePath": { "alias": "resourcePath"; "required": false; }; "resourceId": { "alias": "resourceId"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "emptyState": { "alias": "emptyState"; "required": false; }; "editorialContext": { "alias": "editorialContext"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "schemaSource": { "alias": "schemaSource"; "required": false; }; "schemaUrl": { "alias": "schemaUrl"; "required": false; }; "readUrl": { "alias": "readUrl"; "required": false; }; "submitUrl": { "alias": "submitUrl"; "required": false; }; "submitMethod": { "alias": "submitMethod"; "required": false; }; "submitIdempotencyKey": { "alias": "submitIdempotencyKey"; "required": false; }; "submitCorrelationId": { "alias": "submitCorrelationId"; "required": false; }; "submitResourceVersion": { "alias": "submitResourceVersion"; "required": false; }; "submitResourceVersionTargetResourceKey": { "alias": "submitResourceVersionTargetResourceKey"; "required": false; }; "submitResourceVersionTargetIdField": { "alias": "submitResourceVersionTargetIdField"; "required": false; }; "responseSchemaUrl": { "alias": "responseSchemaUrl"; "required": false; }; "apiEndpointKey": { "alias": "apiEndpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showAiAssistant": { "alias": "showAiAssistant"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "generatedLayoutPreset": { "alias": "generatedLayoutPreset"; "required": false; }; "layoutPolicy": { "alias": "layoutPolicy"; "required": false; }; "backConfig": { "alias": "backConfig"; "required": false; }; "hooks": { "alias": "hooks"; "required": false; }; "removeEmptyContainersOnSave": { "alias": "removeEmptyContainersOnSave"; "required": false; }; "reactiveValidation": { "alias": "reactiveValidation"; "required": false; }; "reactiveValidationDebounceMs": { "alias": "reactiveValidationDebounceMs"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "readonlyModeGlobal": { "alias": "readonlyModeGlobal"; "required": false; }; "disabledModeGlobal": { "alias": "disabledModeGlobal"; "required": false; }; "presentationModeGlobal": { "alias": "presentationModeGlobal"; "required": false; }; "visibleGlobal": { "alias": "visibleGlobal"; "required": false; }; "fieldIconPolicy": { "alias": "fieldIconPolicy"; "required": false; }; "domainRules": { "alias": "domainRules"; "required": false; }; "customEndpoints": { "alias": "customEndpoints"; "required": false; }; }, { "formSubmit": "formSubmit"; "formCancel": "formCancel"; "formReset": "formReset"; "configChange": "configChange"; "configPatchChange": "configPatchChange"; "formReady": "formReady"; "valueChange": "valueChange"; "payloadPreviewChange": "payloadPreviewChange"; "syncCompleted": "syncCompleted"; "initializationError": "initializationError"; "loadingStateChange": "loadingStateChange"; "enableCustomizationChange": "enableCustomizationChange"; "customAction": "customAction"; "actionConfirmation": "actionConfirmation"; "schemaStatusChange": "schemaStatusChange"; "fieldRenderError": "fieldRenderError"; "ruleDiagnosticsChange": "ruleDiagnosticsChange"; "reactiveDeterminationExecuted": "reactiveDeterminationExecuted"; "reactiveDeterminationPendingChange": "reactiveDeterminationPendingChange"; }, never, never, true, never>;
|
|
1522
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisDynamicForm, "praxis-dynamic-form", never, { "resourcePath": { "alias": "resourcePath"; "required": false; }; "resourceId": { "alias": "resourceId"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "emptyState": { "alias": "emptyState"; "required": false; }; "editorialContext": { "alias": "editorialContext"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "schemaSource": { "alias": "schemaSource"; "required": false; }; "schemaUrl": { "alias": "schemaUrl"; "required": false; }; "readUrl": { "alias": "readUrl"; "required": false; }; "submitUrl": { "alias": "submitUrl"; "required": false; }; "submitMethod": { "alias": "submitMethod"; "required": false; }; "submitIdempotencyKey": { "alias": "submitIdempotencyKey"; "required": false; }; "submitCorrelationId": { "alias": "submitCorrelationId"; "required": false; }; "submitResourceVersion": { "alias": "submitResourceVersion"; "required": false; }; "submitResourceVersionTargetResourceKey": { "alias": "submitResourceVersionTargetResourceKey"; "required": false; }; "submitResourceVersionTargetIdField": { "alias": "submitResourceVersionTargetIdField"; "required": false; }; "responseSchemaUrl": { "alias": "responseSchemaUrl"; "required": false; }; "apiEndpointKey": { "alias": "apiEndpointKey"; "required": false; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showAiAssistant": { "alias": "showAiAssistant"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "generatedLayoutPreset": { "alias": "generatedLayoutPreset"; "required": false; }; "layoutPolicy": { "alias": "layoutPolicy"; "required": false; }; "backConfig": { "alias": "backConfig"; "required": false; }; "hooks": { "alias": "hooks"; "required": false; }; "removeEmptyContainersOnSave": { "alias": "removeEmptyContainersOnSave"; "required": false; }; "reactiveValidation": { "alias": "reactiveValidation"; "required": false; }; "reactiveValidationDebounceMs": { "alias": "reactiveValidationDebounceMs"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "readonlyModeGlobal": { "alias": "readonlyModeGlobal"; "required": false; }; "disabledModeGlobal": { "alias": "disabledModeGlobal"; "required": false; }; "presentationModeGlobal": { "alias": "presentationModeGlobal"; "required": false; }; "presentation": { "alias": "presentation"; "required": false; }; "visibleGlobal": { "alias": "visibleGlobal"; "required": false; }; "fieldIconPolicy": { "alias": "fieldIconPolicy"; "required": false; }; "domainRules": { "alias": "domainRules"; "required": false; }; "customEndpoints": { "alias": "customEndpoints"; "required": false; }; }, { "formSubmit": "formSubmit"; "formCancel": "formCancel"; "formReset": "formReset"; "configChange": "configChange"; "configPatchChange": "configPatchChange"; "formReady": "formReady"; "valueChange": "valueChange"; "payloadPreviewChange": "payloadPreviewChange"; "syncCompleted": "syncCompleted"; "initializationError": "initializationError"; "loadingStateChange": "loadingStateChange"; "enableCustomizationChange": "enableCustomizationChange"; "customAction": "customAction"; "actionConfirmation": "actionConfirmation"; "schemaStatusChange": "schemaStatusChange"; "fieldRenderError": "fieldRenderError"; "ruleDiagnosticsChange": "ruleDiagnosticsChange"; "reactiveDeterminationExecuted": "reactiveDeterminationExecuted"; "reactiveDeterminationPendingChange": "reactiveDeterminationPendingChange"; }, never, never, true, never>;
|
|
1514
1523
|
}
|
|
1515
1524
|
|
|
1516
1525
|
declare class FormConfigService {
|
|
@@ -1691,7 +1700,14 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
|
|
|
1691
1700
|
inputMode: 'create' | 'edit' | 'view';
|
|
1692
1701
|
private includeBindingsBlock;
|
|
1693
1702
|
private readonly editorMode;
|
|
1694
|
-
isPresentationMode: boolean;
|
|
1703
|
+
get isPresentationMode(): boolean;
|
|
1704
|
+
supportsPresentationSettings: boolean;
|
|
1705
|
+
inputPresentationMode: boolean | null | undefined;
|
|
1706
|
+
get displayMode(): 'automatic' | 'fields' | 'presentation';
|
|
1707
|
+
onDisplayModeChange(value: 'automatic' | 'fields' | 'presentation'): void;
|
|
1708
|
+
get displayModeHint(): string;
|
|
1709
|
+
useViewMode(): void;
|
|
1710
|
+
openPresentationStyle(): void;
|
|
1695
1711
|
truncatePreview: boolean;
|
|
1696
1712
|
previewItems: Array<{
|
|
1697
1713
|
label: string;
|
|
@@ -1847,7 +1863,7 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
|
|
|
1847
1863
|
private toPresentationSnapshot;
|
|
1848
1864
|
private toSchemaPrefsSnapshot;
|
|
1849
1865
|
private toBackConfigSnapshot;
|
|
1850
|
-
tx(key: string, fallback
|
|
1866
|
+
tx(key: string, fallback?: string, params?: Record<string, string | number | boolean | null | undefined>): string;
|
|
1851
1867
|
private resolveI18n;
|
|
1852
1868
|
private interpolateFallback;
|
|
1853
1869
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisDynamicFormConfigEditor, [null, null, null, null, { optional: true; }, { optional: true; }]>;
|
|
@@ -2259,6 +2275,8 @@ declare class FieldConfiguratorComponent {
|
|
|
2259
2275
|
interface PraxisDynamicFormWidgetEditorInputs {
|
|
2260
2276
|
config?: FormConfig | null;
|
|
2261
2277
|
mode?: DynamicFormMode;
|
|
2278
|
+
presentationModeGlobal?: boolean | null;
|
|
2279
|
+
presentation?: DynamicFormPresentationSnapshot | null;
|
|
2262
2280
|
formId?: string;
|
|
2263
2281
|
componentInstanceId?: string;
|
|
2264
2282
|
backConfig?: BackConfig;
|
|
@@ -2278,6 +2296,8 @@ declare class PraxisDynamicFormWidgetConfigEditor implements SettingsValueProvid
|
|
|
2278
2296
|
readonly isValid$: BehaviorSubject<boolean>;
|
|
2279
2297
|
readonly isBusy$: BehaviorSubject<boolean>;
|
|
2280
2298
|
private readonly subscription;
|
|
2299
|
+
private initialEditorConfig?;
|
|
2300
|
+
private readonly cdr;
|
|
2281
2301
|
ngAfterViewInit(): void;
|
|
2282
2302
|
ngOnDestroy(): void;
|
|
2283
2303
|
getSettingsValue(): PraxisDynamicFormWidgetEditorValue;
|