blob: 4492faf7154d1668c34967b614405df2c5060f75 [file] [log] [blame]
Matteo Scandolofcdbed32016-02-08 16:55:44 -08001/* CONTAINER */
Matteo Scandolo70ac2162016-02-24 15:40:22 -08002#xosDiagnostic, [ui-view] {
Matteo Scandolod4ea8772016-03-01 15:20:29 -08003 min-height: 700px;
4 position: relative;
Matteo Scandolo70ac2162016-02-24 15:40:22 -08005}
6
7diagnostic-container .half-height {
Matteo Scandolofcdbed32016-02-08 16:55:44 -08008 position: relative;
9 height: 50%;
10}
11
Matteo Scandolo70ac2162016-02-24 15:40:22 -080012diagnostic-container .onethird-height {
Matteo Scandolo51031482016-02-17 13:54:11 -080013 position: relative;
14 height: 33%;
Matteo Scandolo19acf7c2016-03-07 16:07:13 -080015 border-bottom: 1px solid #999;
Matteo Scandolo51031482016-02-17 13:54:11 -080016}
17
Matteo Scandolo70ac2162016-02-24 15:40:22 -080018diagnostic-container .twothird-height {
Matteo Scandolo51031482016-02-17 13:54:11 -080019 position: relative;
20 height: 67%;
21}
22
Matteo Scandolo70ac2162016-02-24 15:40:22 -080023diagnostic-container .subscriber-select{
Matteo Scandolo9fe01af2016-02-09 16:01:49 -080024 max-width: 200px;
25 position: absolute;
26 top: 20px;
27 right: 20px;
28 z-index: 1;
29}
30
Matteo Scandolo19acf7c2016-03-07 16:07:13 -080031diagnostic-container .onethird-height .well,
32diagnostic-container .twothird-height .well {
33 font-weight: bold;
34 max-width: 165px;
35 text-align: center;
36 margin-top: 15px;
37 background: #eee;
38 border-color: steelblue;
39 padding: 10px;
40}
41
Matteo Scandolo6c6e5942016-03-02 10:59:46 -080042
43/* subscriber-status-modal */
44subscriber-status-modal .row + .row {
45 margin-top: 20px;
46}
47
Matteo Scandolo219b1a72016-02-09 11:19:22 -080048.half-height + .half-height {
49 border-top: 1px solid black;
50}
51
52service-topology,
53logic-topology {
Matteo Scandolo8a64fa42016-01-21 11:21:03 -080054 height: 100%;
55 width: 100%;
56 display: block;
Matteo Scandolo219b1a72016-02-09 11:19:22 -080057 position: absolute;
58 top: 0;
Matteo Scandolo8a64fa42016-01-21 11:21:03 -080059}
60
Matteo Scandoloe4779902016-02-09 11:37:11 -080061logic-topology .subscriber circle,
62logic-topology .device circle{
63 fill: #fff;
64 stroke: green;
65 stroke-width: 1px;
66}
67
Matteo Scandoloc49ff702016-02-17 15:11:33 -080068logic-topology > svg {
69 position: absolute;
70 top: 0;
71}
72
Matteo Scandoloc49ff702016-02-17 15:11:33 -080073/* CLOUDS */
74
Matteo Scandolo9fe01af2016-02-09 16:01:49 -080075logic-topology .network .cloud {
76 fill: #fff;
77 stroke: green;
78 stroke-width: 1px;
79}
80
Matteo Scandoloaf9402e2016-02-17 13:59:20 -080081/* RACK */
82logic-topology .node.rack > g > rect{
83 fill: #ccc;
84 stroke: steelblue;
85 stroke-width: 1px;
86}
87
88/* CP NODE */
89
90logic-topology .compute-node > rect{
Matteo Scandoload5b2282016-02-16 11:50:51 -080091 fill: #fff;
92 stroke: steelblue;
93 stroke-width: 1px;
94}
95
Matteo Scandoloaf9402e2016-02-17 13:59:20 -080096/* INSTANCE */
97
98logic-topology .instance > rect{
99 fill: #eee;
100 stroke: steelblue;
101 stroke-width: 1px;
102}
103
Matteo Scandolo79de20a2016-02-16 15:06:11 -0800104logic-topology .node .instance.active rect{
105 fill: lightsteelblue;
106 stroke: steelblue;
107 stroke-width: 1px;
108}
109
Matteo Scandolo26d17e12016-02-23 13:47:14 -0800110logic-topology .node .instance.active.good > rect{
111 fill: green;
112}
113
114logic-topology .node .instance.active.provisioning > rect{
115 fill: yellow;
116}
117
118logic-topology .node .instance.active.bad > rect{
119 fill: red;
120}
121
122/* INSTANCE STATS */
123
124logic-topology .node .instance .stats-container rect {
125 fill: white;
126}
127
128logic-topology .node .instance .stats-container text.name{
129 font-weight: bold;
130}
131
132logic-topology .node .instance .stats-container text.ip{
133 font-style: italic;
134 font-size: 10px;
135}
136
137/* CONTAINERS */
Matteo Scandolof0d6e692016-02-24 11:14:01 -0800138logic-topology .node .instance .stats-container .container rect {
Matteo Scandolo26d17e12016-02-23 13:47:14 -0800139 fill: #eee;
140 stroke: steelblue;
141 stroke-width: 1px;
142}
143
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800144/* LEGEND */
145
146.legend {
147 fill: #fff;
148 stroke: #ccc;
149 stroke-width: 1px;
150 position: relative;
151}
152
153.legend text {
154 stroke: #000;
155}
156
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800157.node {
158 cursor: pointer;
159}
160
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800161.node circle,
162.node rect{
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800163 fill: #fff;
164 stroke: steelblue;
Matteo Scandolofcdbed32016-02-08 16:55:44 -0800165 stroke-width: 1px;
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800166}
167
Matteo Scandolof2c99012016-01-25 10:10:38 -0800168.node.subscriber circle,
Matteo Scandolo9fe01af2016-02-09 16:01:49 -0800169.node.subscriber rect,
170.node.router circle,
171.node.router rect {
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800172 stroke: #05ffcb;
Matteo Scandolof2c99012016-01-25 10:10:38 -0800173}
174
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800175.node.slice rect {
Matteo Scandolo071ef462016-01-25 12:00:42 -0800176 stroke: #b01dff;
177}
178
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800179.node.instance rect {
Matteo Scandoloc9ebd922016-01-28 12:02:57 -0800180 stroke: #ccc;
181}
182
183.node.instance rect.active {
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800184 stroke: #ff8b00;
Matteo Scandolo071ef462016-01-25 12:00:42 -0800185}
186
Matteo Scandolo6e8a75a2016-01-22 09:33:26 -0800187.node rect.slice-detail{
188 fill: #fff;
189 stroke: steelblue;
190 stroke-width: 3px;
191}
192
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800193.node text {
194 font: 12px sans-serif;
195}
196
Matteo Scandolo19acf7c2016-03-07 16:07:13 -0800197.node text.small {
198 font-size: 10px;
199}
200
Matteo Scandolo219b1a72016-02-09 11:19:22 -0800201.link, .device-link {
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800202 fill: none;
203 stroke: #ccc;
204 stroke-width: 2px;
Matteo Scandolo06f45d62016-01-21 15:38:06 -0800205}
206
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800207.link.slice {
Matteo Scandolo9ef3c842016-01-25 13:55:09 -0800208 stroke: rgba(157, 4, 183, 0.29);
209}
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800210.link.instance{
Matteo Scandoloc9ebd922016-01-28 12:02:57 -0800211 stroke: #ccc;
212}
213
214.link.instance.active{
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800215 stroke: rgba(255, 138, 0, 0.65);
216}
Matteo Scandolo9ef3c842016-01-25 13:55:09 -0800217
Matteo Scandolo06f45d62016-01-21 15:38:06 -0800218.service-details{
219 width: 200px;
220 position: absolute;
221 top: 20px;
222 right: 20px;
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800223}
224
225/* when showing the thing */
226
227.animate.ng-hide-remove {
228 animation:0.5s bounceInRight ease;
229}
230
231/* when hiding the picture */
232.animate.ng-hide-add {
233 animation:0.5s bounceOutRight ease;
234}
235
Matteo Scandolo07246ca2016-02-22 09:16:46 -0800236/* LOADER */
237.loader {
238 font-size: 10px;
239 margin: 150px auto;
240 text-indent: -9999em;
241 width: 11em;
242 height: 11em;
243 border-radius: 50%;
244 background: #ffffff;
245 background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
246 background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
247 background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
248 background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
249 background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
250 position: relative;
251 animation: load3 1.4s infinite linear;
252 transform: translateZ(0);
253}
254.loader:before {
255 width: 50%;
256 height: 50%;
257 background: #105E9E;
258 border-radius: 100% 0 0 0;
259 position: absolute;
260 top: 0;
261 left: 0;
262 content: '';
263}
264.loader:after {
265 background: #fff;
266 width: 75%;
267 height: 75%;
268 border-radius: 50%;
269 content: '';
270 margin: auto;
271 position: absolute;
272 top: 0;
273 left: 0;
274 bottom: 0;
275 right: 0;
276}
277
278@keyframes load3 {
279 0% {
280 -webkit-transform: rotate(0deg);
281 transform: rotate(0deg);
282 }
283 100% {
284 -webkit-transform: rotate(360deg);
285 transform: rotate(360deg);
286 }
287}
288
Matteo Scandolo388795a2016-02-22 09:57:55 -0800289/* MODALS */
290
291.modal.fade.in {
292 display: block;
293}
294
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800295/* ANIMATIONS */
296
297@keyframes bounceInRight {
298 from, 60%, 75%, 90%, to {
299 animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
300 }
301
302 from {
303 opacity: 0;
304 transform: translate3d(3000px, 0, 0);
305 }
306
307 60% {
308 opacity: 1;
309 transform: translate3d(-25px, 0, 0);
310 }
311
312 75% {
313 transform: translate3d(10px, 0, 0);
314 }
315
316 90% {
317 transform: translate3d(-5px, 0, 0);
318 }
319
320 to {
321 transform: none;
322 }
323}
324
Matteo Scandoloc49ff702016-02-17 15:11:33 -0800325@keyframes bounceOutRight {
326 20% {
327 opacity: 1;
328 transform: translate3d(-20px, 0, 0);
329 }
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800330
Matteo Scandoloc49ff702016-02-17 15:11:33 -0800331 to {
332 opacity: 0;
333 transform: translate3d(2000px, 0, 0);
334 }
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800335}