blob: 8c2bd42d38fc21e0addca1209e57f55cc78ac9da [file] [log] [blame]
Matteo Scandolofcdbed32016-02-08 16:55:44 -08001/* CONTAINER */
2diagnostic .half-height {
3 position: relative;
4 height: 50%;
5}
6
Matteo Scandolo51031482016-02-17 13:54:11 -08007diagnostic .onethird-height {
8 position: relative;
9 height: 33%;
10}
11
12diagnostic .twothird-height {
13 position: relative;
14 height: 67%;
15}
16
Matteo Scandolo9fe01af2016-02-09 16:01:49 -080017diagnostic .subscriber-select{
18 max-width: 200px;
19 position: absolute;
20 top: 20px;
21 right: 20px;
22 z-index: 1;
23}
24
Matteo Scandolo219b1a72016-02-09 11:19:22 -080025.half-height + .half-height {
26 border-top: 1px solid black;
27}
28
29service-topology,
30logic-topology {
Matteo Scandolo8a64fa42016-01-21 11:21:03 -080031 height: 100%;
32 width: 100%;
33 display: block;
Matteo Scandolo219b1a72016-02-09 11:19:22 -080034 position: absolute;
35 top: 0;
Matteo Scandolo8a64fa42016-01-21 11:21:03 -080036}
37
Matteo Scandoloe4779902016-02-09 11:37:11 -080038logic-topology .subscriber circle,
39logic-topology .device circle{
40 fill: #fff;
41 stroke: green;
42 stroke-width: 1px;
43}
44
Matteo Scandolo9fe01af2016-02-09 16:01:49 -080045logic-topology .network .cloud {
46 fill: #fff;
47 stroke: green;
48 stroke-width: 1px;
49}
50
Matteo Scandoloaf9402e2016-02-17 13:59:20 -080051/* RACK */
52logic-topology .node.rack > g > rect{
53 fill: #ccc;
54 stroke: steelblue;
55 stroke-width: 1px;
56}
57
58/* CP NODE */
59
60logic-topology .compute-node > rect{
Matteo Scandoload5b2282016-02-16 11:50:51 -080061 fill: #fff;
62 stroke: steelblue;
63 stroke-width: 1px;
64}
65
Matteo Scandoloaf9402e2016-02-17 13:59:20 -080066/* INSTANCE */
67
68logic-topology .instance > rect{
69 fill: #eee;
70 stroke: steelblue;
71 stroke-width: 1px;
72}
73
Matteo Scandolo79de20a2016-02-16 15:06:11 -080074logic-topology .node .instance.active rect{
75 fill: lightsteelblue;
76 stroke: steelblue;
77 stroke-width: 1px;
78}
79
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -080080/* LEGEND */
81
82.legend {
83 fill: #fff;
84 stroke: #ccc;
85 stroke-width: 1px;
86 position: relative;
87}
88
89.legend text {
90 stroke: #000;
91}
92
Matteo Scandolo8a64fa42016-01-21 11:21:03 -080093.node {
94 cursor: pointer;
95}
96
Matteo Scandolo5bf04572016-01-25 17:36:08 -080097.node circle,
98.node rect{
Matteo Scandolo8a64fa42016-01-21 11:21:03 -080099 fill: #fff;
100 stroke: steelblue;
Matteo Scandolofcdbed32016-02-08 16:55:44 -0800101 stroke-width: 1px;
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800102}
103
Matteo Scandolof2c99012016-01-25 10:10:38 -0800104.node.subscriber circle,
Matteo Scandolo9fe01af2016-02-09 16:01:49 -0800105.node.subscriber rect,
106.node.router circle,
107.node.router rect {
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800108 stroke: #05ffcb;
Matteo Scandolof2c99012016-01-25 10:10:38 -0800109}
110
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800111.node.slice rect {
Matteo Scandolo071ef462016-01-25 12:00:42 -0800112 stroke: #b01dff;
113}
114
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800115.node.instance rect {
Matteo Scandoloc9ebd922016-01-28 12:02:57 -0800116 stroke: #ccc;
117}
118
119.node.instance rect.active {
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800120 stroke: #ff8b00;
Matteo Scandolo071ef462016-01-25 12:00:42 -0800121}
122
Matteo Scandolo6e8a75a2016-01-22 09:33:26 -0800123.node rect.slice-detail{
124 fill: #fff;
125 stroke: steelblue;
126 stroke-width: 3px;
127}
128
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800129.node text {
130 font: 12px sans-serif;
131}
132
Matteo Scandolo219b1a72016-02-09 11:19:22 -0800133.link, .device-link {
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800134 fill: none;
135 stroke: #ccc;
136 stroke-width: 2px;
Matteo Scandolo06f45d62016-01-21 15:38:06 -0800137}
138
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800139.link.slice {
Matteo Scandolo9ef3c842016-01-25 13:55:09 -0800140 stroke: rgba(157, 4, 183, 0.29);
141}
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800142.link.instance{
Matteo Scandoloc9ebd922016-01-28 12:02:57 -0800143 stroke: #ccc;
144}
145
146.link.instance.active{
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800147 stroke: rgba(255, 138, 0, 0.65);
148}
Matteo Scandolo9ef3c842016-01-25 13:55:09 -0800149
Matteo Scandolo06f45d62016-01-21 15:38:06 -0800150.service-details{
151 width: 200px;
152 position: absolute;
153 top: 20px;
154 right: 20px;
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800155}
156
157/* when showing the thing */
158
159.animate.ng-hide-remove {
160 animation:0.5s bounceInRight ease;
161}
162
163/* when hiding the picture */
164.animate.ng-hide-add {
165 animation:0.5s bounceOutRight ease;
166}
167
168/* ANIMATIONS */
169
170@keyframes bounceInRight {
171 from, 60%, 75%, 90%, to {
172 animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
173 }
174
175 from {
176 opacity: 0;
177 transform: translate3d(3000px, 0, 0);
178 }
179
180 60% {
181 opacity: 1;
182 transform: translate3d(-25px, 0, 0);
183 }
184
185 75% {
186 transform: translate3d(10px, 0, 0);
187 }
188
189 90% {
190 transform: translate3d(-5px, 0, 0);
191 }
192
193 to {
194 transform: none;
195 }
196}
197
198@keyframes bounceInLeft {
199 from, 60%, 75%, 90%, to {
200 animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
201 }
202
203 0% {
204 opacity: 0;
205 transform: translate3d(-3000px, 0, 0);
206 }
207
208 60% {
209 opacity: 1;
210 transform: translate3d(25px, 0, 0);
211 }
212
213 75% {
214 transform: translate3d(-10px, 0, 0);
215 }
216
217 90% {
218 transform: translate3d(5px, 0, 0);
219 }
220
221 to {
222 transform: none;
223 }
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800224}