@esfaenza/es-diagrams 16.2.26 → 17.3.0
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/esm2022/esfaenza-es-diagrams.mjs +4 -4
- package/esm2022/lib/components/es-diagram.component.mjs +537 -537
- package/esm2022/lib/esdiagram.module.mjs +31 -31
- package/esm2022/lib/extensions/ReactiveExtensions.mjs +35 -35
- package/esm2022/lib/extensions/ResizeSensor.mjs +71 -71
- package/esm2022/lib/models/EsDiagramModuleConfig.mjs +5 -5
- package/esm2022/lib/models/component/contextmenu/ContextMenuCommand.mjs +5 -5
- package/esm2022/lib/models/component/contextmenu/ContextMenuOptions.mjs +6 -6
- package/esm2022/lib/models/component/grouping/ExpandCollapseOptions.mjs +5 -5
- package/esm2022/lib/models/component/nodes/NodeHTMLTemplate.mjs +5 -5
- package/esm2022/lib/models/component/nodes/NodeTemplate.mjs +5 -5
- package/esm2022/lib/models/component/nodes/ZoomLevelBasedTemplate.mjs +5 -5
- package/esm2022/lib/models/layouts/BreadthFirstLayoutOptionsImpl.mjs +34 -34
- package/esm2022/lib/models/layouts/CircleLayoutOptionsImpl.mjs +26 -26
- package/esm2022/lib/models/layouts/ConcentricLayoutOptionsImpl.mjs +63 -63
- package/esm2022/lib/models/layouts/CoseLayoutOptionsImpl.mjs +82 -82
- package/esm2022/lib/models/layouts/DagreLayoutOptionsImpl.mjs +51 -51
- package/esm2022/lib/models/layouts/GridLayoutOptionsImpl.mjs +37 -37
- package/esm2022/lib/models/layouts/NullLayoutOptionsImpl.mjs +14 -14
- package/esm2022/lib/models/layouts/PresetLayoutOptionsImpl.mjs +23 -23
- package/esm2022/lib/models/layouts/RandomLayoutOptionsImpl.mjs +35 -35
- package/esm2022/lib/models/layouts/base/AnimateLayoutOptionsImpl.mjs +41 -41
- package/esm2022/lib/models/layouts/base/BaseLayoutOptionsImpl.mjs +17 -17
- package/esm2022/lib/models/layouts/base/ShapedLayoutOptionsImpl.mjs +47 -47
- package/esm2022/lib/services/es-diagram.dispatcher.mjs +89 -89
- package/esm2022/lib/services/es-diagram.service.mjs +106 -106
- package/esm2022/lib/tokens.mjs +5 -5
- package/esm2022/public-api.mjs +23 -23
- package/fesm2022/esfaenza-es-diagrams.mjs +1320 -1320
- package/fesm2022/esfaenza-es-diagrams.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/es-diagram.component.d.ts +305 -305
- package/lib/esdiagram.module.d.ts +12 -12
- package/lib/extensions/ReactiveExtensions.d.ts +20 -20
- package/lib/extensions/ResizeSensor.d.ts +43 -43
- package/lib/models/EsDiagramModuleConfig.d.ts +9 -9
- package/lib/models/component/contextmenu/ContextMenuCommand.d.ts +27 -27
- package/lib/models/component/contextmenu/ContextMenuOptions.d.ts +79 -79
- package/lib/models/component/grouping/ExpandCollapseOptions.d.ts +22 -22
- package/lib/models/component/nodes/NodeHTMLTemplate.d.ts +14 -14
- package/lib/models/component/nodes/NodeTemplate.d.ts +13 -13
- package/lib/models/component/nodes/ZoomLevelBasedTemplate.d.ts +14 -14
- package/lib/models/layouts/BreadthFirstLayoutOptionsImpl.d.ts +40 -40
- package/lib/models/layouts/CircleLayoutOptionsImpl.d.ts +28 -28
- package/lib/models/layouts/ConcentricLayoutOptionsImpl.d.ts +74 -74
- package/lib/models/layouts/CoseLayoutOptionsImpl.d.ts +80 -80
- package/lib/models/layouts/DagreLayoutOptionsImpl.d.ts +48 -48
- package/lib/models/layouts/GridLayoutOptionsImpl.d.ts +39 -39
- package/lib/models/layouts/NullLayoutOptionsImpl.d.ts +12 -12
- package/lib/models/layouts/PresetLayoutOptionsImpl.d.ts +37 -37
- package/lib/models/layouts/RandomLayoutOptionsImpl.d.ts +33 -33
- package/lib/models/layouts/base/AnimateLayoutOptionsImpl.d.ts +40 -40
- package/lib/models/layouts/base/BaseLayoutOptionsImpl.d.ts +15 -15
- package/lib/models/layouts/base/ShapedLayoutOptionsImpl.d.ts +46 -46
- package/lib/services/es-diagram.dispatcher.d.ts +44 -44
- package/lib/services/es-diagram.service.d.ts +51 -51
- package/lib/tokens.d.ts +5 -5
- package/package.json +3 -3
- package/public-api.d.ts +20 -20
|
@@ -1,305 +1,305 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { ContextMenuOptions } from '../models/component/contextmenu/ContextMenuOptions';
|
|
3
|
-
import { ExpandCollapseOptions } from '../models/component/grouping/ExpandCollapseOptions';
|
|
4
|
-
import { NodeHTMLTemplate } from '../models/component/nodes/NodeHTMLTemplate';
|
|
5
|
-
import { BreadthFirstLayoutOptionsImpl } from '../models/layouts/BreadthFirstLayoutOptionsImpl';
|
|
6
|
-
import { CircleLayoutOptionsImpl } from '../models/layouts/CircleLayoutOptionsImpl';
|
|
7
|
-
import { ConcentricLayoutOptionsImpl } from '../models/layouts/ConcentricLayoutOptionsImpl';
|
|
8
|
-
import { CoseLayoutOptionsImpl } from '../models/layouts/CoseLayoutOptionsImpl';
|
|
9
|
-
import { DagreLayoutOptionsImpl } from '../models/layouts/DagreLayoutOptionsImpl';
|
|
10
|
-
import { GridLayoutOptionsImpl } from '../models/layouts/GridLayoutOptionsImpl';
|
|
11
|
-
import { NullLayoutOptionsImpl } from '../models/layouts/NullLayoutOptionsImpl';
|
|
12
|
-
import { PresetLayoutOptionsImpl } from '../models/layouts/PresetLayoutOptionsImpl';
|
|
13
|
-
import { RandomLayoutOptionsImpl } from '../models/layouts/RandomLayoutOptionsImpl';
|
|
14
|
-
import { EsDiagramService } from '../services/es-diagram.service';
|
|
15
|
-
import { EsDiagramDispatcher } from '../services/es-diagram.dispatcher';
|
|
16
|
-
import { ReactiveExtensions } from '../extensions/ReactiveExtensions';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
/**
|
|
19
|
-
* Componente che si occupa di graficare un diagramma e di gestirne il ciclo di vita
|
|
20
|
-
*/
|
|
21
|
-
export declare class EsDiagramComponent implements OnChanges {
|
|
22
|
-
private service;
|
|
23
|
-
private dispatcher;
|
|
24
|
-
private exts;
|
|
25
|
-
/**
|
|
26
|
-
* Riferimento all'oggetto HTML su cui creare il diagramma
|
|
27
|
-
*/
|
|
28
|
-
cyGraph: ElementRef;
|
|
29
|
-
/**
|
|
30
|
-
* Nome del diagramma, fondamentale assegnarlo per permettere alla libreria di schedularne la creazione
|
|
31
|
-
*/
|
|
32
|
-
name: string;
|
|
33
|
-
/**
|
|
34
|
-
* Indica se utilizzare il menù contestuale a ruota attorno ad ogni nodo
|
|
35
|
-
*/
|
|
36
|
-
UseContextMenu: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Indica le opzioni del menù contestuale qualora **UseContextMenu** fosse **true**.
|
|
39
|
-
*
|
|
40
|
-
* Ogni elemento di questo array è un selettore con il menu da mostrare per quella casistica
|
|
41
|
-
*/
|
|
42
|
-
ContextMenuOptions: ContextMenuOptions[];
|
|
43
|
-
/**
|
|
44
|
-
* Dice al componente se il diagramma deve utilizzare il sistema di estensione per l'expand e collapse dei gruppi
|
|
45
|
-
*/
|
|
46
|
-
UseExpandCollapse: boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Opzioni native dell'estensione expand-collapse, vengono ovviamente utilizzate solo se **UseExpandCollapse** è **true**
|
|
49
|
-
*/
|
|
50
|
-
ExpandCollapseOptions: ExpandCollapseOptions;
|
|
51
|
-
/**
|
|
52
|
-
* Blocco completo delle opzioni, alternativo all'assegnazione di **Elements**, **NodeStyles**, **EdgeStyles**, e **Layout**.
|
|
53
|
-
*
|
|
54
|
-
* Qualora entrambe venissero specificate verrà effettuata un'unione fra queste opzioni e quelle specificate, dando priorità alle specificate
|
|
55
|
-
*/
|
|
56
|
-
NativeOptions: cytoscape.CytoscapeOptions;
|
|
57
|
-
/**
|
|
58
|
-
* Definizione degli elementi da mostrare nel diagramma
|
|
59
|
-
*/
|
|
60
|
-
Elements: cytoscape.ElementDefinition[];
|
|
61
|
-
/**
|
|
62
|
-
* Definizione degli stili dei nodi
|
|
63
|
-
*/
|
|
64
|
-
NodeStyles: cytoscape.Css.Node;
|
|
65
|
-
/**
|
|
66
|
-
* Definizione degli stili dei collegamenti fra i nodi
|
|
67
|
-
*/
|
|
68
|
-
EdgeStyles: cytoscape.Css.Edge;
|
|
69
|
-
/**
|
|
70
|
-
* In un diagramma in sola lettura tutte le interazioni utente sono annullate
|
|
71
|
-
*/
|
|
72
|
-
Readonly: boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Aggiorna automaticamente le dimensioni del diagramma quando cambiano le dimensioni della finestra
|
|
75
|
-
*/
|
|
76
|
-
AutoupdateSize: boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Indica di mantenere la posizione dei nodi qualora venissero cambiati dall'Input **Elements**.
|
|
79
|
-
*
|
|
80
|
-
* Se l'ID di un nodo è uguale all'ID di un nodo presente in precedenza, il nuovo nodo ne erediterà la posizione
|
|
81
|
-
*/
|
|
82
|
-
PreserveElementsPosition: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* Qualora venisse modificato l'Input **Elements**, piuttosto che mettere semplicemente il nuovo Elemento in base al Layout precedente, applica anche un'animazione
|
|
85
|
-
*
|
|
86
|
-
* Funziona solamente se il **Layout** corrente del diagramma supporta le animazioni
|
|
87
|
-
*/
|
|
88
|
-
AnimateLayoutChanges: boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Attiva una modalità di selezione "smart"... o perlomeno "smarter" del default di Cytoscape.
|
|
91
|
-
*
|
|
92
|
-
* - Il click di un elemento non selezionato lo seleziona
|
|
93
|
-
* - Il click di un elemento selezionato lo deseleziona
|
|
94
|
-
* - Lo stato di selezione viene persistito sull'oggetto originale invece di rimanere in un internal
|
|
95
|
-
* - All'assegnazione di oggetti selezionati, questi vengono marcati correttamente con l'overlay di selezione
|
|
96
|
-
*
|
|
97
|
-
* N.B: la chiamata all'evento **onNodeClick** avviene **DOPO** la gestione della selezione
|
|
98
|
-
*/
|
|
99
|
-
SmartSelection: boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Indica di selezionare un elemento per volta qualora **SmartSelection** fosse attivo
|
|
102
|
-
*/
|
|
103
|
-
SingleSelection: boolean;
|
|
104
|
-
/**
|
|
105
|
-
* CSS per la graficazione della selezione dei nodi. Quando un nodo verrà selezionato avrà sopra di se un overlay che 'sborda' di **overlay-padding** pixel,
|
|
106
|
-
* di colore **overlay-color** e con un opacità **overlay-opacity**
|
|
107
|
-
*
|
|
108
|
-
* Assegnando "{}" a questo input, la Smart selection viene gestita ma la gestione grafica è affidata all'utente,
|
|
109
|
-
* ad esempio usando dei **NodeHTMLTemplates** che definiscano selettori su nodi ":selected"
|
|
110
|
-
*
|
|
111
|
-
* @default {'overlay-color':'blue','overlay-opacity':0.5,'overlay-padding':7}
|
|
112
|
-
*/
|
|
113
|
-
SmartSelectionStyles: {
|
|
114
|
-
'overlay-color': string;
|
|
115
|
-
'overlay-opacity': number;
|
|
116
|
-
'overlay-padding': number;
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* Periodo di throttle da quando viene effettuato un resize a quando ricalcolare le dimensioni del diagramma.
|
|
120
|
-
*
|
|
121
|
-
* Può essere tenuto a 0 (redraw istantaneo) finché non ci sono problemi di prestazioni con eventualmente tanti resize a poca distanza l'uno dall'altro.
|
|
122
|
-
*/
|
|
123
|
-
ResizeThrottleTime: number;
|
|
124
|
-
/**
|
|
125
|
-
* Layout di ordinamento dei nodi
|
|
126
|
-
*/
|
|
127
|
-
Layout: BreadthFirstLayoutOptionsImpl | CircleLayoutOptionsImpl | ConcentricLayoutOptionsImpl | CoseLayoutOptionsImpl | DagreLayoutOptionsImpl | GridLayoutOptionsImpl | NullLayoutOptionsImpl | PresetLayoutOptionsImpl | RandomLayoutOptionsImpl;
|
|
128
|
-
/**
|
|
129
|
-
* Template HTML da applicare ai nodi per dargli stili particolari, diversi dalle shape di default
|
|
130
|
-
*/
|
|
131
|
-
NodeHTMLTemplates: NodeHTMLTemplate[];
|
|
132
|
-
/**
|
|
133
|
-
* Fornisce il global della libreria (namespace **cytoscape**) e si aspetta che dopo operazioni di importazione
|
|
134
|
-
* lasciate all'utente vengano aggiunti tutti i moduli desiderati.
|
|
135
|
-
*
|
|
136
|
-
* È **fondamentale** che il primo parametro (il nome del modulo) sia uguale a ciò di cui viene fatto il require in modo che la libreria
|
|
137
|
-
* possa controllare che il modulo importato non sia già stato importato in precedenza
|
|
138
|
-
*
|
|
139
|
-
* ## Esempio:
|
|
140
|
-
*
|
|
141
|
-
* ```typescript
|
|
142
|
-
* (global) => {
|
|
143
|
-
* return import("cytoscape-extension-library").then(module => global.use("cytoscape-extension-library", module.default));
|
|
144
|
-
*
|
|
145
|
-
* ...
|
|
146
|
-
* }
|
|
147
|
-
* ```
|
|
148
|
-
*/
|
|
149
|
-
ExtensionModulesImporter: (global: {
|
|
150
|
-
use: (moduleName: string, module: void | cytoscape.Ext) => void;
|
|
151
|
-
}) => Promise<any>;
|
|
152
|
-
/**
|
|
153
|
-
* Fornisce l'istanza attuale di Cytoscape da cui è possibile prendere le librerie di estensione caricate in **ExtensionModulesImporter**
|
|
154
|
-
* e configurarle in base ai comportamenti specifici
|
|
155
|
-
*
|
|
156
|
-
* ## Esempio:
|
|
157
|
-
*
|
|
158
|
-
* ```typescript
|
|
159
|
-
* (cytoscapeCore) => {
|
|
160
|
-
* // Fare questo lavoro per ogni estensione caricata
|
|
161
|
-
* let extensionConfiguration = { ... };
|
|
162
|
-
* let extensionInstance = cytoscapeCore.extensionLibrary(extensionConfiguration);
|
|
163
|
-
* extensionInstance.doSomethingSpecificToThisExtension();
|
|
164
|
-
*
|
|
165
|
-
* ...
|
|
166
|
-
* }
|
|
167
|
-
* ```
|
|
168
|
-
*/
|
|
169
|
-
ExtensionModulesApplyer: (cytoscapeCore: cytoscape.Core) => void;
|
|
170
|
-
/**
|
|
171
|
-
* Evento lanciato al click di un nodo, contiene l'oggetto **data** del nodo in questione
|
|
172
|
-
*/
|
|
173
|
-
onNodeClick: EventEmitter<{
|
|
174
|
-
data: any;
|
|
175
|
-
}>;
|
|
176
|
-
/**
|
|
177
|
-
* Evento lanciato alla selezione o deselezione di un nodo, contiene l'oggetto **data** del nodo in questione e informazioni sul suo stato di selezione
|
|
178
|
-
*/
|
|
179
|
-
onNodeSelection: EventEmitter<{
|
|
180
|
-
data: any;
|
|
181
|
-
selected: boolean;
|
|
182
|
-
}>;
|
|
183
|
-
/**
|
|
184
|
-
* Evento lanciato al termine del Layouting. Se si vuole eseguire codice dopo che il Layout è fatto e completamente graficato, questo è il punto
|
|
185
|
-
*/
|
|
186
|
-
onLayoutDone: EventEmitter<void>;
|
|
187
|
-
/**
|
|
188
|
-
* Evento lanciato al termine del caricamento del diagramma
|
|
189
|
-
*/
|
|
190
|
-
onLoaded: EventEmitter<void>;
|
|
191
|
-
/**
|
|
192
|
-
* Variabile su cui salvarsi se i nodi hanno una gerarchia a gruppi o no. Serve per poi caricare l'estensione expand-collapse qualora fosse richiesta
|
|
193
|
-
*/
|
|
194
|
-
private NodesHierarchy;
|
|
195
|
-
/**
|
|
196
|
-
* Indica se il rendering del diagramma è terminato
|
|
197
|
-
*/
|
|
198
|
-
private Rendered;
|
|
199
|
-
/**
|
|
200
|
-
* Istanza del diagramma attualmente in uso
|
|
201
|
-
*/
|
|
202
|
-
cy: cytoscape.Core;
|
|
203
|
-
/**
|
|
204
|
-
* Api dell'estensione expand-collapse per permettere di effettuare operazioni dall'esterno del diagramma. Vengono valorizzate se **UseExpandCollapse** è **true**
|
|
205
|
-
*/
|
|
206
|
-
ExpandCollapseApi: any;
|
|
207
|
-
/**
|
|
208
|
-
* Api dell'estensione html-node per permettere di effettuare operazioni dall'esterno del diagramma. Vengono valorizzate se sono impostati dei **NodeHTMLTemplates**
|
|
209
|
-
*/
|
|
210
|
-
private HtmlNodeApi;
|
|
211
|
-
/**
|
|
212
|
-
* Osservatore delle modifiche al contenitore del diagramma
|
|
213
|
-
*/
|
|
214
|
-
private resizeObserver;
|
|
215
|
-
/**
|
|
216
|
-
* Riferimento all'ultimo layout utilizzato. Viene riapplicato qualora venisse cambiato l'Input **Elements**.
|
|
217
|
-
*
|
|
218
|
-
* Non utilizzo il makeLayouts perché altrimenti rischierei di creare un layout riferito a X elementi, ne aggiungo 1, riapplico il Layout
|
|
219
|
-
* ma mi viene riapplicato a X elementi invece che X + 1
|
|
220
|
-
*/
|
|
221
|
-
private LastLayout;
|
|
222
|
-
/**
|
|
223
|
-
* Costruttore
|
|
224
|
-
*
|
|
225
|
-
* @ignore
|
|
226
|
-
*/
|
|
227
|
-
constructor(service: EsDiagramService, dispatcher: EsDiagramDispatcher, exts: ReactiveExtensions);
|
|
228
|
-
/**
|
|
229
|
-
* @ignore
|
|
230
|
-
*
|
|
231
|
-
* Angular Pipeline
|
|
232
|
-
*/
|
|
233
|
-
ngAfterViewInit(): void;
|
|
234
|
-
/**
|
|
235
|
-
* All'onDestroy ripulisco la memoria dal diagramma
|
|
236
|
-
*/
|
|
237
|
-
ngOnDestroy(): void;
|
|
238
|
-
/**
|
|
239
|
-
* Registra il diagramma attuale nel Dispatcher in modo che venga caricato appena possibile
|
|
240
|
-
*/
|
|
241
|
-
private dispatchLoadChart;
|
|
242
|
-
/**
|
|
243
|
-
* @ignore
|
|
244
|
-
*
|
|
245
|
-
* Angular Pipeline: Gestione ri-graficazione del diagramma, se possibile
|
|
246
|
-
*/
|
|
247
|
-
ngOnChanges(changes: SimpleChanges): any;
|
|
248
|
-
/**
|
|
249
|
-
* Effettua il rendering del diagramma
|
|
250
|
-
*/
|
|
251
|
-
private render;
|
|
252
|
-
/**
|
|
253
|
-
* Prende tutti gli elementi appena assegnati, e se qualcuno era selezionato la situazione viene persistita su cytoscape
|
|
254
|
-
*/
|
|
255
|
-
private setupElementsSelectionIfNeeded;
|
|
256
|
-
/**
|
|
257
|
-
* Carica gli stili per mostrare carina la selezione dei nodi
|
|
258
|
-
*/
|
|
259
|
-
private setupSelectionStyles;
|
|
260
|
-
/**
|
|
261
|
-
* Registra l'ascolto al contenitore del grafico e in caso di modifiche alla dimensione, al massimo una volta ogni 500 millisecondi, lo ridisegna
|
|
262
|
-
*/
|
|
263
|
-
private listenOnChanges;
|
|
264
|
-
/**
|
|
265
|
-
* Funzione che si occupa di gestire il repaint del diagramma
|
|
266
|
-
*/
|
|
267
|
-
private onContainerSizeChanged;
|
|
268
|
-
/**
|
|
269
|
-
* Collega tutti gli eventi che mi possono servire e li espone in output
|
|
270
|
-
*/
|
|
271
|
-
private bindCytoscapeEvents;
|
|
272
|
-
/**
|
|
273
|
-
* Metodo che serve per caricare tutte le estensioni della libreria in base a ciò che viene utilizzato
|
|
274
|
-
*/
|
|
275
|
-
private performModulesLoading;
|
|
276
|
-
/**
|
|
277
|
-
* Metodo che serve per caricare tutte le estensioni della libreria in base a ciò che viene utilizzato con le opzioni definite dagli Input
|
|
278
|
-
*/
|
|
279
|
-
private performOperationsWithLoadedModules;
|
|
280
|
-
updateCardData(): void;
|
|
281
|
-
/**
|
|
282
|
-
* Metodo interno per il caricamento dei moduli di estensione
|
|
283
|
-
*
|
|
284
|
-
* @param {'cytoscape-expand-collapse' | 'cytoscape-cxtmenu' | 'cytoscape-html-node' | 'cytoscape-dagre'} moduleId Modulo da caricare
|
|
285
|
-
*/
|
|
286
|
-
private loadInternal;
|
|
287
|
-
/**
|
|
288
|
-
* Metodo che basandosi sulle opzioni native eventualmente assegnate le completa con gli Input addizionali
|
|
289
|
-
*
|
|
290
|
-
* @returns {cy_.CytoscapeOptions} Opzioni finali unite da Input ed opzioni native
|
|
291
|
-
*/
|
|
292
|
-
private getCompletedOptions;
|
|
293
|
-
/**
|
|
294
|
-
* Aggiustamenti degli elementi di Cytoscape.
|
|
295
|
-
*
|
|
296
|
-
* I nodi non vengono toccati.
|
|
297
|
-
*
|
|
298
|
-
* Per ogni edge viene controllato se è specificata una sorgente ed una destinazione, in caso contrario si cerca di dedurli dall'ID
|
|
299
|
-
*
|
|
300
|
-
* @param {cytoscape.ElementDefinition[]} elements Elementi da sistemare
|
|
301
|
-
*/
|
|
302
|
-
private reviewCytoscapeElements;
|
|
303
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EsDiagramComponent, [{ optional: true; }, { optional: true; }, null]>;
|
|
304
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EsDiagramComponent, "es-diagram", never, { "name": { "alias": "name"; "required": false; }; "UseContextMenu": { "alias": "UseContextMenu"; "required": false; }; "ContextMenuOptions": { "alias": "ContextMenuOptions"; "required": false; }; "UseExpandCollapse": { "alias": "UseExpandCollapse"; "required": false; }; "ExpandCollapseOptions": { "alias": "ExpandCollapseOptions"; "required": false; }; "NativeOptions": { "alias": "NativeOptions"; "required": false; }; "Elements": { "alias": "Elements"; "required": false; }; "NodeStyles": { "alias": "NodeStyles"; "required": false; }; "EdgeStyles": { "alias": "EdgeStyles"; "required": false; }; "Readonly": { "alias": "Readonly"; "required": false; }; "AutoupdateSize": { "alias": "AutoupdateSize"; "required": false; }; "PreserveElementsPosition": { "alias": "PreserveElementsPosition"; "required": false; }; "AnimateLayoutChanges": { "alias": "AnimateLayoutChanges"; "required": false; }; "SmartSelection": { "alias": "SmartSelection"; "required": false; }; "SingleSelection": { "alias": "SingleSelection"; "required": false; }; "SmartSelectionStyles": { "alias": "SmartSelectionStyles"; "required": false; }; "ResizeThrottleTime": { "alias": "ResizeThrottleTime"; "required": false; }; "Layout": { "alias": "Layout"; "required": false; }; "NodeHTMLTemplates": { "alias": "NodeHTMLTemplates"; "required": false; }; "ExtensionModulesImporter": { "alias": "ExtensionModulesImporter"; "required": false; }; "ExtensionModulesApplyer": { "alias": "ExtensionModulesApplyer"; "required": false; }; }, { "onNodeClick": "onNodeClick"; "onNodeSelection": "onNodeSelection"; "onLayoutDone": "onLayoutDone"; "onLoaded": "onLoaded"; }, never, never, false, never>;
|
|
305
|
-
}
|
|
1
|
+
import { ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ContextMenuOptions } from '../models/component/contextmenu/ContextMenuOptions';
|
|
3
|
+
import { ExpandCollapseOptions } from '../models/component/grouping/ExpandCollapseOptions';
|
|
4
|
+
import { NodeHTMLTemplate } from '../models/component/nodes/NodeHTMLTemplate';
|
|
5
|
+
import { BreadthFirstLayoutOptionsImpl } from '../models/layouts/BreadthFirstLayoutOptionsImpl';
|
|
6
|
+
import { CircleLayoutOptionsImpl } from '../models/layouts/CircleLayoutOptionsImpl';
|
|
7
|
+
import { ConcentricLayoutOptionsImpl } from '../models/layouts/ConcentricLayoutOptionsImpl';
|
|
8
|
+
import { CoseLayoutOptionsImpl } from '../models/layouts/CoseLayoutOptionsImpl';
|
|
9
|
+
import { DagreLayoutOptionsImpl } from '../models/layouts/DagreLayoutOptionsImpl';
|
|
10
|
+
import { GridLayoutOptionsImpl } from '../models/layouts/GridLayoutOptionsImpl';
|
|
11
|
+
import { NullLayoutOptionsImpl } from '../models/layouts/NullLayoutOptionsImpl';
|
|
12
|
+
import { PresetLayoutOptionsImpl } from '../models/layouts/PresetLayoutOptionsImpl';
|
|
13
|
+
import { RandomLayoutOptionsImpl } from '../models/layouts/RandomLayoutOptionsImpl';
|
|
14
|
+
import { EsDiagramService } from '../services/es-diagram.service';
|
|
15
|
+
import { EsDiagramDispatcher } from '../services/es-diagram.dispatcher';
|
|
16
|
+
import { ReactiveExtensions } from '../extensions/ReactiveExtensions';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
/**
|
|
19
|
+
* Componente che si occupa di graficare un diagramma e di gestirne il ciclo di vita
|
|
20
|
+
*/
|
|
21
|
+
export declare class EsDiagramComponent implements OnChanges {
|
|
22
|
+
private service;
|
|
23
|
+
private dispatcher;
|
|
24
|
+
private exts;
|
|
25
|
+
/**
|
|
26
|
+
* Riferimento all'oggetto HTML su cui creare il diagramma
|
|
27
|
+
*/
|
|
28
|
+
cyGraph: ElementRef;
|
|
29
|
+
/**
|
|
30
|
+
* Nome del diagramma, fondamentale assegnarlo per permettere alla libreria di schedularne la creazione
|
|
31
|
+
*/
|
|
32
|
+
name: string;
|
|
33
|
+
/**
|
|
34
|
+
* Indica se utilizzare il menù contestuale a ruota attorno ad ogni nodo
|
|
35
|
+
*/
|
|
36
|
+
UseContextMenu: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Indica le opzioni del menù contestuale qualora **UseContextMenu** fosse **true**.
|
|
39
|
+
*
|
|
40
|
+
* Ogni elemento di questo array è un selettore con il menu da mostrare per quella casistica
|
|
41
|
+
*/
|
|
42
|
+
ContextMenuOptions: ContextMenuOptions[];
|
|
43
|
+
/**
|
|
44
|
+
* Dice al componente se il diagramma deve utilizzare il sistema di estensione per l'expand e collapse dei gruppi
|
|
45
|
+
*/
|
|
46
|
+
UseExpandCollapse: boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Opzioni native dell'estensione expand-collapse, vengono ovviamente utilizzate solo se **UseExpandCollapse** è **true**
|
|
49
|
+
*/
|
|
50
|
+
ExpandCollapseOptions: ExpandCollapseOptions;
|
|
51
|
+
/**
|
|
52
|
+
* Blocco completo delle opzioni, alternativo all'assegnazione di **Elements**, **NodeStyles**, **EdgeStyles**, e **Layout**.
|
|
53
|
+
*
|
|
54
|
+
* Qualora entrambe venissero specificate verrà effettuata un'unione fra queste opzioni e quelle specificate, dando priorità alle specificate
|
|
55
|
+
*/
|
|
56
|
+
NativeOptions: cytoscape.CytoscapeOptions;
|
|
57
|
+
/**
|
|
58
|
+
* Definizione degli elementi da mostrare nel diagramma
|
|
59
|
+
*/
|
|
60
|
+
Elements: cytoscape.ElementDefinition[];
|
|
61
|
+
/**
|
|
62
|
+
* Definizione degli stili dei nodi
|
|
63
|
+
*/
|
|
64
|
+
NodeStyles: cytoscape.Css.Node;
|
|
65
|
+
/**
|
|
66
|
+
* Definizione degli stili dei collegamenti fra i nodi
|
|
67
|
+
*/
|
|
68
|
+
EdgeStyles: cytoscape.Css.Edge;
|
|
69
|
+
/**
|
|
70
|
+
* In un diagramma in sola lettura tutte le interazioni utente sono annullate
|
|
71
|
+
*/
|
|
72
|
+
Readonly: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Aggiorna automaticamente le dimensioni del diagramma quando cambiano le dimensioni della finestra
|
|
75
|
+
*/
|
|
76
|
+
AutoupdateSize: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Indica di mantenere la posizione dei nodi qualora venissero cambiati dall'Input **Elements**.
|
|
79
|
+
*
|
|
80
|
+
* Se l'ID di un nodo è uguale all'ID di un nodo presente in precedenza, il nuovo nodo ne erediterà la posizione
|
|
81
|
+
*/
|
|
82
|
+
PreserveElementsPosition: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Qualora venisse modificato l'Input **Elements**, piuttosto che mettere semplicemente il nuovo Elemento in base al Layout precedente, applica anche un'animazione
|
|
85
|
+
*
|
|
86
|
+
* Funziona solamente se il **Layout** corrente del diagramma supporta le animazioni
|
|
87
|
+
*/
|
|
88
|
+
AnimateLayoutChanges: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Attiva una modalità di selezione "smart"... o perlomeno "smarter" del default di Cytoscape.
|
|
91
|
+
*
|
|
92
|
+
* - Il click di un elemento non selezionato lo seleziona
|
|
93
|
+
* - Il click di un elemento selezionato lo deseleziona
|
|
94
|
+
* - Lo stato di selezione viene persistito sull'oggetto originale invece di rimanere in un internal
|
|
95
|
+
* - All'assegnazione di oggetti selezionati, questi vengono marcati correttamente con l'overlay di selezione
|
|
96
|
+
*
|
|
97
|
+
* N.B: la chiamata all'evento **onNodeClick** avviene **DOPO** la gestione della selezione
|
|
98
|
+
*/
|
|
99
|
+
SmartSelection: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Indica di selezionare un elemento per volta qualora **SmartSelection** fosse attivo
|
|
102
|
+
*/
|
|
103
|
+
SingleSelection: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* CSS per la graficazione della selezione dei nodi. Quando un nodo verrà selezionato avrà sopra di se un overlay che 'sborda' di **overlay-padding** pixel,
|
|
106
|
+
* di colore **overlay-color** e con un opacità **overlay-opacity**
|
|
107
|
+
*
|
|
108
|
+
* Assegnando "{}" a questo input, la Smart selection viene gestita ma la gestione grafica è affidata all'utente,
|
|
109
|
+
* ad esempio usando dei **NodeHTMLTemplates** che definiscano selettori su nodi ":selected"
|
|
110
|
+
*
|
|
111
|
+
* @default {'overlay-color':'blue','overlay-opacity':0.5,'overlay-padding':7}
|
|
112
|
+
*/
|
|
113
|
+
SmartSelectionStyles: {
|
|
114
|
+
'overlay-color': string;
|
|
115
|
+
'overlay-opacity': number;
|
|
116
|
+
'overlay-padding': number;
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Periodo di throttle da quando viene effettuato un resize a quando ricalcolare le dimensioni del diagramma.
|
|
120
|
+
*
|
|
121
|
+
* Può essere tenuto a 0 (redraw istantaneo) finché non ci sono problemi di prestazioni con eventualmente tanti resize a poca distanza l'uno dall'altro.
|
|
122
|
+
*/
|
|
123
|
+
ResizeThrottleTime: number;
|
|
124
|
+
/**
|
|
125
|
+
* Layout di ordinamento dei nodi
|
|
126
|
+
*/
|
|
127
|
+
Layout: BreadthFirstLayoutOptionsImpl | CircleLayoutOptionsImpl | ConcentricLayoutOptionsImpl | CoseLayoutOptionsImpl | DagreLayoutOptionsImpl | GridLayoutOptionsImpl | NullLayoutOptionsImpl | PresetLayoutOptionsImpl | RandomLayoutOptionsImpl;
|
|
128
|
+
/**
|
|
129
|
+
* Template HTML da applicare ai nodi per dargli stili particolari, diversi dalle shape di default
|
|
130
|
+
*/
|
|
131
|
+
NodeHTMLTemplates: NodeHTMLTemplate[];
|
|
132
|
+
/**
|
|
133
|
+
* Fornisce il global della libreria (namespace **cytoscape**) e si aspetta che dopo operazioni di importazione
|
|
134
|
+
* lasciate all'utente vengano aggiunti tutti i moduli desiderati.
|
|
135
|
+
*
|
|
136
|
+
* È **fondamentale** che il primo parametro (il nome del modulo) sia uguale a ciò di cui viene fatto il require in modo che la libreria
|
|
137
|
+
* possa controllare che il modulo importato non sia già stato importato in precedenza
|
|
138
|
+
*
|
|
139
|
+
* ## Esempio:
|
|
140
|
+
*
|
|
141
|
+
* ```typescript
|
|
142
|
+
* (global) => {
|
|
143
|
+
* return import("cytoscape-extension-library").then(module => global.use("cytoscape-extension-library", module.default));
|
|
144
|
+
*
|
|
145
|
+
* ...
|
|
146
|
+
* }
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
ExtensionModulesImporter: (global: {
|
|
150
|
+
use: (moduleName: string, module: void | cytoscape.Ext) => void;
|
|
151
|
+
}) => Promise<any>;
|
|
152
|
+
/**
|
|
153
|
+
* Fornisce l'istanza attuale di Cytoscape da cui è possibile prendere le librerie di estensione caricate in **ExtensionModulesImporter**
|
|
154
|
+
* e configurarle in base ai comportamenti specifici
|
|
155
|
+
*
|
|
156
|
+
* ## Esempio:
|
|
157
|
+
*
|
|
158
|
+
* ```typescript
|
|
159
|
+
* (cytoscapeCore) => {
|
|
160
|
+
* // Fare questo lavoro per ogni estensione caricata
|
|
161
|
+
* let extensionConfiguration = { ... };
|
|
162
|
+
* let extensionInstance = cytoscapeCore.extensionLibrary(extensionConfiguration);
|
|
163
|
+
* extensionInstance.doSomethingSpecificToThisExtension();
|
|
164
|
+
*
|
|
165
|
+
* ...
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
ExtensionModulesApplyer: (cytoscapeCore: cytoscape.Core) => void;
|
|
170
|
+
/**
|
|
171
|
+
* Evento lanciato al click di un nodo, contiene l'oggetto **data** del nodo in questione
|
|
172
|
+
*/
|
|
173
|
+
onNodeClick: EventEmitter<{
|
|
174
|
+
data: any;
|
|
175
|
+
}>;
|
|
176
|
+
/**
|
|
177
|
+
* Evento lanciato alla selezione o deselezione di un nodo, contiene l'oggetto **data** del nodo in questione e informazioni sul suo stato di selezione
|
|
178
|
+
*/
|
|
179
|
+
onNodeSelection: EventEmitter<{
|
|
180
|
+
data: any;
|
|
181
|
+
selected: boolean;
|
|
182
|
+
}>;
|
|
183
|
+
/**
|
|
184
|
+
* Evento lanciato al termine del Layouting. Se si vuole eseguire codice dopo che il Layout è fatto e completamente graficato, questo è il punto
|
|
185
|
+
*/
|
|
186
|
+
onLayoutDone: EventEmitter<void>;
|
|
187
|
+
/**
|
|
188
|
+
* Evento lanciato al termine del caricamento del diagramma
|
|
189
|
+
*/
|
|
190
|
+
onLoaded: EventEmitter<void>;
|
|
191
|
+
/**
|
|
192
|
+
* Variabile su cui salvarsi se i nodi hanno una gerarchia a gruppi o no. Serve per poi caricare l'estensione expand-collapse qualora fosse richiesta
|
|
193
|
+
*/
|
|
194
|
+
private NodesHierarchy;
|
|
195
|
+
/**
|
|
196
|
+
* Indica se il rendering del diagramma è terminato
|
|
197
|
+
*/
|
|
198
|
+
private Rendered;
|
|
199
|
+
/**
|
|
200
|
+
* Istanza del diagramma attualmente in uso
|
|
201
|
+
*/
|
|
202
|
+
cy: cytoscape.Core;
|
|
203
|
+
/**
|
|
204
|
+
* Api dell'estensione expand-collapse per permettere di effettuare operazioni dall'esterno del diagramma. Vengono valorizzate se **UseExpandCollapse** è **true**
|
|
205
|
+
*/
|
|
206
|
+
ExpandCollapseApi: any;
|
|
207
|
+
/**
|
|
208
|
+
* Api dell'estensione html-node per permettere di effettuare operazioni dall'esterno del diagramma. Vengono valorizzate se sono impostati dei **NodeHTMLTemplates**
|
|
209
|
+
*/
|
|
210
|
+
private HtmlNodeApi;
|
|
211
|
+
/**
|
|
212
|
+
* Osservatore delle modifiche al contenitore del diagramma
|
|
213
|
+
*/
|
|
214
|
+
private resizeObserver;
|
|
215
|
+
/**
|
|
216
|
+
* Riferimento all'ultimo layout utilizzato. Viene riapplicato qualora venisse cambiato l'Input **Elements**.
|
|
217
|
+
*
|
|
218
|
+
* Non utilizzo il makeLayouts perché altrimenti rischierei di creare un layout riferito a X elementi, ne aggiungo 1, riapplico il Layout
|
|
219
|
+
* ma mi viene riapplicato a X elementi invece che X + 1
|
|
220
|
+
*/
|
|
221
|
+
private LastLayout;
|
|
222
|
+
/**
|
|
223
|
+
* Costruttore
|
|
224
|
+
*
|
|
225
|
+
* @ignore
|
|
226
|
+
*/
|
|
227
|
+
constructor(service: EsDiagramService, dispatcher: EsDiagramDispatcher, exts: ReactiveExtensions);
|
|
228
|
+
/**
|
|
229
|
+
* @ignore
|
|
230
|
+
*
|
|
231
|
+
* Angular Pipeline
|
|
232
|
+
*/
|
|
233
|
+
ngAfterViewInit(): void;
|
|
234
|
+
/**
|
|
235
|
+
* All'onDestroy ripulisco la memoria dal diagramma
|
|
236
|
+
*/
|
|
237
|
+
ngOnDestroy(): void;
|
|
238
|
+
/**
|
|
239
|
+
* Registra il diagramma attuale nel Dispatcher in modo che venga caricato appena possibile
|
|
240
|
+
*/
|
|
241
|
+
private dispatchLoadChart;
|
|
242
|
+
/**
|
|
243
|
+
* @ignore
|
|
244
|
+
*
|
|
245
|
+
* Angular Pipeline: Gestione ri-graficazione del diagramma, se possibile
|
|
246
|
+
*/
|
|
247
|
+
ngOnChanges(changes: SimpleChanges): any;
|
|
248
|
+
/**
|
|
249
|
+
* Effettua il rendering del diagramma
|
|
250
|
+
*/
|
|
251
|
+
private render;
|
|
252
|
+
/**
|
|
253
|
+
* Prende tutti gli elementi appena assegnati, e se qualcuno era selezionato la situazione viene persistita su cytoscape
|
|
254
|
+
*/
|
|
255
|
+
private setupElementsSelectionIfNeeded;
|
|
256
|
+
/**
|
|
257
|
+
* Carica gli stili per mostrare carina la selezione dei nodi
|
|
258
|
+
*/
|
|
259
|
+
private setupSelectionStyles;
|
|
260
|
+
/**
|
|
261
|
+
* Registra l'ascolto al contenitore del grafico e in caso di modifiche alla dimensione, al massimo una volta ogni 500 millisecondi, lo ridisegna
|
|
262
|
+
*/
|
|
263
|
+
private listenOnChanges;
|
|
264
|
+
/**
|
|
265
|
+
* Funzione che si occupa di gestire il repaint del diagramma
|
|
266
|
+
*/
|
|
267
|
+
private onContainerSizeChanged;
|
|
268
|
+
/**
|
|
269
|
+
* Collega tutti gli eventi che mi possono servire e li espone in output
|
|
270
|
+
*/
|
|
271
|
+
private bindCytoscapeEvents;
|
|
272
|
+
/**
|
|
273
|
+
* Metodo che serve per caricare tutte le estensioni della libreria in base a ciò che viene utilizzato
|
|
274
|
+
*/
|
|
275
|
+
private performModulesLoading;
|
|
276
|
+
/**
|
|
277
|
+
* Metodo che serve per caricare tutte le estensioni della libreria in base a ciò che viene utilizzato con le opzioni definite dagli Input
|
|
278
|
+
*/
|
|
279
|
+
private performOperationsWithLoadedModules;
|
|
280
|
+
updateCardData(): void;
|
|
281
|
+
/**
|
|
282
|
+
* Metodo interno per il caricamento dei moduli di estensione
|
|
283
|
+
*
|
|
284
|
+
* @param {'cytoscape-expand-collapse' | 'cytoscape-cxtmenu' | 'cytoscape-html-node' | 'cytoscape-dagre'} moduleId Modulo da caricare
|
|
285
|
+
*/
|
|
286
|
+
private loadInternal;
|
|
287
|
+
/**
|
|
288
|
+
* Metodo che basandosi sulle opzioni native eventualmente assegnate le completa con gli Input addizionali
|
|
289
|
+
*
|
|
290
|
+
* @returns {cy_.CytoscapeOptions} Opzioni finali unite da Input ed opzioni native
|
|
291
|
+
*/
|
|
292
|
+
private getCompletedOptions;
|
|
293
|
+
/**
|
|
294
|
+
* Aggiustamenti degli elementi di Cytoscape.
|
|
295
|
+
*
|
|
296
|
+
* I nodi non vengono toccati.
|
|
297
|
+
*
|
|
298
|
+
* Per ogni edge viene controllato se è specificata una sorgente ed una destinazione, in caso contrario si cerca di dedurli dall'ID
|
|
299
|
+
*
|
|
300
|
+
* @param {cytoscape.ElementDefinition[]} elements Elementi da sistemare
|
|
301
|
+
*/
|
|
302
|
+
private reviewCytoscapeElements;
|
|
303
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsDiagramComponent, [{ optional: true; }, { optional: true; }, null]>;
|
|
304
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EsDiagramComponent, "es-diagram", never, { "name": { "alias": "name"; "required": false; }; "UseContextMenu": { "alias": "UseContextMenu"; "required": false; }; "ContextMenuOptions": { "alias": "ContextMenuOptions"; "required": false; }; "UseExpandCollapse": { "alias": "UseExpandCollapse"; "required": false; }; "ExpandCollapseOptions": { "alias": "ExpandCollapseOptions"; "required": false; }; "NativeOptions": { "alias": "NativeOptions"; "required": false; }; "Elements": { "alias": "Elements"; "required": false; }; "NodeStyles": { "alias": "NodeStyles"; "required": false; }; "EdgeStyles": { "alias": "EdgeStyles"; "required": false; }; "Readonly": { "alias": "Readonly"; "required": false; }; "AutoupdateSize": { "alias": "AutoupdateSize"; "required": false; }; "PreserveElementsPosition": { "alias": "PreserveElementsPosition"; "required": false; }; "AnimateLayoutChanges": { "alias": "AnimateLayoutChanges"; "required": false; }; "SmartSelection": { "alias": "SmartSelection"; "required": false; }; "SingleSelection": { "alias": "SingleSelection"; "required": false; }; "SmartSelectionStyles": { "alias": "SmartSelectionStyles"; "required": false; }; "ResizeThrottleTime": { "alias": "ResizeThrottleTime"; "required": false; }; "Layout": { "alias": "Layout"; "required": false; }; "NodeHTMLTemplates": { "alias": "NodeHTMLTemplates"; "required": false; }; "ExtensionModulesImporter": { "alias": "ExtensionModulesImporter"; "required": false; }; "ExtensionModulesApplyer": { "alias": "ExtensionModulesApplyer"; "required": false; }; }, { "onNodeClick": "onNodeClick"; "onNodeSelection": "onNodeSelection"; "onLayoutDone": "onLayoutDone"; "onLoaded": "onLoaded"; }, never, never, false, never>;
|
|
305
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { EsDiagramModuleConfig } from './models/EsDiagramModuleConfig';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./components/es-diagram.component";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
|
-
import * as i3 from "@angular/forms";
|
|
7
|
-
export declare class EsDiagramModule {
|
|
8
|
-
static forRoot(config?: EsDiagramModuleConfig): ModuleWithProviders<EsDiagramModule>;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EsDiagramModule, never>;
|
|
10
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<EsDiagramModule, [typeof i1.EsDiagramComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i2.CommonModule], [typeof i1.EsDiagramComponent]>;
|
|
11
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<EsDiagramModule>;
|
|
12
|
-
}
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { EsDiagramModuleConfig } from './models/EsDiagramModuleConfig';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./components/es-diagram.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
export declare class EsDiagramModule {
|
|
8
|
+
static forRoot(config?: EsDiagramModuleConfig): ModuleWithProviders<EsDiagramModule>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EsDiagramModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<EsDiagramModule, [typeof i1.EsDiagramComponent], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i3.ReactiveFormsModule, typeof i2.CommonModule], [typeof i1.EsDiagramComponent]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<EsDiagramModule>;
|
|
12
|
+
}
|