blob: 9d9aa6007fff066de763c43dd503f3b72bc72b67 [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 Scandoloc49ff702016-02-17 15:11:33 -080045logic-topology > svg {
46 position: absolute;
47 top: 0;
48}
49
50/* STATS */
51
52logic-topology > .instances-stats {
53 position: absolute;
54 top: 0;
55 z-index: 2;
56 width: 100%;
57}
58
59logic-topology > .instances-stats ul.list-group {
60 font-size: 10px !important;
61}
62
63logic-topology > .instances-stats ul.list-group li{
64 padding: 3px 15px;
65}
66
67logic-topology > .instances-stats ul.list-group .badge {
68 font-size: 8px;
69}
70
71/* CLOUDS */
72
Matteo Scandolo9fe01af2016-02-09 16:01:49 -080073logic-topology .network .cloud {
74 fill: #fff;
75 stroke: green;
76 stroke-width: 1px;
77}
78
Matteo Scandoloaf9402e2016-02-17 13:59:20 -080079/* RACK */
80logic-topology .node.rack > g > rect{
81 fill: #ccc;
82 stroke: steelblue;
83 stroke-width: 1px;
84}
85
86/* CP NODE */
87
88logic-topology .compute-node > rect{
Matteo Scandoload5b2282016-02-16 11:50:51 -080089 fill: #fff;
90 stroke: steelblue;
91 stroke-width: 1px;
92}
93
Matteo Scandoloaf9402e2016-02-17 13:59:20 -080094/* INSTANCE */
95
96logic-topology .instance > rect{
97 fill: #eee;
98 stroke: steelblue;
99 stroke-width: 1px;
100}
101
Matteo Scandolo79de20a2016-02-16 15:06:11 -0800102logic-topology .node .instance.active rect{
103 fill: lightsteelblue;
104 stroke: steelblue;
105 stroke-width: 1px;
106}
107
Matteo Scandolo26d17e12016-02-23 13:47:14 -0800108logic-topology .node .instance.active.good > rect{
109 fill: green;
110}
111
112logic-topology .node .instance.active.provisioning > rect{
113 fill: yellow;
114}
115
116logic-topology .node .instance.active.bad > rect{
117 fill: red;
118}
119
120/* INSTANCE STATS */
121
122logic-topology .node .instance .stats-container rect {
123 fill: white;
124}
125
126logic-topology .node .instance .stats-container text.name{
127 font-weight: bold;
128}
129
130logic-topology .node .instance .stats-container text.ip{
131 font-style: italic;
132 font-size: 10px;
133}
134
135/* CONTAINERS */
136logic-topology .node .container rect{
137 fill: #eee;
138 stroke: steelblue;
139 stroke-width: 1px;
140}
141
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800142/* LEGEND */
143
144.legend {
145 fill: #fff;
146 stroke: #ccc;
147 stroke-width: 1px;
148 position: relative;
149}
150
151.legend text {
152 stroke: #000;
153}
154
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800155.node {
156 cursor: pointer;
157}
158
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800159.node circle,
160.node rect{
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800161 fill: #fff;
162 stroke: steelblue;
Matteo Scandolofcdbed32016-02-08 16:55:44 -0800163 stroke-width: 1px;
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800164}
165
Matteo Scandolof2c99012016-01-25 10:10:38 -0800166.node.subscriber circle,
Matteo Scandolo9fe01af2016-02-09 16:01:49 -0800167.node.subscriber rect,
168.node.router circle,
169.node.router rect {
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800170 stroke: #05ffcb;
Matteo Scandolof2c99012016-01-25 10:10:38 -0800171}
172
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800173.node.slice rect {
Matteo Scandolo071ef462016-01-25 12:00:42 -0800174 stroke: #b01dff;
175}
176
Matteo Scandolo5bf04572016-01-25 17:36:08 -0800177.node.instance rect {
Matteo Scandoloc9ebd922016-01-28 12:02:57 -0800178 stroke: #ccc;
179}
180
181.node.instance rect.active {
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800182 stroke: #ff8b00;
Matteo Scandolo071ef462016-01-25 12:00:42 -0800183}
184
Matteo Scandolo6e8a75a2016-01-22 09:33:26 -0800185.node rect.slice-detail{
186 fill: #fff;
187 stroke: steelblue;
188 stroke-width: 3px;
189}
190
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800191.node text {
192 font: 12px sans-serif;
193}
194
Matteo Scandolo219b1a72016-02-09 11:19:22 -0800195.link, .device-link {
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800196 fill: none;
197 stroke: #ccc;
198 stroke-width: 2px;
Matteo Scandolo06f45d62016-01-21 15:38:06 -0800199}
200
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800201.link.slice {
Matteo Scandolo9ef3c842016-01-25 13:55:09 -0800202 stroke: rgba(157, 4, 183, 0.29);
203}
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800204.link.instance{
Matteo Scandoloc9ebd922016-01-28 12:02:57 -0800205 stroke: #ccc;
206}
207
208.link.instance.active{
Matteo Scandolo2c33a4c2016-01-25 16:24:42 -0800209 stroke: rgba(255, 138, 0, 0.65);
210}
Matteo Scandolo9ef3c842016-01-25 13:55:09 -0800211
Matteo Scandolo06f45d62016-01-21 15:38:06 -0800212.service-details{
213 width: 200px;
214 position: absolute;
215 top: 20px;
216 right: 20px;
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800217}
218
219/* when showing the thing */
220
221.animate.ng-hide-remove {
222 animation:0.5s bounceInRight ease;
223}
224
225/* when hiding the picture */
226.animate.ng-hide-add {
227 animation:0.5s bounceOutRight ease;
228}
229
Matteo Scandolo07246ca2016-02-22 09:16:46 -0800230/* LOADER */
231.loader {
232 font-size: 10px;
233 margin: 150px auto;
234 text-indent: -9999em;
235 width: 11em;
236 height: 11em;
237 border-radius: 50%;
238 background: #ffffff;
239 background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
240 background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
241 background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
242 background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
243 background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
244 position: relative;
245 animation: load3 1.4s infinite linear;
246 transform: translateZ(0);
247}
248.loader:before {
249 width: 50%;
250 height: 50%;
251 background: #105E9E;
252 border-radius: 100% 0 0 0;
253 position: absolute;
254 top: 0;
255 left: 0;
256 content: '';
257}
258.loader:after {
259 background: #fff;
260 width: 75%;
261 height: 75%;
262 border-radius: 50%;
263 content: '';
264 margin: auto;
265 position: absolute;
266 top: 0;
267 left: 0;
268 bottom: 0;
269 right: 0;
270}
271
272@keyframes load3 {
273 0% {
274 -webkit-transform: rotate(0deg);
275 transform: rotate(0deg);
276 }
277 100% {
278 -webkit-transform: rotate(360deg);
279 transform: rotate(360deg);
280 }
281}
282
Matteo Scandolo388795a2016-02-22 09:57:55 -0800283/* MODALS */
284
285.modal.fade.in {
286 display: block;
287}
288
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800289/* ANIMATIONS */
290
291@keyframes bounceInRight {
292 from, 60%, 75%, 90%, to {
293 animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
294 }
295
296 from {
297 opacity: 0;
298 transform: translate3d(3000px, 0, 0);
299 }
300
301 60% {
302 opacity: 1;
303 transform: translate3d(-25px, 0, 0);
304 }
305
306 75% {
307 transform: translate3d(10px, 0, 0);
308 }
309
310 90% {
311 transform: translate3d(-5px, 0, 0);
312 }
313
314 to {
315 transform: none;
316 }
317}
318
Matteo Scandoloc49ff702016-02-17 15:11:33 -0800319@keyframes bounceOutRight {
320 20% {
321 opacity: 1;
322 transform: translate3d(-20px, 0, 0);
323 }
Matteo Scandolo3501ccb2016-01-21 16:02:57 -0800324
Matteo Scandoloc49ff702016-02-17 15:11:33 -0800325 to {
326 opacity: 0;
327 transform: translate3d(2000px, 0, 0);
328 }
Matteo Scandolo8a64fa42016-01-21 11:21:03 -0800329}