@esfaenza/dpe-builder 20.3.6 → 20.3.8
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/fesm2022/esfaenza-dpe-builder.mjs +576 -232
- package/fesm2022/esfaenza-dpe-builder.mjs.map +1 -1
- package/index.d.ts +152 -19
- package/package.json +1 -1
- package/styles/dpe-builder.css +432 -59
package/index.d.ts
CHANGED
|
@@ -1470,7 +1470,20 @@ declare function dpeWriteNodePosition<TNode extends DpeAnyNode>(node: TNode, pos
|
|
|
1470
1470
|
/** Vero quando **tutti** i nodi hanno una posizione: se no, il canvas rifa' il layout. */
|
|
1471
1471
|
declare function dpeHasCompleteLayout(nodes: readonly DpeAnyNode[]): boolean;
|
|
1472
1472
|
|
|
1473
|
-
/**
|
|
1473
|
+
/**
|
|
1474
|
+
* Una definizione vuota ma **leggibile**: `formatVersion` e `dialect` non sono opzionali.
|
|
1475
|
+
*
|
|
1476
|
+
* **Serve a `createDefinition`, non a montare l'editor.** E' il documento minimo che si manda al
|
|
1477
|
+
* backend per far nascere una definizione nel catalogo (ADR 0019), e da li' in poi quella che si
|
|
1478
|
+
* edita e' la definizione **caricata con `load(nome)`**.
|
|
1479
|
+
*
|
|
1480
|
+
* Montare l'editor su un documento costruito qui, o su uno costruito a mano senza nome, produce due
|
|
1481
|
+
* sintomi che sembrano scollegati e sono la stessa cosa: la validazione risponde
|
|
1482
|
+
* `DPE_MODEL_REQUIRED_MISSING` su `name` e `label` — per il backend una stringa vuota e un campo
|
|
1483
|
+
* assente sono lo stesso caso — e il salvataggio non ha una chiave per la rotta
|
|
1484
|
+
* `PUT /definitions/{name}`. L'editor lo dichiara in cima con un banner e disabilita «Salva», ma la
|
|
1485
|
+
* correzione e' a monte: creare dal catalogo e caricare.
|
|
1486
|
+
*/
|
|
1474
1487
|
declare function dpeEmptyDefinition(name: string, label: string, dialect: SqlDialectKind): DpeDefinition;
|
|
1475
1488
|
declare class DpeDocumentStore {
|
|
1476
1489
|
private readonly _definition;
|
|
@@ -1483,6 +1496,16 @@ declare class DpeDocumentStore {
|
|
|
1483
1496
|
* sulla selezione.
|
|
1484
1497
|
*/
|
|
1485
1498
|
private readonly _selectedNodeNames;
|
|
1499
|
+
/**
|
|
1500
|
+
* La dialog di modifica del nodo e' aperta. **Un booleano**, non un secondo nome di nodo: il
|
|
1501
|
+
* nodo su cui si sta agendo resta `selectedNodeName()`, e due registrazioni dello stesso fatto
|
|
1502
|
+
* sono esattamente cio' che questo store dichiara di non voler avere (ci ha gia' rimesso una
|
|
1503
|
+
* volta con la doppia selezione di @foblex/flow).
|
|
1504
|
+
*
|
|
1505
|
+
* Non entra nella cronologia: aprire una finestra non e' una modifica del documento, e un undo
|
|
1506
|
+
* che aprisse o chiudesse finestre sarebbe un comando che fa due cose.
|
|
1507
|
+
*/
|
|
1508
|
+
private readonly _isNodeEditorOpen;
|
|
1486
1509
|
private readonly _past;
|
|
1487
1510
|
private readonly _future;
|
|
1488
1511
|
/**
|
|
@@ -1493,8 +1516,18 @@ declare class DpeDocumentStore {
|
|
|
1493
1516
|
* — e tornare a "no" quando si annulla fino allo stato di partenza.
|
|
1494
1517
|
*/
|
|
1495
1518
|
private readonly _savedSnapshot;
|
|
1519
|
+
/**
|
|
1520
|
+
* Vero da quando un documento e' stato **caricato**. Distingue il segnaposto del costruttore da
|
|
1521
|
+
* una definizione vera, e serve a chi non deve lavorare sul segnaposto: la validazione non lo
|
|
1522
|
+
* manda al backend (`DpeValidationService`), perche' la risposta sarebbero i quattro rilievi di
|
|
1523
|
+
* una definizione vuota — `name`, `label`, `dataSources` e nessun writeback — che descrivono il
|
|
1524
|
+
* segnaposto e non il lavoro dell'utente, e che dall'editor nessuno puo' correggere.
|
|
1525
|
+
*/
|
|
1526
|
+
private readonly _hasDocument;
|
|
1496
1527
|
/** La definizione corrente: unica fonte di verita' per canvas, ispettori e pannelli. */
|
|
1497
1528
|
readonly definition: _angular_core.Signal<DpeDefinition>;
|
|
1529
|
+
/** Vero da quando `load` ha portato un documento: prima c'e' solo il segnaposto. */
|
|
1530
|
+
readonly hasDocument: _angular_core.Signal<boolean>;
|
|
1498
1531
|
/** Nodi e archi derivati dalla definizione. Ricalcolati solo quando la definizione cambia. */
|
|
1499
1532
|
readonly graph: _angular_core.Signal<DpeGraph>;
|
|
1500
1533
|
readonly selectedNodeNames: _angular_core.Signal<readonly string[]>;
|
|
@@ -1506,6 +1539,11 @@ declare class DpeDocumentStore {
|
|
|
1506
1539
|
*/
|
|
1507
1540
|
readonly selectedNodeName: _angular_core.Signal<string | undefined>;
|
|
1508
1541
|
readonly selectedNode: _angular_core.Signal<DpeAnyNode | undefined>;
|
|
1542
|
+
/**
|
|
1543
|
+
* La dialog di modifica del nodo e' aperta. Non e' una seconda identita': il nodo e'
|
|
1544
|
+
* `selectedNodeName()`.
|
|
1545
|
+
*/
|
|
1546
|
+
readonly isNodeEditorOpen: _angular_core.Signal<boolean>;
|
|
1509
1547
|
readonly validateResult: _angular_core.Signal<DpeValidateResult | undefined>;
|
|
1510
1548
|
readonly compileResult: _angular_core.Signal<DpeCompileResult | undefined>;
|
|
1511
1549
|
readonly diagnostics: _angular_core.Signal<readonly Diagnostic[]>;
|
|
@@ -1564,6 +1602,19 @@ declare class DpeDocumentStore {
|
|
|
1564
1602
|
select(nodeName: string | undefined): void;
|
|
1565
1603
|
/** Selezione multipla (riquadro, `Ctrl+A`): la lista che arriva dal gesto, senza duplicati. */
|
|
1566
1604
|
selectMany(nodeNames: readonly string[]): void;
|
|
1605
|
+
/**
|
|
1606
|
+
* Seleziona **solo** quel nodo e apre la dialog di modifica.
|
|
1607
|
+
*
|
|
1608
|
+
* La selezione **collassa a un nodo solo**: il gesto «apri questo» dichiara su chi si sta
|
|
1609
|
+
* agendo, e la regola gia' in vigore e' che con piu' di un nodo selezionato non si mostrano i
|
|
1610
|
+
* campi di uno.
|
|
1611
|
+
*
|
|
1612
|
+
* Le due scritture sono **esplicite** e non conseguenza di un `effect`: un effect che scrive
|
|
1613
|
+
* signal renderebbe l'ordine di questi due fatti dipendente dalla schedulazione, cioe' non
|
|
1614
|
+
* testabile.
|
|
1615
|
+
*/
|
|
1616
|
+
openNodeEditor(nodeName: string): void;
|
|
1617
|
+
closeNodeEditor(): void;
|
|
1567
1618
|
/**
|
|
1568
1619
|
* Proprieta' della radice: etichetta, descrizione, dialetto, parametri.
|
|
1569
1620
|
*
|
|
@@ -1963,6 +2014,8 @@ declare class DpeBuilderComponent {
|
|
|
1963
2014
|
protected readonly documentProblem: Signal<string | undefined>;
|
|
1964
2015
|
protected readonly canSave: Signal<boolean>;
|
|
1965
2016
|
protected readonly nodeCount: Signal<number>;
|
|
2017
|
+
/** I nomi selezionati: la striscia contestuale compare da due in su. */
|
|
2018
|
+
protected readonly selectedNames: Signal<readonly string[]>;
|
|
1966
2019
|
constructor();
|
|
1967
2020
|
/** Comando «Riordina»: e' un'azione dell'utente, quindi annullabile e "modifica". */
|
|
1968
2021
|
protected runAutoLayout(): void;
|
|
@@ -1977,6 +2030,21 @@ declare class DpeBuilderComponent {
|
|
|
1977
2030
|
x: number;
|
|
1978
2031
|
y: number;
|
|
1979
2032
|
}): void;
|
|
2033
|
+
/**
|
|
2034
|
+
* Doppio clic sul nodo, o bottone `✎` sulla card: i due gesti che il canvas emetteva su
|
|
2035
|
+
* `nodeOpened` e che **nessuno ascoltava** — il bottone non produceva nemmeno la selezione.
|
|
2036
|
+
*
|
|
2037
|
+
* Due cose, in quest'ordine. Si apre la dialog (che collassa la selezione a quel nodo) e si
|
|
2038
|
+
* **inquadra** il nodo: sotto il velo non si vede, ma alla chiusura si torna guardando il nodo su
|
|
2039
|
+
* cui si e' lavorato invece del punto dov'era il grafo prima.
|
|
2040
|
+
*/
|
|
2041
|
+
protected onNodeOpened(name: string): void;
|
|
2042
|
+
/**
|
|
2043
|
+
* Elimina i nodi selezionati (striscia della selezione multipla). Si itera su una **copia** dei
|
|
2044
|
+
* nomi: `removeNode` pota la selezione a ogni giro, e scorrere il signal mentre lo si svuota
|
|
2045
|
+
* salterebbe la meta' dei nodi.
|
|
2046
|
+
*/
|
|
2047
|
+
protected removeSelectedNodes(): void;
|
|
1980
2048
|
/** Clic sulla palette (via tastiera compresa): il nodo nasce in un punto libero e prevedibile. */
|
|
1981
2049
|
protected onNodeRequested(collection: DpeNodeCollectionName): void;
|
|
1982
2050
|
/**
|
|
@@ -2295,29 +2363,70 @@ declare class DpeNodePaletteComponent {
|
|
|
2295
2363
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DpeNodePaletteComponent, "dpe-node-palette", never, {}, { "nodeRequested": "nodeRequested"; }, never, never, true, never>;
|
|
2296
2364
|
}
|
|
2297
2365
|
|
|
2298
|
-
declare class
|
|
2299
|
-
|
|
2366
|
+
declare class DpeNodeDialogComponent {
|
|
2367
|
+
protected readonly store: DpeDocumentStore;
|
|
2368
|
+
private readonly dialogRef;
|
|
2369
|
+
protected readonly labelId: string;
|
|
2370
|
+
/**
|
|
2371
|
+
* Il nodo corrente, **riderivato** dallo store come fa il dispatcher degli ispettori. Non si
|
|
2372
|
+
* conserva il nome: se il nodo viene rinominato, `selectedNodeName()` porta gia' il nome nuovo.
|
|
2373
|
+
*/
|
|
2374
|
+
protected readonly located: _angular_core.Signal<_esfaenza_dpe_builder.DpeLocatedNode<keyof _esfaenza_dpe_builder.DpeNodeCollectionMap> | undefined>;
|
|
2375
|
+
protected readonly categoryLabel: _angular_core.Signal<string>;
|
|
2376
|
+
protected readonly familyClass: _angular_core.Signal<string>;
|
|
2300
2377
|
/**
|
|
2301
|
-
*
|
|
2302
|
-
* non
|
|
2378
|
+
* Vero quando il fondo ha ricevuto il `pointerdown` di questo clic. Vedi `onDialogClick`: la
|
|
2379
|
+
* verifica di coppia non e' prudenza, e' la correzione di un difetto reale.
|
|
2303
2380
|
*/
|
|
2304
|
-
|
|
2305
|
-
|
|
2381
|
+
private pointerDownWasOnBackdrop;
|
|
2382
|
+
constructor();
|
|
2383
|
+
/**
|
|
2384
|
+
* **Esc.** Il browser chiede di chiudere e la finestra e' ancora aperta: la richiesta riguarda
|
|
2385
|
+
* per definizione la sessione corrente, quindi si chiude e non serve nessuna verifica.
|
|
2386
|
+
*
|
|
2387
|
+
* Perche' `cancel` e' legato, contro cio' che sembra sufficiente: in Chrome 151 l'evento `close`
|
|
2388
|
+
* **arriva molto in ritardo** (vedi `onClose`), quindi con il solo `close` lo store restava
|
|
2389
|
+
* «aperta» dopo Esc — e il sintomo era che **riaprire lo stesso nodo non faceva niente**: il
|
|
2390
|
+
* signal non cambiava, l'effect non rieseguiva, `showModal()` non veniva mai chiamato. Sul
|
|
2391
|
+
* bottone del piede non si vedeva, perche' quella via passa dallo store.
|
|
2392
|
+
*
|
|
2393
|
+
* `cancel` sarebbe annullabile: non si annulla. La chiusura dell'elemento arriva comunque dal
|
|
2394
|
+
* browser, e la guardia su `el.open` nell'effect regge in entrambi gli ordini.
|
|
2395
|
+
*/
|
|
2396
|
+
protected onCancel(): void;
|
|
2397
|
+
/**
|
|
2398
|
+
* **L'elemento si e' chiuso.** La guardia non e' prudenza: Chrome accoda `close` come task
|
|
2399
|
+
* dell'elemento e lo consegna anche **dopo** una riapertura — misurato nella demo, la traccia
|
|
2400
|
+
* degli eventi mostra `close` con `open: true` subito dopo un `showModal()`. Senza la guardia
|
|
2401
|
+
* quel `close` in ritardo chiudeva la finestra appena aperta, e il sintomo era una dialog che
|
|
2402
|
+
* «non si apre a volte»: sparisce da sola dopo essere comparsa, e con la finestra aperta si
|
|
2403
|
+
* riapriva solo alla prima modifica del documento (l'unica cosa che faceva rieseguire l'effect).
|
|
2404
|
+
*
|
|
2405
|
+
* Se l'elemento risulta **aperto**, questo `close` riguarda una sessione precedente e si ignora.
|
|
2406
|
+
* Se risulta chiuso, la notifica e' di questa sessione — e allineare qui lo store e' anche cio'
|
|
2407
|
+
* che ripara una divergenza, se il browser chiudesse la finestra per vie sue.
|
|
2408
|
+
*/
|
|
2409
|
+
protected onClose(): void;
|
|
2410
|
+
protected onPointerDown(event: Event): void;
|
|
2411
|
+
/**
|
|
2412
|
+
* Chiusura al clic sul fondo, con la **verifica di coppia** e non con il solo controllo sul
|
|
2413
|
+
* click. I clic sul velo sono recapitati all'elemento `<dialog>` stesso — ma anche un
|
|
2414
|
+
* trascinamento di selezione del testo che **inizia** dentro una casella e **finisce** fuori
|
|
2415
|
+
* produce un `click` con `target` uguale alla dialog. Con la sola verifica sul click, selezionare
|
|
2416
|
+
* del testo chiuderebbe la finestra.
|
|
2417
|
+
*/
|
|
2418
|
+
protected onDialogClick(event: Event): void;
|
|
2419
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DpeNodeDialogComponent, never>;
|
|
2420
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DpeNodeDialogComponent, "dpe-node-dialog", never, {}, {}, never, never, true, never>;
|
|
2421
|
+
}
|
|
2422
|
+
|
|
2423
|
+
declare class DpeNodeInspectorComponent {
|
|
2424
|
+
private readonly store;
|
|
2306
2425
|
readonly located: _angular_core.Signal<_esfaenza_dpe_builder.DpeLocatedNode<keyof _esfaenza_dpe_builder.DpeNodeCollectionMap> | undefined>;
|
|
2307
2426
|
readonly nameDraft: _angular_core.WritableSignal<string>;
|
|
2308
|
-
readonly categoryLabel: _angular_core.Signal<string>;
|
|
2309
|
-
/** La classe di famiglia dell'icona: la stessa funzione che usano palette e canvas. */
|
|
2310
|
-
readonly familyClass: _angular_core.Signal<string>;
|
|
2311
|
-
readonly columns: _angular_core.Signal<_esfaenza_dpe_builder.DpeColumnInfo[]>;
|
|
2312
|
-
readonly diagnostics: _angular_core.Signal<_esfaenza_dpe_builder.Diagnostic[]>;
|
|
2313
2427
|
readonly referenceCount: _angular_core.Signal<number>;
|
|
2314
2428
|
readonly canRename: _angular_core.Signal<boolean>;
|
|
2315
2429
|
constructor();
|
|
2316
|
-
/**
|
|
2317
|
-
* Elimina i nodi selezionati. Si itera su una **copia** dei nomi: `removeNode` pota la selezione
|
|
2318
|
-
* a ogni giro, e scorrere il signal mentre lo si svuota salterebbe la meta' dei nodi.
|
|
2319
|
-
*/
|
|
2320
|
-
protected removeSelected(): void;
|
|
2321
2430
|
protected rename(currentName: string): void;
|
|
2322
2431
|
protected setCommon(field: 'label' | 'description', value: string): void;
|
|
2323
2432
|
protected valueOf(event: Event): string;
|
|
@@ -2333,7 +2442,31 @@ declare class DpeNodeInspectorComponent {
|
|
|
2333
2442
|
protected asWriteback(node: unknown): WritebackNode;
|
|
2334
2443
|
protected asAtomic(node: unknown): AtomicWritebackNode;
|
|
2335
2444
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DpeNodeInspectorComponent, never>;
|
|
2336
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DpeNodeInspectorComponent, "dpe-node-inspector", never, {}, {
|
|
2445
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DpeNodeInspectorComponent, "dpe-node-inspector", never, {}, {}, never, never, true, never>;
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
declare class DpeNodeFactsComponent {
|
|
2449
|
+
private readonly store;
|
|
2450
|
+
/**
|
|
2451
|
+
* Il nodo di cui si mostrano i fatti. Arriva per input e non dalla selezione: chi monta questo
|
|
2452
|
+
* componente sa quale nodo sta guardando, e leggere qui la selezione lo farebbe cambiare
|
|
2453
|
+
* bersaglio sotto la dialog che lo contiene.
|
|
2454
|
+
*/
|
|
2455
|
+
readonly nodeName: _angular_core.InputSignal<string>;
|
|
2456
|
+
/**
|
|
2457
|
+
* Il nodo e' valido ma **non compilabile** (**I10**). Due rami, ed e' la **stessa espressione**
|
|
2458
|
+
* che `DpeNodeInspectorBase.isNotCompilable` usa gia': il codice diagnostico
|
|
2459
|
+
* `DPE_NODE_NOT_COMPILABLE` raggruppato per nodo, **oppure** lo schema che dichiara
|
|
2460
|
+
* `isCompilable: false`. Servono entrambi perche' il backend puo' dirlo per due vie — un rilievo
|
|
2461
|
+
* sul nodo, o la riga di schema — e riconoscerne una sola vorrebbe dire tacere nell'altro caso.
|
|
2462
|
+
*
|
|
2463
|
+
* Qui non si giudica niente: la decisione e' del compilatore, questa e' la sua risposta.
|
|
2464
|
+
*/
|
|
2465
|
+
readonly isNotCompilable: _angular_core.Signal<boolean>;
|
|
2466
|
+
readonly columns: _angular_core.Signal<_esfaenza_dpe_builder.DpeColumnInfo[]>;
|
|
2467
|
+
readonly diagnostics: _angular_core.Signal<_esfaenza_dpe_builder.Diagnostic[]>;
|
|
2468
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DpeNodeFactsComponent, never>;
|
|
2469
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DpeNodeFactsComponent, "dpe-node-facts", never, { "nodeName": { "alias": "nodeName"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2337
2470
|
}
|
|
2338
2471
|
|
|
2339
2472
|
declare abstract class DpeNodeInspectorBase<TNode extends DpeAnyNode = DpeAnyNode> {
|
|
@@ -2503,5 +2636,5 @@ declare class DpeNodeIconComponent {
|
|
|
2503
2636
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DpeNodeIconComponent, "dpe-node-icon", never, { "collection": { "alias": "collection"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2504
2637
|
}
|
|
2505
2638
|
|
|
2506
|
-
export { DPE_API_ERROR_FALLBACK_MESSAGE, DPE_BUILDER_HTTP_CONFIG, DPE_DIALECT_LABELS, DPE_LAYOUT_KEY, DPE_NODE_CATEGORIES, DPE_NODE_COLLECTIONS, DPE_NODE_HEIGHT, DPE_NODE_ICON_PATHS, DPE_NODE_NOT_COMPILABLE, DPE_SOURCE_SLOTS, DpeApiError, DpeBuilderApi, DpeBuilderComponent, DpeCanvasComponent, DpeCatalogComponent, DpeCatalogStore, DpeColumnTypeEditorComponent, DpeDiagnosticsPanelComponent, DpeDocumentStore, DpeExpressionEditorComponent, DpeLayoutService, DpeMetadataStore, DpeNodeIconComponent, DpeNodeInspectorBase, DpeNodeInspectorComponent, DpeNodePaletteComponent, DpeSchemaPanelComponent, DpeSelectValueDirective, DpeSqlPreviewComponent, DpeValidationService, HttpDpeBuilderApi, diagnosticPathToString, dpeAllNodes, dpeBuildGraph, dpeCountReferences, dpeCreateCommandAvailability, dpeCreateNode, dpeDefinitionLevelDiagnostics, dpeDiagnosticField, dpeDiagnosticLocationLabel, dpeDiagnosticNodeName, dpeEdgeId, dpeEmptyDefinition, dpeFindNode, dpeGroupDiagnosticsByNode, dpeHasCompleteLayout, dpeInputPortId, dpeInputPorts, dpeIsDialectDiagnostic, dpeIsNotCompilable, dpeIsPrimitiveAvailable, dpeIsRectFullyVisible, dpeKnownNodeNames, dpeNodeCategory, dpeNodeIconFamily, dpeNodeIconFamilyClass, dpeNodeIconPaths, dpeNodeId, dpeNodeSourceReferences, dpeNodeSubtitle, dpeNodeWidth, dpeNodeWidthClass, dpeOutputPortId, dpeParseInputPortId, dpeParseNodeId, dpeParseOutputPortId, dpeProposeNodeName, dpeProposeWritebackSequence, dpeReadCapabilities, dpeReadNodePosition, dpeRenameNode, dpeWorstSeverity, dpeWriteNodePosition, dpeWriteSourceReference, provideDpeBuilderHttpApi };
|
|
2639
|
+
export { DPE_API_ERROR_FALLBACK_MESSAGE, DPE_BUILDER_HTTP_CONFIG, DPE_DIALECT_LABELS, DPE_LAYOUT_KEY, DPE_NODE_CATEGORIES, DPE_NODE_COLLECTIONS, DPE_NODE_HEIGHT, DPE_NODE_ICON_PATHS, DPE_NODE_NOT_COMPILABLE, DPE_SOURCE_SLOTS, DpeApiError, DpeBuilderApi, DpeBuilderComponent, DpeCanvasComponent, DpeCatalogComponent, DpeCatalogStore, DpeColumnTypeEditorComponent, DpeDiagnosticsPanelComponent, DpeDocumentStore, DpeExpressionEditorComponent, DpeLayoutService, DpeMetadataStore, DpeNodeDialogComponent, DpeNodeFactsComponent, DpeNodeIconComponent, DpeNodeInspectorBase, DpeNodeInspectorComponent, DpeNodePaletteComponent, DpeSchemaPanelComponent, DpeSelectValueDirective, DpeSqlPreviewComponent, DpeValidationService, HttpDpeBuilderApi, diagnosticPathToString, dpeAllNodes, dpeBuildGraph, dpeCountReferences, dpeCreateCommandAvailability, dpeCreateNode, dpeDefinitionLevelDiagnostics, dpeDiagnosticField, dpeDiagnosticLocationLabel, dpeDiagnosticNodeName, dpeEdgeId, dpeEmptyDefinition, dpeFindNode, dpeGroupDiagnosticsByNode, dpeHasCompleteLayout, dpeInputPortId, dpeInputPorts, dpeIsDialectDiagnostic, dpeIsNotCompilable, dpeIsPrimitiveAvailable, dpeIsRectFullyVisible, dpeKnownNodeNames, dpeNodeCategory, dpeNodeIconFamily, dpeNodeIconFamilyClass, dpeNodeIconPaths, dpeNodeId, dpeNodeSourceReferences, dpeNodeSubtitle, dpeNodeWidth, dpeNodeWidthClass, dpeOutputPortId, dpeParseInputPortId, dpeParseNodeId, dpeParseOutputPortId, dpeProposeNodeName, dpeProposeWritebackSequence, dpeReadCapabilities, dpeReadNodePosition, dpeRenameNode, dpeWorstSeverity, dpeWriteNodePosition, dpeWriteSourceReference, provideDpeBuilderHttpApi };
|
|
2507
2640
|
export type { AggregateField, AggregateFunction, AggregateNode, AppendNode, AtomicWritebackNode, AtomicWritebackRelationship, ColumnType, CsvArtifactOptions, CsvDelimiter, CsvSourceOptions, CustomNode, CustomNodeParameter, DataSourceField, DataSourceKind, DataSourceNode, DatePart, DeclaredField, DefinitionRunMode, DefinitionStatus, Diagnostic, DiagnosticPath, DiagnosticPathSegment, DiagnosticSeverity, DpeAnyNode, DpeApiErrorCategory, DpeBuilderHttpConfig, DpeCanvasEdge, DpeCanvasNode, DpeCanvasPort, DpeCapabilities, DpeColumnInfo, DpeCommandAvailability, DpeCompileResult, DpeCompiledWriteback, DpeDefinition, DpeDefinitionSummary, DpeEnvironment, DpeExtensible, DpeExtensionData, DpeFieldMappingInfo, DpeGraph, DpeGraphEdge, DpeGraphNode, DpeInputPort, DpeLayoutDirection, DpeLayoutEdgeInput, DpeLayoutNodeInput, DpeLayoutOptions, DpeLayoutPosition, DpeLocatedNode, DpeNode, DpeNodeCategory, DpeNodeCollectionMap, DpeNodeCollectionName, DpeNodeDiagnostics, DpeNodeIconFamily, DpeNodePaletteGroup, DpeNodePosition, DpeNodeSchemaInfo, DpeOptionalPrimitive, DpeParameter, DpeParameterValue, DpeRect, DpeSourceReference, DpeSourceSlot, DpeTableState, DpeValidateResult, DpeWritebackStep, ExpressionField, FieldDescriptor, FieldRelationship, FilterCriterion, FilterNode, FilterOperator, ForecastAccuracy, ForecastAggregationField, ForecastGroupField, ForecastModelType, ForecastNode, ForecastPeriodType, HierarchyPathNode, JoinKey, JoinKind, JoinNode, JoinResultField, JsonArtifactOptions, LogicalType, OrderByField, ParameterRole, SortDirection, SqlDialectKind, SqlParameterValue, SqlStatement, TableDescriptor, TableLookupOutcome, TableLookupResult, TableSummary, TransformKind, TransformNode, WritebackFieldMapping, WritebackFieldRole, WritebackNode, WritebackOperation, WritebackTargetKind };
|