@esfaenza/flow-builder 20.3.43 → 20.3.45
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 +70 -7
- package/fesm2022/esfaenza-flow-builder.mjs +808 -172
- package/fesm2022/esfaenza-flow-builder.mjs.map +1 -1
- package/index.d.ts +355 -23
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -234,7 +234,7 @@ interface FlowScreen extends FlowNodeBase {
|
|
|
234
234
|
* `screenFieldTypes`, che porta anche i flag (`storesValue`, `isContainer`, …) con cui
|
|
235
235
|
* l'editor decide quali campi mostrare: qui il tipo e' aperto proprio per quello.
|
|
236
236
|
*/
|
|
237
|
-
type FlowScreenFieldType = 'DisplayText' | 'InputField' | 'LargeTextArea' | 'PasswordField' | 'RadioButtons' | 'DropdownBox' | 'MultiSelectCheckboxes' | 'MultiSelectPicklist' | 'ComponentInstance' | 'Region' | 'RegionContainer' | 'ObjectProvided' | string;
|
|
237
|
+
type FlowScreenFieldType = 'DisplayText' | 'InputField' | 'LargeTextArea' | 'PasswordField' | 'RadioButtons' | 'DropdownBox' | 'MultiSelectCheckboxes' | 'MultiSelectPicklist' | 'ComponentInstance' | 'Region' | 'RegionContainer' | 'RepeatingSection' | 'ObjectProvided' | string;
|
|
238
238
|
/** §5.2 — la sezione con o senza intestazione. */
|
|
239
239
|
type FlowRegionContainerType = 'SectionWithHeader' | 'SectionWithoutHeader' | string;
|
|
240
240
|
/** §5.2 — cosa succede ai valori quando si torna sulla schermata. */
|
|
@@ -253,6 +253,12 @@ interface FlowScreenValidationRule {
|
|
|
253
253
|
* di node e risorse (§3.3), e un Assignment che ci scrive e' `TARGET_NOT_WRITABLE`;
|
|
254
254
|
* - `fields` esiste solo sui contenitori (`Region`, `RegionContainer`) e l'annidamento previsto
|
|
255
255
|
* e' **sezione → colonne → campi**: piu' profondo di così e' un avviso.
|
|
256
|
+
*
|
|
257
|
+
* L'unica eccezione alla prima e' un campo dentro una `RepeatingSection`: esiste in una riga per ogni
|
|
258
|
+
* elemento della collection, quindi il suo nome non individua alcun valore. Non e' una risorsa, non si
|
|
259
|
+
* propone fra i riferimenti, e nominarlo e' `SCREEN_FIELD_IN_REPEATER`. Il nome resta comunque **unico**
|
|
260
|
+
* — e' l'indirizzo con cui il frontend rende il campo — quindi un omonimo di una variabile resta
|
|
261
|
+
* `NAME_DUPLICATED`.
|
|
256
262
|
*/
|
|
257
263
|
interface FlowScreenField {
|
|
258
264
|
name?: string;
|
|
@@ -282,9 +288,49 @@ interface FlowScreenField {
|
|
|
282
288
|
maxLength?: number;
|
|
283
289
|
/** 1..12 nella griglia della schermata: il frontend puo' ignorarla. */
|
|
284
290
|
width?: number;
|
|
285
|
-
/**
|
|
291
|
+
/**
|
|
292
|
+
* Solo sui contenitori: sezione → colonne → campi. Su una `RepeatingSection` e' il **modello di una
|
|
293
|
+
* riga**: la schermata ne rende una copia per ogni elemento di `collectionReference`.
|
|
294
|
+
*/
|
|
286
295
|
fields?: FlowScreenField[];
|
|
287
296
|
regionContainerType?: FlowRegionContainerType;
|
|
297
|
+
/**
|
|
298
|
+
* §5.2 — `RepeatingSection`: **dove vivono le righe**, una variabile collection di tipo `Structure`.
|
|
299
|
+
* E' quella che il resto del flow attraversa con un Loop, ed e' il motivo per cui la sezione non
|
|
300
|
+
* introduce un posto nuovo in cui i dati stanno. **Obbligatoria**: senza,
|
|
301
|
+
* `REPEATING_SECTION_INVALID`.
|
|
302
|
+
*/
|
|
303
|
+
collectionReference?: string;
|
|
304
|
+
/**
|
|
305
|
+
* §5.2 — `RepeatingSection`: il **cursore**, una variabile `Structure` non collection dello stesso
|
|
306
|
+
* `objectType` di {@link collectionReference}, su cui il runtime appoggia la riga corrente. Ha lo
|
|
307
|
+
* stesso ruolo di `assignNextValueToReference` in un Loop, ed e' cio' che si nomina dentro una riga:
|
|
308
|
+
* `PuntoCorrente.PodId`, mai `Luce_POD`. **Obbligatorio**.
|
|
309
|
+
*/
|
|
310
|
+
itemReference?: string;
|
|
311
|
+
/**
|
|
312
|
+
* §5.2 — sui campi **dentro** una `RepeatingSection`: il membro della riga che il campo raccoglie.
|
|
313
|
+
* Senza, vale il nome del campo. Il membro deve esistere sulla classe delle righe e non essere di
|
|
314
|
+
* sola lettura: `STRUCTURE_MEMBER_UNKNOWN` e `TARGET_NOT_WRITABLE`.
|
|
315
|
+
*/
|
|
316
|
+
memberName?: string;
|
|
317
|
+
/** §5.2 — `RepeatingSection`: righe minime. */
|
|
318
|
+
minInstances?: number;
|
|
319
|
+
/** §5.2 — `RepeatingSection`: righe massime. Assente e' l'avviso `REPEATING_SECTION_WITHOUT_LIMIT`. */
|
|
320
|
+
maxInstances?: number;
|
|
321
|
+
/** §5.2 — `RepeatingSection`: default `true`. */
|
|
322
|
+
allowAdd?: boolean;
|
|
323
|
+
/** §5.2 — `RepeatingSection`: default `true`. */
|
|
324
|
+
allowRemove?: boolean;
|
|
325
|
+
/** §5.2 — `RepeatingSection`: la scritta del comando che aggiunge una riga. */
|
|
326
|
+
addButtonLabel?: string;
|
|
327
|
+
/** §5.2 — `RepeatingSection`: la scritta del comando che toglie una riga. */
|
|
328
|
+
removeButtonLabel?: string;
|
|
329
|
+
/**
|
|
330
|
+
* §5.2 — `RepeatingSection`: l'intestazione della **singola riga**. Supporta i merge field e viene
|
|
331
|
+
* risolta sulla riga, quindi ci si nomina il cursore: `Punto {!PuntoCorrente.PodId}`.
|
|
332
|
+
*/
|
|
333
|
+
itemLabel?: string;
|
|
288
334
|
/** `ComponentInstance`: il componente del frontend, dal catalogo dei form. */
|
|
289
335
|
extensionName?: string;
|
|
290
336
|
inputParameters?: FlowInputParameter[];
|
|
@@ -866,6 +912,13 @@ interface FlowScreenFieldTypeEntry extends FlowDictionaryEntry {
|
|
|
866
912
|
acceptsChoices?: boolean;
|
|
867
913
|
/** Il campo contiene altri campi (`Region`, `RegionContainer`). */
|
|
868
914
|
isContainer?: boolean;
|
|
915
|
+
/**
|
|
916
|
+
* §5.2 — sezione **ripetibile**, ed e' distinto da {@link isContainer} di proposito: contiene campi
|
|
917
|
+
* ma quelli che contiene sono il *modello di una riga*, non i campi della schermata. Un editor che le
|
|
918
|
+
* trattasse allo stesso modo proporrebbe quei nomi fra i riferimenti, che e' esattamente cio' che la
|
|
919
|
+
* validazione rifiuta (`SCREEN_FIELD_IN_REPEATER`).
|
|
920
|
+
*/
|
|
921
|
+
isRepeatingSection?: boolean;
|
|
869
922
|
/** `dataType` obbligatorio: senza, `DATA_TYPE_MISSING`. */
|
|
870
923
|
requiresDataType?: boolean;
|
|
871
924
|
}
|
|
@@ -2272,6 +2325,12 @@ declare const ORCHESTRATION_CONDITION_OUTPUT = "isOrchestrationConditionMet";
|
|
|
2272
2325
|
* del flow** (§5.2). I loro nomi vivono nello stesso spazio dei nomi di node e risorse (§3.3),
|
|
2273
2326
|
* quindi `usedNames` dello store deve comprenderli — un campo omonimo di una variabile e'
|
|
2274
2327
|
* `NAME_DUPLICATED`, non una stranezza tollerata.
|
|
2328
|
+
*
|
|
2329
|
+
* L'unica eccezione a quest'ultima e' la `RepeatingSection`, e le due meta' vanno tenute distinte perche'
|
|
2330
|
+
* e' facile appiattirle: i campi **dentro** una riga non sono risorse (il loro nome non individua alcun
|
|
2331
|
+
* valore, perche' la riga esiste una volta per elemento della collection) ma un nome unico ce l'hanno
|
|
2332
|
+
* comunque. Quindi `screenFieldNames` li comprende — `NAME_DUPLICATED` vale — mentre
|
|
2333
|
+
* {@link resourceFieldsOf} no: proporli fra i riferimenti e' `SCREEN_FIELD_IN_REPEATER`.
|
|
2275
2334
|
*/
|
|
2276
2335
|
|
|
2277
2336
|
/** Il percorso di un campo nell'albero: indici dalla radice alla foglia. */
|
|
@@ -2299,7 +2358,9 @@ declare function allFieldsOf(screen: FlowDynamicScreen | undefined): FlowScreenF
|
|
|
2299
2358
|
*
|
|
2300
2359
|
* Contenitori compresi: un `Region` non e' una risorsa — non raccoglie un valore — ma il suo
|
|
2301
2360
|
* nome resta un nome, e due campi omonimi nella stessa schermata sono comunque un problema.
|
|
2302
|
-
*
|
|
2361
|
+
* Ci sono anche i campi **dentro una riga** di una sezione ripetibile, che risorse non sono ma un nome
|
|
2362
|
+
* ce l'hanno lo stesso: e' l'indirizzo con cui il frontend rende il campo, e due omonimi lo renderebbero
|
|
2363
|
+
* ambiguo (§5.2). Chi vuole i **soli** riferimenti proponibili usa {@link resourceFieldsOf}.
|
|
2303
2364
|
*/
|
|
2304
2365
|
declare function screenFieldNames(definition: FlowDefinition | undefined): string[];
|
|
2305
2366
|
/**
|
|
@@ -2322,8 +2383,40 @@ declare function screenActionNames(definition: FlowDefinition | undefined): stri
|
|
|
2322
2383
|
* i suoi output. Il flag `storesValue` arriva dal dizionario, che e' l'unica fonte autoritativa:
|
|
2323
2384
|
* senza la voce del dizionario si risponde `false`, cioe' "non lo so" — proporre un riferimento
|
|
2324
2385
|
* che il backend non conosce e' peggio che non proporlo.
|
|
2386
|
+
*
|
|
2387
|
+
* Guarda il **solo campo**, e non basta: un campo dentro una `RepeatingSection` raccoglie un valore ma
|
|
2388
|
+
* non e' una risorsa, perche' esiste in una riga per ogni elemento della collection. Quella domanda ha
|
|
2389
|
+
* bisogno del contesto, e la risponde {@link resourceFieldsOf}.
|
|
2325
2390
|
*/
|
|
2326
2391
|
declare function isFieldResource(field: FlowScreenField | undefined, entry: FlowScreenFieldTypeEntry | undefined): boolean;
|
|
2392
|
+
/** Come si riconosce una voce del dizionario a partire dal campo: il flag e' del dizionario, non del codice. */
|
|
2393
|
+
type FlowScreenFieldTypeResolver = (field: FlowScreenField) => FlowScreenFieldTypeEntry | undefined;
|
|
2394
|
+
/**
|
|
2395
|
+
* §5.2 — i campi dichiarati dentro una `RepeatingSection` sono il **modello di una riga**, e la riga
|
|
2396
|
+
* esiste una volta per elemento della collection: il loro nome non individua alcun valore.
|
|
2397
|
+
*
|
|
2398
|
+
* Da qui discende tutto cio' che l'editor fa di diverso lì dentro. Non sono risorse del flow, non si
|
|
2399
|
+
* propongono fra i riferimenti, non innescano screen action e non sono destinazioni: nominarli e'
|
|
2400
|
+
* `SCREEN_FIELD_IN_REPEATER`. Dentro una riga si nomina il **cursore** (`itemReference`), che e' una
|
|
2401
|
+
* variabile vera — `PuntoCorrente.PodId`, mai `Luce_POD`.
|
|
2402
|
+
*
|
|
2403
|
+
* Cio' che invece **non** cambia: il nome resta unico, perche' e' l'indirizzo con cui il frontend rende
|
|
2404
|
+
* il campo, quindi un omonimo di una variabile e' `NAME_DUPLICATED` come sempre e `screenFieldNames` li
|
|
2405
|
+
* comprende tutti.
|
|
2406
|
+
*/
|
|
2407
|
+
declare function repeatedFieldNames(definition: FlowDefinition | undefined, typeOf: FlowScreenFieldTypeResolver): Set<string>;
|
|
2408
|
+
/**
|
|
2409
|
+
* I campi di una schermata che sono **risorse del flow**: raccolgono un valore e non stanno dentro una
|
|
2410
|
+
* riga. Sono gli unici da proporre come riferimento, come innesco di una screen action e come
|
|
2411
|
+
* destinazione dei suoi output.
|
|
2412
|
+
*/
|
|
2413
|
+
declare function resourceFieldsOf(screen: FlowDynamicScreen | undefined, typeOf: FlowScreenFieldTypeResolver): FlowScreenField[];
|
|
2414
|
+
/**
|
|
2415
|
+
* La sezione ripetibile che **contiene** il campo a un percorso, se c'e'. Un antenato stretto: la
|
|
2416
|
+
* sezione stessa non sta dentro se stessa, ed e' la differenza fra «configuro la sezione» e «configuro
|
|
2417
|
+
* un campo di una riga», che sono due pannelli diversi.
|
|
2418
|
+
*/
|
|
2419
|
+
declare function repeatingSectionOf(screen: FlowDynamicScreen | undefined, path: FlowScreenFieldPath | null, typeOf: FlowScreenFieldTypeResolver): FlowScreenField | undefined;
|
|
2327
2420
|
/** Inserisce un campo dentro `parentPath` alla posizione indicata (in fondo se assente). */
|
|
2328
2421
|
declare function insertField(screen: FlowDynamicScreen, parentPath: FlowScreenFieldPath, field: FlowScreenField, index?: number): FlowScreenFieldPath | undefined;
|
|
2329
2422
|
/** Rimuove il campo a un percorso, e con esso tutto cio' che conteneva. */
|
|
@@ -2504,6 +2597,13 @@ declare class FlowDictionaryStore {
|
|
|
2504
2597
|
screenFieldStoresValue(value: string | undefined | null): boolean;
|
|
2505
2598
|
/** §5.2 — il campo contiene altri campi: `Region`, `RegionContainer`. */
|
|
2506
2599
|
screenFieldIsContainer(value: string | undefined | null): boolean;
|
|
2600
|
+
/**
|
|
2601
|
+
* §5.2 — sezione **ripetibile**. Distinto da {@link screenFieldIsContainer} di proposito: contiene
|
|
2602
|
+
* campi, ma quelli che contiene sono il modello di una riga e i loro nomi **non** sono riferimenti
|
|
2603
|
+
* proponibili (`SCREEN_FIELD_IN_REPEATER`). E' il flag su cui si accende tutto cio' che l'editor fa di
|
|
2604
|
+
* diverso dentro una riga.
|
|
2605
|
+
*/
|
|
2606
|
+
screenFieldIsRepeatingSection(value: string | undefined | null): boolean;
|
|
2507
2607
|
/** §5.2 — il campo si configura con `choiceReferences`. */
|
|
2508
2608
|
screenFieldAcceptsChoices(value: string | undefined | null): boolean;
|
|
2509
2609
|
/** §5.2 — `dataType` obbligatorio: senza, `DATA_TYPE_MISSING`. */
|
|
@@ -3389,11 +3489,21 @@ declare class FlowDocumentStore {
|
|
|
3389
3489
|
*/
|
|
3390
3490
|
declare const FLOW_REFERENCE_FIELDS: ReadonlySet<string>;
|
|
3391
3491
|
/**
|
|
3392
|
-
* Riscrive ogni occorrenza di un nome nei campi che contengono riferimenti
|
|
3492
|
+
* Riscrive ogni occorrenza di un nome nei campi che contengono riferimenti **e nei merge field**.
|
|
3393
3493
|
*
|
|
3394
3494
|
* Cammina tutto cio' che gli si passa — un documento intero per la rinomina, il solo frammento
|
|
3395
3495
|
* copiato per l'incolla — perche' i riferimenti compaiono in una ventina di posti diversi (§4)
|
|
3396
3496
|
* e l'elenco dei posti sarebbe la cosa che si dimentica di aggiornare.
|
|
3497
|
+
*
|
|
3498
|
+
* I **merge field** ci sono entrati insieme al loro conteggio, e non e' un caso: mostrare «5 usi»
|
|
3499
|
+
* contando i testi e poi riscriverne solo tre significa lasciare due messaggi rotti proprio a chi
|
|
3500
|
+
* ha letto il numero per fidarsi della rinomina. Il testo intorno all'isola non si tocca — lì la
|
|
3501
|
+
* stessa parola e' una parola — e la regola sta in `flow-merge-text.ts`.
|
|
3502
|
+
*
|
|
3503
|
+
* Restano fuori le **formule**: la loro sintassi e' del motore (§6.3), e sostituire un
|
|
3504
|
+
* identificatore in un'espressione che non si interpreta vuol dire indovinare. Chi mostra il
|
|
3505
|
+
* conteggio lo dice, invece di far scoprire dopo che una formula punta a un nome che non c'e'
|
|
3506
|
+
* piu' (`describeNameUses` le tiene contate a parte proprio per questo).
|
|
3397
3507
|
*/
|
|
3398
3508
|
declare function rewriteReferences(root: unknown, oldName: string, newName: string): void;
|
|
3399
3509
|
/**
|
|
@@ -4532,6 +4642,16 @@ declare class ReferencePickerComponent {
|
|
|
4532
4642
|
* verrebbe accusato di non esistere.
|
|
4533
4643
|
*/
|
|
4534
4644
|
readonly extraReferences: _angular_core.InputSignal<FlowReference[]>;
|
|
4645
|
+
/**
|
|
4646
|
+
* Le radici da proporre **per prime**. Oggi c'e' un chiamante solo: dentro una riga di sezione
|
|
4647
|
+
* ripetibile la strada normale e' il **cursore** (`PuntoCorrente.PodId`), e i campi della riga —
|
|
4648
|
+
* che sono cio' che uno cerca istintivamente — non sono nemmeno riferimenti validi (§5.2).
|
|
4649
|
+
*
|
|
4650
|
+
* Non aggiunge e non toglie niente: riordina. L'elenco resta quello della primitiva, e un
|
|
4651
|
+
* riferimento preferito che non c'e' semplicemente non compare — proporre un nome che il backend
|
|
4652
|
+
* non conosce sarebbe peggio che non metterlo in cima.
|
|
4653
|
+
*/
|
|
4654
|
+
readonly preferredRoots: _angular_core.InputSignal<string[]>;
|
|
4535
4655
|
readonly valueChange: _angular_core.OutputEmitterRef<string | undefined>;
|
|
4536
4656
|
/**
|
|
4537
4657
|
* L'elenco come arriva dalla primitiva, **senza** il filtro di tipo.
|
|
@@ -4627,6 +4747,12 @@ declare class ReferencePickerComponent {
|
|
|
4627
4747
|
/** `true` → questa riga apre il percorso e non e' un valore valido per il campo. */
|
|
4628
4748
|
isContainerOnly(reference: FlowReference): boolean;
|
|
4629
4749
|
readonly options: _angular_core.Signal<FlowReference[]>;
|
|
4750
|
+
/**
|
|
4751
|
+
* Porta in testa le radici preferite, **senza** cambiare l'ordine relativo del resto. I gruppi si
|
|
4752
|
+
* costruiscono per ordine di prima apparizione, quindi bastano questi due passaggi perche' il
|
|
4753
|
+
* gruppo giusto risulti il primo della tendina.
|
|
4754
|
+
*/
|
|
4755
|
+
private preferFirst;
|
|
4630
4756
|
/** Le opzioni raggruppate per `kind`, così gli output automatici si distinguono. */
|
|
4631
4757
|
readonly groups: _angular_core.Signal<{
|
|
4632
4758
|
kind: string;
|
|
@@ -4655,7 +4781,7 @@ declare class ReferencePickerComponent {
|
|
|
4655
4781
|
* percorso inesistente di uno scope che i percorsi li dichiara, perche' lì il backend
|
|
4656
4782
|
* risponderebbe `GLOBAL_UNKNOWN`.
|
|
4657
4783
|
*/
|
|
4658
|
-
readonly valueState: _angular_core.Signal<"empty" | "
|
|
4784
|
+
readonly valueState: _angular_core.Signal<"empty" | "known" | "navigated" | "host" | "member" | "containerRoot" | "memberUnknown" | "memberNotWritable" | "pathUnverified" | "globalPathUntyped" | "globalPathInvalid" | "unknown">;
|
|
4659
4785
|
/** Le parole cambiano con la tappa: un campo di un'entita' non e' un membro di una classe. */
|
|
4660
4786
|
private readonly tailIsObject;
|
|
4661
4787
|
private readonly tailContainer;
|
|
@@ -4693,7 +4819,7 @@ declare class ReferencePickerComponent {
|
|
|
4693
4819
|
clear(): void;
|
|
4694
4820
|
describe(reference: FlowReference): string;
|
|
4695
4821
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ReferencePickerComponent, never>;
|
|
4696
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReferencePickerComponent, "fb-reference-picker", never, { "value": { "alias": "value"; "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; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "writableOnly": { "alias": "writableOnly"; "required": false; "isSignal": true; }; "elementsOnly": { "alias": "elementsOnly"; "required": false; "isSignal": true; }; "extraReferences": { "alias": "extraReferences"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
4822
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReferencePickerComponent, "fb-reference-picker", never, { "value": { "alias": "value"; "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; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "writableOnly": { "alias": "writableOnly"; "required": false; "isSignal": true; }; "elementsOnly": { "alias": "elementsOnly"; "required": false; "isSignal": true; }; "extraReferences": { "alias": "extraReferences"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
4697
4823
|
}
|
|
4698
4824
|
|
|
4699
4825
|
declare class ObjectPickerComponent {
|
|
@@ -4817,7 +4943,7 @@ declare class NamePickerComponent {
|
|
|
4817
4943
|
* **errori** che bloccano l'attivazione (`ACTION_UNKNOWN`, `FORM_UNKNOWN`), mentre un flow
|
|
4818
4944
|
* senza versione attiva e' un avviso. Mostrarli con lo stesso colore direbbe il falso.
|
|
4819
4945
|
*/
|
|
4820
|
-
readonly unknownSeverity: _angular_core.InputSignal<"
|
|
4946
|
+
readonly unknownSeverity: _angular_core.InputSignal<"error" | "warn">;
|
|
4821
4947
|
/**
|
|
4822
4948
|
* Nomi che **esistono** ma non sono utilizzabili qui. Il caso vero e' il catalogo dei form,
|
|
4823
4949
|
* dove una schermata intera e un componente vivono nello stesso elenco e si distinguono per
|
|
@@ -5031,6 +5157,12 @@ declare class FormulaEditorComponent {
|
|
|
5031
5157
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
5032
5158
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
5033
5159
|
readonly rows: _angular_core.InputSignal<number>;
|
|
5160
|
+
/**
|
|
5161
|
+
* I nomi da suggerire **per primi** (§5.2). Lo passa un chiamante solo: la regola di validazione
|
|
5162
|
+
* di un campo dentro una riga di sezione ripetibile, dove la strada normale e' il cursore. Non
|
|
5163
|
+
* aggiunge nomi all'elenco di `POST /flows/references`: riordina i suggerimenti.
|
|
5164
|
+
*/
|
|
5165
|
+
readonly preferredRoots: _angular_core.InputSignal<string[]>;
|
|
5034
5166
|
/**
|
|
5035
5167
|
* Quando propagare al documento. `input` a ogni tasto, `change` all'uscita dal campo: la
|
|
5036
5168
|
* seconda serve dove mutare il documento ridisegna mezza schermata — l'anteprima dello screen
|
|
@@ -5152,7 +5284,7 @@ declare class FormulaEditorComponent {
|
|
|
5152
5284
|
private run;
|
|
5153
5285
|
private cancel;
|
|
5154
5286
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaEditorComponent, never>;
|
|
5155
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaEditorComponent, "fb-formula-editor", never, { "expression": { "alias": "expression"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "expectedDataType": { "alias": "expectedDataType"; "required": false; "isSignal": true; }; "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "commitOn": { "alias": "commitOn"; "required": false; "isSignal": true; }; }, { "expressionChange": "expressionChange"; }, never, ["*"], true, never>;
|
|
5287
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaEditorComponent, "fb-formula-editor", never, { "expression": { "alias": "expression"; "required": false; "isSignal": true; }; "usage": { "alias": "usage"; "required": false; "isSignal": true; }; "expectedDataType": { "alias": "expectedDataType"; "required": false; "isSignal": true; }; "scale": { "alias": "scale"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; "commitOn": { "alias": "commitOn"; "required": false; "isSignal": true; }; }, { "expressionChange": "expressionChange"; }, never, ["*"], true, never>;
|
|
5156
5288
|
}
|
|
5157
5289
|
|
|
5158
5290
|
/** Le modalita' offerte: una per campo del modello. */
|
|
@@ -5174,6 +5306,12 @@ declare class ValueEditorComponent {
|
|
|
5174
5306
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
5175
5307
|
/** Nasconde la modalita' formula dove il modello non la prevede. */
|
|
5176
5308
|
readonly allowFormula: _angular_core.InputSignal<boolean>;
|
|
5309
|
+
/**
|
|
5310
|
+
* Le radici da proporre **per prime** nel reference picker (§5.2). Oggi lo passa un chiamante
|
|
5311
|
+
* solo: dentro una riga di sezione ripetibile la strada normale e' il **cursore**, e i campi
|
|
5312
|
+
* della riga non sono nemmeno riferimenti validi. Non aggiunge niente all'elenco: riordina.
|
|
5313
|
+
*/
|
|
5314
|
+
readonly preferredRoots: _angular_core.InputSignal<string[]>;
|
|
5177
5315
|
readonly valueChange: _angular_core.OutputEmitterRef<FlowValue | undefined>;
|
|
5178
5316
|
/** La modalita' dedotta dal campo effettivamente valorizzato. */
|
|
5179
5317
|
readonly mode: _angular_core.Signal<ValueMode>;
|
|
@@ -5248,7 +5386,7 @@ declare class ValueEditorComponent {
|
|
|
5248
5386
|
private emit;
|
|
5249
5387
|
readonly dataTypeOptions: _angular_core.Signal<_esfaenza_flow_builder.FlowDataTypeEntry[]>;
|
|
5250
5388
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ValueEditorComponent, never>;
|
|
5251
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ValueEditorComponent, "fb-value-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "valueSet": { "alias": "valueSet"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
5389
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ValueEditorComponent, "fb-value-editor", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "dataType": { "alias": "dataType"; "required": false; "isSignal": true; }; "objectType": { "alias": "objectType"; "required": false; "isSignal": true; }; "isCollection": { "alias": "isCollection"; "required": false; "isSignal": true; }; "valueSet": { "alias": "valueSet"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
|
|
5252
5390
|
}
|
|
5253
5391
|
|
|
5254
5392
|
declare class ConditionEditorComponent {
|
|
@@ -5261,6 +5399,12 @@ declare class ConditionEditorComponent {
|
|
|
5261
5399
|
readonly title: _angular_core.InputSignal<string>;
|
|
5262
5400
|
/** `false` dove il modello non prevede la modalita' formula sull'elemento. */
|
|
5263
5401
|
readonly allowFormula: _angular_core.InputSignal<boolean>;
|
|
5402
|
+
/**
|
|
5403
|
+
* Le radici da proporre **per prime** nel reference picker (§5.2). Oggi lo passa un chiamante
|
|
5404
|
+
* solo: dentro una riga di sezione ripetibile la strada normale e' il **cursore**, e i campi
|
|
5405
|
+
* della riga non sono nemmeno riferimenti validi. Non aggiunge niente all'elenco: riordina.
|
|
5406
|
+
*/
|
|
5407
|
+
readonly preferredRoots: _angular_core.InputSignal<string[]>;
|
|
5264
5408
|
/**
|
|
5265
5409
|
* `false` dove il modello porta **solo** la lista di condizioni, senza un campo per la
|
|
5266
5410
|
* logica: gli `entryConditions` / `exitConditions` di uno step di orchestrazione (§5.14).
|
|
@@ -5345,7 +5489,7 @@ declare class ConditionEditorComponent {
|
|
|
5345
5489
|
setRightValue(index: number, value: FlowValue | undefined): void;
|
|
5346
5490
|
setUnaryExpectation(index: number, expectation: boolean): void;
|
|
5347
5491
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConditionEditorComponent, never>;
|
|
5348
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConditionEditorComponent, "fb-condition-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "allowLogic": { "alias": "allowLogic"; "required": false; "isSignal": true; }; "issuePath": { "alias": "issuePath"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
5492
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConditionEditorComponent, "fb-condition-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "allowFormula": { "alias": "allowFormula"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; "allowLogic": { "alias": "allowLogic"; "required": false; "isSignal": true; }; "issuePath": { "alias": "issuePath"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
5349
5493
|
}
|
|
5350
5494
|
|
|
5351
5495
|
/**
|
|
@@ -5386,7 +5530,7 @@ declare class RecordFilterEditorComponent {
|
|
|
5386
5530
|
* (§5.8, §13.10).
|
|
5387
5531
|
*/
|
|
5388
5532
|
readonly emptyWarning: _angular_core.InputSignal<string | null>;
|
|
5389
|
-
readonly emptyWarningSeverity: _angular_core.InputSignal<"
|
|
5533
|
+
readonly emptyWarningSeverity: _angular_core.InputSignal<"error" | "warn">;
|
|
5390
5534
|
readonly changed: _angular_core.OutputEmitterRef<(holder: FilterHolder) => void>;
|
|
5391
5535
|
/** Tutti i campi, filtrabili o no: serve solo a riconoscere le chiavi composte (§5.8). */
|
|
5392
5536
|
private readonly allFields;
|
|
@@ -5489,6 +5633,12 @@ declare class ParameterEditorComponent {
|
|
|
5489
5633
|
* quei campi sono una destinazione, e per questo non e' un default ma un parametro del chiamante.
|
|
5490
5634
|
*/
|
|
5491
5635
|
readonly extraTargets: _angular_core.InputSignal<FlowReference[]>;
|
|
5636
|
+
/**
|
|
5637
|
+
* Le radici da proporre **per prime**, in ingresso e in uscita (§5.2). Dentro una riga di sezione
|
|
5638
|
+
* ripetibile e' il cursore: e' lì che vanno letti gli input di un componente e assegnati i suoi
|
|
5639
|
+
* output, perche' una riga ha un cursore e i campi della riga non sono riferimenti.
|
|
5640
|
+
*/
|
|
5641
|
+
readonly preferredRoots: _angular_core.InputSignal<string[]>;
|
|
5492
5642
|
readonly changed: _angular_core.OutputEmitterRef<(holder: ParameterHolder) => void>;
|
|
5493
5643
|
readonly inputs: _angular_core.Signal<FlowInputParameter[]>;
|
|
5494
5644
|
readonly outputs: _angular_core.Signal<FlowOutputParameter[]>;
|
|
@@ -5527,7 +5677,7 @@ declare class ParameterEditorComponent {
|
|
|
5527
5677
|
setOutputName(index: number, name: string): void;
|
|
5528
5678
|
setOutputTarget(index: number, reference: string | undefined): void;
|
|
5529
5679
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParameterEditorComponent, never>;
|
|
5530
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ParameterEditorComponent, "fb-parameter-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "catalogParameters": { "alias": "catalogParameters"; "required": false; "isSignal": true; }; "inputTitle": { "alias": "inputTitle"; "required": false; "isSignal": true; }; "outputTitle": { "alias": "outputTitle"; "required": false; "isSignal": true; }; "showInputs": { "alias": "showInputs"; "required": false; "isSignal": true; }; "showOutputs": { "alias": "showOutputs"; "required": false; "isSignal": true; }; "outputsDisabledReason": { "alias": "outputsDisabledReason"; "required": false; "isSignal": true; }; "extraTargets": { "alias": "extraTargets"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
5680
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ParameterEditorComponent, "fb-parameter-editor", never, { "holder": { "alias": "holder"; "required": true; "isSignal": true; }; "catalogParameters": { "alias": "catalogParameters"; "required": false; "isSignal": true; }; "inputTitle": { "alias": "inputTitle"; "required": false; "isSignal": true; }; "outputTitle": { "alias": "outputTitle"; "required": false; "isSignal": true; }; "showInputs": { "alias": "showInputs"; "required": false; "isSignal": true; }; "showOutputs": { "alias": "showOutputs"; "required": false; "isSignal": true; }; "outputsDisabledReason": { "alias": "outputsDisabledReason"; "required": false; "isSignal": true; }; "extraTargets": { "alias": "extraTargets"; "required": false; "isSignal": true; }; "preferredRoots": { "alias": "preferredRoots"; "required": false; "isSignal": true; }; }, { "changed": "changed"; }, never, never, true, never>;
|
|
5531
5681
|
}
|
|
5532
5682
|
|
|
5533
5683
|
interface FieldAssignmentHolder {
|
|
@@ -5817,7 +5967,22 @@ declare class ElementInspectorComponent {
|
|
|
5817
5967
|
* Quanti riferimenti verrebbero riscritti dalla rinomina. Serve a rendere visibile che
|
|
5818
5968
|
* l'operazione tocca il resto del documento, non solo questo elemento.
|
|
5819
5969
|
*/
|
|
5970
|
+
/**
|
|
5971
|
+
* Gli usi del nome, con la stessa funzione del pannello risorse: e' la stessa domanda, e due
|
|
5972
|
+
* numeri diversi per la stessa domanda sono un difetto — questo era una regex sul JSON
|
|
5973
|
+
* serializzato, che contava le stringhe uguali al nome in **qualunque** campo (anche dove non
|
|
5974
|
+
* sono riferimenti) e non vedeva ne' le formule ne' i merge field, cioe' sovrastimava e
|
|
5975
|
+
* sottostimava insieme.
|
|
5976
|
+
*/
|
|
5977
|
+
private readonly nameUses;
|
|
5978
|
+
/** Le occorrenze che la rinomina **riscrive**: riferimenti piu' merge field nei testi. */
|
|
5820
5979
|
readonly referenceCount: _angular_core.Signal<number>;
|
|
5980
|
+
/**
|
|
5981
|
+
* Le occorrenze che restano indietro: le espressioni delle formule, che l'editor non riscrive
|
|
5982
|
+
* perche' la loro sintassi e' del motore (§6.3). Dirlo qui e' l'unico modo di non farlo
|
|
5983
|
+
* scoprire dopo, quando la formula punta a un nome che non esiste piu'.
|
|
5984
|
+
*/
|
|
5985
|
+
readonly formulaUseCount: _angular_core.Signal<number>;
|
|
5821
5986
|
readonly canRename: _angular_core.Signal<boolean>;
|
|
5822
5987
|
startRename(): void;
|
|
5823
5988
|
onPendingNameInput(value: string): void;
|
|
@@ -6154,6 +6319,14 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
|
|
|
6154
6319
|
readonly stageOptions: _angular_core.Signal<NamePickerOption[]>;
|
|
6155
6320
|
isSelected(path: FlowScreenFieldPath): boolean;
|
|
6156
6321
|
isContainer(field: FlowScreenField | undefined): boolean;
|
|
6322
|
+
isRepeatingSection(field: FlowScreenField | undefined): boolean;
|
|
6323
|
+
/**
|
|
6324
|
+
* §5.2 — il campo ha dei `fields` dentro, quale che sia il loro significato: e' la domanda che
|
|
6325
|
+
* serve al rilascio e al comando «aggiungi qui». I due flag restano distinti — cio' che sta in una
|
|
6326
|
+
* sezione ripetibile e' il **modello di una riga**, non campi della schermata — ma per decidere
|
|
6327
|
+
* *dove* finisce un campo trascinato la differenza non conta.
|
|
6328
|
+
*/
|
|
6329
|
+
holdsFields(field: FlowScreenField | undefined): boolean;
|
|
6157
6330
|
/** `true` sulla sezione, che dispone i figli **in riga**: le colonne stanno una accanto all'altra. */
|
|
6158
6331
|
isSection(field: FlowScreenField | undefined): boolean;
|
|
6159
6332
|
childPath(parent: FlowScreenFieldPath, index: number): FlowScreenFieldPath;
|
|
@@ -6258,6 +6431,10 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
|
|
|
6258
6431
|
*/
|
|
6259
6432
|
private clickTarget;
|
|
6260
6433
|
addComponentAtSelection(type: string): void;
|
|
6434
|
+
/** Se il tipo puo' finire dove il clic lo metterebbe: e' cio' che disabilita il chip della palette. */
|
|
6435
|
+
canAddAtSelection(type: string): boolean;
|
|
6436
|
+
/** §5.2 — l'unico divieto di collocazione: una sezione ripetibile dentro un'altra. */
|
|
6437
|
+
private canPlaceAt;
|
|
6261
6438
|
addObjectFieldAtSelection(field: FlowFieldDescription): void;
|
|
6262
6439
|
/**
|
|
6263
6440
|
* Un componente nuovo. Una sezione nasce **con una colonna dentro**: una sezione vuota e'
|
|
@@ -6322,6 +6499,57 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
|
|
|
6322
6499
|
/** L'oggetto di un `ObjectProvided`, cioe' la parte prima del punto (§5.2). */
|
|
6323
6500
|
readonly providedObject: _angular_core.Signal<string>;
|
|
6324
6501
|
readonly providedField: _angular_core.Signal<string>;
|
|
6502
|
+
/** Come si legge la voce di dizionario di un campo: il flag e' del dizionario, non del codice. */
|
|
6503
|
+
private readonly typeOfField;
|
|
6504
|
+
readonly selectedIsRepeatingSection: _angular_core.Signal<boolean>;
|
|
6505
|
+
/**
|
|
6506
|
+
* La sezione ripetibile che **contiene** il campo selezionato, se c'e'. Antenato stretto: sulla
|
|
6507
|
+
* sezione stessa e' `undefined`, perche' configurare la sezione e configurare un campo di una riga
|
|
6508
|
+
* sono due pannelli diversi.
|
|
6509
|
+
*/
|
|
6510
|
+
readonly selectedRepeater: _angular_core.Signal<FlowScreenField | undefined>;
|
|
6511
|
+
readonly isInsideRepeater: _angular_core.Signal<boolean>;
|
|
6512
|
+
/**
|
|
6513
|
+
* Il **cursore** della riga in cui si sta: e' cio' che si nomina lì dentro (§5.2). Scrivere il nome
|
|
6514
|
+
* del campo — `Luce_POD` — e' `SCREEN_FIELD_IN_REPEATER`, perche' quel campo esiste in una riga per
|
|
6515
|
+
* elemento della collection e il riferimento non ne individua nessuna.
|
|
6516
|
+
*/
|
|
6517
|
+
readonly rowCursor: _angular_core.Signal<string>;
|
|
6518
|
+
/**
|
|
6519
|
+
* Cosa proporre **per primo** nei selettori di riferimento del campo selezionato. Dentro una riga
|
|
6520
|
+
* e' il cursore: e' la strada normale, e i campi della riga — che sono cio' che uno cerca per
|
|
6521
|
+
* istinto — non compaiono affatto, perche' non sono riferimenti validi. Fuori e' vuoto, cioe'
|
|
6522
|
+
* l'ordine di sempre.
|
|
6523
|
+
*/
|
|
6524
|
+
readonly preferredRoots: _angular_core.Signal<string[]>;
|
|
6525
|
+
/**
|
|
6526
|
+
* I tipi proponibili per il campo selezionato. Dentro una riga manca la sezione ripetibile: **non si
|
|
6527
|
+
* annidano** — il cursore e' una variabile sola per sezione, e due sezioni annidate ne vorrebbero due
|
|
6528
|
+
* vive contemporaneamente. La validazione lo rifiuta comunque, ma un editor che lascia comporre e poi
|
|
6529
|
+
* accusa fa perdere tempo due volte.
|
|
6530
|
+
*/
|
|
6531
|
+
readonly fieldTypeOptions: _angular_core.Signal<FlowScreenFieldTypeEntry[]>;
|
|
6532
|
+
/**
|
|
6533
|
+
* La classe delle righe: l'`objectType` della **variabile** in `collectionReference` (§5.2). Si
|
|
6534
|
+
* legge dal documento e non da `getReferences` perche' i due riferimenti di una sezione sono
|
|
6535
|
+
* variabili per forza — ci scrive il runtime — e la risposta serve sincrona, dentro il template.
|
|
6536
|
+
*/
|
|
6537
|
+
rowClassOf(section: FlowScreenField | undefined): string | undefined;
|
|
6538
|
+
/** La classe con cui si popolano le tendine dei membri: quella della sezione, dentro o fuori. */
|
|
6539
|
+
readonly rowClass: _angular_core.Signal<string | undefined>;
|
|
6540
|
+
/**
|
|
6541
|
+
* §5.2 — le incoerenze dei due riferimenti sono tutte `REPEATING_SECTION_INVALID`, e si dicono qui
|
|
6542
|
+
* invece di aspettare la validazione: riferimento mancante, costante al posto di una variabile,
|
|
6543
|
+
* collection scambiata col cursore, due classi diverse.
|
|
6544
|
+
*/
|
|
6545
|
+
readonly repeaterIssue: _angular_core.Signal<string | null>;
|
|
6546
|
+
/** §5.2 — il massimo mancante e' un **avviso**: senza, l'utente puo' aggiungere righe all'infinito. */
|
|
6547
|
+
readonly repeaterHasNoLimit: _angular_core.Signal<boolean>;
|
|
6548
|
+
/**
|
|
6549
|
+
* La variabile del documento con quel nome, se e' una variabile. Non un riferimento qualunque: una
|
|
6550
|
+
* costante o una formula qui e' `REPEATING_SECTION_INVALID`, e distinguerle e' il punto.
|
|
6551
|
+
*/
|
|
6552
|
+
private variableTypeOf;
|
|
6325
6553
|
/** Scrive una proprieta' del campo selezionato; valore vuoto → chiave omessa (§2). */
|
|
6326
6554
|
private patchField;
|
|
6327
6555
|
setFieldProperty(property: keyof FlowScreenField, value: unknown): void;
|
|
@@ -6337,7 +6565,12 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
|
|
|
6337
6565
|
*/
|
|
6338
6566
|
setFieldType(type: string): void;
|
|
6339
6567
|
setDefaultValue(value: FlowValue | undefined): void;
|
|
6340
|
-
setNumberProperty(property: 'scale' | 'maxLength' | 'width', raw: string): void;
|
|
6568
|
+
setNumberProperty(property: 'scale' | 'maxLength' | 'width' | 'minInstances' | 'maxInstances', raw: string): void;
|
|
6569
|
+
/**
|
|
6570
|
+
* §5.2 — `allowAdd` e `allowRemove` hanno default `true`: si scrive solo il `false`, che e' la
|
|
6571
|
+
* scelta significativa. È la stessa regola dei flag del node (§2), non quella di un `FlowValue`.
|
|
6572
|
+
*/
|
|
6573
|
+
setRepeaterFlag(property: 'allowAdd' | 'allowRemove', value: boolean): void;
|
|
6341
6574
|
/** `isRequired` si scrive solo quando e' vero: il default e' facoltativo. */
|
|
6342
6575
|
setRequired(value: boolean): void;
|
|
6343
6576
|
/** `isEditable` ha default `true`: si scrive solo il `false`, che e' la scelta significativa. */
|
|
@@ -6380,7 +6613,15 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
|
|
|
6380
6613
|
* scrive resta `TARGET_NOT_WRITABLE`. Quindi l'allargamento e' qui, non nel picker.
|
|
6381
6614
|
*/
|
|
6382
6615
|
readonly screenFieldTargets: _angular_core.Signal<FlowReference[]>;
|
|
6383
|
-
/**
|
|
6616
|
+
/**
|
|
6617
|
+
* I campi che raccolgono un valore: gli unici che un'action possa riempire, e gli unici che
|
|
6618
|
+
* innescano.
|
|
6619
|
+
*
|
|
6620
|
+
* **Senza quelli dentro una riga**, che raccolgono un valore ma non sono risorse: un trigger nomina
|
|
6621
|
+
* un campo, e il campo di una riga non ne ha uno solo — sarebbe da dichiarare *quale* riga osserva.
|
|
6622
|
+
* Un `triggerFieldName` che punta lì e' `SCREEN_FIELD_IN_REPEATER`, e lo stesso vale per
|
|
6623
|
+
* l'`assignToReference` di un output (§5.2).
|
|
6624
|
+
*/
|
|
6384
6625
|
private valueFieldsOfScreen;
|
|
6385
6626
|
/**
|
|
6386
6627
|
* I campi proponibili come innesco. Sono **i campi di questa schermata**, non i riferimenti in
|
|
@@ -6456,6 +6697,17 @@ declare class DynamicScreenInspectorComponent extends NodeInspectorBase {
|
|
|
6456
6697
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicScreenInspectorComponent, "fb-dynamic-screen-inspector", never, { "initialSelection": { "alias": "initialSelection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
6457
6698
|
}
|
|
6458
6699
|
|
|
6700
|
+
/** Gli usi di un nome, divisi per come sono scritti nel documento. */
|
|
6701
|
+
interface FlowNameUses {
|
|
6702
|
+
/** Campi di riferimento: `targetReference`, `leftValueReference`, `choiceReferences`, … */
|
|
6703
|
+
references: number;
|
|
6704
|
+
/** Espressioni del motore di regole: **non** vengono riscritte dalla rinomina. */
|
|
6705
|
+
formulas: number;
|
|
6706
|
+
/** Isole `{!...}` nei campi di testo che il contratto dichiara con merge field (§5.12). */
|
|
6707
|
+
mergeFields: number;
|
|
6708
|
+
total: number;
|
|
6709
|
+
}
|
|
6710
|
+
|
|
6459
6711
|
/** La risorsa aperta in modifica: collection piu' indice, la sola chiave del documento. */
|
|
6460
6712
|
interface FlowResourceEdit {
|
|
6461
6713
|
collection: FlowResourceCollection;
|
|
@@ -6621,6 +6873,17 @@ declare class ResourcePanelComponent {
|
|
|
6621
6873
|
* senza, tre formule che leggono una variabile la direbbero «non usata».
|
|
6622
6874
|
*/
|
|
6623
6875
|
usesOf(reference: FlowResourceRef): number;
|
|
6876
|
+
/**
|
|
6877
|
+
* Il dettaglio degli usi: quanti riferimenti, quante formule, quanti merge field.
|
|
6878
|
+
*
|
|
6879
|
+
* Serve al `title` della riga, e non e' un vezzo: `{!Cliente.Nome}` in un messaggio e' un uso
|
|
6880
|
+
* che non si vede da nessuna parte nel documento, quindi «13 usi» senza dire **dove** manda a
|
|
6881
|
+
* cercarli nei posti sbagliati. E le tre categorie non si comportano allo stesso modo davanti a
|
|
6882
|
+
* una rinomina, che e' l'altra cosa che si fa con questo numero.
|
|
6883
|
+
*/
|
|
6884
|
+
usesDetailOf(reference: FlowResourceRef): FlowNameUses;
|
|
6885
|
+
/** La riga del `title`: si scrivono le sole categorie presenti, altrimenti sono sempre tre. */
|
|
6886
|
+
usesDetailLabel(reference: FlowResourceRef): string;
|
|
6624
6887
|
/**
|
|
6625
6888
|
* Il conteggio di **tutte** le risorse, calcolato una volta per documento.
|
|
6626
6889
|
*
|
|
@@ -6628,10 +6891,10 @@ declare class ResourcePanelComponent {
|
|
|
6628
6891
|
* chiede per ogni risorsa di ogni collection — i numeri delle schede, il chip «non usate» —
|
|
6629
6892
|
* chiamarlo dal template significherebbe cinquanta walk per giro di change detection.
|
|
6630
6893
|
*
|
|
6631
|
-
* La chiave e' il nome **esatto** e non quello minuscolo:
|
|
6632
|
-
*
|
|
6633
|
-
*
|
|
6634
|
-
*
|
|
6894
|
+
* La chiave e' il nome **esatto** e non quello minuscolo: il conteggio confronta le stringhe
|
|
6895
|
+
* come sono, quindi due nomi che differiscono solo per il case — che sono un `NAME_DUPLICATED`,
|
|
6896
|
+
* non un caso da normalizzare qui — hanno due conteggi diversi, ed e' quello che il pannello
|
|
6897
|
+
* mostrava anche prima della memoizzazione.
|
|
6635
6898
|
*/
|
|
6636
6899
|
private readonly useCounts;
|
|
6637
6900
|
private keyOf;
|
|
@@ -6708,6 +6971,14 @@ declare class ResourceFormComponent {
|
|
|
6708
6971
|
ignoredChoiceSetFilters(): string | null;
|
|
6709
6972
|
/** La ripulitura e' un comando, non un effetto dell'apertura del form. */
|
|
6710
6973
|
clearIgnoredChoiceSetFilters(): void;
|
|
6974
|
+
/**
|
|
6975
|
+
* Quante volte il nome di questa risorsa compare dentro un'**espressione**.
|
|
6976
|
+
*
|
|
6977
|
+
* E' l'unica delle tre categorie che la rinomina non tocca (§6.3: la sintassi e' del motore), e
|
|
6978
|
+
* va detta dove si rinomina: il conteggio della riga lo dice già nel suo `title`, ma chi sta
|
|
6979
|
+
* cambiando il nome sta guardando questo campo.
|
|
6980
|
+
*/
|
|
6981
|
+
readonly formulaUseCount: _angular_core.Signal<number>;
|
|
6711
6982
|
/** Su un choice set da enum il tipo e' `enumType`: il campo generico sarebbe un doppione. */
|
|
6712
6983
|
hidesObjectType(): boolean;
|
|
6713
6984
|
isChoiceSetSource(source: ChoiceSetSource): boolean;
|
|
@@ -6836,21 +7107,82 @@ declare class ProblemsPanelComponent {
|
|
|
6836
7107
|
}>;
|
|
6837
7108
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
6838
7109
|
readonly filter: _angular_core.WritableSignal<SeverityFilter>;
|
|
7110
|
+
/** Il testo del filtro: cerca in cio' che la riga mostra. */
|
|
7111
|
+
readonly query: _angular_core.WritableSignal<string>;
|
|
7112
|
+
/**
|
|
7113
|
+
* I codici selezionati. Vuoto significa «tutti», non «nessuno»: e' l'unico modo di far
|
|
7114
|
+
* coincidere lo stato iniziale con l'assenza di filtro.
|
|
7115
|
+
*/
|
|
7116
|
+
readonly selectedCodes: _angular_core.WritableSignal<ReadonlySet<string>>;
|
|
7117
|
+
readonly isCodeMenuOpen: _angular_core.WritableSignal<boolean>;
|
|
7118
|
+
/** Il confine della tendina: il controllo, non il pannello. Vedi il commento nel costruttore. */
|
|
7119
|
+
private readonly codesRef;
|
|
7120
|
+
constructor();
|
|
6839
7121
|
readonly isRunning: _angular_core.Signal<boolean>;
|
|
6840
7122
|
readonly hasResult: _angular_core.Signal<boolean>;
|
|
6841
7123
|
readonly lastError: _angular_core.Signal<string | null>;
|
|
7124
|
+
/**
|
|
7125
|
+
* Il testo su cui la casella confronta, **una stringa per rilievo** e allineata per indice a
|
|
7126
|
+
* `validation.issues()`.
|
|
7127
|
+
*
|
|
7128
|
+
* Ci sta anche il percorso **tradotto per nome** (`pathLabel`), che e' quello che la riga
|
|
7129
|
+
* mostra: su uno screen dinamico il path arriva a indici, e cercare il nome del campo che si
|
|
7130
|
+
* legge sullo schermo non troverebbe niente. Si calcola una volta per risultato invece che a
|
|
7131
|
+
* ogni battuta, perche' tradurre un path significa camminare l'albero della schermata.
|
|
7132
|
+
*/
|
|
7133
|
+
private readonly haystacks;
|
|
7134
|
+
private readonly needle;
|
|
7135
|
+
/** Testo e codici: i due filtri che non sono la gravita'. */
|
|
7136
|
+
private matchesText;
|
|
7137
|
+
private matchesCode;
|
|
6842
7138
|
/**
|
|
6843
7139
|
* I conteggi dei chip vengono dai rilievi, non dal risultato: il numero sul filtro deve
|
|
6844
|
-
* essere quello che il filtro apre (vedi `FlowValidationStore.issueCounts`).
|
|
7140
|
+
* essere quello che il filtro apre (vedi `FlowValidationStore.issueCounts`). E' anche il
|
|
7141
|
+
* motivo per cui **non** si leggono piu' da `issueCounts` quando gli altri filtri sono attivi:
|
|
7142
|
+
* «Errori 47» accanto a una casella che ne lascia passare tre e' un numero che promette
|
|
7143
|
+
* quarantaquattro righe che non compariranno.
|
|
6845
7144
|
*/
|
|
6846
7145
|
private readonly counts;
|
|
6847
7146
|
readonly errorCount: _angular_core.Signal<number>;
|
|
6848
7147
|
readonly warningCount: _angular_core.Signal<number>;
|
|
6849
7148
|
readonly infoCount: _angular_core.Signal<number>;
|
|
7149
|
+
/** Quante righe aprirebbe «Tutti»: il totale **dopo** testo e codici. */
|
|
6850
7150
|
readonly totalCount: _angular_core.Signal<number>;
|
|
7151
|
+
/**
|
|
7152
|
+
* Il totale assoluto, che non guarda nessun filtro. Serve a due cose diverse dai chip: dire
|
|
7153
|
+
* che il flow **non** e' senza rilievi quando i filtri li nascondono tutti, e tenere in fondo
|
|
7154
|
+
* la nota sugli errori che bloccano l'attivazione — filtrando per «Note» quella nota spariva
|
|
7155
|
+
* pur essendoci quarantasette errori, cioe' proprio quando serve.
|
|
7156
|
+
*/
|
|
7157
|
+
readonly absoluteCount: _angular_core.Signal<number>;
|
|
7158
|
+
readonly hasErrors: _angular_core.Signal<boolean>;
|
|
6851
7159
|
readonly issues: _angular_core.Signal<FlowValidationIssue[]>;
|
|
7160
|
+
/**
|
|
7161
|
+
* I codici della tendina: quelli **presenti** dopo gravita' e testo, col loro conteggio.
|
|
7162
|
+
*
|
|
7163
|
+
* Piu' quelli **selezionati** anche se non compaiono piu', a zero: una selezione che sparisce
|
|
7164
|
+
* dall'elenco quando si cambia gravita' e' una selezione che continua a filtrare senza che si
|
|
7165
|
+
* possa vedere ne' togliere. Ordinati per frequenza e poi per nome, perche' su sessanta righe
|
|
7166
|
+
* il codice che conta e' quello che si ripete.
|
|
7167
|
+
*/
|
|
7168
|
+
readonly codeFacets: _angular_core.Signal<{
|
|
7169
|
+
code: string;
|
|
7170
|
+
count: number;
|
|
7171
|
+
selected: boolean;
|
|
7172
|
+
}[]>;
|
|
7173
|
+
readonly selectedCodeCount: _angular_core.Signal<number>;
|
|
7174
|
+
/** `true` se c'e' un filtro **oltre** la gravita': decide il messaggio dell'elenco vuoto. */
|
|
7175
|
+
readonly hasTextOrCodeFilter: _angular_core.Signal<boolean>;
|
|
7176
|
+
readonly hasAnyFilter: _angular_core.Signal<boolean>;
|
|
7177
|
+
onQuery(value: string): void;
|
|
7178
|
+
toggleCodeMenu(): void;
|
|
7179
|
+
/** La selezione e' un insieme nuovo a ogni gesto: un `Set` mutato non fa scattare il signal. */
|
|
7180
|
+
toggleCode(code: string): void;
|
|
7181
|
+
clearCodes(): void;
|
|
7182
|
+
resetFilters(): void;
|
|
7183
|
+
/** Nessun rilievo **nel flow**: e' un'altra cosa dal «nessuno che passi i filtri». */
|
|
6852
7184
|
readonly isClean: _angular_core.Signal<boolean>;
|
|
6853
|
-
/** Ci sono rilievi, ma
|
|
7185
|
+
/** Ci sono rilievi, ma i filtri attivi non ne mostrano nessuno: va detto, non lasciato in bianco. */
|
|
6854
7186
|
readonly isFilteredEmpty: _angular_core.Signal<boolean>;
|
|
6855
7187
|
readonly activeFilterLabel: _angular_core.Signal<string>;
|
|
6856
7188
|
/** Un secondo clic sul filtro attivo torna a «Tutti»: e' l'unico modo per uscirne col mouse dov'e'. */
|
|
@@ -7070,7 +7402,7 @@ declare class FlowBuilderComponent {
|
|
|
7070
7402
|
* troppo. `panel` tiene il form nel pannello laterale, che e' piu' comodo quando si
|
|
7071
7403
|
* modificano molti elementi di fila perche' non c'e' niente da aprire e chiudere.
|
|
7072
7404
|
*/
|
|
7073
|
-
readonly inspectorMode: _angular_core.InputSignal<"
|
|
7405
|
+
readonly inspectorMode: _angular_core.InputSignal<"panel" | "dialog">;
|
|
7074
7406
|
/**
|
|
7075
7407
|
* L'esito dell'ultima esecuzione, se l'ospite ne ha uno da mostrare.
|
|
7076
7408
|
*
|
|
@@ -7472,5 +7804,5 @@ declare class SelectValueDirective implements AfterViewChecked {
|
|
|
7472
7804
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueDirective, "select[fbValue]", never, { "fbValue": { "alias": "fbValue"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7473
7805
|
}
|
|
7474
7806
|
|
|
7475
|
-
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, MergeTextEditorComponent, 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 };
|
|
7476
|
-
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 };
|
|
7807
|
+
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, MergeTextEditorComponent, 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, repeatedFieldNames, repeatingSectionOf, resolvePath, resourceFieldsOf, rewriteReferences, sameMembers, samePath, screenActionNames, screenFieldNames, severityBucket, slugifyFlowName, sourceConnectorId, stageStepNames, stageStepOutputReferenced, stepsOf, targetConnectorId, typeOfCollection, uniqueFlowName, valuedFieldOf, valuedFieldsOf, variantFieldOf, variantOf, variantPresetOf };
|
|
7808
|
+
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, FlowScreenFieldTypeResolver, 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 };
|