@esfaenza/flow-builder 20.3.19 → 20.3.21
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 -0
- package/fesm2022/esfaenza-flow-builder.mjs +836 -78
- package/fesm2022/esfaenza-flow-builder.mjs.map +1 -1
- package/index.d.ts +318 -14
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -191,6 +191,32 @@ l'attributo `style` del node a ogni spostamento e uno `[style.width]` verrebbe c
|
|
|
191
191
|
tabella delle larghezze e' la stessa che il comando «Riordina» passa a dagre: se divergessero,
|
|
192
192
|
i node larghi resterebbero sovrapposti.
|
|
193
193
|
|
|
194
|
+
**Copia, incolla, duplica.** `Ctrl`+`C` copia gli elementi selezionati — la selezione del canvas
|
|
195
|
+
puo' contenerne piu' d'uno (rettangolo, `Ctrl`+`A`) — `Ctrl`+`V` li incolla, `Ctrl`+`D` li duplica in
|
|
196
|
+
loco; gli stessi comandi stanno nella top bar («⧉» e «⎘») e sul node selezionato («⧉»). I tasti
|
|
197
|
+
ascoltano sull'host del builder e si ignorano quando il fuoco e' in un campo di testo, dove
|
|
198
|
+
`Ctrl`+`C` deve copiare il testo.
|
|
199
|
+
|
|
200
|
+
Cosa viaggia con il blocco: la configurazione intera dell'elemento, i **collegamenti interni** al
|
|
201
|
+
blocco (quelli verso l'esterno no — sarebbero `CONNECTOR_TARGET_UNKNOWN`) e le **risorse
|
|
202
|
+
referenziate**, che e' cio' che rende il gesto utile su un elemento complesso. Gli appunti stanno in
|
|
203
|
+
`localStorage`, quindi valgono anche fra flow diversi e fra schede: non e' la clipboard di sistema,
|
|
204
|
+
che per essere **letta** chiede un permesso che in un iframe puo' non arrivare mai.
|
|
205
|
+
|
|
206
|
+
L'incolla passa da una conferma perche' non e' mai una copia identica, e le tre cose che cambiano le
|
|
207
|
+
decide il contratto:
|
|
208
|
+
|
|
209
|
+
- i nomi già usati vengono **rinominati**, e non solo quello dell'elemento: uno spazio di nomi unico
|
|
210
|
+
(§3.3) comprende gli step di orchestrazione, i campi di uno screen dinamico e le screen action, e
|
|
211
|
+
duplicare uno screen dinamico senza rinominare i campi produceva un `NAME_DUPLICATED` per campo;
|
|
212
|
+
- i **riferimenti interni** al blocco seguono i nomi nuovi (§13.8: nessuna primitiva lo fa), condizioni,
|
|
213
|
+
`visibilityRule`, trigger e output automatici compresi;
|
|
214
|
+
- le risorse che nella destinazione non esistono si creano (con una casella per non farlo), quelle
|
|
215
|
+
omonime si **riusano**, e cio' che resta irrisolvibile — un elemento rimasto nel flow di origine —
|
|
216
|
+
viene elencato invece di sparire in un `REFERENCE_UNKNOWN` da scoprire dopo.
|
|
217
|
+
|
|
218
|
+
Tutto l'incolla e' **un solo passo di annulla**.
|
|
219
|
+
|
|
194
220
|
**Dettaglio dell'elemento.** Con `inspectorMode="dialog"` (predefinito) il form si apre in una
|
|
195
221
|
finestra sopra il canvas: doppio click sul node, bottone «✎» sul node, comando «Dettaglio»
|
|
196
222
|
nella top bar, click su un rilievo nel pannello dei problemi, o creazione di un elemento dalla
|
|
@@ -507,6 +533,10 @@ src/lib/
|
|
|
507
533
|
"questo ambiente la primitiva non ce l'ha"
|
|
508
534
|
flow-editor-session.ts versioni, salvataggio, concorrenza ottimistica
|
|
509
535
|
flow-layout.service.ts auto-layout con dagre
|
|
536
|
+
flow-clipboard.ts copia/incolla: l'elenco unico dei campi-riferimento, la riscrittura
|
|
537
|
+
dei nomi, il piano dell'incolla (che nomi cambiano, che risorse
|
|
538
|
+
mancano, cosa resta irrisolto)
|
|
539
|
+
flow-clipboard.service.ts gli appunti condivisi fra istanze e schede (localStorage)
|
|
510
540
|
flow-name.util.ts nomi: regexp, namespace unico, slug dalla label
|
|
511
541
|
condition-logic.util.ts riscrittura di conditionLogic su cancella / riordina
|
|
512
542
|
condition-types.util.ts quali tipi si confrontano, e i numeri in cultura invariante
|