@esfaenza/flow-builder 20.3.38 → 20.3.39

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
@@ -4597,7 +4597,7 @@ declare class ReferencePickerComponent {
4597
4597
  * percorso inesistente di uno scope che i percorsi li dichiara, perche' lì il backend
4598
4598
  * risponderebbe `GLOBAL_UNKNOWN`.
4599
4599
  */
4600
- readonly valueState: _angular_core.Signal<"member" | "empty" | "unknown" | "known" | "navigated" | "host" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid">;
4600
+ readonly valueState: _angular_core.Signal<"empty" | "unknown" | "member" | "known" | "navigated" | "host" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid">;
4601
4601
  /** Le parole cambiano con la tappa: un campo di un'entita' non e' un membro di una classe. */
4602
4602
  private readonly tailIsObject;
4603
4603
  private readonly tailContainer;
@@ -4979,7 +4979,7 @@ declare class FormulaEditorComponent {
4979
4979
  * dinamico — e riscriverla a ogni tasto costa. La **verifica** parte comunque durante la
4980
4980
  * digitazione: usa la bozza locale, non cio' che e' arrivato al documento.
4981
4981
  */
4982
- readonly commitOn: _angular_core.InputSignal<"change" | "input">;
4982
+ readonly commitOn: _angular_core.InputSignal<"input" | "change">;
4983
4983
  readonly expressionChange: _angular_core.OutputEmitterRef<string>;
4984
4984
  private readonly area;
4985
4985
  /**
@@ -5246,7 +5246,7 @@ declare class ConditionEditorComponent {
5246
5246
  */
5247
5247
  hasTypeMismatch(condition: FlowCondition): boolean;
5248
5248
  typeMismatchMessage(condition: FlowCondition): string;
5249
- readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
5249
+ readonly logicMode: _angular_core.Signal<"formula" | "and" | "or" | "custom">;
5250
5250
  readonly customLogic: _angular_core.Signal<string>;
5251
5251
  /** Feedback immediato sull'espressione: la verita' resta della validazione backend. */
5252
5252
  readonly customLogicError: _angular_core.Signal<string | null>;
@@ -5351,7 +5351,7 @@ declare class RecordFilterEditorComponent {
5351
5351
  * evita la ricerca di un campo che nell'elenco non c'e' e non ci sara'.
5352
5352
  */
5353
5353
  readonly identifierNotFilterable: _angular_core.Signal<boolean>;
5354
- readonly logicMode: _angular_core.Signal<"and" | "or" | "formula" | "custom">;
5354
+ readonly logicMode: _angular_core.Signal<"formula" | "and" | "or" | "custom">;
5355
5355
  readonly customLogic: _angular_core.Signal<string>;
5356
5356
  readonly showEmptyWarning: _angular_core.Signal<boolean>;
5357
5357
  addFilter(): void;
@@ -5621,6 +5621,35 @@ declare class ElementInspectorComponent {
5621
5621
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ElementInspectorComponent, "fb-element-inspector", never, { "selectedName": { "alias": "selectedName"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "initialFieldPath": { "alias": "initialFieldPath"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "removeRequested": "removeRequested"; "duplicateRequested": "duplicateRequested"; "renamed": "renamed"; }, never, never, true, never>;
5622
5622
  }
5623
5623
 
5624
+ /**
5625
+ * Il vincolo di spostamento delle finestre trascinabili dell'editor.
5626
+ *
5627
+ * Cio' che deve restare nel builder e' la **maniglia**, non la finestra: un `cdkDragBoundary`
5628
+ * chiede che l'elemento ci stia tutto, e con una dialog quasi grande quanto il builder non
5629
+ * lascia nessun margine di movimento. Qui invece si spinge la finestra fin quasi fuori — che
5630
+ * e' il punto, la si sposta per guardare cio' che copre — e l'intestazione resta comunque
5631
+ * sotto il puntatore per riportarla indietro.
5632
+ *
5633
+ * Attenzione alla firma, che non e' simmetrica e il compilatore non lo dice: **in** arriva la
5634
+ * posizione del puntatore in coordinate di pagina, **fuori** deve andare l'angolo in alto a
5635
+ * sinistra dell'**elemento** — con un `constrainPosition` il CDK calcola la trasformazione da
5636
+ * `_initialDomRect`, non dal punto di presa. Restituendo un puntatore la finestra si sposta di
5637
+ * quanto e' distante la presa dal suo bordo, e il vincolo scatta nel posto sbagliato.
5638
+ *
5639
+ * Per lo stesso motivo i conti si fanno in coordinate del **viewport**: `_initialDomRect` viene
5640
+ * da `getBoundingClientRect`, mentre il punto in ingresso comprende lo scorrimento della pagina.
5641
+ */
5642
+ type DialogConstrainPosition = (point: {
5643
+ x: number;
5644
+ y: number;
5645
+ }, drag: unknown, dimensions: DOMRect, pickup: {
5646
+ x: number;
5647
+ y: number;
5648
+ }) => {
5649
+ x: number;
5650
+ y: number;
5651
+ };
5652
+
5624
5653
  declare class ElementDialogComponent {
5625
5654
  private readonly store;
5626
5655
  private readonly dictionaries;
@@ -5639,36 +5668,8 @@ declare class ElementDialogComponent {
5639
5668
  readonly typeLabel: _angular_core.Signal<string>;
5640
5669
  readonly title: _angular_core.Signal<string>;
5641
5670
  constructor();
5642
- /**
5643
- * Vincolo dello spostamento: cio' che deve restare nel builder e' la **maniglia**, non la
5644
- * finestra. Un `cdkDragBoundary` chiede che l'elemento ci stia tutto, e con una dialog quasi
5645
- * grande quanto il builder non lascia nessun margine di movimento; qui invece si spinge la
5646
- * finestra fin quasi fuori — che e' il punto: si sposta per guardare cio' che copre — e
5647
- * l'intestazione resta comunque sotto il puntatore per riportarla indietro.
5648
- *
5649
- * Attenzione alla firma, che non e' simmetrica e il compilatore non lo dice: **in** arriva la
5650
- * posizione del puntatore in coordinate di pagina, **fuori** deve andare l'angolo in alto a
5651
- * sinistra dell'**elemento** — con un `constrainPosition` il CDK calcola la trasformazione da
5652
- * `_initialDomRect`, non dal punto di presa. Restituendo un puntatore la finestra si sposta di
5653
- * quanto e' distante la presa dal suo bordo, e il vincolo scatta nel posto sbagliato.
5654
- *
5655
- * Per lo stesso motivo i conti si fanno in coordinate del **viewport**: `_initialDomRect` viene
5656
- * da `getBoundingClientRect`, mentre il punto in ingresso comprende lo scorrimento della pagina.
5657
- */
5658
- readonly constrainPosition: (point: {
5659
- x: number;
5660
- y: number;
5661
- }, _drag: unknown, dimensions: DOMRect, pickup: {
5662
- x: number;
5663
- y: number;
5664
- }) => {
5665
- x: number;
5666
- y: number;
5667
- };
5668
- /** Altezza dell'intestazione: la fetta che deve restare visibile in basso. */
5669
- private static readonly HEAD_HEIGHT;
5670
- /** Il rettangolo del builder, nelle stesse coordinate in cui il CDK vuole la risposta. */
5671
- private builderBounds;
5671
+ /** Il vincolo: dentro il builder resta la maniglia, non la finestra intera. */
5672
+ readonly constrainPosition: DialogConstrainPosition;
5672
5673
  close(): void;
5673
5674
  onRemoveRequested(name: string): void;
5674
5675
  onDuplicateRequested(name: string): void;
@@ -6213,16 +6214,36 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
6213
6214
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicScreenInspectorComponent, "fb-dynamic-screen-inspector", never, { "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6214
6215
  }
6215
6216
 
6216
- /**
6217
- * La risorsa su cui aprire il pannello, quando ci arriva dalla ricerca. `token` esiste per far
6218
- * ripartire l'effetto anche se si scegliesse due volte la stessa risorsa: senza, il secondo
6219
- * arrivo non cambierebbe l'input e non accadrebbe niente.
6220
- */
6221
- interface FlowResourceTarget {
6217
+ /** La risorsa aperta in modifica: collection piu' indice, la sola chiave del documento. */
6218
+ interface FlowResourceEdit {
6222
6219
  collection: FlowResourceCollection;
6223
6220
  index: number;
6224
- token: number;
6225
6221
  }
6222
+ declare class ResourceDialogComponent {
6223
+ private readonly store;
6224
+ readonly edit: _angular_core.InputSignal<FlowResourceEdit>;
6225
+ readonly closed: _angular_core.OutputEmitterRef<void>;
6226
+ private readonly panel;
6227
+ readonly reference: _angular_core.Signal<FlowResourceRef | undefined>;
6228
+ readonly kindLabel: _angular_core.Signal<string>;
6229
+ readonly title: _angular_core.Signal<string>;
6230
+ constructor();
6231
+ /** Il vincolo: dentro il builder resta la maniglia, non la finestra intera. */
6232
+ readonly constrainPosition: DialogConstrainPosition;
6233
+ close(): void;
6234
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResourceDialogComponent, never>;
6235
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResourceDialogComponent, "fb-resource-dialog", never, { "edit": { "alias": "edit"; "required": true; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
6236
+ }
6237
+
6238
+ /**
6239
+ * Le sette collection di risorse (§4.6).
6240
+ *
6241
+ * `resourceKinds` del dizionario le **descrive**, ma la mappa collection → comportamento del
6242
+ * form resta qui perche' i campi cambiano per tipo, e cambiano in modo che nessun dizionario
6243
+ * dichiara. Sta in un file suo perche' la usano in due: l'elenco, per le schede e il testo del
6244
+ * bottone «Aggiungi», e la dialog, per dire di che cosa e' il form che ha aperto.
6245
+ */
6246
+
6226
6247
  interface ResourceKindDescriptor {
6227
6248
  collection: FlowResourceCollection;
6228
6249
  label: string;
@@ -6231,21 +6252,29 @@ interface ResourceKindDescriptor {
6231
6252
  /** Cosa serve dichiarare, in una riga. */
6232
6253
  note: string;
6233
6254
  }
6255
+
6256
+ /**
6257
+ * La risorsa su cui aprire il pannello, quando ci arriva dalla ricerca. `token` esiste per far
6258
+ * ripartire l'effetto anche se si scegliesse due volte la stessa risorsa: senza, il secondo
6259
+ * arrivo non cambierebbe l'input e non accadrebbe niente.
6260
+ */
6261
+ interface FlowResourceTarget {
6262
+ collection: FlowResourceCollection;
6263
+ index: number;
6264
+ token: number;
6265
+ }
6234
6266
  declare class ResourcePanelComponent {
6235
6267
  private readonly store;
6236
- private readonly dictionaries;
6237
- private readonly catalog;
6238
6268
  readonly closed: _angular_core.OutputEmitterRef<void>;
6239
6269
  /** Dove aprire il pannello: e' l'arrivo della ricerca su una risorsa. */
6240
6270
  readonly target: _angular_core.InputSignal<FlowResourceTarget | null>;
6271
+ /** La risorsa aperta nella finestra di modifica: la decide il builder, non il pannello. */
6272
+ readonly editing: _angular_core.InputSignal<FlowResourceEdit | null>;
6273
+ /** Quale risorsa configurare; `null` chiude la finestra. */
6274
+ readonly editRequested: _angular_core.OutputEmitterRef<FlowResourceEdit | null>;
6241
6275
  readonly kinds: ResourceKindDescriptor[];
6242
- readonly dataTypes: _angular_core.Signal<_esfaenza_flow_builder.FlowDataTypeEntry[]>;
6243
- readonly sortOrders: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
6244
- private readonly enumTypes;
6245
6276
  /** La collection aperta nel pannello. */
6246
6277
  readonly activeCollection: _angular_core.WritableSignal<"variables" | "constants" | "formulas" | "textTemplates" | "choices" | "dynamicChoiceSets" | "stages">;
6247
- /** L'indice della risorsa in modifica, o `null`. */
6248
- readonly editingIndex: _angular_core.WritableSignal<number | null>;
6249
6278
  /**
6250
6279
  * La risorsa per cui e' stata chiesta la rimozione ma che risulta **usata**: si conferma.
6251
6280
  * La chiave e' `collection:index`, non la risorsa, perche' l'oggetto viene ricostruito a ogni
@@ -6253,14 +6282,17 @@ declare class ResourcePanelComponent {
6253
6282
  */
6254
6283
  readonly pendingRemoval: _angular_core.WritableSignal<string | null>;
6255
6284
  constructor();
6256
- readonly enumOptions: _angular_core.Signal<FlowCatalogEntry[]>;
6257
6285
  readonly activeKind: _angular_core.Signal<ResourceKindDescriptor>;
6258
6286
  readonly items: _angular_core.Signal<FlowResourceRef[]>;
6259
6287
  countOf(collection: FlowResourceCollection): number;
6260
6288
  select(collection: FlowResourceCollection): void;
6261
- toggleEdit(index: number): void;
6289
+ isEditing(reference: FlowResourceRef): boolean;
6290
+ /** Il click sul nome: apre la finestra, o la chiude se e' già quella risorsa. */
6291
+ edit(reference: FlowResourceRef): void;
6262
6292
  /** Nome valido e libero nello spazio dei nomi condiviso con i node (§3.3, §13.5). */
6263
6293
  nameError(reference: FlowResourceRef): string | null;
6294
+ constantReferencesResource(reference: FlowResourceRef): boolean;
6295
+ duplicateStageOrder(reference: FlowResourceRef): boolean;
6264
6296
  add(): void;
6265
6297
  /**
6266
6298
  * Quante volte la risorsa e' **usata** nel documento.
@@ -6284,74 +6316,97 @@ declare class ResourcePanelComponent {
6284
6316
  requestRemove(reference: FlowResourceRef): void;
6285
6317
  cancelRemove(): void;
6286
6318
  remove(reference: FlowResourceRef): void;
6287
- rename(reference: FlowResourceRef, name: string): void;
6288
- setField(reference: FlowResourceRef, field: string, value: unknown): void;
6289
- setNumberField(reference: FlowResourceRef, field: string, raw: string): void;
6290
- setBooleanField(reference: FlowResourceRef, field: string, value: boolean): void;
6319
+ string(reference: FlowResourceRef, field: string): string;
6320
+ boolean(reference: FlowResourceRef, field: string): boolean;
6321
+ close(): void;
6322
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResourcePanelComponent, never>;
6323
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResourcePanelComponent, "fb-resource-panel", never, { "target": { "alias": "target"; "required": false; "isSignal": true; }; "editing": { "alias": "editing"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "editRequested": "editRequested"; }, never, never, true, never>;
6324
+ }
6325
+
6326
+ declare class ResourceFormComponent {
6327
+ private readonly store;
6328
+ private readonly dictionaries;
6329
+ private readonly catalog;
6330
+ /** La risorsa in modifica. Arriva ricostruita a ogni ricalcolo del documento. */
6331
+ readonly reference: _angular_core.InputSignal<FlowResourceRef>;
6332
+ readonly dataTypes: _angular_core.Signal<_esfaenza_flow_builder.FlowDataTypeEntry[]>;
6333
+ readonly sortOrders: _angular_core.Signal<_esfaenza_flow_builder.FlowDictionaryEntry[]>;
6334
+ private readonly enumTypes;
6335
+ readonly enumOptions: _angular_core.Signal<FlowCatalogEntry[]>;
6336
+ readonly defaultDisplayField = "Label";
6337
+ readonly defaultValueField = "Name";
6338
+ constructor();
6339
+ readonly collection: _angular_core.Signal<"variables" | "constants" | "formulas" | "textTemplates" | "choices" | "dynamicChoiceSets" | "stages">;
6340
+ readonly resource: _angular_core.Signal<Record<string, unknown>>;
6341
+ nameError(): string | null;
6342
+ constantReferencesResource(): boolean;
6343
+ duplicateStageOrder(): boolean;
6344
+ rename(name: string): void;
6345
+ setField(field: string, value: unknown): void;
6346
+ setNumberField(field: string, raw: string): void;
6347
+ setBooleanField(field: string, value: boolean): void;
6291
6348
  /**
6292
6349
  * §4.6 — i filtri di un dynamic choice set. L'editor dei filtri emette una mutazione da
6293
6350
  * applicare al contenitore, non i filtri gia' pronti: qui il contenitore e' la risorsa stessa,
6294
6351
  * e la mutazione va dentro `updateResource` perche' e' lì che il documento viene rimpiazzato.
6295
6352
  */
6296
- onFiltersChanged(reference: FlowResourceRef, mutate: (holder: FilterHolder) => void): void;
6297
- /** La sorgente scelta per un set che ancora non ne dichiara nessuna. */
6353
+ onFiltersChanged(mutate: (holder: FilterHolder) => void): void;
6354
+ setValue(value: FlowValue | undefined): void;
6355
+ setDataType(dataType: string): void;
6356
+ /**
6357
+ * La sorgente scelta per un set che ancora non ne dichiara nessuna. La chiave e'
6358
+ * `collection:index` e non la risorsa: l'oggetto viene ricostruito a ogni ricalcolo del
6359
+ * documento, e la dialog puo' passare da una risorsa all'altra senza essere ricreata.
6360
+ */
6298
6361
  private readonly pendingSource;
6362
+ private key;
6299
6363
  /**
6300
6364
  * La sorgente dichiarata vince sempre: e' cio' che c'e' nel documento. Finche' non c'e' niente
6301
- * conta la scelta fatta nel pannello, e in mancanza si apre sulla query — la sorgente storica.
6365
+ * conta la scelta fatta nel form, e in mancanza si apre sulla query — la sorgente storica.
6302
6366
  */
6303
- choiceSetSource(reference: FlowResourceRef): ChoiceSetSource;
6367
+ choiceSetSource(): ChoiceSetSource;
6304
6368
  /**
6305
6369
  * Cambiare sorgente cancella le altre — dichiararne due e' `CHOICE_SET_SOURCE_AMBIGUOUS` — e
6306
6370
  * anche i **campi citati**: `Label` non e' un campo di un'entita' e `Ragione_Sociale` non e' una
6307
6371
  * proprieta' di un valore di enum, quindi lasciarli lì trasformerebbe un cambio di sorgente in
6308
6372
  * tre `FIELD_UNKNOWN` che l'utente non ha scritto.
6309
6373
  */
6310
- setChoiceSetSource(reference: FlowResourceRef, source: ChoiceSetSource): void;
6374
+ setChoiceSetSource(source: ChoiceSetSource): void;
6311
6375
  /** Su un choice set da enum il tipo e' `enumType`: il campo generico sarebbe un doppione. */
6312
- hidesObjectType(reference: FlowResourceRef): boolean;
6313
- isChoiceSetSource(reference: FlowResourceRef, source: ChoiceSetSource): boolean;
6376
+ hidesObjectType(): boolean;
6377
+ isChoiceSetSource(source: ChoiceSetSource): boolean;
6314
6378
  /** Piu' di una sorgente nel documento: il runtime ne usa una sola (§5.2). */
6315
- ambiguousChoiceSetSource(reference: FlowResourceRef): boolean;
6379
+ ambiguousChoiceSetSource(): boolean;
6316
6380
  /**
6317
6381
  * §5.2 — i campi citabili di un choice set da enum. Le etichette le dice il dizionario; il
6318
6382
  * **tipo** no, e senza tipo il valore di un filtro su `NumericValue` sarebbe una casella di testo.
6319
6383
  */
6320
6384
  readonly enumChoiceSetFields: _angular_core.Signal<FilterFieldOption[]>;
6321
6385
  /** Fuori dalle tre proprieta' di un valore di enum: `FIELD_UNKNOWN`. */
6322
- unknownEnumChoiceSetField(reference: FlowResourceRef, field: string): boolean;
6386
+ unknownEnumChoiceSetField(field: string): boolean;
6323
6387
  /**
6324
6388
  * §5.2 — qui l'elenco dei tipi e' **autorevole** quando non e' vuoto: un `enumType` che il
6325
6389
  * catalogo non conosce e' un errore, non l'avviso che si darebbe su un catalogo di campi.
6326
6390
  */
6327
- unknownEnumType(reference: FlowResourceRef): boolean;
6328
- readonly defaultDisplayField = "Label";
6329
- readonly defaultValueField = "Name";
6330
- setValue(reference: FlowResourceRef, value: FlowValue | undefined): void;
6331
- setDataType(reference: FlowResourceRef, dataType: string): void;
6332
- requiresObjectType(reference: FlowResourceRef): boolean;
6333
- supportsScale(reference: FlowResourceRef): boolean;
6334
- isEnum(reference: FlowResourceRef): boolean;
6391
+ unknownEnumType(): boolean;
6392
+ requiresObjectType(): boolean;
6393
+ supportsScale(): boolean;
6394
+ isEnum(): boolean;
6335
6395
  /** §4.7 — un'istanza di classe: `objectType` e' il nome della classe, non di un'entita'. */
6336
- isStructure(reference: FlowResourceRef): boolean;
6396
+ isStructure(): boolean;
6337
6397
  /**
6338
6398
  * §4.7 — una `Structure` non ha una forma letterale: nasce dal runtime come istanza vuota e i
6339
6399
  * membri si assegnano uno alla volta. Mostrare un campo «valore iniziale» prometterebbe una
6340
6400
  * cosa che il modello non sa esprimere.
6341
6401
  */
6342
- supportsInitialValue(reference: FlowResourceRef): boolean;
6402
+ supportsInitialValue(): boolean;
6343
6403
  /** Su una `Structure` l'`objectType` mancante e' un errore, non un avviso (§4.7). */
6344
- missingObjectType(reference: FlowResourceRef): boolean;
6345
- /** Una costante che referenzia una risorsa e' `CONSTANT_REFERENCES_RESOURCE`. */
6346
- constantReferencesResource(reference: FlowResourceRef): boolean;
6347
- /** `stageOrder` duplicati: quale stage sia il corrente all'avvio diventa arbitrario. */
6348
- duplicateStageOrder(reference: FlowResourceRef): boolean;
6349
- string(reference: FlowResourceRef, field: string): string;
6350
- boolean(reference: FlowResourceRef, field: string): boolean;
6351
- value(reference: FlowResourceRef): FlowValue | undefined;
6352
- close(): void;
6353
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResourcePanelComponent, never>;
6354
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResourcePanelComponent, "fb-resource-panel", never, { "target": { "alias": "target"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, never, true, never>;
6404
+ missingObjectType(): boolean;
6405
+ string(field: string): string;
6406
+ boolean(field: string): boolean;
6407
+ value(): FlowValue | undefined;
6408
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResourceFormComponent, never>;
6409
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResourceFormComponent, "fb-resource-form", never, { "reference": { "alias": "reference"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
6355
6410
  }
6356
6411
 
6357
6412
  /** Il riquadro su cui aprire il pannello. `token` fa ripartire l'effetto sulla stessa scelta. */
@@ -6521,7 +6576,7 @@ declare class RunDialogComponent {
6521
6576
  private readonly dictionaries;
6522
6577
  private readonly catalog;
6523
6578
  /** `debug` cambia il titolo, l'avviso sui dati e il flag nel payload annunciato. */
6524
- readonly mode: _angular_core.InputSignal<"run" | "debug">;
6579
+ readonly mode: _angular_core.InputSignal<"debug" | "run">;
6525
6580
  /** Il flow che verra' eseguito: e' quello **salvato**, non il documento in mano. */
6526
6581
  readonly flowName: _angular_core.InputSignal<string | null>;
6527
6582
  readonly version: _angular_core.InputSignal<number | null>;
@@ -6731,6 +6786,14 @@ declare class FlowBuilderComponent {
6731
6786
  /** La risorsa su cui aprire il pannello: e' l'arrivo della ricerca su una risorsa. */
6732
6787
  readonly resourceTarget: _angular_core.WritableSignal<FlowResourceTarget | null>;
6733
6788
  private resourceReveals;
6789
+ /**
6790
+ * La risorsa aperta nella sua finestra di modifica (§4.6).
6791
+ *
6792
+ * Sta qui e non nel pannello perche' la finestra va montata **fuori** dalla colonna laterale:
6793
+ * dentro sarebbe ritagliata dallo scorrimento del pannello. Il pannello annuncia quale
6794
+ * risorsa aprire e riceve indietro quale sia aperta, così i due non possono discordare.
6795
+ */
6796
+ readonly editingResource: _angular_core.WritableSignal<FlowResourceEdit | null>;
6734
6797
  /**
6735
6798
  * Il riquadro corrente (§3.6). E' una selezione **separata** da `selectedName`: un riquadro
6736
6799
  * non e' un elemento — non si copia, non si duplica, non si valida come tale — e tenerlo nella
@@ -6838,6 +6901,12 @@ declare class FlowBuilderComponent {
6838
6901
  /** Il comando della top bar: apre il dettaglio di cio' che e' selezionato. */
6839
6902
  openSelectedElement(): void;
6840
6903
  closeDialog(): void;
6904
+ /**
6905
+ * La finestra di una risorsa (§4.6): la apre il pannello, `null` la chiude. Il pannello non
6906
+ * tiene una copia sua di questo stato — riceve indietro questo — così chiudere dalla finestra
6907
+ * e chiudere dall'elenco sono la stessa cosa.
6908
+ */
6909
+ onResourceEditRequested(edit: FlowResourceEdit | null): void;
6841
6910
  /**
6842
6911
  * Evidenzia l'elemento sul canvas **senza** cambiare pannello.
6843
6912
  * Serve alla traccia del debug: portare l'utente sull'elemento e' il punto del pannello, ma
@@ -6972,7 +7041,7 @@ declare class FlowBuilderComponent {
6972
7041
  /** Scrive la copia e continua a lavorare su di essa (§6.2). */
6973
7042
  confirmCopy(): Promise<void>;
6974
7043
  /** Quale delle due finestre e' aperta; `null` = nessuna. */
6975
- readonly runMode: _angular_core.WritableSignal<"run" | "debug" | null>;
7044
+ readonly runMode: _angular_core.WritableSignal<"debug" | "run" | null>;
6976
7045
  /**
6977
7046
  * L'esito da mostrare nel pannello.
6978
7047
  *
@@ -7041,5 +7110,5 @@ declare class SelectValueDirective implements AfterViewChecked {
7041
7110
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueDirective, "select[fbValue]", never, { "fbValue": { "alias": "fbValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7042
7111
  }
7043
7112
 
7044
- export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, DynamicScreenInspectorComponent, ENUM_CHOICE_SET_DEFAULT_DISPLAY_FIELD, ENUM_CHOICE_SET_DEFAULT_VALUE_FIELD, ENUM_CHOICE_SET_FIELDS, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, EnumValuePickerComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_CLIPBOARD_KIND, FLOW_CLIPBOARD_VERSION, FLOW_ELEMENT_ICONS, FLOW_ELEMENT_VARIANT_FIELDS, FLOW_ELEMENT_VARIANT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_FOLD_HEIGHT, FLOW_FOLD_WIDTH, FLOW_GROUP_COLORS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_REFERENCE_FIELDS, FLOW_RESOURCE_COLLECTIONS, FLOW_VALUE_FIELDS, FLOW_VALUE_LITERAL_FIELDS, FieldAssignmentEditorComponent, FieldPickerComponent, FieldValuePickerComponent, FlowApiError, FlowBuilderApi, FlowBuilderComponent, FlowCanvasComponent, FlowCatalogStore, FlowClipboardService, FlowDictionaryStore, FlowDocumentStore, FlowEditorSession, FlowLayoutService, FlowValidationStore, FormulaEditorComponent, FormulaValidationService, GROUP_HEADER_HEIGHT, GROUP_MIN_HEIGHT, GROUP_MIN_WIDTH, GROUP_PADDING, GroupPanelComponent, HttpFlowBuilderApi, NamePickerComponent, NodeInspectorBase, ORCHESTRATION_CONDITION_OUTPUT, ObjectPickerComponent, OrchestratedStageInspectorComponent, ParameterEditorComponent, PasteDialogComponent, ProblemsPanelComponent, RecordFilterEditorComponent, ReferencePickerComponent, ResourcePanelComponent, RunDialogComponent, SEVERITY_BUCKETS, SEVERITY_ICON, SEVERITY_LABEL, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, StructureMemberPickerComponent, StructurePickerComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, allFieldsOf, applyPaste, areTypesComparable, boundsAround, buildClipboardPayload, canvasFoldId, canvasGroupId, canvasNodeId, checkConditionLogic, checkFlowName, choiceSetSourceOf, declaredChoiceSetSources, describeFieldPath, describePathEntry, duplicateField, elementIcon, emptyFlowDefinition, enumChoiceSetFieldType, fieldAt, filterReferences, flattenFields, flowNodeWidth, flowNodeWidthClass, foldSourceConnectorId, foldTargetConnectorId, groupColorClass, groupRect, hasAutoSize, innerNamesOf, insertField, isClipboardPayload, isCustomConditionLogic, isEmptyReferenceFilter, isFieldResource, isFoldReference, isGlobalReference, isNumericType, isPathInside, isTypeCheckedOperator, isUnknownEnumChoiceSetField, isValidFlowName, isValued, loadPathLevel, matchesReferenceFilter, membersInside, moveCondition, moveField, navigatePath, otherSourceFieldsOf, outletByKey, outletsOf, parseCanvasFoldId, parseCanvasGroupId, parseCanvasNodeId, parseFieldPath, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, pathAvailableNames, pathContainerLabel, pathKey, pathNotVerifiableMessage, planPaste, recomputeMembers, referenceRoot, referencedRootsOf, remapConditionLogic, removeCondition, removeField, resolvePath, rewriteReferences, sameMembers, samePath, screenActionNames, screenFieldNames, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, typeOfCollection, uniqueFlowName, valuedFieldOf, valuedFieldsOf, variantFieldOf, variantOf, variantPresetOf };
7045
- export type { ChoiceSetSource, FieldAssignmentHolder, FilterFieldOption, FilterHolder, FlowActionCall, FlowAnyNode, FlowAssignment, FlowAssignmentItem, FlowAssignmentOperator, FlowAssignmentOperatorEntry, FlowBuilderHttpConfig, FlowCanvasEdge, FlowCanvasFold, FlowCanvasGroup, FlowCanvasNode, FlowCatalogEntry, FlowCatalogParameter, FlowChoice, FlowClipboardNode, FlowClipboardPayload, FlowClipboardResource, FlowCloneRequest, FlowCollectionProcessor, FlowCollectionProcessorType, FlowComparisonOperator, FlowComparisonOperatorEntry, FlowCondition, FlowConditionHolder, FlowConditionLogic, FlowConflictState, FlowConnectionKind, FlowConnector, FlowConnectorTarget, FlowConstant, FlowCreateRequest, FlowCustomError, FlowCustomErrorMessage, FlowCustomProperty, FlowDataType, FlowDataTypeEntry, FlowDecision, FlowDecisionRule, FlowDefinition, FlowDictionaries, FlowDictionaryEntry, FlowDynamicChoiceSet, FlowDynamicScreen, FlowEdge, FlowElementType, FlowElementTypeEntry, FlowEnumValue, FlowErrorCategory, FlowExportQuery, FlowFieldDescription, FlowFieldUsage, FlowFieldValue, FlowFormKind, FlowFormula, FlowFormulaFunction, FlowFormulaFunctionParameter, FlowFormulaIssue, FlowFormulaUsage, FlowFormulaValidationRequest, FlowFormulaValidationResult, FlowGlobalVariableEntry, FlowGroup, FlowGroupRef, FlowGroupTarget, FlowInputFieldAssignment, FlowInputParameter, FlowInterviewResult, FlowInterviewStatus, FlowIssueSeverity, FlowLayoutDirection, FlowLayoutNodeInput, FlowLayoutOptions, FlowLayoutResult, FlowListQuery, FlowLoop, FlowNameCheck, FlowNameProblem, FlowNewVersionRequest, FlowNodeBase, FlowNodeCollection, FlowNodeRef, FlowObjectDescription, FlowObjectSummary, FlowOffsetUnit, FlowOrchestratedStage, FlowOutlet, FlowOutline, FlowOutlineConnection, FlowOutlineGroup, FlowOutlineNode, FlowOutputFieldAssignment, FlowOutputParameter, FlowPalettePick, FlowPastePlan, FlowPasteRename, FlowPasteResource, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowRecordValue, FlowRect, FlowReference, FlowReferenceFilter, FlowReferenceKind, FlowRegionContainerType, FlowResourceCollection, FlowResourceKindEntry, FlowResourceRef, FlowResourceTarget, FlowResumeRequest, FlowRunOutcome, FlowRunRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenAction, FlowScreenField, FlowScreenFieldInputsRevisited, FlowScreenFieldNode, FlowScreenFieldPath, FlowScreenFieldType, FlowScreenFieldTypeEntry, FlowScreenNavigation, FlowScreenResponseRequest, FlowScreenTrigger, FlowScreenTriggerInitBehavior, FlowScreenValidationRule, FlowScriptPluginCall, FlowSeverityBucket, FlowSortOption, FlowSortOrder, FlowStage, FlowStageStep, FlowStageStepActionType, FlowStageStepAssignee, FlowStageStepConditionActionType, FlowStageStepRequest, FlowStageStepState, FlowStageStepStatus, FlowStageStepTypeEntry, FlowStart, FlowStartInterviewRequest, FlowStructureDescribed, FlowStructureDescription, FlowStructureInstance, FlowStructureMember, FlowSubflow, FlowSubflowInputAssignment, FlowSubflowOutputAssignment, FlowSummary, FlowTextTemplate, FlowTraceEntry, FlowTransactionModel, FlowTransform, FlowTransformType, FlowTransformValue, FlowTransformValueAction, FlowTriggerType, FlowTypedEntry, FlowTypedValue, FlowUnsupportedNode, FlowValidationIssue, FlowValidationResult, FlowValue, FlowVariable, FlowVersionStatus, FlowVersionSummary, FlowWait, FlowWaitEvent, NamePickerOption, PaletteGroup, PaletteItem, ParameterHolder, PathCatalog, PathContainer, PathContainerKind, PathEntry, PathLevel, PathLevelStatus, PathNavigation, PathNavigationRequest, PathResolution, PathStopReason, PathValueSet, StructureMemberUsage, ValueMode };
7113
+ export { ConditionEditorComponent, ConnectorEditorComponent, DebugPanelComponent, DynamicScreenInspectorComponent, ENUM_CHOICE_SET_DEFAULT_DISPLAY_FIELD, ENUM_CHOICE_SET_DEFAULT_VALUE_FIELD, ENUM_CHOICE_SET_FIELDS, ElementDialogComponent, ElementInspectorComponent, ElementPaletteComponent, EnumValuePickerComponent, FALLBACK_COLLECTION_BY_TYPE, FALLBACK_TYPE_LABEL, FLOW_BUILDER_HTTP_CONFIG, FLOW_CLIPBOARD_KIND, FLOW_CLIPBOARD_VERSION, FLOW_ELEMENT_ICONS, FLOW_ELEMENT_VARIANT_FIELDS, FLOW_ELEMENT_VARIANT_ICONS, FLOW_ERROR_FALLBACK_MESSAGE, FLOW_ERROR_HTTP_STATUS, FLOW_FOLD_HEIGHT, FLOW_FOLD_WIDTH, FLOW_GROUP_COLORS, FLOW_NAME_PATTERN, FLOW_NODE_COLLECTIONS, FLOW_NODE_HEIGHT, FLOW_NODE_WIDTH, FLOW_REFERENCE_FIELDS, FLOW_RESOURCE_COLLECTIONS, FLOW_VALUE_FIELDS, FLOW_VALUE_LITERAL_FIELDS, FieldAssignmentEditorComponent, FieldPickerComponent, FieldValuePickerComponent, FlowApiError, FlowBuilderApi, FlowBuilderComponent, FlowCanvasComponent, FlowCatalogStore, FlowClipboardService, FlowDictionaryStore, FlowDocumentStore, FlowEditorSession, FlowLayoutService, FlowValidationStore, FormulaEditorComponent, FormulaValidationService, GROUP_HEADER_HEIGHT, GROUP_MIN_HEIGHT, GROUP_MIN_WIDTH, GROUP_PADDING, GroupPanelComponent, HttpFlowBuilderApi, NamePickerComponent, NodeInspectorBase, ORCHESTRATION_CONDITION_OUTPUT, ObjectPickerComponent, OrchestratedStageInspectorComponent, ParameterEditorComponent, PasteDialogComponent, ProblemsPanelComponent, RecordFilterEditorComponent, ReferencePickerComponent, ResourceDialogComponent, ResourceFormComponent, ResourcePanelComponent, RunDialogComponent, SEVERITY_BUCKETS, SEVERITY_ICON, SEVERITY_LABEL, START_NODE_NAME, SelectValueDirective, StartInspectorComponent, StructureMemberPickerComponent, StructurePickerComponent, TYPES_WITH_AUTOMATIC_OUTPUT, TYPE_BY_COLLECTION, UNSUPPORTED_TYPES, ValueEditorComponent, VersionPanelComponent, allFieldsOf, applyPaste, areTypesComparable, boundsAround, buildClipboardPayload, canvasFoldId, canvasGroupId, canvasNodeId, checkConditionLogic, checkFlowName, choiceSetSourceOf, declaredChoiceSetSources, describeFieldPath, describePathEntry, duplicateField, elementIcon, emptyFlowDefinition, enumChoiceSetFieldType, fieldAt, filterReferences, flattenFields, flowNodeWidth, flowNodeWidthClass, foldSourceConnectorId, foldTargetConnectorId, groupColorClass, groupRect, hasAutoSize, innerNamesOf, insertField, isClipboardPayload, isCustomConditionLogic, isEmptyReferenceFilter, isFieldResource, isFoldReference, isGlobalReference, isNumericType, isPathInside, isTypeCheckedOperator, isUnknownEnumChoiceSetField, isValidFlowName, isValued, loadPathLevel, matchesReferenceFilter, membersInside, moveCondition, moveField, navigatePath, otherSourceFieldsOf, outletByKey, outletsOf, parseCanvasFoldId, parseCanvasGroupId, parseCanvasNodeId, parseFieldPath, parseInvariantNumber, parseSourceConnectorId, parseTargetConnectorId, pathAvailableNames, pathContainerLabel, pathKey, pathNotVerifiableMessage, planPaste, recomputeMembers, referenceRoot, referencedRootsOf, remapConditionLogic, removeCondition, removeField, resolvePath, rewriteReferences, sameMembers, samePath, screenActionNames, screenFieldNames, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, typeOfCollection, uniqueFlowName, valuedFieldOf, valuedFieldsOf, variantFieldOf, variantOf, variantPresetOf };
7114
+ export type { ChoiceSetSource, FieldAssignmentHolder, FilterFieldOption, FilterHolder, FlowActionCall, FlowAnyNode, FlowAssignment, FlowAssignmentItem, FlowAssignmentOperator, FlowAssignmentOperatorEntry, FlowBuilderHttpConfig, FlowCanvasEdge, FlowCanvasFold, FlowCanvasGroup, FlowCanvasNode, FlowCatalogEntry, FlowCatalogParameter, FlowChoice, FlowClipboardNode, FlowClipboardPayload, FlowClipboardResource, FlowCloneRequest, FlowCollectionProcessor, FlowCollectionProcessorType, FlowComparisonOperator, FlowComparisonOperatorEntry, FlowCondition, FlowConditionHolder, FlowConditionLogic, FlowConflictState, FlowConnectionKind, FlowConnector, FlowConnectorTarget, FlowConstant, FlowCreateRequest, FlowCustomError, FlowCustomErrorMessage, FlowCustomProperty, FlowDataType, FlowDataTypeEntry, FlowDecision, FlowDecisionRule, FlowDefinition, FlowDictionaries, FlowDictionaryEntry, FlowDynamicChoiceSet, FlowDynamicScreen, FlowEdge, FlowElementType, FlowElementTypeEntry, FlowEnumValue, FlowErrorCategory, FlowExportQuery, FlowFieldDescription, FlowFieldUsage, FlowFieldValue, FlowFormKind, FlowFormula, FlowFormulaFunction, FlowFormulaFunctionParameter, FlowFormulaIssue, FlowFormulaUsage, FlowFormulaValidationRequest, FlowFormulaValidationResult, FlowGlobalVariableEntry, FlowGroup, FlowGroupRef, FlowGroupTarget, FlowInputFieldAssignment, FlowInputParameter, FlowInterviewResult, FlowInterviewStatus, FlowIssueSeverity, FlowLayoutDirection, FlowLayoutNodeInput, FlowLayoutOptions, FlowLayoutResult, FlowListQuery, FlowLoop, FlowNameCheck, FlowNameProblem, FlowNewVersionRequest, FlowNodeBase, FlowNodeCollection, FlowNodeRef, FlowObjectDescription, FlowObjectSummary, FlowOffsetUnit, FlowOrchestratedStage, FlowOutlet, FlowOutline, FlowOutlineConnection, FlowOutlineGroup, FlowOutlineNode, FlowOutputFieldAssignment, FlowOutputParameter, FlowPalettePick, FlowPastePlan, FlowPasteRename, FlowPasteResource, FlowPendingScreen, FlowProcessType, FlowRecordCreate, FlowRecordDelete, FlowRecordFilter, FlowRecordFilterOperator, FlowRecordLookup, FlowRecordRollback, FlowRecordTriggerType, FlowRecordUpdate, FlowRecordValue, FlowRect, FlowReference, FlowReferenceFilter, FlowReferenceKind, FlowRegionContainerType, FlowResourceCollection, FlowResourceEdit, FlowResourceKindEntry, FlowResourceRef, FlowResourceTarget, FlowResumeRequest, FlowRunOutcome, FlowRunRequest, FlowSaveRequest, FlowSaveResult, FlowSchedule, FlowScheduledPath, FlowScreen, FlowScreenAction, FlowScreenField, FlowScreenFieldInputsRevisited, FlowScreenFieldNode, FlowScreenFieldPath, FlowScreenFieldType, FlowScreenFieldTypeEntry, FlowScreenNavigation, FlowScreenResponseRequest, FlowScreenTrigger, FlowScreenTriggerInitBehavior, FlowScreenValidationRule, FlowScriptPluginCall, FlowSeverityBucket, FlowSortOption, FlowSortOrder, FlowStage, FlowStageStep, FlowStageStepActionType, FlowStageStepAssignee, FlowStageStepConditionActionType, FlowStageStepRequest, FlowStageStepState, FlowStageStepStatus, FlowStageStepTypeEntry, FlowStart, FlowStartInterviewRequest, FlowStructureDescribed, FlowStructureDescription, FlowStructureInstance, FlowStructureMember, FlowSubflow, FlowSubflowInputAssignment, FlowSubflowOutputAssignment, FlowSummary, FlowTextTemplate, FlowTraceEntry, FlowTransactionModel, FlowTransform, FlowTransformType, FlowTransformValue, FlowTransformValueAction, FlowTriggerType, FlowTypedEntry, FlowTypedValue, FlowUnsupportedNode, FlowValidationIssue, FlowValidationResult, FlowValue, FlowVariable, FlowVersionStatus, FlowVersionSummary, FlowWait, FlowWaitEvent, NamePickerOption, PaletteGroup, PaletteItem, ParameterHolder, PathCatalog, PathContainer, PathContainerKind, PathEntry, PathLevel, PathLevelStatus, PathNavigation, PathNavigationRequest, PathResolution, PathStopReason, PathValueSet, StructureMemberUsage, ValueMode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/flow-builder",
3
- "version": "20.3.38",
3
+ "version": "20.3.39",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^20.2.14",
6
6
  "@angular/common": "^20.3.28",