@esfaenza/es-diagrams 11.0.2

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.
Files changed (65) hide show
  1. package/README.md +1 -0
  2. package/bundles/esfaenza-es-diagrams.umd.js +1748 -0
  3. package/bundles/esfaenza-es-diagrams.umd.js.map +1 -0
  4. package/esfaenza-es-diagrams.d.ts +9 -0
  5. package/esfaenza-es-diagrams.metadata.json +1 -0
  6. package/esm2015/esfaenza-es-diagrams.js +10 -0
  7. package/esm2015/lib/components/es-diagram.component.js +396 -0
  8. package/esm2015/lib/esdiagram.module.js +28 -0
  9. package/esm2015/lib/extensions/ReactiveExtensions.js +34 -0
  10. package/esm2015/lib/extensions/ResizeSensor.js +71 -0
  11. package/esm2015/lib/models/EsDiagramModuleConfig.js +6 -0
  12. package/esm2015/lib/models/component/contextmenu/ContextMenuCommand.js +6 -0
  13. package/esm2015/lib/models/component/contextmenu/ContextMenuOptions.js +7 -0
  14. package/esm2015/lib/models/component/grouping/ExpandCollapseOptions.js +6 -0
  15. package/esm2015/lib/models/component/nodes/NodeHTMLTemplate.js +6 -0
  16. package/esm2015/lib/models/component/nodes/NodeTemplate.js +6 -0
  17. package/esm2015/lib/models/component/nodes/ZoomLevelBasedTemplate.js +6 -0
  18. package/esm2015/lib/models/layouts/BreadthFirstLayoutOptionsImpl.js +35 -0
  19. package/esm2015/lib/models/layouts/CircleLayoutOptionsImpl.js +27 -0
  20. package/esm2015/lib/models/layouts/ConcentricLayoutOptionsImpl.js +64 -0
  21. package/esm2015/lib/models/layouts/CoseLayoutOptionsImpl.js +83 -0
  22. package/esm2015/lib/models/layouts/DagreLayoutOptionsImpl.js +52 -0
  23. package/esm2015/lib/models/layouts/GridLayoutOptionsImpl.js +38 -0
  24. package/esm2015/lib/models/layouts/NullLayoutOptionsImpl.js +15 -0
  25. package/esm2015/lib/models/layouts/PresetLayoutOptionsImpl.js +24 -0
  26. package/esm2015/lib/models/layouts/RandomLayoutOptionsImpl.js +36 -0
  27. package/esm2015/lib/models/layouts/base/AnimateLayoutOptionsImpl.js +42 -0
  28. package/esm2015/lib/models/layouts/base/BaseLayoutOptionsImpl.js +18 -0
  29. package/esm2015/lib/models/layouts/base/ShapedLayoutOptionsImpl.js +48 -0
  30. package/esm2015/lib/services/es-diagram.dispatcher.js +86 -0
  31. package/esm2015/lib/services/es-diagram.loc.js +17 -0
  32. package/esm2015/lib/services/es-diagram.service.js +106 -0
  33. package/esm2015/lib/tokens.js +10 -0
  34. package/esm2015/public-api.js +24 -0
  35. package/fesm2015/esfaenza-es-diagrams.js +1254 -0
  36. package/fesm2015/esfaenza-es-diagrams.js.map +1 -0
  37. package/lib/components/es-diagram.component.d.ts +243 -0
  38. package/lib/esdiagram.module.d.ts +5 -0
  39. package/lib/extensions/ReactiveExtensions.d.ts +17 -0
  40. package/lib/extensions/ResizeSensor.d.ts +43 -0
  41. package/lib/models/EsDiagramModuleConfig.d.ts +13 -0
  42. package/lib/models/component/contextmenu/ContextMenuCommand.d.ts +27 -0
  43. package/lib/models/component/contextmenu/ContextMenuOptions.d.ts +71 -0
  44. package/lib/models/component/grouping/ExpandCollapseOptions.d.ts +22 -0
  45. package/lib/models/component/nodes/NodeHTMLTemplate.d.ts +14 -0
  46. package/lib/models/component/nodes/NodeTemplate.d.ts +13 -0
  47. package/lib/models/component/nodes/ZoomLevelBasedTemplate.d.ts +14 -0
  48. package/lib/models/layouts/BreadthFirstLayoutOptionsImpl.d.ts +40 -0
  49. package/lib/models/layouts/CircleLayoutOptionsImpl.d.ts +28 -0
  50. package/lib/models/layouts/ConcentricLayoutOptionsImpl.d.ts +74 -0
  51. package/lib/models/layouts/CoseLayoutOptionsImpl.d.ts +80 -0
  52. package/lib/models/layouts/DagreLayoutOptionsImpl.d.ts +48 -0
  53. package/lib/models/layouts/GridLayoutOptionsImpl.d.ts +39 -0
  54. package/lib/models/layouts/NullLayoutOptionsImpl.d.ts +12 -0
  55. package/lib/models/layouts/PresetLayoutOptionsImpl.d.ts +37 -0
  56. package/lib/models/layouts/RandomLayoutOptionsImpl.d.ts +33 -0
  57. package/lib/models/layouts/base/AnimateLayoutOptionsImpl.d.ts +40 -0
  58. package/lib/models/layouts/base/BaseLayoutOptionsImpl.d.ts +15 -0
  59. package/lib/models/layouts/base/ShapedLayoutOptionsImpl.d.ts +46 -0
  60. package/lib/services/es-diagram.dispatcher.d.ts +41 -0
  61. package/lib/services/es-diagram.loc.d.ts +49 -0
  62. package/lib/services/es-diagram.service.d.ts +49 -0
  63. package/lib/tokens.d.ts +9 -0
  64. package/package.json +25 -0
  65. package/public-api.d.ts +20 -0
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Opzioni native per l'estensione expand-collapse di cytoscape
3
+ */
4
+ export declare class ExpandCollapseOptions {
5
+ /** @ignore */ layoutBy?: any;
6
+ /** @ignore */ fisheye?: boolean;
7
+ /** @ignore */ animate?: boolean;
8
+ /** @ignore */ animationDuration?: number;
9
+ /** @ignore */ ready?: () => void;
10
+ /** @ignore */ undoable?: boolean;
11
+ /** @ignore */ cueEnabled?: boolean;
12
+ /** @ignore */ expandCollapseCuePosition?: string | ((node: any) => string);
13
+ /** @ignore */ expandCollapseCueSize?: number;
14
+ /** @ignore */ expandCollapseCueLineSize?: number;
15
+ /** @ignore */ expandCueImage?: string;
16
+ /** @ignore */ collapseCueImage?: string;
17
+ /** @ignore */ expandCollapseCueSensitivity?: number;
18
+ /** @ignore */ edgeTypeInfo?: string | Function;
19
+ /** @ignore */ groupEdgesOfSameTypeOnCollapse?: boolean;
20
+ /** @ignore */ allowNestedEdgeCollapse?: boolean;
21
+ /** @ignore */ zIndex?: number;
22
+ }
@@ -0,0 +1,14 @@
1
+ import { ZoomLevelBasedTemplate } from "./ZoomLevelBasedTemplate";
2
+ /**
3
+ * Classe che indica per una data query quali template applicare
4
+ */
5
+ export declare class NodeHTMLTemplate {
6
+ /**
7
+ * Query Cytoscape. Esempio **"[type = 'node']"** per prendere tutti i nodi la cui proprietà **type** all'interno dell'oggetto **data** è uguale a **node**
8
+ */
9
+ query: string;
10
+ /**
11
+ * Lista dei template da applicare in base al livello di zoom del diagramma
12
+ */
13
+ template: ZoomLevelBasedTemplate[];
14
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Classe che rappresenta un template HTML applicabile ad un nodo
3
+ */
4
+ export declare class NodeTemplate {
5
+ /**
6
+ * Template del nodo. È possibile prendere direttamente i valori del nodo utilizzando la convenzione **#{data.nodeproperty}**
7
+ */
8
+ html: string;
9
+ /**
10
+ * Classe da applicare al template
11
+ */
12
+ cssClass?: string;
13
+ }
@@ -0,0 +1,14 @@
1
+ import { NodeTemplate } from "./NodeTemplate";
2
+ /**
3
+ * Classe che rappresenta il template HTML di un nodo da utilizzare per un certo livello di zoom
4
+ */
5
+ export declare class ZoomLevelBasedTemplate {
6
+ /**
7
+ * Livello di zoom da minimo a massimo per cui viene utilizzato questo template
8
+ */
9
+ zoomRange: [number, number];
10
+ /**
11
+ * Template da utilizzare
12
+ */
13
+ template: NodeTemplate;
14
+ }
@@ -0,0 +1,40 @@
1
+ import { ShapedLayoutOptionsImpl } from './base/ShapedLayoutOptionsImpl';
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Breadth First
4
+ */
5
+ export declare class BreadthFirstLayoutOptionsImpl extends ShapedLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ /**
13
+ * Indica se l'albero è diretto in basso. Se false i collegamenti fra i nodi possono andare in qualsiasi direzione
14
+ */
15
+ directed: boolean;
16
+ /**
17
+ * Se **true** i livelli vengono ordinati in cerchi concentrici, se **false** vengono oridnati dall'alto al basso
18
+ */
19
+ circle: boolean;
20
+ /**
21
+ * Radici degli alberi
22
+ */
23
+ roots?: string;
24
+ /**
25
+ * Numero massimo di tentativi di posizionamento dei nodi in maniera massimale (senza backtracking)
26
+ */
27
+ maximalAdjustments: number;
28
+ /**
29
+ * Indica che i nodi verranno shiftati in base al proprio livello in modo da evitare collegamenti inversi (solo per i DAG)
30
+ */
31
+ maximal: boolean;
32
+ /**
33
+ * Indica se creare una griglia in cui ordinare i nodi del DAG (Solo quando la proprietà **circle** è a **false**)
34
+ */
35
+ grid: boolean;
36
+ /**
37
+ * Indica se escludere le label dei nodi quando vengono calcolati i limiti del layout
38
+ */
39
+ nodeDimensionsIncludeLabels: boolean;
40
+ }
@@ -0,0 +1,28 @@
1
+ import { ShapedLayoutOptionsImpl } from './base/ShapedLayoutOptionsImpl';
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Circle
4
+ */
5
+ export declare class CircleLayoutOptionsImpl extends ShapedLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ /**
13
+ * Raggio del cercho
14
+ */
15
+ radius: number;
16
+ /**
17
+ * Angolo da cui i nodi partono, in radianti (Default: **3 / 2 * Math.PI**)
18
+ */
19
+ startAngle: number;
20
+ /**
21
+ * Numero di radianti fra il primo e l'ultimo nodo. Di default viene utilizzata l'intera circonferenza
22
+ */
23
+ sweep: number;
24
+ /**
25
+ * Indica se andare in senso orario (**true**) o antiorario (**false**)
26
+ */
27
+ clockwise: boolean;
28
+ }
@@ -0,0 +1,74 @@
1
+ import { BoundingBox12, BoundingBoxWH } from "cytoscape";
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Concentric
4
+ */
5
+ export declare class ConcentricLayoutOptionsImpl {
6
+ /**
7
+ * Nome dell'algoritmo di layouting
8
+ */
9
+ name: string;
10
+ /**
11
+ * Numero di radianti fra il primo e l'ultimo nodo. Di default viene utilizzata l'intera circonferenza
12
+ */
13
+ sweep?: number;
14
+ /**
15
+ * Indica se andare in senso orario (**true**) o antiorario (**false**)
16
+ */
17
+ clockwise?: boolean;
18
+ /**
19
+ * Angolo da cui i nodi partono, in radianti (Default: **3 / 2 * Math.PI**)
20
+ */
21
+ startAngle: number;
22
+ /**
23
+ * Indica se adattare al contenitore
24
+ */
25
+ fit: boolean;
26
+ /**
27
+ * Include o esclude le dimensioni delle label dei nodi nel calcolo delle posizioni
28
+ */
29
+ nodeDimensionsIncludeLabels: boolean;
30
+ /**
31
+ * Indica se i livelli devono essere o non essere equidistanti, potrebbe causare overflow dal contenitore
32
+ */
33
+ equidistant: boolean;
34
+ /**
35
+ * Distanza minima dall'esterno dei nodi, utilizzato per aggiustare il raggio
36
+ */
37
+ minNodeSpacingnumber: number;
38
+ /**
39
+ * Specifica le dimensioni esatte al cui interno effettuare il layouting, specificato come **{ x1, y1, x2, y2 }** o **{ x1, y1, w, h }**
40
+ */
41
+ boundingBox: BoundingBox12 | BoundingBoxWH | undefined;
42
+ /**
43
+ * Altezza dell'area di layout (sovrascrive quella del contenitore)
44
+ */
45
+ height: number;
46
+ /**
47
+ * Larghezza dell'area di layout (sovrascrive quella del contenitore)
48
+ */
49
+ width: number;
50
+ /**
51
+ * Moltiplicatore delle dimensioni per espandere/restringere le dimensioni globali del diagramma
52
+ */
53
+ spacingFactor: number;
54
+ /**
55
+ * Funzione di cui si può fare override per assegnare un valore ad ogni nodo. I nodi con valore più alto saranno piazzati verso il centro
56
+ *
57
+ * @param {any} node Nodo
58
+ *
59
+ * @returns {number} Valore su cui ordinare i nodi verso il centro
60
+ */
61
+ concentric(node: {
62
+ degree(): number;
63
+ }): number;
64
+ /**
65
+ * Funzione di cui si può fare override per calcolare la variazione dei valori concentrici per ogni livello
66
+ *
67
+ * @param {any} nodes Gruppo di nodi del livello
68
+ *
69
+ * @returns {number} Variazione dei valori concentrici
70
+ */
71
+ levelWidth(nodes: {
72
+ maxDegree(): number;
73
+ }): number;
74
+ }
@@ -0,0 +1,80 @@
1
+ import { ShapedLayoutOptionsImpl } from './base/ShapedLayoutOptionsImpl';
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Cose
4
+ */
5
+ export declare class CoseLayoutOptionsImpl extends ShapedLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ /**
13
+ * Se **animate** è **true**, l'animazione parte solo dopo questo numero di millisecondi (Evita flickering su animazioni veloci)
14
+ */
15
+ animationThreshold: number;
16
+ /**
17
+ * Numero di iterazioni fra aggiornamenti consecutivi della posizione a schermo
18
+ */
19
+ refresh: number;
20
+ /**
21
+ * Se **true** la posizione iniziale dei nodi è casuale, se **false** utilizza la posizione originale
22
+ */
23
+ randomize: boolean;
24
+ /**
25
+ * Spazio extra fra i componenti di un grafo non-compound
26
+ */
27
+ componentSpacing: number;
28
+ /**
29
+ * Moltiplicatore della repulsione fra nodi in caso di overlap
30
+ */
31
+ nodeOverlap: number;
32
+ /**
33
+ * Moltiplicatore di nesting per il calcolo della lunghezza ideale dei collegamenti nested
34
+ */
35
+ nestingFactor: number;
36
+ /**
37
+ * Costante di gravità
38
+ */
39
+ gravity: number;
40
+ /**
41
+ * Numero massimo di iterazioni da eseguire
42
+ */
43
+ numIter: number;
44
+ /**
45
+ * Temperatura iniziale (massima distanza fra i nodi)
46
+ */
47
+ initialTemp: number;
48
+ /**
49
+ * Fattore di raffreddamento. Ad ogni iterazione verrà sottratto ad **initialTemp**
50
+ */
51
+ coolingFactor: number;
52
+ /**
53
+ * Soglia minima di temperatura. Una volta raggiunta il layout si considera terminato
54
+ */
55
+ minTemp: number;
56
+ /**
57
+ * Moltiplicatore della repulsione fra nodi in caso di assenza di overlap. Funzione overrideabile per ogni node
58
+ *
59
+ * @param {any} node Nodo
60
+ *
61
+ * @returns {number} Moltiplicazione di repulsione
62
+ */
63
+ nodeRepulsion: (node: any) => number;
64
+ /**
65
+ * Lunghezza ideale dei collegamenti non nested. Funzione overrideabile per ogni collegamento
66
+ *
67
+ * @param {any} edge Collegamento
68
+ *
69
+ * @returns {number} Lunghezza ideale
70
+ */
71
+ idealEdgeLength: (edge: any) => number;
72
+ /**
73
+ * Divisore per calcolare le forze applicate ad un collegamento. Funzione overrideabile per ogni collegamento
74
+ *
75
+ * @param {any} edge Collegamento
76
+ *
77
+ * @returns {number} Indice di elasticità
78
+ */
79
+ edgeElasticity: (edge: any) => number;
80
+ }
@@ -0,0 +1,48 @@
1
+ import { ShapedLayoutOptionsImpl } from './base/ShapedLayoutOptionsImpl';
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Dagre
4
+ */
5
+ export declare class DagreLayoutOptionsImpl extends ShapedLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ /**
13
+ * Distanza fra nodi adiacenti dello stesso rango
14
+ */
15
+ nodeSep: number;
16
+ /**
17
+ * Distanza fra collegamenti adiacenti nello stesso rango
18
+ */
19
+ edgeSep: number;
20
+ /**
21
+ * Distanza fra ogni rango
22
+ */
23
+ rankSep: number;
24
+ /**
25
+ * Direzione di disegno: LR = Sinistra a Destra, TB = Sopra a Sotto
26
+ */
27
+ rankDir: 'LR' | 'TB';
28
+ /**
29
+ * Algoritmo che si occupa di assegnare un rango ad ogni nodo
30
+ */
31
+ ranker: 'network-simplex' | 'tight-tree' | 'longest-path';
32
+ /**
33
+ * Numero di ranghi fra la sorgente e la destinazione di un collegamento
34
+ *
35
+ * @param {any} edge Collegamento di cui calcolare la differenza di rango
36
+ *
37
+ * @returns {number} Differenza di rango
38
+ */
39
+ minLen: (edge: any) => number;
40
+ /**
41
+ * Peso del collegamento, più è alto più generalmente risulterà corto
42
+ *
43
+ * @param {any} edge Collegamento di cui calcolare il peso
44
+ *
45
+ * @returns {number} Peso
46
+ */
47
+ edgeWeight: (edge: any) => number;
48
+ }
@@ -0,0 +1,39 @@
1
+ import { NodeSingular } from 'cytoscape';
2
+ import { ShapedLayoutOptionsImpl } from './base/ShapedLayoutOptionsImpl';
3
+ /**
4
+ * Default per l'implementazione dell'algoritmo Grid
5
+ */
6
+ export declare class GridLayoutOptionsImpl extends ShapedLayoutOptionsImpl {
7
+ /** @ignore */
8
+ constructor();
9
+ /**
10
+ * Nome dell'algoritmo di layouting
11
+ */
12
+ name: string;
13
+ /**
14
+ * Spazio extra attorno ai nodi quando **avoidOverlap** è **true**
15
+ */
16
+ avoidOverlapPadding: number;
17
+ /**
18
+ * Se **true** cerca di utilizzare il minor spazio possibile, se **false** usa tutto lo spazio che ha a disposizione
19
+ */
20
+ condense: boolean;
21
+ /**
22
+ * Forzatura del numero di righe della griglia
23
+ */
24
+ rows?: number | undefined;
25
+ /**
26
+ * Forzatura del numero di colonne della griglia
27
+ */
28
+ cols?: number | undefined;
29
+ /**
30
+ * Dato un nodo restituisce un indice di riga e di colonna della griglia in cui metterlo
31
+ *
32
+ * @param {NodeSingular} node Nodo
33
+ * @returns {{ row: number, col: number }} Oggetto che identifica una posizione della griglia
34
+ */
35
+ position: (node: NodeSingular) => {
36
+ row: number;
37
+ col: number;
38
+ };
39
+ }
@@ -0,0 +1,12 @@
1
+ import { BaseLayoutOptionsImpl } from './base/BaseLayoutOptionsImpl';
2
+ /**
3
+ * Pseudo implementazione di un algoritmo vuoto che non fa nulla
4
+ */
5
+ export declare class NullLayoutOptionsImpl extends BaseLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ }
@@ -0,0 +1,37 @@
1
+ import { AnimateLayoutOptionsImpl } from './base/AnimateLayoutOptionsImpl';
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Preset (Posiziona i nodi in base alla loro proprietà **position**)
4
+ */
5
+ export declare class PresetLayoutOptionsImpl extends AnimateLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ /**
13
+ * Indica se adattare al contenitore
14
+ */
15
+ fit?: boolean;
16
+ /**
17
+ * Padding rispetto al contenitore
18
+ */
19
+ padding?: number;
20
+ /**
21
+ * Mappatura da un nodo ad una posizione
22
+ *
23
+ * @param {any} node Nodo
24
+ *
25
+ * @returns {any} Posizione iniziale
26
+ */
27
+ positions: (node: any) => any;
28
+ /**
29
+ * Funzione per la trasformazione delle posizioni dei nodi
30
+ *
31
+ * @param {any} node Nodo
32
+ * @param {any} position Posizione iniziale
33
+ *
34
+ * @returns {any} Posizione finale
35
+ */
36
+ transform: (node: any, position: any) => any;
37
+ }
@@ -0,0 +1,33 @@
1
+ import { AnimateLayoutOptionsImpl } from './base/AnimateLayoutOptionsImpl';
2
+ /**
3
+ * Default per l'implementazione dell'algoritmo Random
4
+ */
5
+ export declare class RandomLayoutOptionsImpl extends AnimateLayoutOptionsImpl {
6
+ /** @ignore */
7
+ constructor();
8
+ /**
9
+ * Nome dell'algoritmo di layouting
10
+ */
11
+ name: string;
12
+ /**
13
+ * Indica se adattare al contenitore
14
+ */
15
+ fit: boolean;
16
+ /**
17
+ * Padding rispetto al contenitore
18
+ */
19
+ padding: number;
20
+ /**
21
+ * Specifica le dimensioni esatte al cui interno effettuare il layouting, specificato come **{ x1, y1, x2, y2 }** o **{ x1, y1, w, h }**
22
+ */
23
+ boundingBox: cytoscape.BoundingBox12 | cytoscape.BoundingBoxWH | undefined;
24
+ /**
25
+ * Funzione per la trasformazione delle posizioni dei nodi
26
+ *
27
+ * @param {any} node Nodo
28
+ * @param {any} position Posizione iniziale
29
+ *
30
+ * @returns {any} Posizione finale
31
+ */
32
+ transform: (node: any, position: any) => any;
33
+ }
@@ -0,0 +1,40 @@
1
+ import { AnimatedLayoutOptions } from 'cytoscape';
2
+ import { BaseLayoutOptionsImpl } from './BaseLayoutOptionsImpl';
3
+ /**
4
+ * Classe base con le opzioni di layout valide per tutti i layout animati
5
+ */
6
+ export declare class AnimateLayoutOptionsImpl extends BaseLayoutOptionsImpl implements AnimatedLayoutOptions {
7
+ /** @ignore */
8
+ constructor();
9
+ /**
10
+ * Livello di zoom da impostare (si consiglia fit = **false** se viene impostato)
11
+ */
12
+ zoom: number;
13
+ /**
14
+ * Livello di pan da impostare (si consiglia fit = **false** se viene impostato)
15
+ */
16
+ pan: number;
17
+ /**
18
+ * Indica se animare il cambio di posizione dei nodi
19
+ */
20
+ animate: boolean;
21
+ /**
22
+ * Con **animate** a true indica la durata dell'animazione
23
+ */
24
+ animationDuration: number;
25
+ /**
26
+ * Abilita o no l'easing dell'animazione, può essere una stringa come ad esempio "ease-in-out-cubic" o altre funzioni scritte allo stesso modo prese da https://easings.net/
27
+ */
28
+ animationEasing: any;
29
+ /**
30
+ * Funzione che indica se un nodo dev'essere animato o no.
31
+ * Tutti i nodi sono animati di default.
32
+ * Tutti i nodi che non vengono animati verranno posizionati appena inizia l'animazione
33
+ *
34
+ * @param {any} node Nodo per cui decidere se abilitare l'animazione o no
35
+ * @param {number} i Indice del nodo corrente
36
+ *
37
+ * @returns {boolean} **true** se il nodo dev'essere animato, **false** altrimenti
38
+ */
39
+ animateFilter: (node: any, i: number) => boolean;
40
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Opzioni di layout di base che si collegano al **ready** e allo **stop** eventualmente per aggiungere del log addizionale
3
+ */
4
+ export declare class BaseLayoutOptionsImpl {
5
+ /**
6
+ * Per ora ignoro lato documentale dato che sono placholder
7
+ * @ignore
8
+ */
9
+ ready(e: cytoscape.LayoutEventObject): void;
10
+ /**
11
+ * Per ora ignoro lato documentale dato che sono placholder
12
+ * @ignore
13
+ */
14
+ stop(e: cytoscape.LayoutEventObject): void;
15
+ }
@@ -0,0 +1,46 @@
1
+ import { BoundingBox12, BoundingBoxWH, SortingFunction } from 'cytoscape';
2
+ import { AnimateLayoutOptionsImpl } from './AnimateLayoutOptionsImpl';
3
+ /**
4
+ * Classe base per gli algoritmi "Shaped"
5
+ */
6
+ export declare class ShapedLayoutOptionsImpl extends AnimateLayoutOptionsImpl {
7
+ /** @ignore */
8
+ constructor();
9
+ /**
10
+ * Indica se adattare al contenitore
11
+ */
12
+ fit: boolean;
13
+ /**
14
+ * Padding rispetto al contenitore
15
+ */
16
+ padding: number;
17
+ /**
18
+ * Specifica le dimensioni esatte al cui interno effettuare il layouting, specificato come **{ x1, y1, x2, y2 }** o **{ x1, y1, w, h }**
19
+ */
20
+ boundingBox?: BoundingBox12 | BoundingBoxWH | undefined;
21
+ /**
22
+ * Fa in modo che i nodi non si accavallino, ma se il contenitore non ha abbastanza spazio potrebbero andare in overflow
23
+ */
24
+ avoidOverlap: boolean;
25
+ /**
26
+ * Include o esclude le dimensioni delle label dei nodi nel calcolo delle posizioni
27
+ */
28
+ nodeDimensionsIncludeLabels: boolean;
29
+ /**
30
+ * Moltiplicatore delle dimensioni per espandere/restringere le dimensioni globali del diagramma
31
+ */
32
+ spacingFactor: number;
33
+ /**
34
+ * Funzione di ordinamento per ordinare i nodi
35
+ */
36
+ sort?: SortingFunction;
37
+ /**
38
+ * Funzione per la trasformazione delle posizioni dei nodi
39
+ *
40
+ * @param {any} node Nodo
41
+ * @param {any} position Posizione iniziale
42
+ *
43
+ * @returns {any} Posizione finale
44
+ */
45
+ transform: (node: any, position: any) => any;
46
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Classe che si occupa del dispatch delle operazioni di rendering degli oggetti utilizzando una coda
3
+ */
4
+ export declare class EsDiagramDispatcher {
5
+ private logs;
6
+ /**
7
+ * Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando oggetti
8
+ */
9
+ private Initializations;
10
+ /**
11
+ * Lista degli oggetti inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
12
+ */
13
+ private Initialized;
14
+ /**
15
+ * @ignore
16
+ */
17
+ constructor(logs: boolean);
18
+ /**
19
+ * Registra un oggetto da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti gli oggetti
20
+ * precedentemente registati non hanno finito la fase di inizializzazione
21
+ *
22
+ * @param {string} name Identificativo dell'oggetto da registrare
23
+ * @param {Function} creationFunction Funzione che fisicamente dovrà occuparsi della creazione dell'oggetto
24
+ */
25
+ register(name: string, creationFunction: Function): void;
26
+ /**
27
+ * Deregistra un oggetto presente. Chiamata generalmente al dispose dell'oggetto in questione quando non dev'essere più mostrato nella pagina corrente
28
+ *
29
+ * @param {string} name Identificativo dell'oggetto da deregistrare
30
+ */
31
+ deregister(name: string): void;
32
+ /**
33
+ * Metodo che esegue in maniera sequenziale le funzioni di inizializzazione degli oggetti finché presenti
34
+ * in modo che nessun oggetto possa essere inizializzato contemporaneamente ad un altro
35
+ */
36
+ private drainInitQueues;
37
+ /**
38
+ * @ignore
39
+ */
40
+ private log;
41
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Oggetto statico di localizzazione per i messaggi
3
+ */
4
+ export declare const Loc: {
5
+ Module: {
6
+ "en-US": string;
7
+ "it-IT": string;
8
+ };
9
+ "Received an undefined module. Make sure you are correctly loading it": {
10
+ "en-US": string;
11
+ "it-IT": string;
12
+ };
13
+ "Module not available. Loading it now": {
14
+ "en-US": string;
15
+ "it-IT": string;
16
+ };
17
+ "Module already loaded": {
18
+ "en-US": string;
19
+ "it-IT": string;
20
+ };
21
+ "Diagram container size has changed, redrawing": {
22
+ "en-US": string;
23
+ "it-IT": string;
24
+ };
25
+ "Module cannot be loaded": {
26
+ "en-US": string;
27
+ "it-IT": string;
28
+ };
29
+ "Redraw based on dynamic Input change is supported only for 'Elements' and 'Layout' inputs, please destroy the component and recreate it with the new settings": {
30
+ "en-US": string;
31
+ "it-IT": string;
32
+ };
33
+ "is loaded and managed directly by this library. You don't need to import it or use it directly, just be sure to set the relative options": {
34
+ "en-US": string;
35
+ "it-IT": string;
36
+ };
37
+ "If you don't specify a source and a target for an edge you have to write its id in the format {source}-{target}": {
38
+ "en-US": string;
39
+ "it-IT": string;
40
+ };
41
+ "Elements have been changed after diagram initialization": {
42
+ "en-US": string;
43
+ "it-IT": string;
44
+ };
45
+ "Layout have been changed after diagram initialization": {
46
+ "en-US": string;
47
+ "it-IT": string;
48
+ };
49
+ };