@esfaenza/flow-builder 20.3.8 → 20.3.10
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 +20 -0
- package/fesm2022/esfaenza-flow-builder.mjs +214 -53
- package/fesm2022/esfaenza-flow-builder.mjs.map +1 -1
- package/index.d.ts +61 -8
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -872,9 +872,10 @@ interface FlowReference {
|
|
|
872
872
|
isCollection?: boolean;
|
|
873
873
|
objectType?: string | null;
|
|
874
874
|
/**
|
|
875
|
-
* Per i campi di destinazione. Scrivibili sono le variabili, `$
|
|
876
|
-
* `$Flow.
|
|
877
|
-
* `POST /flows/references/writable` le comprende già, non
|
|
875
|
+
* Per i campi di destinazione. Scrivibili sono le variabili, i campi di `$Record` e **due sole**
|
|
876
|
+
* globali, `$Flow.CurrentStage` e `$Flow.ActiveStages`: le globali dell'host sono sempre di sola
|
|
877
|
+
* lettura, membri compresi. La primitiva `POST /flows/references/writable` le comprende già, non
|
|
878
|
+
* vanno aggiunte lato client (§5.2).
|
|
878
879
|
*/
|
|
879
880
|
isWritable?: boolean;
|
|
880
881
|
description?: string | null;
|
|
@@ -1191,9 +1192,10 @@ declare abstract class FlowBuilderApi {
|
|
|
1191
1192
|
abstract getReferences(query: FlowReferenceQuery): Promise<FlowReference[]>;
|
|
1192
1193
|
/**
|
|
1193
1194
|
* `POST /flows/references/writable` — le variabili **piu' le globali assegnabili**, per i
|
|
1194
|
-
* campi di destinazione
|
|
1195
|
-
*
|
|
1196
|
-
* (§5.2).
|
|
1195
|
+
* campi di destinazione. Le globali assegnabili sono **due**, `$Flow.CurrentStage` e
|
|
1196
|
+
* `$Flow.ActiveStages`: quelle dell'host sono sempre di sola lettura e il catalogo non ha un
|
|
1197
|
+
* flag per dichiararne una scrivibile (§5.2). La primitiva le comprende già, l'editor non le
|
|
1198
|
+
* aggiunge. Restano fuori i campi di `$Record`, che dipendono dallo schema: quelli arrivano da
|
|
1197
1199
|
* `listFields(object, 'updateable')` (§6.4).
|
|
1198
1200
|
*/
|
|
1199
1201
|
abstract getWritableReferences(query: FlowReferenceQuery): Promise<FlowReference[]>;
|
|
@@ -2685,11 +2687,34 @@ declare class ReferencePickerComponent {
|
|
|
2685
2687
|
readonly elementsOnly: _angular_core.InputSignal<boolean>;
|
|
2686
2688
|
readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
|
|
2687
2689
|
private readonly references;
|
|
2690
|
+
/**
|
|
2691
|
+
* L'elenco **senza** il filtro di tipo, che serve solo a riconoscere le radici dei percorsi.
|
|
2692
|
+
*
|
|
2693
|
+
* Il filtro (§6.4) guarda il tipo della **radice**, e una radice scartata si porta via anche cio'
|
|
2694
|
+
* che sta sotto: in un parametro `String` una variabile `Structure` non e' compatibile, ma
|
|
2695
|
+
* `Richiesta.Ragione` lo e', e `Leggi_Ordine` non e' un `String` mentre `Leggi_Ordine.Numero` lo
|
|
2696
|
+
* e'. Senza questo elenco il primo membro non si puo' proporre e il secondo viene accusato di non
|
|
2697
|
+
* esistere pur essendo un riferimento valido (§4.5).
|
|
2698
|
+
*
|
|
2699
|
+
* Vuoto dove il filtro non c'e': lì {@link references} e' già l'elenco completo.
|
|
2700
|
+
*/
|
|
2701
|
+
private readonly unfiltered;
|
|
2702
|
+
/** Tutto cio' che puo' essere la radice di un percorso, filtrato o no. */
|
|
2703
|
+
private readonly roots;
|
|
2688
2704
|
private readonly isLoading;
|
|
2689
2705
|
private readonly loadError;
|
|
2690
2706
|
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
2691
2707
|
readonly query: _angular_core.WritableSignal<string>;
|
|
2692
2708
|
constructor();
|
|
2709
|
+
/**
|
|
2710
|
+
* Il riferimento dichiarato piu' **lungo** che sia un prefisso del valore, sui confini del punto.
|
|
2711
|
+
*
|
|
2712
|
+
* Non basta il primo segmento: un nome dichiarato puo' contenere il punto. Le globali sono il caso
|
|
2713
|
+
* per cui la regola esiste — di `$User.Anagrafica.Citta` il dizionario dichiara `$User.Anagrafica`,
|
|
2714
|
+
* e cercare la corrispondenza esatta di tutto cio' che segue lo scope segnalerebbe come rotto un
|
|
2715
|
+
* percorso giusto (§4.1: vince il prefisso dichiarato piu' lungo).
|
|
2716
|
+
*/
|
|
2717
|
+
private readonly declaredPrefix;
|
|
2693
2718
|
/**
|
|
2694
2719
|
* La risorsa da cui il valore corrente sta navigando, quando la sua forma e' **dichiarata**: una
|
|
2695
2720
|
* `Structure` con la classe, un record con l'entita'. È cio' che rende il percorso verificabile.
|
|
@@ -2710,7 +2735,28 @@ declare class ReferencePickerComponent {
|
|
|
2710
2735
|
* segmento di sola lettura non si propone in un campo di destinazione, a meno che da lì il
|
|
2711
2736
|
* percorso continui: `Richiesta.Cliente` non si assegna, ma `Richiesta.Cliente.Email` sì (§5.7).
|
|
2712
2737
|
*/
|
|
2738
|
+
/**
|
|
2739
|
+
* §5.2 — dentro una globale dell'host **niente** e' scrivibile, per quanto il membro si dichiari
|
|
2740
|
+
* tale: le globali le risolve un componente che non ha modo di scriverle, e proporle come
|
|
2741
|
+
* destinazione farebbe attivare un flow che poi fallisce davanti all'utente. L'eccezione sono i
|
|
2742
|
+
* campi del record che innesca, che si assegnano (§4.1).
|
|
2743
|
+
*/
|
|
2744
|
+
private readonly isReadOnlyPath;
|
|
2713
2745
|
private readonly pathReferences;
|
|
2746
|
+
/**
|
|
2747
|
+
* Lo stesso filtro che il backend applica alle radici (§6.4), applicato ai segmenti di un
|
|
2748
|
+
* percorso: in un parametro `String` non si propone un membro `Date`. Un segmento da cui si
|
|
2749
|
+
* scende resta comunque proposto anche se il suo tipo non combacia — e' la strada per arrivare
|
|
2750
|
+
* al membro che combacia.
|
|
2751
|
+
*/
|
|
2752
|
+
private matchesTarget;
|
|
2753
|
+
/**
|
|
2754
|
+
* I contenitori che il filtro di tipo ha scartato: si mostrano per **entrarci**, non per
|
|
2755
|
+
* scegliersi. Quelli che il filtro ha tenuto stanno già fra le proposte normali.
|
|
2756
|
+
*/
|
|
2757
|
+
private readonly containerOptions;
|
|
2758
|
+
/** `true` → questa riga apre il percorso e non e' un valore valido per il campo. */
|
|
2759
|
+
isContainerOnly(reference: FlowReference): boolean;
|
|
2714
2760
|
readonly options: _angular_core.Signal<FlowReference[]>;
|
|
2715
2761
|
/** Le opzioni raggruppate per `kind`, così gli output automatici si distinguono. */
|
|
2716
2762
|
readonly groups: _angular_core.Signal<{
|
|
@@ -2726,21 +2772,28 @@ declare class ReferencePickerComponent {
|
|
|
2726
2772
|
* elemento): il percorso resta fuori dalla validazione, quindi si accetta senza segnalare;
|
|
2727
2773
|
* - `host`: scope del sistema ospite che **non dichiara percorsi**: non verificabile (§4.1);
|
|
2728
2774
|
* - `member`: percorso dentro una forma dichiarata, verificato fino in fondo (§4.4, §4.7.1);
|
|
2775
|
+
* - `containerRoot`: il contenitore da solo in un campo che vuole un altro tipo: il valore e' un
|
|
2776
|
+
* suo membro, non lui;
|
|
2729
2777
|
* - `memberUnknown`: un segmento non esiste nella sua tappa: `STRUCTURE_MEMBER_UNKNOWN` su una
|
|
2730
2778
|
* classe, `FIELD_UNKNOWN` su un'entita', e a differenza di prima si sa per certo;
|
|
2731
2779
|
* - `memberNotWritable`: il segmento esiste, non e' scrivibile, e questo campo vuole una
|
|
2732
2780
|
* destinazione: `TARGET_NOT_WRITABLE`;
|
|
2733
2781
|
* - `pathUnverified`: la catena si interrompe (`PATH_NOT_VERIFIABLE`): avviso, non errore;
|
|
2782
|
+
* - `globalPathUntyped`: percorso globale che porta un contenitore senza dichiararne il tipo:
|
|
2783
|
+
* `PATH_NOT_VERIFIABLE`, e la correzione sta nel catalogo dell'host, non nel flow (§4.1);
|
|
2784
|
+
* - `globalPathInvalid`: si naviga un percorso globale scalare o una collection: `GLOBAL_UNKNOWN`;
|
|
2734
2785
|
* - `unknown`: nessuna corrispondenza: si avvisa, senza bloccare. Ci finisce anche il
|
|
2735
2786
|
* percorso inesistente di uno scope che i percorsi li dichiara, perche' lì il backend
|
|
2736
2787
|
* risponderebbe `GLOBAL_UNKNOWN`.
|
|
2737
2788
|
*/
|
|
2738
|
-
readonly valueState: _angular_core.Signal<"empty" | "
|
|
2789
|
+
readonly valueState: _angular_core.Signal<"empty" | "known" | "navigated" | "host" | "member" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid" | "unknown">;
|
|
2739
2790
|
/** Le parole cambiano con la tappa: un campo di un'entita' non e' un membro di una classe. */
|
|
2740
2791
|
private readonly tailIsObject;
|
|
2741
2792
|
private readonly tailContainer;
|
|
2742
2793
|
readonly hint: _angular_core.Signal<string | null>;
|
|
2743
|
-
/**
|
|
2794
|
+
/** Gli stati che sono avvisi: «non lo so», o un valore da correggere che non blocca. */
|
|
2795
|
+
readonly isHintWarning: _angular_core.Signal<boolean>;
|
|
2796
|
+
/** Gli stati che sono errori e non avvisi: il colore deve dirlo. */
|
|
2744
2797
|
readonly isHintError: _angular_core.Signal<boolean>;
|
|
2745
2798
|
readonly errorMessage: _angular_core.Signal<string | null>;
|
|
2746
2799
|
open(): void;
|