@esfaenza/flow-builder 20.3.12 → 20.3.13
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 +12 -4
- package/fesm2022/esfaenza-flow-builder.mjs +305 -96
- package/fesm2022/esfaenza-flow-builder.mjs.map +1 -1
- package/index.d.ts +33 -24
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -2827,22 +2827,15 @@ declare class ReferencePickerComponent {
|
|
|
2827
2827
|
readonly query: _angular_core.WritableSignal<string>;
|
|
2828
2828
|
constructor();
|
|
2829
2829
|
/**
|
|
2830
|
-
* Il riferimento dichiarato piu' **lungo** che sia un prefisso del valore,
|
|
2830
|
+
* Il riferimento dichiarato piu' **lungo** che sia un prefisso del valore, e la tappa da cui
|
|
2831
|
+
* navigare il resto. La regola sta in `core/reference-path` perche' non e' solo del picker: gli
|
|
2832
|
+
* inspector ne ricavano il **tipo** dell'ultimo segmento con la stessa catena, e due copie di
|
|
2833
|
+
* «prefisso piu' lungo» divergerebbero (§4.1, §4.7.1).
|
|
2831
2834
|
*
|
|
2832
|
-
*
|
|
2833
|
-
*
|
|
2834
|
-
* e cercare la corrispondenza esatta di tutto cio' che segue lo scope segnalerebbe come rotto un
|
|
2835
|
-
* percorso giusto (§4.1: vince il prefisso dichiarato piu' lungo).
|
|
2835
|
+
* Fra **tutte** le radici, non fra quelle filtrate: la radice di `Richiesta.Ragione` in un campo
|
|
2836
|
+
* `String` sta solo nell'elenco non filtrato.
|
|
2836
2837
|
*/
|
|
2837
2838
|
private readonly declaredPrefix;
|
|
2838
|
-
/**
|
|
2839
|
-
* La risorsa da cui il valore corrente sta navigando, quando la sua forma e' **dichiarata**: una
|
|
2840
|
-
* `Structure` con la classe, un record con l'entita'. È cio' che rende il percorso verificabile.
|
|
2841
|
-
*
|
|
2842
|
-
* Un output automatico e' escluso di proposito: la primitiva ne dichiara il tipo, ma la
|
|
2843
|
-
* specifica tiene i percorsi che ne partono fuori dalla validazione (§7, ultimo capoverso), e
|
|
2844
|
-
* l'editor non deve accusare cio' che il backend non verifica.
|
|
2845
|
-
*/
|
|
2846
2839
|
private readonly navigableRoot;
|
|
2847
2840
|
/** Il percorso dopo la radice: `Cliente.Email` di `Richiesta.Cliente.Email`. */
|
|
2848
2841
|
private readonly navigatedPath;
|
|
@@ -2905,7 +2898,7 @@ declare class ReferencePickerComponent {
|
|
|
2905
2898
|
* percorso inesistente di uno scope che i percorsi li dichiara, perche' lì il backend
|
|
2906
2899
|
* risponderebbe `GLOBAL_UNKNOWN`.
|
|
2907
2900
|
*/
|
|
2908
|
-
readonly valueState: _angular_core.Signal<"empty" | "
|
|
2901
|
+
readonly valueState: _angular_core.Signal<"empty" | "unknown" | "member" | "known" | "navigated" | "host" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid">;
|
|
2909
2902
|
/** Le parole cambiano con la tappa: un campo di un'entita' non e' un membro di una classe. */
|
|
2910
2903
|
private readonly tailIsObject;
|
|
2911
2904
|
private readonly tailContainer;
|
|
@@ -3282,6 +3275,7 @@ declare class ValueEditorComponent {
|
|
|
3282
3275
|
|
|
3283
3276
|
declare class ConditionEditorComponent {
|
|
3284
3277
|
private readonly dictionaries;
|
|
3278
|
+
private readonly catalog;
|
|
3285
3279
|
private readonly api;
|
|
3286
3280
|
private readonly store;
|
|
3287
3281
|
/** Il contenitore: porta `conditions`, `conditionLogic` e, se serve, `formula`. */
|
|
@@ -3306,15 +3300,22 @@ declare class ConditionEditorComponent {
|
|
|
3306
3300
|
* fra testo e numero prima che lo dica la validazione (§4.3).
|
|
3307
3301
|
*/
|
|
3308
3302
|
private readonly references;
|
|
3303
|
+
/**
|
|
3304
|
+
* Il tipo dei due lati, risorsa o **percorso**. L'elenco porta le radici e non i percorsi (§6.4):
|
|
3305
|
+
* su `Richiesta.Stato` la corrispondenza esatta non trova niente, e il tipo si ricava navigando la
|
|
3306
|
+
* classe (§4.7.1). È cio' che fa comparire l'elenco dei valori su un membro `Enum` (§4.6) e che
|
|
3307
|
+
* rende visibile un confronto fra tipi incompatibili anche dentro un'istanza (§4.3).
|
|
3308
|
+
*/
|
|
3309
|
+
private readonly types;
|
|
3309
3310
|
constructor();
|
|
3310
|
-
/** Il tipo di un riferimento, `undefined`
|
|
3311
|
+
/** Il tipo di un riferimento, `undefined` dove non si sa: lì non si segnala (§4.3). */
|
|
3311
3312
|
private typeOfReference;
|
|
3312
3313
|
/** Il tipo del lato sinistro: guida il secondo operando. */
|
|
3313
3314
|
leftDataType(condition: FlowCondition): FlowDataType | undefined;
|
|
3314
3315
|
/**
|
|
3315
3316
|
* Il tipo concreto del lato sinistro quando e' un `Enum`: senza di questo il valore di confronto
|
|
3316
|
-
* resterebbe una casella di testo su un insieme chiuso (§4.6).
|
|
3317
|
-
* (`
|
|
3317
|
+
* resterebbe una casella di testo su un insieme chiuso (§4.6). Vale anche su un percorso navigato
|
|
3318
|
+
* (`Richiesta.Stato`, `$Record.Stato`): il tipo del membro o del campo lo ricava {@link types}.
|
|
3318
3319
|
*/
|
|
3319
3320
|
leftObjectType(condition: FlowCondition): string | undefined;
|
|
3320
3321
|
/** Il tipo del lato destro, dedotto dal campo valorizzato o dal riferimento scelto. */
|
|
@@ -3325,7 +3326,7 @@ declare class ConditionEditorComponent {
|
|
|
3325
3326
|
*/
|
|
3326
3327
|
hasTypeMismatch(condition: FlowCondition): boolean;
|
|
3327
3328
|
typeMismatchMessage(condition: FlowCondition): string;
|
|
3328
|
-
readonly logicMode: _angular_core.Signal<"
|
|
3329
|
+
readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
|
|
3329
3330
|
readonly customLogic: _angular_core.Signal<string>;
|
|
3330
3331
|
/** Feedback immediato sull'espressione: la verita' resta della validazione backend. */
|
|
3331
3332
|
readonly customLogicError: _angular_core.Signal<string | null>;
|
|
@@ -3395,11 +3396,20 @@ declare class RecordFilterEditorComponent {
|
|
|
3395
3396
|
readonly emptyWarning: _angular_core.InputSignal<string | null>;
|
|
3396
3397
|
readonly emptyWarningSeverity: _angular_core.InputSignal<"error" | "warn">;
|
|
3397
3398
|
readonly changed: _angular_core.OutputEmitterRef<(holder: FilterHolder) => void>;
|
|
3398
|
-
private readonly fields;
|
|
3399
3399
|
/** Tutti i campi, filtrabili o no: serve solo a riconoscere le chiavi composte (§5.7). */
|
|
3400
3400
|
private readonly allFields;
|
|
3401
3401
|
readonly filters: _angular_core.Signal<FlowRecordFilter[]>;
|
|
3402
3402
|
readonly operators: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
|
|
3403
|
+
/**
|
|
3404
|
+
* Il tipo del campo filtrato, **compresi i percorsi di relazione**: `Cliente.Citta` non e' nella
|
|
3405
|
+
* lista piatta dei campi dell'entita' e il suo tipo si ricava navigando la catena (§4.4). Senza,
|
|
3406
|
+
* un campo `Enum` raggiunto per relazione tornava una casella di testo su un insieme chiuso (§4.6).
|
|
3407
|
+
*
|
|
3408
|
+
* L'`usage` e' quello del campo — `filterable` fra i filtri — e vale per l'**ultimo** segmento: i
|
|
3409
|
+
* segmenti intermedi li chiede `resolvePath` con `any`, perche' l'uso riguarda il campo confrontato
|
|
3410
|
+
* e non la relazione che porta a lui.
|
|
3411
|
+
*/
|
|
3412
|
+
private readonly types;
|
|
3403
3413
|
constructor();
|
|
3404
3414
|
/**
|
|
3405
3415
|
* §5.7 — l'identificativo esiste ma **non e' filtrabile**: e' il caso di una chiave composta,
|
|
@@ -3407,7 +3417,7 @@ declare class RecordFilterEditorComponent {
|
|
|
3407
3417
|
* evita la ricerca di un campo che nell'elenco non c'e' e non ci sara'.
|
|
3408
3418
|
*/
|
|
3409
3419
|
readonly identifierNotFilterable: _angular_core.Signal<boolean>;
|
|
3410
|
-
readonly logicMode: _angular_core.Signal<"
|
|
3420
|
+
readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
|
|
3411
3421
|
readonly customLogic: _angular_core.Signal<string>;
|
|
3412
3422
|
readonly showEmptyWarning: _angular_core.Signal<boolean>;
|
|
3413
3423
|
addFilter(): void;
|
|
@@ -3423,13 +3433,12 @@ declare class RecordFilterEditorComponent {
|
|
|
3423
3433
|
setFormula(formula: string): void;
|
|
3424
3434
|
/**
|
|
3425
3435
|
* Il tipo del campo, per proporre il controllo giusto sul valore: e' il motivo per cui il
|
|
3426
|
-
* catalogo resta
|
|
3436
|
+
* catalogo resta interrogato qui, e non solo dentro il picker.
|
|
3427
3437
|
*/
|
|
3428
|
-
fieldDataType(filter: FlowRecordFilter):
|
|
3438
|
+
fieldDataType(filter: FlowRecordFilter): FlowDataType | undefined;
|
|
3429
3439
|
/**
|
|
3430
3440
|
* Il tipo concreto del campo: su un campo `Enum` e' cio' che permette di proporre i valori
|
|
3431
|
-
* ammessi invece di farli digitare (§4.6).
|
|
3432
|
-
* e resta `undefined`, come per il tipo.
|
|
3441
|
+
* ammessi invece di farli digitare (§4.6).
|
|
3433
3442
|
*/
|
|
3434
3443
|
fieldObjectType(filter: FlowRecordFilter): string | undefined;
|
|
3435
3444
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<RecordFilterEditorComponent, never>;
|