@esfaenza/flow-builder 20.3.40 → 20.3.42
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 +30 -5
- package/fesm2022/esfaenza-flow-builder.mjs +328 -39
- package/fesm2022/esfaenza-flow-builder.mjs.map +1 -1
- package/index.d.ts +113 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -316,9 +316,9 @@ orchestrazione ne resta fuori: la §7 non lo comprende.
|
|
|
316
316
|
Un tipo con un **discriminatore** compare come piu' voci, una per valore: il Collection
|
|
317
317
|
Processor e' «Ordina» e «Filtra», non «ordina o filtra». Sono due gesti diversi — un `Sort`
|
|
318
318
|
vuole `sortOptions`, un `Filter` vuole condizioni (§5.6) — e sceglierli dalla palette evita di
|
|
319
|
-
sceglierli dopo, dentro il form. L'elemento nasce con il discriminatore già scritto, con
|
|
320
|
-
|
|
321
|
-
|
|
319
|
+
sceglierli dopo, dentro il form. L'elemento nasce con il discriminatore già scritto, con il
|
|
320
|
+
glifo della variante — lo stesso che avra' sul canvas — e con un nome tecnico provvisorio preso
|
|
321
|
+
dalla variante. `core/element-variants.ts` tiene la mappa tipo → campo del
|
|
322
322
|
discriminatore; i valori restano nel dizionario del backend (`collectionProcessorTypes`), e
|
|
323
323
|
senza quel dizionario il tipo torna a essere una voce sola.
|
|
324
324
|
|
|
@@ -327,6 +327,17 @@ Decision, Loop, Collection Processor, Get / Create / Update / Delete / Rollback
|
|
|
327
327
|
Action, Script, Subflow, Wait, Custom Error, Transform, Orchestrated Stage. Più l'intestazione
|
|
328
328
|
comune con la rinomina, che **riscrive tutti i riferimenti** all'elemento.
|
|
329
329
|
|
|
330
|
+
*Nominare un elemento nuovo.* Un elemento appena creato nasce **senza etichetta**, e il suo form
|
|
331
|
+
si apre con il cursore lì: il nome tecnico parte **vuoto** e si costruisce dall'etichetta mentre
|
|
332
|
+
la si digita, con spazi e caratteri non ammessi sostituiti da `_` (§3.3). Nel documento un nome
|
|
333
|
+
provvisorio c'e' comunque, perché il nome e' la chiave con cui tutto raggiunge l'elemento — e' anche
|
|
334
|
+
cio' che il canvas mostra al posto del titolo finché l'etichetta manca — ma non e' quello che si
|
|
335
|
+
legge nel campo. Scrivere il nome a mano lo sgancia dall'etichetta; svuotare il campo lo rimette a
|
|
336
|
+
seguirla. Su un elemento che un'etichetta ce l'ha già il nome torna in sola lettura dietro il
|
|
337
|
+
comando «Rinomina»: da lì in poi cambiarlo riscrive i riferimenti di tutto il documento (§13.8) e
|
|
338
|
+
non e' un gesto da fare per sbaglio. Corollario: l'annulla riporta indietro etichetta e nome
|
|
339
|
+
**insieme**, in un passo solo, e la selezione dell'editor — che e' il nome — lo segue.
|
|
340
|
+
|
|
330
341
|
**Screen dinamico (§5.2).** È un **compositore**, non un form, e per questo la dialog e' larga il
|
|
331
342
|
doppio di com'era: **tre colonne**. A sinistra la palette (due schede — i componenti, e i campi di
|
|
332
343
|
un'entita' che portano tipo ed etichetta dallo schema), al centro **la schermata disegnata** (si
|
|
@@ -349,7 +360,11 @@ Tre cose che il modello non mostra e il form dice:
|
|
|
349
360
|
- le regole di visibilita' si rivalutano **sui valori appena inviati**, i campi nascosti vengono
|
|
350
361
|
**azzerati** e solo i visibili vengono validati;
|
|
351
362
|
- `choiceReferences` accetta **solo** `Choice` e `DynamicChoiceSet`, e gli output automatici di un
|
|
352
|
-
`ComponentInstance` sono esclusivi con i suoi `outputParameters
|
|
363
|
+
`ComponentInstance` sono esclusivi con i suoi `outputParameters`;
|
|
364
|
+
- `autoSelectSingleChoice` fa prendere al campo l'**unica** opzione risolta, quando e' una sola: e'
|
|
365
|
+
la tendina che dipende da un'altra tendina — i CAP di un comune — dove chiedere di scegliere non
|
|
366
|
+
decide niente. La spunta compare solo dove il tipo `acceptsChoices`, e altrove e'
|
|
367
|
+
`SCREEN_FIELD_CONFIGURATION_INVALID` (avviso).
|
|
353
368
|
|
|
354
369
|
Il riordino e l'annidamento si fanno trascinando (`@angular/cdk/drag-drop`, senza drop list: il
|
|
355
370
|
bersaglio si calcola dal DOM) oppure con i comandi «su / giu' / porta fuori».
|
|
@@ -400,7 +415,9 @@ Le tre cose che riguardano l'editor, e non il runtime:
|
|
|
400
415
|
- **un trigger senza campo e senza `initBehavior` non scattera' mai**
|
|
401
416
|
(`SCREEN_TRIGGER_WITHOUT_CAUSE`), e l'unico `initBehavior` ammesso e' `runOnLoad` — il
|
|
402
417
|
`runOnRevisit` della specifica Salesforce e' `SCREEN_TRIGGER_INIT_BEHAVIOR_UNKNOWN`, e vale la
|
|
403
|
-
pena saperlo perche' chi arriva da quella specifica lo scrive per abitudine.
|
|
418
|
+
pena saperlo perche' chi arriva da quella specifica lo scrive per abitudine. Dove il campo
|
|
419
|
+
osservato ha un `defaultValue` il form dice che `runOnLoad` **non serve**: un campo precompilato
|
|
420
|
+
dal flow conta come un campo che ha preso un valore, e l'action gira comunque all'arrivo.
|
|
404
421
|
|
|
405
422
|
Le action si aprono **una alla volta**: i cataloghi delle action e dei loro parametri dipendono da
|
|
406
423
|
`actionType`/`actionName`, e tenerne N in volo sarebbe N volte la corsa fra risposte che l'inspector
|
|
@@ -658,6 +675,14 @@ leggendo. Ad aprire il form ci sono il bottone «✎» della riga e il doppio cl
|
|
|
658
675
|
coppia di gesti del canvas. Per la stessa
|
|
659
676
|
ragione il clic non si limita ad aprire l'elemento: **seleziona il campo** che il rilievo nomina.
|
|
660
677
|
|
|
678
|
+
**Il tipo di flow si sceglie alla creazione.** Su un flow nuovo — quello che l'editor apre senza
|
|
679
|
+
`flowName` — il `processType` e' una scelta nella barra in cima; da quando il flow e' salvato
|
|
680
|
+
diventa un'etichetta e non si tocca più. Non e' prudenza: il tipo decide quali globali esistono
|
|
681
|
+
(`$Record` non c'e' in uno screen flow, §4.1), quali elementi sono ammessi (§13.6) e come il motore
|
|
682
|
+
esegue il flow, e cambiarlo su un documento già scritto lo lascia pieno di riferimenti a cose che
|
|
683
|
+
da quel momento non esistono — senza che nessuna primitiva del backend rimedi. Un host che crea i
|
|
684
|
+
flow da sé (come la demo) il tipo lo chiede lì, e lo passa a `emptyFlowDefinition`.
|
|
685
|
+
|
|
661
686
|
**Versioni.** Elenco con stato, «Nuova versione» al posto di «Salva» sulle versioni chiuse,
|
|
662
687
|
attivazione bloccata finche' ci sono errori, eliminazione dietro una conferma esplicita che
|
|
663
688
|
spiega il rischio per le esecuzioni sospese.
|