Projekt

Obecné

Profil

Stáhnout (3.66 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
			"name": <string>,	//název archetypu
23
			"text": <string>	//může sloužit jako popisek archetypu, nemusí být použit
24
		},
25
		...
26
	],
27

    
28
	"vertices": [							//vrcholy
29
		{
30
			"archetype": <int>,				//typ vrcholu (index v poli vertexArchetypes)
31
			"attributes": [
32
				[
33
					<string-key>
34
					<string-value>
35
				],
36
				...
37
			],
38
			"id": <int>,					//identifikátor vrcholu - použito např. při definici odkud kam vede hrana
39
			"originalId": <int>,			//identifikátor vrcholu, který byl použit před zpracováním(filtrací) v backendu
40
			"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á
41
			"title": <string>,				//jméno vrcholu
42
		},
43
		...
44
	],
45

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

    
70
	"possibleEnumValues": {
71
		<attribute idx>: [
72
			<string>,
73
			<string>,
74
			...
75
		],
76
		...
77
	},
78

    
79
	"archetypeIcons": [						//Definice archetypových ikon
80
		{
81
			"name": "archetypeName",		//ikony identifikovány pomocí jmén
82
			"value": "archetype svg"		//dát pozor na escapování uvozovek
83
			
84
			//svg musí být pro správnou vizualizaci definován tak, aby obsahoval objekty, které leží uvnitř obdélníka [0; 0]  [12; 15]
85
		},
86
		...
87
	],
88

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

    
101
	"positions": [			//obsahuje relativní pozice uzlů a skupin v grafu
102
		{
103
			"id": <int>,	//identifikátor uzlu nebo skupiny
104
			"x": <int>,		//X-ová pozice v grafu
105
			"y": <int>		//Y-ová pozice v grafu
106
		},
107
		...
108
	],
109

    
110
	"sideBar": [					//obsahuje seznam uzlů a skupin, které jsou umístěné v postraním panelu
111
		{
112
			"id": <int>,			//identifikátor uzlu nebo skupiny
113
			"isHighlighted": <bool>	//identifikuje, zda budou u sousedů zobrazeny ikony
114
		},
115
		...
116
	],
117

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