@esfaenza/flow-builder 20.3.54 → 20.3.56

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/index.d.ts CHANGED
@@ -5269,7 +5269,7 @@ declare class ReferencePickerComponent {
5269
5269
  * percorso inesistente di uno scope che i percorsi li dichiara, perche' lì il backend
5270
5270
  * risponderebbe `GLOBAL_UNKNOWN`.
5271
5271
  */
5272
- readonly valueState: _angular_core.Signal<"unknown" | "empty" | "known" | "navigated" | "host" | "member" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid" | "priorValuesMissing">;
5272
+ readonly valueState: _angular_core.Signal<"unknown" | "empty" | "member" | "known" | "navigated" | "host" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid" | "priorValuesMissing">;
5273
5273
  /** Le parole cambiano con la tappa: un campo di un'entita' non e' un membro di una classe. */
5274
5274
  private readonly tailIsObject;
5275
5275
  private readonly tailContainer;
@@ -5519,6 +5519,13 @@ declare class StructureMemberPickerComponent {
5519
5519
  readonly label: _angular_core.InputSignal<string>;
5520
5520
  readonly placeholder: _angular_core.InputSignal<string>;
5521
5521
  readonly disabled: _angular_core.InputSignal<boolean>;
5522
+ /**
5523
+ * Il nome non lo verifica nessuno: e' il `displayField` di un choice set su una collection
5524
+ * (§5.2), dove un membro che non esiste non produce rilievi e l'opzione ricade in silenzio
5525
+ * sull'elemento intero. Dirlo resta utile, ma come avviso e senza un codice che il backend li'
5526
+ * non emettera' mai.
5527
+ */
5528
+ readonly unverified: _angular_core.InputSignal<boolean>;
5522
5529
  readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
5523
5530
  readonly isOpen: _angular_core.WritableSignal<boolean>;
5524
5531
  /** Il testo digitato mentre il pannello e' aperto: filtra l'elenco. */
@@ -5591,7 +5598,7 @@ declare class StructureMemberPickerComponent {
5591
5598
  clear(): void;
5592
5599
  describe(entry: PathEntry): string;
5593
5600
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructureMemberPickerComponent, never>;
5594
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructureMemberPickerComponent, "fb-structure-member-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
5601
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructureMemberPickerComponent, "fb-structure-member-picker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "className": { "alias": "className"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "unverified": { "alias": "unverified"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
5595
5602
  }
5596
5603
 
5597
5604
  declare class EnumValuePickerComponent {
@@ -5668,7 +5675,7 @@ declare class FormulaEditorComponent {
5668
5675
  * dinamico — e riscriverla a ogni tasto costa. La **verifica** parte comunque durante la
5669
5676
  * digitazione: usa la bozza locale, non cio' che e' arrivato al documento.
5670
5677
  */
5671
- readonly commitOn: _angular_core.InputSignal<"input" | "change">;
5678
+ readonly commitOn: _angular_core.InputSignal<"change" | "input">;
5672
5679
  readonly expressionChange: _angular_core.OutputEmitterRef<string>;
5673
5680
  private readonly area;
5674
5681
  /**
@@ -5968,7 +5975,7 @@ declare class ConditionEditorComponent {
5968
5975
  priorValuesSeverityOf(condition: FlowCondition): PriorValuesSeverity;
5969
5976
  priorValuesMessage(condition: FlowCondition): string;
5970
5977
  typeMismatchMessage(condition: FlowCondition): string;
5971
- readonly logicMode: _angular_core.Signal<"and" | "or" | "custom" | "formula">;
5978
+ readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
5972
5979
  readonly customLogic: _angular_core.Signal<string>;
5973
5980
  /** Feedback immediato sull'espressione: la verita' resta della validazione backend. */
5974
5981
  readonly customLogicError: _angular_core.Signal<string | null>;
@@ -6086,7 +6093,7 @@ declare class RecordFilterEditorComponent {
6086
6093
  * accende la modalita' — altrimenti l'editor riscriverebbe nel documento un valore che fa
6087
6094
  * fallire l'esecuzione.
6088
6095
  */
6089
- readonly logicMode: _angular_core.Signal<"and" | "or" | "custom" | "formula">;
6096
+ readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
6090
6097
  /**
6091
6098
  * `filterLogic: "Formula"` letto dal documento. Non lo scrive nessun gesto di questo editor:
6092
6099
  * arriva da un flow scritto altrove, e va detto invece di essere corretto di soppiatto —
@@ -6291,7 +6298,7 @@ declare class MergeTextEditorComponent {
6291
6298
  readonly disabled: _angular_core.InputSignal<boolean>;
6292
6299
  readonly rows: _angular_core.InputSignal<number>;
6293
6300
  /** Come nel formula editor: `change` dove mutare il documento ridisegna mezza schermata. */
6294
- readonly commitOn: _angular_core.InputSignal<"input" | "change">;
6301
+ readonly commitOn: _angular_core.InputSignal<"change" | "input">;
6295
6302
  readonly textChange: _angular_core.OutputEmitterRef<string>;
6296
6303
  private readonly area;
6297
6304
  /**
@@ -7564,6 +7571,7 @@ declare class ResourceFormComponent {
7564
7571
  private readonly store;
7565
7572
  private readonly dictionaries;
7566
7573
  private readonly catalog;
7574
+ private readonly api;
7567
7575
  /** La risorsa in modifica. Arriva ricostruita a ogni ricalcolo del documento. */
7568
7576
  readonly reference: _angular_core.InputSignal<FlowResourceRef>;
7569
7577
  readonly dataTypes: _angular_core.Signal<_esfaenza_flow_builder.FlowDataTypeEntry[]>;
@@ -7572,6 +7580,14 @@ declare class ResourceFormComponent {
7572
7580
  readonly enumOptions: _angular_core.Signal<FlowCatalogEntry[]>;
7573
7581
  readonly defaultDisplayField = "Label";
7574
7582
  readonly defaultValueField = "Name";
7583
+ /** I due campi citati da un choice set, per chi li rende allo stesso modo. */
7584
+ readonly choiceSetFieldSlots: readonly [{
7585
+ readonly field: "displayField";
7586
+ readonly label: "Campo mostrato";
7587
+ }, {
7588
+ readonly field: "valueField";
7589
+ readonly label: "Campo del valore";
7590
+ }];
7575
7591
  constructor();
7576
7592
  readonly collection: _angular_core.Signal<"variables" | "constants" | "formulas" | "textTemplates" | "choices" | "dynamicChoiceSets" | "stages">;
7577
7593
  readonly resource: _angular_core.Signal<Record<string, unknown>>;
@@ -7635,6 +7651,33 @@ declare class ResourceFormComponent {
7635
7651
  * **tipo** no, e senza tipo il valore di un filtro su `NumericValue` sarebbe una casella di testo.
7636
7652
  */
7637
7653
  readonly enumChoiceSetFields: _angular_core.Signal<FilterFieldOption[]>;
7654
+ /**
7655
+ * I riferimenti del flow, chiesti **solo** mentre il form mostra un choice set su una collection:
7656
+ * e' l'unico punto del form che ne ha bisogno, e sulle altre risorse sarebbe una richiesta a ogni
7657
+ * modifica del documento per niente. `null` = non chiesti o non disponibili.
7658
+ */
7659
+ private readonly references;
7660
+ private readonly readsCollectionType;
7661
+ private loadCollectionReferences;
7662
+ /**
7663
+ * §5.2 — su una collection non c'e' nessun `object` a cui chiedere i campi: i nomi citabili sono
7664
+ * quelli del **tipo degli elementi**, e quel tipo lo porta l'elenco dei riferimenti (`dataType`
7665
+ * + `objectType`). E' la stessa strada del campo da sommare di un Transform. La corrispondenza e'
7666
+ * esatta anche sugli output automatici — un Get Records e' il caso tipico — perche' qui non si
7667
+ * naviga niente: si legge il tipo che la radice dichiara.
7668
+ */
7669
+ private readonly collectionTypes;
7670
+ private collectionElementType;
7671
+ /** Collection di record: i campi dell'entita'. */
7672
+ collectionElementObject(): string | undefined;
7673
+ /** Collection di istanze di classe: i membri della classe (§4.7.1). */
7674
+ collectionElementClass(): string | undefined;
7675
+ /**
7676
+ * Collection di scalari: l'elemento e' insieme etichetta e valore, e i due campi vanno lasciati
7677
+ * vuoti. Un `Object` o una `Structure` senza `objectType` non contano: sono tipi di cui non si sa
7678
+ * abbastanza, e restano «non lo so».
7679
+ */
7680
+ collectionOfScalars(): boolean;
7638
7681
  /** Fuori dalle tre proprieta' di un valore di enum: `FIELD_UNKNOWN`. */
7639
7682
  unknownEnumChoiceSetField(field: string): boolean;
7640
7683
  /**
@@ -8054,7 +8097,7 @@ declare class FlowBuilderComponent {
8054
8097
  * troppo. `panel` tiene il form nel pannello laterale, che e' piu' comodo quando si
8055
8098
  * modificano molti elementi di fila perche' non c'e' niente da aprire e chiudere.
8056
8099
  */
8057
- readonly inspectorMode: _angular_core.InputSignal<"panel" | "dialog">;
8100
+ readonly inspectorMode: _angular_core.InputSignal<"dialog" | "panel">;
8058
8101
  /**
8059
8102
  * L'esito dell'ultima esecuzione, se l'ospite ne ha uno da mostrare.
8060
8103
  *
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@esfaenza/flow-builder",
3
- "version": "20.3.54",
3
+ "version": "20.3.56",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.2.14",
6
- "@angular/common": "^20.3.31",
7
- "@angular/core": "^20.3.31",
6
+ "@angular/common": "^20.3.32",
7
+ "@angular/core": "^20.3.32",
8
8
  "@foblex/flow": ">=19.0.0",
9
9
  "dagre": "0.8.5"
10
10
  },