blob: 854c99b17d81eb98e041a9c48d2278f655f07e9a [file] [log] [blame]
/*
* Copyright 2014-present Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
ONOS GUI -- Topology View (layout) -- CSS file
*/
/* --- Base SVG Layer --- */
#ov-topo svg {
/* prevents the little cut/copy/paste square that would appear on iPad */
-webkit-user-select: none;
}
/* --- "No Devices" Layer --- */
#ov-topo svg #topo-noDevsLayer {
visibility: hidden;
}
#ov-topo svg #topo-noDevsLayer text {
font-size: 60pt;
font-style: italic;
}
/* --- Topo Summary Panel --- */
#topo-p-summary {
padding: 16px;
}
/* --- Topo Detail Panel --- */
#topo-p-detail {
padding: 16px;
top: 370px;
}
html[data-platform='iPad'] #topo-p-detail {
top: 386px;
}
#topo-p-detail .actionBtns .actionBtn {
display: inline-block;
}
#topo-p-detail .actionBtns .actionBtn svg {
width: 28px;
height: 28px;
}
/* --- general topo-panel styling --- */
.topo-p div.header {
margin-bottom: 10px;
}
.topo-p div.header div.icon {
vertical-align: middle;
display: inline-block;
}
.topo-p div.body {
overflow-y: scroll;
}
.topo-p div.body::-webkit-scrollbar {
display: none;
}
.topo-p svg {
display: inline-block;
width: 26px;
height: 26px;
}
.topo-p h2 {
padding: 0 0 0 10px;
margin: 0;
font-weight: lighter;
word-wrap: break-word;
display: inline-block;
vertical-align: middle;
}
.topo-p h3 {
padding: 0 4px;
margin: 0;
word-wrap: break-word;
top: 20px;
left: 50px;
}
.topo-p p,
.topo-p table {
padding: 0;
margin: 0;
width: 100%;
}
.topo-p td {
word-wrap: break-word;
}
.topo-p td.label {
font-weight: bold;
padding: 0 10px 0 0;
}
.topo-p td.value {
padding: 0;
}
#topo-p-summary td.label {
width: 50%;
}
#topo-p-detail div.actionBtns {
padding-top: 6px;
}
.topo-p hr {
height: 1px;
border: 0;
margin: 4px -3px;
}
/* --- Topo Instance Panel --- */
#topo-p-instance {
height: 85px;
padding: 10px;
}
#topo-p-instance div.onosInst {
display: inline-block;
width: 170px;
height: 85px;
cursor: pointer;
}
#topo-p-instance svg text.instTitle {
font-size: 11pt;
font-weight: bold;
font-variant: small-caps;
text-transform: uppercase;
}
#topo-p-instance svg text.instLabel {
font-size: 10pt;
}
/* --- Toolbar --- */
#toolbar-topo-tbar {
padding: 6px;
}
#toolbar-topo-tbar .tbar-row.right {
width: 100%;
}
#toolbar-topo-tbar .tbar-row-text {
height: 21px;
text-align: right;
padding: 8px 60px 0 0;
font-style: italic;
}
/* --- Topo Nodes --- */
#ov-topo svg .suppressed {
opacity: 0.5 !important;
}
#ov-topo svg .suppressedmax {
opacity: 0.2 !important;
}
#ov-topo svg .node {
cursor: pointer;
fill-rule: evenodd;
}
#ov-topo svg .node text {
pointer-events: none;
}
/* Device Nodes */
#ov-topo svg .node.device {
}
/* Link Labels */
#ov-topo svg .linkLabel text {
text-anchor: middle;
stroke-width: 0.1;
font-size: 9pt;
}
/* Port Labels */
#ov-topo svg .portLabel text {
text-anchor: middle;
stroke-width: 0.1;
font-size: 11pt;
}
/* Number of Links Labels */
#ov-topo line.numLinkHash {
stroke-width: 3;
}
#ov-topo text.numLinkText {
font-size: 15pt;
text-anchor: middle;
}
/* Sprite Layer */
#ov-topo svg #topo-sprites use {
stroke-width: 2;
}
#ov-topo svg #topo-sprites text {
text-anchor: middle;
font-size: 20pt;
font-style: italic;
}
/* -- MISC -- */
.map-list {
padding: 10px;
}
.map-list select {
font-size: 20px;
}