@praxisui/metadata-editor 8.0.0-beta.7 → 8.0.0-beta.70
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 +35 -0
- package/fesm2022/praxisui-metadata-editor.mjs +3283 -757
- package/package.json +15 -6
- package/{index.d.ts → types/praxisui-metadata-editor.d.ts} +20 -2
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ Editores de metadados do Praxis UI para configuracao de campos, propriedades e r
|
|
|
16
16
|
Esta biblioteca não renderiza campos de formulario em runtime; ela oferece UI e servicos para editar propriedades de campos, incluindo um renderizador dinamico de editores e uma aba para gerir regras de cascata entre campos.
|
|
17
17
|
|
|
18
18
|
Documentação de arquitetura: `projects/praxis-metadata-editor/docs/architecture.praxis.md`.
|
|
19
|
+
Authoring de coleções editáveis: `projects/praxis-metadata-editor/docs/editable-collection-authoring.praxis.md`.
|
|
19
20
|
|
|
20
21
|
## Instalação
|
|
21
22
|
|
|
@@ -79,6 +80,14 @@ this.settings.open({
|
|
|
79
80
|
|
|
80
81
|
Emite patches apenas com mudanças relevantes (delta), adequados para persistência.
|
|
81
82
|
|
|
83
|
+
Para `controlType: "array"`, o editor renderiza `array.itemSchema.fields`
|
|
84
|
+
como uma lista visual estruturada de `FieldMetadata[]`. O fluxo preserva
|
|
85
|
+
propriedades avançadas dos subcampos, como `options`, `optionSource`,
|
|
86
|
+
validadores e `submitPolicy`, mesmo quando a superfície visual edita apenas
|
|
87
|
+
nome, label, tipo de controle e obrigatoriedade.
|
|
88
|
+
Subcampos sem nome ou com nomes duplicados bloqueiam `Apply`, `Save`,
|
|
89
|
+
`apply()` e `getSettingsValue()`.
|
|
90
|
+
|
|
82
91
|
### Cascade Manager Tab (gerenciador de cascata)
|
|
83
92
|
|
|
84
93
|
Aba para declarar dependências entre campos e como popular filtros/valores quando um campo dependente muda.
|
|
@@ -113,6 +122,32 @@ Funcionalidades:
|
|
|
113
122
|
- `SchemaNormalizerService` — normaliza defaults, converte valores e aplica opções de provider.
|
|
114
123
|
- `ContextValidatorRegistryService` — registrador de validadores contextuais.
|
|
115
124
|
|
|
125
|
+
## Agentic Authoring Contract
|
|
126
|
+
|
|
127
|
+
`praxis-metadata-editor` publica um manifesto executavel em `PRAXIS_METADATA_EDITOR_AUTHORING_MANIFEST`.
|
|
128
|
+
|
|
129
|
+
Esse contrato governa a edicao estrutural de metadata:
|
|
130
|
+
|
|
131
|
+
- propriedades canonicas de `FieldMetadata`
|
|
132
|
+
- troca de `controlType` com descoberta em dynamic-fields
|
|
133
|
+
- `optionSource`
|
|
134
|
+
- cascatas e `dependencyFilterMap`
|
|
135
|
+
- cobertura do renderer visual
|
|
136
|
+
- regras de validacao
|
|
137
|
+
- hints/contexto
|
|
138
|
+
- normalizacao de schema
|
|
139
|
+
|
|
140
|
+
O manifesto nao cria shapes paralelos para hosts. Quando a metadata vier de backend `x-ui`, a edicao deve preservar a semantica canonica, especialmente `x-ui.optionSource.dependsOn` e `x-ui.optionSource.dependencyFilterMap`. Suporte apenas por JSON cru nao e aceito quando a propriedade exige cobertura visual no editor.
|
|
141
|
+
|
|
142
|
+
Regras do contrato:
|
|
143
|
+
|
|
144
|
+
- `FieldMetadata` e o documento canonico editado.
|
|
145
|
+
- `controlType` precisa existir na descoberta de dynamic-fields e na cobertura visual do metadata-editor.
|
|
146
|
+
- cascatas devem preservar campos existentes, evitar ciclos e manter a distincao entre a forma backend `x-ui.optionSource.dependsOn`/`dependencyFilterMap` e o contrato de save do editor em `dependencyFields`/`dependencyFilterMap`.
|
|
147
|
+
- normalizacao nao pode remover propriedades canonicas avancadas.
|
|
148
|
+
- round-trip deve preservar abrir, editar, aplicar/salvar, reabrir e consumo runtime.
|
|
149
|
+
- cada operacao declara target, resolver, ambiguity policy, preconditions, validators, effects, affected paths e `submissionImpact` tipado.
|
|
150
|
+
|
|
116
151
|
## Build e Publicação
|
|
117
152
|
|
|
118
153
|
```bash
|