@praxisui/core 8.0.0-beta.1 → 8.0.0-beta.11
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 +52 -1
- package/fesm2022/praxisui-core.mjs +10107 -8977
- package/index.d.ts +610 -95
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -120,6 +120,42 @@ export class GridDemoComponent {
|
|
|
120
120
|
|
|
121
121
|
Observação: os IDs de widgets usados na página devem estar registrados via `ComponentMetadataRegistry` para que o carregador dinâmico resolva os componentes.
|
|
122
122
|
|
|
123
|
+
#### Composition links e nested component ports
|
|
124
|
+
|
|
125
|
+
O wiring persistido de páginas dinâmicas deve usar `page.composition.links`.
|
|
126
|
+
`page.connections` é formato legado/residual e não deve ser usado para novas
|
|
127
|
+
páginas ou exemplos.
|
|
128
|
+
|
|
129
|
+
Para conectar componentes internos de containers como `praxis-tabs` e
|
|
130
|
+
`praxis-expansion`, use endpoints `component-port` com `ref.nestedPath`:
|
|
131
|
+
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"kind": "component-port",
|
|
135
|
+
"ref": {
|
|
136
|
+
"widget": "tabs-widget",
|
|
137
|
+
"nestedPath": [
|
|
138
|
+
{ "kind": "tab", "id": "analytics", "index": 0 },
|
|
139
|
+
{ "kind": "widget", "key": "sales-chart", "componentType": "praxis-chart" }
|
|
140
|
+
],
|
|
141
|
+
"port": "pointClick",
|
|
142
|
+
"direction": "output",
|
|
143
|
+
"componentType": "praxis-chart"
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Regras de plataforma:
|
|
149
|
+
|
|
150
|
+
- `ref.widget` é sempre o owner top-level presente em `page.widgets`;
|
|
151
|
+
- `nestedPath` é relativo ao owner e deve terminar com segmento
|
|
152
|
+
`kind: "widget"` contendo `key` estável;
|
|
153
|
+
- `ref.port` representa a porta real do componente filho;
|
|
154
|
+
- `widgetEvent` em containers compostos é bridge avançada/legado, não caminho
|
|
155
|
+
principal de authoring;
|
|
156
|
+
- `bindingPath` e dot-path profundo não são endereço canônico para nested
|
|
157
|
+
component ports.
|
|
158
|
+
|
|
123
159
|
### Component config editors
|
|
124
160
|
|
|
125
161
|
`ComponentDocMeta.configEditor` é a superfície pública canônica para um
|
|
@@ -208,6 +244,21 @@ Regra de leitura:
|
|
|
208
244
|
- se o problema for URL, submit, fetch ou schema, pense primeiro em `resourcePath`
|
|
209
245
|
- se o problema for discovery semantico, contexto de surface/action ou identidade estavel, pense primeiro em `resourceKey`
|
|
210
246
|
|
|
247
|
+
## `x-ui.optionSource` e Entity Lookup
|
|
248
|
+
|
|
249
|
+
`@praxisui/core` preserva `x-ui.optionSource` como contrato canônico de opções remotas e lookups de entidade publicados por `/schemas/filtered`.
|
|
250
|
+
|
|
251
|
+
Para `RESOURCE_ENTITY`, o `SchemaNormalizerService` mantém a semântica enriquecida usada pelos consumidores:
|
|
252
|
+
|
|
253
|
+
- identidade: `entityKey`, `valuePropertyPath`, `labelPropertyPath`, `codePropertyPath`
|
|
254
|
+
- exibição: `descriptionPropertyPaths`, `statusPropertyPath`, `disabledReasonPropertyPath`
|
|
255
|
+
- busca e cascata: `searchPropertyPaths`, `dependsOn`, `dependencyFilterMap`
|
|
256
|
+
- seleção: `selectionPolicy.allowedStatuses`, `blockedStatuses`, `allowRetainInvalidExistingValue`
|
|
257
|
+
- operação: `capabilities.byIds`, `navigateToDetail`, `create`, `auditSnapshot`
|
|
258
|
+
- navegação: `detail.hrefTemplate`, `routeTemplate`, `openDetailMode`
|
|
259
|
+
|
|
260
|
+
O mapper de `FieldDefinition` para `FieldMetadata` deriva apenas a ponte runtime necessária (`dependencyFields` e `dependencyFilterMap`) a partir de `optionSource.dependsOn`. Ele não inventa política de reset, reload ou persistência; essas decisões continuam explícitas no metadata do campo.
|
|
261
|
+
|
|
211
262
|
## `x-ui.analytics` no runtime
|
|
212
263
|
|
|
213
264
|
O `@praxisui/core` trata `x-ui.analytics` como a projeção semantica analitica canonica vinda do backend.
|
|
@@ -274,7 +325,7 @@ definition: {
|
|
|
274
325
|
```ts
|
|
275
326
|
shell: {
|
|
276
327
|
actions: [
|
|
277
|
-
{ id: 'back', icon: 'arrow_back',
|
|
328
|
+
{ id: 'back', icon: 'arrow_back', globalAction: { actionId: 'navigation.back' } }
|
|
278
329
|
]
|
|
279
330
|
}
|
|
280
331
|
```
|