blob: 8b615ec35c2e2466f9623b5e2683185c0a434a32 [file] [log] [blame]
/* CONTAINER */
diagnostic .half-height {
position: relative;
height: 50%;
}
diagnostic .onethird-height {
position: relative;
height: 33%;
}
diagnostic .twothird-height {
position: relative;
height: 67%;
}
diagnostic .subscriber-select{
max-width: 200px;
position: absolute;
top: 20px;
right: 20px;
z-index: 1;
}
.half-height + .half-height {
border-top: 1px solid black;
}
service-topology,
logic-topology {
height: 100%;
width: 100%;
display: block;
position: absolute;
top: 0;
}
logic-topology .subscriber circle,
logic-topology .device circle{
fill: #fff;
stroke: green;
stroke-width: 1px;
}
logic-topology > svg {
position: absolute;
top: 0;
}
/* STATS */
logic-topology > .instances-stats {
position: absolute;
top: 0;
z-index: 2;
width: 100%;
}
logic-topology > .instances-stats ul.list-group {
font-size: 10px !important;
}
logic-topology > .instances-stats ul.list-group li{
padding: 3px 15px;
}
logic-topology > .instances-stats ul.list-group .badge {
font-size: 8px;
}
/* CLOUDS */
logic-topology .network .cloud {
fill: #fff;
stroke: green;
stroke-width: 1px;
}
/* RACK */
logic-topology .node.rack > g > rect{
fill: #ccc;
stroke: steelblue;
stroke-width: 1px;
}
/* CP NODE */
logic-topology .compute-node > rect{
fill: #fff;
stroke: steelblue;
stroke-width: 1px;
}
/* INSTANCE */
logic-topology .instance > rect{
fill: #eee;
stroke: steelblue;
stroke-width: 1px;
}
logic-topology .node .instance.active rect{
fill: lightsteelblue;
stroke: steelblue;
stroke-width: 1px;
}
/* LEGEND */
.legend {
fill: #fff;
stroke: #ccc;
stroke-width: 1px;
position: relative;
}
.legend text {
stroke: #000;
}
.node {
cursor: pointer;
}
.node circle,
.node rect{
fill: #fff;
stroke: steelblue;
stroke-width: 1px;
}
.node.subscriber circle,
.node.subscriber rect,
.node.router circle,
.node.router rect {
stroke: #05ffcb;
}
.node.slice rect {
stroke: #b01dff;
}
.node.instance rect {
stroke: #ccc;
}
.node.instance rect.active {
stroke: #ff8b00;
}
.node rect.slice-detail{
fill: #fff;
stroke: steelblue;
stroke-width: 3px;
}
.node text {
font: 12px sans-serif;
}
.link, .device-link {
fill: none;
stroke: #ccc;
stroke-width: 2px;
}
.link.slice {
stroke: rgba(157, 4, 183, 0.29);
}
.link.instance{
stroke: #ccc;
}
.link.instance.active{
stroke: rgba(255, 138, 0, 0.65);
}
.service-details{
width: 200px;
position: absolute;
top: 20px;
right: 20px;
}
/* when showing the thing */
.animate.ng-hide-remove {
animation:0.5s bounceInRight ease;
}
/* when hiding the picture */
.animate.ng-hide-add {
animation:0.5s bounceOutRight ease;
}
/* ANIMATIONS */
@keyframes bounceInRight {
from, 60%, 75%, 90%, to {
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
}
from {
opacity: 0;
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: none;
}
}
@keyframes bounceOutRight {
20% {
opacity: 1;
transform: translate3d(-20px, 0, 0);
}
to {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
}