@msbci/form-editor 1.3.3 → 1.3.5
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 +21 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +246 -3
- package/dist/index.d.ts +246 -3
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -88,6 +88,27 @@ Uses the same `IMosobiTheme` system as `@msbci/form-renderer`:
|
|
|
88
88
|
<FormEditor theme={myTheme} dataSources={connectors} adapter={adapter} />
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
+
## v1.3.5
|
|
92
|
+
|
|
93
|
+
- **ScopeManagerDialog** — nouveau dialog modal qui pilote le CRUD des `IScope`. Bouton **"Scopes"** ajouté dans la barre d'outils (`data-testid="toolbar-scopes"`) entre ⚙ et `+ Page`. Création (nom + code auto), édition inline du nom au clic, suppression avec confirmation. Si le serveur renvoie 409 (scope rattaché à des forms/templates/dataSources), le message d'erreur est affiché **inline en rouge** dans la zone de confirmation.
|
|
94
|
+
- **VariableTemplateManager** — sous-dialog ouvert depuis le bouton "Gérer les variables →" de chaque scope (data-testid `scope-manage-variables-{code}`). Recharge `adapter.loadTemplates(scopeId)` au mount (liste authoritative du scope, indépendamment du formulaire courant). Updates optimistes après chaque mutation (pas de refetch).
|
|
95
|
+
- Formulaire d'édition template **progressif** :
|
|
96
|
+
- Toujours visible : `code` (read-only en édition), `name` (LocalizedField, read-only en édition), `variableType`, `description`, `placeholder`, flags `isRequired`/`isReadonly`/`isHidden`.
|
|
97
|
+
- Conditionnels : `OptionsEditor` si `type ∈ [select, multiselect, radio, checkbox, listradio]`, `expression` si `calculated`, `dataSourceId` (dropdown alimenté par `availableDataSources`) si `[select, multiselect]`.
|
|
98
|
+
- Section repliable **"Avancé"** : `validationRules`, `conditions`, `style` en JSON (validation client avant submit).
|
|
99
|
+
- `IEditorAdapter` étendu : `createScope`, `updateScope`, `deleteScope`, `createTemplate`, `updateTemplate`, `deleteTemplate` — toutes optionnelles. Les patches `updateTemplate` excluent typedef-side `code` et `name` (immuables côté serveur).
|
|
100
|
+
- Labels FR/EN : `toolbar.scopes`, `toolbar.manageScopesTitle`, blocs `scopeManager.*` et `variableTemplateManager.*` (titre paramétrable, confirmations, badges read-only, ARIA labels par row).
|
|
101
|
+
- 16 nouveaux tests RTL (`scopeManager.test.tsx` ×8 + `variableTemplateManager.test.tsx` ×8) — 167 tests passants.
|
|
102
|
+
|
|
103
|
+
## v1.3.4
|
|
104
|
+
|
|
105
|
+
- **DataSourceConfigManager** — nouveau dialog modal (`/dialogs/DataSourceConfigManager.tsx`) qui pilote le CRUD des `IDataSourceConfig` côté admin. Liste filtrable par scope (badge de provenance), formulaire d'ajout/édition (code, name, URL, method, queryParam, value/label fields, headers password-masked, dépendances). Bouton **"Sources"** ajouté dans la barre d'outils (`data-testid="toolbar-datasources"`).
|
|
106
|
+
- `IEditorAdapter` étendu : `loadDataSources(scopeId)`, `createDataSource(scopeId, data)`, `updateDataSource(id, data)`, `deleteDataSource(id)` — toutes optionnelles.
|
|
107
|
+
- Store : nouveau `availableDataSources: IDataSourceConfig[]` + setter `setAvailableDataSources()`. Hors undo/redo (UI state). Chargé par `FormEditor` via `Promise.all(scopeIds.map(loadDataSources))` + dédup par `code` (premier scope gagne, comme les templates).
|
|
108
|
+
- `DataSourceSelector` lit désormais le store en plus de la prop legacy `availableConnectors` — les configs admin l'emportent sur les connecteurs hardcodés du host.
|
|
109
|
+
- Labels FR/EN : `toolbar.dataSources`, `toolbar.manageDataSourcesTitle`, bloc complet `dataSourceManager.*` (titre dialog, formulaire, badges, confirmations).
|
|
110
|
+
- 6 nouveaux tests RTL (`dataSourceConfigManager.test.tsx`) — 151 tests passants.
|
|
111
|
+
|
|
91
112
|
## v1.3.3
|
|
92
113
|
|
|
93
114
|
- **Régression zone vide canvas** corrigée — un clic sur la zone vide entre les pages déclenche désormais `select({ type: 'form' })` et ouvre les propriétés du formulaire (garde `e.target === e.currentTarget` pour ne pas capturer les clics enfants)
|