@esfaenza/flow-builder 20.3.54 → 20.3.55

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
@@ -141,7 +141,7 @@ sono opzionali e rifiutano con `MissingService` se non sovrascritti.
141
141
  | `createVersion(flowName, request?)` | astratto |
142
142
  | `activateVersion(flowName, version)` | astratto |
143
143
  | `deactivateFlow(flowName)` | astratto |
144
- | `cloneFlow`, `deleteVersion`, `deleteFlow` | opzionali — senza `cloneFlow` «Duplica» resta disponibile e ripiega su `createFlow` |
144
+ | `cloneFlow`, `deleteVersion`, `deleteFlow` | opzionali — senza `cloneFlow` «Duplica» resta disponibile e ripiega su `createFlow`; `deleteVersion` e' il comando del pannello versioni, mentre **`deleteFlow` non la chiama nessun componente**: eliminare un flow e' dell'ospite (vedi «Versioni») |
145
145
 
146
146
  | §6.3 Validazione | |
147
147
  |---|---|
@@ -664,6 +664,17 @@ ripulitura e' un comando («Togli»), non un effetto dell'apertura del form: can
664
664
  un flow scritto altrove farebbe sparire l'unico indizio di cosa doveva selezionare. Il rilievo si
665
665
  vede in **tutti e due** i posti, elenco e form, come gli altri controlli locali.
666
666
 
667
+ *Da dove vengono i due campi su una collection.* Su `collectionReference` non c'e' nessun `object` a cui
668
+ chiedere i campi: i nomi citabili sono quelli del **tipo degli elementi**, che il form legge da
669
+ `getReferences` (`dataType` + `objectType` della collection scelta, output automatici compresi) — un
670
+ `Object` propone i campi dell'entita', una `Structure` i membri della classe, la stessa strada del
671
+ campo da sommare di un Transform. Su questa sorgente **nessuno dei due e' obbligatorio** (su una
672
+ collection di scalari vanno lasciati vuoti) e la validazione **non li verifica**: un nome sbagliato
673
+ ricade in silenzio sull'elemento intero. Per questo l'elenco si propone davvero, e un nome fuori
674
+ elenco si dice come **avviso senza codice** (`unverified` dello structure member picker): accusarlo
675
+ con `STRUCTURE_MEMBER_UNKNOWN` prometterebbe un rilievo che il backend lì non emette. `object` resta
676
+ vuoto: valorizzarlo per far funzionare il picker sarebbe `CHOICE_SET_SOURCE_AMBIGUOUS`.
677
+
667
678
  *La logica dei filtri.* `filterLogic` **esiste anche sui choice set**, con le stesse forme degli
668
679
  elementi che interrogano il database: `AND` (o assente), `OR`, oppure l'espressione sugli indici
669
680
  1-based dei filtri (`1 AND (2 OR 3)`), che l'editor verifica mentre si scrive e **riscrive** quando
@@ -941,6 +952,19 @@ flow da sé (come la demo) il tipo lo chiede lì, e lo passa a `emptyFlowDefinit
941
952
  attivazione bloccata finche' ci sono errori, eliminazione dietro una conferma esplicita che
942
953
  spiega il rischio per le esecuzioni sospese.
943
954
 
955
+ **Eliminare il flow intero e' dell'ospite.** Il pannello versioni si ferma alla **versione**: il
956
+ flow lo toglie chi integra, perche' il builder edita un flow già aperto e l'elenco da cui toglierlo
957
+ e' suo. La primitiva e' `deleteFlow` (§6.2, opzionale) e la sequenza e' la parte che leggendo
958
+ l'interfaccia non si indovina: `DELETE /flows/{name}` e' **rifiutata finche' esiste una versione
959
+ attiva**, quindi dove c'e' si chiama prima `deactivateFlow`. Sono due chiamate e non una
960
+ transazione — se la seconda fallisce il flow resta lì, **disattivato**, e l'elenco va ricaricato
961
+ anche sull'errore, altrimenti mostra uno stato che sul backend non esiste piu'. Disattivare ed
962
+ eliminare cancellano anche la presa in carico presso l'infrastruttura (§8), quindi di qui tornano gli
963
+ stessi due errori dell'attivazione: con `MissingService` il comando si spegne — e' così che degrada
964
+ una primitiva concreta — con `RegistrationFailed` il flow c'e' ancora e «riprova» ha senso.
965
+ L'esempio, con la conferma in due passi, sta nella demo
966
+ ([`app.component.ts`](../flow-builder-example/src/app/app.component.ts)).
967
+
944
968
  **Duplica.** Il flow salvato sotto un altro nome, alla versione 1 (§6.2): il comando chiede nome
945
969
  tecnico e nome visibile della copia, e l'editor **continua sulla copia** — restare sull'originale
946
970
  farebbe finire il salvataggio successivo nel flow sbagliato. Due strade, e la differenza conta: