@praxisui/crud 8.0.0-beta.0 → 8.0.0-beta.100
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
CHANGED
|
@@ -240,12 +240,19 @@ sequenceDiagram
|
|
|
240
240
|
### Pontos-Chave do Runtime
|
|
241
241
|
|
|
242
242
|
1. **`crudContext` precisa ser estavel**: o componente nao usa getter dinamico no template; ele memoiza o contexto quando o metadata muda.
|
|
243
|
-
2. **`PraxisCrudComponent` pode completar a UX da tabela**: ele injeta automaticamente toolbar add e row actions quando o metadata declara acoes e o host nao configurou a tabela explicitamente.
|
|
243
|
+
2. **`PraxisCrudComponent` pode completar a UX da tabela**: ele injeta automaticamente toolbar add e row actions quando o metadata declara acoes e o host nao configurou a tabela explicitamente. Row actions geradas pelo CRUD limitam duas acoes primarias inline por padrao e mantem descobertas/contextuais no menu overflow para preservar densidade corporativa.
|
|
244
244
|
3. **A validacao estrutural do metadata e estrita, mas aceita bindings diferidos**: `route` e `formId` podem ser completados por overrides persistidos imediatamente antes da abertura.
|
|
245
245
|
4. **O `CrudLauncherService` e a fonte de verdade para `openMode`**: ele mescla overrides persistidos, defaults do metadata e GlobalConfig antes de decidir `route`, `modal` ou `drawer`.
|
|
246
246
|
5. **Modal e drawer nao sao equivalentes internamente**: o ramo modal usa `DynamicFormDialogHostComponent`; o ramo drawer depende do adapter provido pelo host.
|
|
247
247
|
6. **Save e delete geram refetch automatico da lista**: esse side effect faz parte do contrato atual do shell CRUD.
|
|
248
248
|
|
|
249
|
+
Nota de fronteira para formularios:
|
|
250
|
+
|
|
251
|
+
- `@praxisui/crud` nao redefine payload de formulario nem filtra campos locais.
|
|
252
|
+
- Campos locais/transientes pertencem ao contrato de `@praxisui/dynamic-form` via `fieldMetadata[].source`, `fieldMetadata[].transient` e `fieldMetadata[].submitPolicy`.
|
|
253
|
+
- No fluxo modal, `DynamicFormDialogHostComponent` recebe `formSubmit.formData` ja filtrado para persistencia. Valores completos de UI ficam em `formSubmit.rawFormData`.
|
|
254
|
+
- `actions[].form.initialValue` e `inputs` continuam sendo seed/contexto de abertura, nao campos automaticamente persistiveis.
|
|
255
|
+
|
|
249
256
|
## Documentacao Tecnica da Lib
|
|
250
257
|
|
|
251
258
|
- `projects/praxis-crud/docs/host-crud-runtime-and-openmode.md`
|
|
@@ -346,6 +353,39 @@ Direcao de plataforma:
|
|
|
346
353
|
- a semantica canonica continua cobrindo metadata, tabela interna, formulario, actions, open modes e persistencia/reabertura
|
|
347
354
|
- hosts consumidores devem permanecer como demonstradores do contrato, nao como donos de um editor paralelo
|
|
348
355
|
|
|
356
|
+
## Agentic Authoring Contract
|
|
357
|
+
|
|
358
|
+
`PRAXIS_CRUD_AUTHORING_MANIFEST` is the executable AI authoring contract for `@praxisui/crud`.
|
|
359
|
+
|
|
360
|
+
The manifest owns CRUD orchestration only:
|
|
361
|
+
|
|
362
|
+
- `resource.path`, `resourceKey`, `idField`, endpoint key and query context binding
|
|
363
|
+
- list surface orchestration and stable `crudContext`
|
|
364
|
+
- create/edit/view action open mode, route, form binding, params, `initialValue` and back policy
|
|
365
|
+
- delete enablement, confirmation, canonical submit contract and capability policy
|
|
366
|
+
- dialog/drawer/route defaults consumed by `CrudLauncherService`
|
|
367
|
+
- permissions derived from resource capabilities
|
|
368
|
+
|
|
369
|
+
The manifest does not own child component semantics:
|
|
370
|
+
|
|
371
|
+
- `TableConfig` edits must delegate to `praxis-table`
|
|
372
|
+
- `FormConfig` and `FieldMetadata` edits must delegate to `praxis-dynamic-form` or `praxis-metadata-editor`
|
|
373
|
+
- dialog shell changes outside CRUD defaults must delegate to `praxis-dialog` or `praxis-settings-panel`
|
|
374
|
+
|
|
375
|
+
Governed operation families:
|
|
376
|
+
|
|
377
|
+
- `resource.bind`
|
|
378
|
+
- `list.surface.configure`
|
|
379
|
+
- `surface.create.configure`
|
|
380
|
+
- `surface.edit.configure`
|
|
381
|
+
- `surface.view.configure`
|
|
382
|
+
- `delete.enabled.set`
|
|
383
|
+
- `dialog.size.set`
|
|
384
|
+
- `permissions.set`
|
|
385
|
+
- `form.childOperation.delegate`
|
|
386
|
+
|
|
387
|
+
Stable identities are resource path/key, `crudId`, action id and child operation id. Array indexes are not canonical identities. Destructive delete behavior requires explicit confirmation and backend capability support.
|
|
388
|
+
|
|
349
389
|
To build the library, run:
|
|
350
390
|
|
|
351
391
|
```bash
|