@praxisui/dynamic-fields 1.0.0-beta.48 → 1.0.0-beta.52
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 +80 -26
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,3 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Dynamic Fields"
|
|
3
|
+
slug: "dynamic-fields-overview"
|
|
4
|
+
description: "Visao geral do @praxisui/dynamic-fields com renderizacao metadata-driven, registro lazy de componentes, tokens M3 e campos enterprise."
|
|
5
|
+
doc_type: "reference"
|
|
6
|
+
document_kind: "component-overview"
|
|
7
|
+
component: "dynamic-fields"
|
|
8
|
+
category: "components"
|
|
9
|
+
audience:
|
|
10
|
+
- "frontend"
|
|
11
|
+
- "host"
|
|
12
|
+
- "architect"
|
|
13
|
+
level: "intermediate"
|
|
14
|
+
status: "active"
|
|
15
|
+
owner: "praxis-ui"
|
|
16
|
+
tags:
|
|
17
|
+
- "dynamic-fields"
|
|
18
|
+
- "metadata"
|
|
19
|
+
- "forms"
|
|
20
|
+
- "runtime"
|
|
21
|
+
- "material"
|
|
22
|
+
order: 32
|
|
23
|
+
icon: "toc"
|
|
24
|
+
toc: true
|
|
25
|
+
sidebar: true
|
|
26
|
+
search_boost: 1.0
|
|
27
|
+
reading_time: 16
|
|
28
|
+
estimated_setup_time: 25
|
|
29
|
+
version: "1.0"
|
|
30
|
+
related_docs:
|
|
31
|
+
- "dynamic-fields-field-catalog"
|
|
32
|
+
- "dynamic-fields-field-selection-guide"
|
|
33
|
+
- "dynamic-fields-host-custom-field-guide"
|
|
34
|
+
- "dynamic-fields-host-custom-field-troubleshooting"
|
|
35
|
+
- "dynamic-fields-inline-filter-catalog"
|
|
36
|
+
- "dynamic-fields-filter-inline-components-guide"
|
|
37
|
+
- "host-integration-guide"
|
|
38
|
+
- "consumer-integration-quickstart"
|
|
39
|
+
keywords:
|
|
40
|
+
- "dynamic field loader"
|
|
41
|
+
- "metadata-driven fields"
|
|
42
|
+
- "material controls"
|
|
43
|
+
- "runtime registry"
|
|
44
|
+
last_updated: "2026-03-07"
|
|
45
|
+
---
|
|
46
|
+
|
|
1
47
|
# @praxisui/dynamic-fields — Dynamic Form Fields
|
|
2
48
|
|
|
3
49
|
## 🔰 Exemplos / Quickstart
|
|
@@ -87,36 +133,32 @@ const isRegistered = registry.isRegistered(FieldControlType.INPUT);
|
|
|
87
133
|
|
|
88
134
|
## 📄 Documentacao Tecnica da Lib
|
|
89
135
|
|
|
90
|
-
- `projects/praxis-dynamic-fields/docs/
|
|
136
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inventory.md`
|
|
137
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-field-catalog.md`
|
|
138
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-field-selection-guide.md`
|
|
139
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-guide.md`
|
|
140
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-troubleshooting.md`
|
|
141
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-inventory.md`
|
|
142
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-catalog.md`
|
|
143
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-selection-guide.md`
|
|
144
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-runtime-contract.md`
|
|
145
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-custom-component-guide.md`
|
|
146
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-troubleshooting.md`
|
|
147
|
+
- `projects/praxis-dynamic-fields/docs/filter-inline-components-guide.md` (slug: `dynamic-fields-filter-inline-components-guide`)
|
|
91
148
|
- `projects/praxis-dynamic-fields/docs/generic-crud-service.md`
|
|
92
149
|
|
|
93
150
|
### Componentes Suportados
|
|
94
151
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
- `
|
|
103
|
-
- `
|
|
104
|
-
-
|
|
105
|
-
- `FieldControlType.CURRENCY_INPUT` - Campo monetário
|
|
106
|
-
- `FieldControlType.NUMERIC_TEXT_BOX` - Campo numérico
|
|
107
|
-
- `FieldControlType.MULTI_SELECT` - Seleção múltipla
|
|
108
|
-
- `FieldControlType.AUTO_COMPLETE` - Auto completar (busca habilitada por padrão)
|
|
109
|
-
- `FieldControlType.DATE_TIME_PICKER` - Data e hora
|
|
110
|
-
- `FieldControlType.DATE_RANGE` - Intervalo de datas
|
|
111
|
-
- `FieldControlType.FILE_UPLOAD` - Upload de arquivos
|
|
112
|
-
- `FieldControlType.TOGGLE` - Interruptor Material Design
|
|
113
|
-
- `FieldControlType.SLIDER` - Slider Material Design
|
|
114
|
-
- `FieldControlType.TIME_PICKER` - Seletor de horário
|
|
115
|
-
- `FieldControlType.RATING` - Classificação por estrelas
|
|
116
|
-
- `FieldControlType.COLOR_PICKER` - Seletor de cores
|
|
117
|
-
- `FieldControlType.AVATAR` - Avatar visual (imagem/ícone/iniciais)
|
|
118
|
-
|
|
119
|
-
Campos com `FieldControlType.AUTO_COMPLETE` utilizam internamente o `MaterialSearchableSelectComponent`, habilitando busca automaticamente.
|
|
152
|
+
A fonte de verdade do suporte default e o `ComponentRegistryService`.
|
|
153
|
+
|
|
154
|
+
Use os documentos governados abaixo em vez de manter listas textuais soltas:
|
|
155
|
+
|
|
156
|
+
- inventario auditavel do runtime: `dynamic-fields-inventory.md`
|
|
157
|
+
- catalogo principal de fields de formulario: `dynamic-fields-field-catalog.md`
|
|
158
|
+
- guia de escolha do field correto: `dynamic-fields-field-selection-guide.md`
|
|
159
|
+
- extensao do host: `dynamic-fields-host-custom-field-guide.md`
|
|
160
|
+
- troubleshooting de extensao: `dynamic-fields-host-custom-field-troubleshooting.md`
|
|
161
|
+
- trilha especializada de filtros compactos: `dynamic-fields-inline-filter-catalog.md`
|
|
120
162
|
|
|
121
163
|
## 🧩 MaterialSelectComponent
|
|
122
164
|
|
|
@@ -391,6 +433,18 @@ _Sistema desenvolvido seguindo diretrizes de simplicidade e foco no essencial._
|
|
|
391
433
|
|
|
392
434
|
## 🔌 Extensão pelo App Host (registrando seu próprio componente)
|
|
393
435
|
|
|
436
|
+
Resumo executivo:
|
|
437
|
+
|
|
438
|
+
- `ComponentRegistryService.register(...)`: registra o componente que o runtime carrega.
|
|
439
|
+
- `ComponentMetadataRegistry.register(...)`: registra nome/ícone/superfície editorial.
|
|
440
|
+
- `controlType` do contrato deve bater com `ComponentDocMeta.id`.
|
|
441
|
+
- Hot metadata funciona melhor quando o componente expõe `setInputMetadata(...)` e/ou signal de metadata.
|
|
442
|
+
|
|
443
|
+
Para o guia governado completo, consulte:
|
|
444
|
+
|
|
445
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-guide.md`
|
|
446
|
+
- `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-troubleshooting.md`
|
|
447
|
+
|
|
394
448
|
Aplicações host podem registrar componentes próprios para uso no DynamicFieldLoader e expor metadados para título/ícone amigáveis no editor.
|
|
395
449
|
|
|
396
450
|
### 1) Registrar o componente no runtime (DynamicFieldLoader)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-fields",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.52",
|
|
4
4
|
"description": "Angular Material-based dynamic form fields for Praxis UI with lazy loading and metadata-driven rendering.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.1.0",
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"@angular/cdk": "^20.1.0",
|
|
11
11
|
"@angular/router": "^20.1.0",
|
|
12
12
|
"rxjs": "^7.8.0",
|
|
13
|
-
"@praxisui/specification-core": "^1.0.0-beta.
|
|
14
|
-
"@praxisui/core": "^1.0.0-beta.
|
|
15
|
-
"@praxisui/cron-builder": "^1.0.0-beta.
|
|
16
|
-
"@praxisui/dialog": "^1.0.0-beta.
|
|
13
|
+
"@praxisui/specification-core": "^1.0.0-beta.52",
|
|
14
|
+
"@praxisui/core": "^1.0.0-beta.52",
|
|
15
|
+
"@praxisui/cron-builder": "^1.0.0-beta.52",
|
|
16
|
+
"@praxisui/dialog": "^1.0.0-beta.52"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"tslib": "^2.3.0"
|