Projekt

Obecné

Profil

Stáhnout (3.32 KB) Statistiky
| Větev: | Tag: | Revize:
1
Návrh JSONu
2
{
3
	"attributeTypes": [
4
		{
5
			"dataType": <string>,	//datový typ atributu (number, string, enum, ...)
6
			"name": <string>,		//název atributu
7
			"text": <string>		//může sloužit jako popisek atributu, nemusí být použit
8
		},
9
		...
10
	],
11

    
12
	"edgeArchetypes": [ 		//možné archetypy hran
13
		{
14
			"name": <string>, 	//název archetypu
15
			"text": <string> 	//může sloužit jako popisek archetypu, nemusí být použit
16
		},
17
		...
18
	],
19

    
20
	"vertexArchetypes": [		//možné archetypy vrcholů
21
		{
22
			"icon": <string>,  	// svg s ikonou
23
			"name": <string>,	//název archetypu
24
			"text": <string>	//může sloužit jako popisek archetypu, nemusí být použit
25

    
26
			// svg musí být pro správnou vizualizaci definován tak, aby obsahoval objekty, které leží uvnitř obdélníka [0; 0]  [12; 15]
27
			// dát pozor u svg na escapování uvozovek
28
		},
29
		...
30
	],
31

    
32
	"vertices": [							//vrcholy
33
		{
34
			"archetype": <int>,				//typ vrcholu (index v poli vertexArchetypes)
35
			"attributes": [
36
				[
37
					<string-key>
38
					<string-value>
39
				],
40
				...
41
			],
42
			"id": <int>,					//identifikátor vrcholu, který byl použit před zpracováním(filtrací) v backendu
43
			"text": <string>,				//text pro případné dodatečné info mimo atributy - nemusí být použito, může sloužit jako popisek vrcholu, např. když si uživatel zobrazí jeho detaily, nejdříve se zobrazí tento popisek a  pak hodnoty atributů, může sloužit i jen jako nosič informace, která nebude uživateli přístupná
44
			"title": <string>,				//jméno vrcholu
45
			"position": {								//obsahuje relativní pozici uzlu v grafu
46
				"x": <float>,
47
				"y": <float>
48
			}
49
		},
50
		...
51
	],
52

    
53
	"edges": [ 								//hrany
54
		{
55
			"subedgeInfo": [
56
				{
57
					"id": <int>,			//identifikátor hrany, který byl použit před zpracováním(filtrací) v backendu
58
					"archetype": <int>,		//typ hrany (index v poli edgeArchetypes)
59
					"attributes": [			//struktura atributu je vzdy klic - hodnota
60
						[
61
							<string-key>
62
							<string-value>
63
						],
64
						...
65
					]
66
				},
67
				...
68
			],
69
			"from": <int>,					//orignal id počátečního vrcholu
70
			"id": <int>,					//identifikátor hrany
71
			"text": <string>,				//podobně jako text u vertices
72
			"to": <int>,					//original id koncového vrcholu
73
		},
74
		...
75
	],
76

    
77
	"possibleEnumValues": {
78
		<attribute idx>: [
79
			<string>,
80
			<string>,
81
			...
82
		],
83
		...
84
	},
85

    
86
	"groups": [											//obsahuje jednotlivé skupiny uzlů
87
		{
88
			"id": <int>,								//identifikátor skupiny
89
			"name": <string>,							//název skupiny
90
			"verticesId": [<int>, <int>, ...],			//original id uzlu, které jsou ve skupině
91
			"verticesEdgeFromId": [<int>, <int>, ...],	//identifikátory uzlů, jejichž odchozí hrany jsou viditelné v grafu
92
			"verticesEdgeToId": [<int>, <int>, ...]		//identifikátory uzlů, jejichž příchozí hrany jsou viditelné v grafu
93
			"position": {								//obsahuje relativní pozici skupiny v grafu
94
				"x": <float>,
95
				"y": <float>
96
			}
97
		},
98
		...
99
	],
100

    
101
	"sideBar": [					//obsahuje seznam uzlů a skupin, které jsou umístěné v postraním panelu
102
		{
103
			"id": <int>,			//identifikátor uzlu nebo skupiny
104
			"isHighlighted": <bool>	//identifikuje, zda budou u sousedů zobrazeny ikony
105
		},
106
		...
107
	],
108

    
109
	"selectedVertex": <int>,		//identifikátor uzlu nebo skupiny, který je zvýrazněn
110
	"selectedEdge": <int>			//identifikátor hrany, která je zvýrazněna
111
}
(1-1/6)