Projekt

Obecné

Profil

Stáhnout (3.52 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 - použito např. při definici odkud kam vede hrana
43
			"originalId": <int>,			//identifikátor vrcholu, který byl použit před zpracováním(filtrací) v backendu
44
			"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á
45
			"title": <string>,				//jméno vrcholu
46
			"position": {								//obsahuje relativní pozici uzlu v grafu
47
				"x": <float>,
48
				"y": <float>
49
			}
50
		},
51
		...
52
	],
53

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

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

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

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

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