@esfaenza/flow-builder 20.3.33 → 20.3.35

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
@@ -341,6 +341,26 @@ Tre cose che il modello non mostra e il form dice:
341
341
  Il riordino e l'annidamento si fanno trascinando (`@angular/cdk/drag-drop`, senza drop list: il
342
342
  bersaglio si calcola dal DOM) oppure con i comandi «su / giu' / porta fuori».
343
343
 
344
+ **Transform (§5.13).** Anche questo e' un compositore e non un form: **tre colonne** — le sorgenti,
345
+ la destinazione, il dettaglio della riga scelta. Si mappa **trascinando** una sorgente su una
346
+ destinazione, oppure selezionando la destinazione e cliccando la sorgente; il bersaglio del rilascio
347
+ si calcola dal DOM, come nello screen dinamico.
348
+
349
+ Le due cose che il modello non mostra e la colonna centrale dice:
350
+
351
+ - **le righe sono le destinazioni, non le azioni.** Vengono dal catalogo del risultato — i membri
352
+ della classe (§4.7.1) o i campi dell'entita' (§4.4) — quindi si vede anche cio' che **non e'**
353
+ ancora mappato, che nell'elenco delle `transformValueActions` non compariva. Una riga esiste prima
354
+ dell'azione: la prima modifica la crea. Un membro calcolato non c'e' affatto, perche' assegnarlo e'
355
+ `TARGET_NOT_WRITABLE`. Dove il catalogo non e' autorevole — una classe che non dichiara i membri, un
356
+ risultato scalare — le righe tornano a essere le azioni e il nome si **digita**, senza che nessuno
357
+ venga accusato di non esistere;
358
+ - **le sorgenti si navigano.** Sono i riferimenti di `POST /flows/references`, e dentro un record o
359
+ una classe si entra per proporne campi e membri, con la regola del reference picker: gli output
360
+ automatici si **propongono** e non si giudicano (§4.5). `aggregationField` di un `Sum` resta il
361
+ **nome** di un campo (`stringValue`), ma dove il tipo della collection aggregata e' noto lo si
362
+ sceglie da un elenco invece di ricordarlo.
363
+
344
364
  **Screen action (§5.2).** Un campo che l'utente compila puo' **innescare un'action** i cui risultati
345
365
  finiscono negli altri campi della stessa schermata: e' il caso «scrivi il codice fiscale e nome e
346
366
  cognome compaiono da soli», e senza di essa lo si farebbe spezzando lo screen in due con un elemento
@@ -655,9 +675,19 @@ non ne cambia il comportamento. Quattro conseguenze, tutte visibili nell'editor:
655
675
  che nomina un elemento cancellato e' cio' che resta dopo la cancellazione: l'editor offre di
656
676
  ripulirlo con un comando e non lo fa di soppiatto mentre si trascina qualcos'altro.
657
677
 
658
- Chiuso, il riquadro resta la sola barra del titolo e **gli elementi restano visibili**: nasconderli
659
- vorrebbe dire connettori con `display: none`, cioe' geometria 0×0 e archi attaccati nel punto
660
- sbagliato.
678
+ **Chiuso, il riquadro nasconde cio' che contiene.** Al posto dei suoi elementi compare una
679
+ **pastiglia** col titolo, quanti elementi sta nascondendo e i loro rilievi sommati chiudere un
680
+ riquadro non zittisce un errore. Gli archi interni non si disegnano, quelli che entrano nel riquadro
681
+ o ne escono si riattaccano alla pastiglia e portano nell'etichetta il nome dell'elemento nascosto,
682
+ che e' l'unica informazione che chiudere ha portato via. Si sposta come la cornice (i membri vengono
683
+ dietro), si apre con il suo triangolo o con un doppio clic, e si elimina senza toccare gli elementi.
684
+
685
+ Due limiti che sono scelte: gli archi con un capo sulla pastiglia **non si riassegnano e non si
686
+ innestano** — dietro un solo connettore stanno elementi diversi, e non c'e' modo di sapere quale si
687
+ intendeva, quindi per collegare o innestare si apre il riquadro; e trascinare un elemento sopra una
688
+ pastiglia **non lo aggiunge** al riquadro chiuso, perche' sarebbe un elemento che sparisce.
689
+ Cercarne uno che sta dentro un riquadro chiuso lo **apre**: la ricerca promette l'elemento, non la
690
+ sua scatola.
661
691
 
662
692
  **Import/export.** Export JSON indentato; import via `POST /flows/parse`, che normalizza il
663
693
  documento o lo rifiuta con `InvalidDefinition`.