blob: 061cb5bfab9a7d0031263ba6f2b9ede07ba2cbd0 [file] [log] [blame]
Simon Hunt0b05d4a2014-10-21 21:50:15 -07001/*
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07002 * Copyright 2014 Open Networking Laboratory
Thomas Vachuska781d18b2014-10-27 10:31:25 -07003 *
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07004 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
Thomas Vachuska781d18b2014-10-27 10:31:25 -07007 *
Thomas Vachuska4f1a60c2014-10-28 13:39:07 -07008 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
Thomas Vachuska781d18b2014-10-27 10:31:25 -070015 */
16
17/*
Simon Hunt0b05d4a2014-10-21 21:50:15 -070018 ONOS CSS file
19
20 @author Simon Hunt
21 */
22
23body, html {
24 height: 100%;
25}
26
27/*
28 * Classes
29 */
30
Thomas Vachuska1de66012014-10-30 03:03:30 -070031img#logo {
32 height: 38px;
33 padding-left: 8px;
34 padding-right: 8px;
35}
36
Simon Hunt0b05d4a2014-10-21 21:50:15 -070037span.title {
Thomas Vachuska1de66012014-10-30 03:03:30 -070038 color: #369;
Simon Hunt19cb0982014-10-23 16:44:49 -070039 font-size: 14pt;
Simon Hunt0b05d4a2014-10-21 21:50:15 -070040 font-style: italic;
Thomas Vachuska1de66012014-10-30 03:03:30 -070041 vertical-align: 12px;
Simon Hunt0b05d4a2014-10-21 21:50:15 -070042}
43
44span.radio {
45 color: darkslateblue;
Simon Hunt19cb0982014-10-23 16:44:49 -070046 font-size: 10pt;
Simon Hunt0b05d4a2014-10-21 21:50:15 -070047}
48
49span.right {
Thomas Vachuska1de66012014-10-30 03:03:30 -070050 padding-top: 8px;
51 padding-right: 16px;
Simon Hunt0b05d4a2014-10-21 21:50:15 -070052 float: right;
53}
54
55/*
Simon Hunt5cd0e8f2014-10-27 16:18:40 -070056 * Radio Buttons
57 */
58
59span.radio {
60 margin: 4px 0;
61 border: 1px dotted #222;
62 padding: 1px 6px;
63 color: #eee;
64 cursor: pointer;
65}
66
67span.radio.active {
68 background-color: #bbb;
69 border: 1px solid #eee;
70 padding: 1px 6px;
71 color: #666;
72 font-weight: bold;
73}
74
75/*
Simon Hunt0b05d4a2014-10-21 21:50:15 -070076 * === DEBUGGING ======
77 */
78svg {
Simon Hunt3ab76a82014-10-22 13:07:32 -070079 /*border: 1px dashed red;*/
Simon Hunt0b05d4a2014-10-21 21:50:15 -070080}
81
Thomas Vachuska8cd66a52014-10-30 11:53:07 -070082svg #bg {
83 opacity: 0.5;
84}
85
Simon Hunt0b05d4a2014-10-21 21:50:15 -070086
87/*
88 * Network Graph elements ======================================
89 */
90
Simon Hunt2c9e0c22014-10-23 15:12:58 -070091svg .link {
Simon Hunt0b05d4a2014-10-21 21:50:15 -070092 fill: none;
93 stroke: #666;
Simon Huntd35961b2014-10-28 08:49:48 -070094 stroke-width: 2.0px;
Simon Hunt0b05d4a2014-10-21 21:50:15 -070095 opacity: .7;
Simon Hunt0b05d4a2014-10-21 21:50:15 -070096
97 transition: opacity 250ms;
98 -webkit-transition: opacity 250ms;
99 -moz-transition: opacity 250ms;
100}
101
Simon Hunt6f376a32014-10-28 12:38:30 -0700102svg .link.host {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700103 stroke: #666;
104 stroke-width: 1px;
Simon Hunt6f376a32014-10-28 12:38:30 -0700105}
106
Simon Hunt69a8d212014-10-30 17:57:35 -0700107svg g.portLayer rect.port {
Thomas Vachuska5f998492014-10-31 00:46:11 -0700108 fill: #ccc;
Simon Hunt69a8d212014-10-30 17:57:35 -0700109}
110
Simon Hunt3c29c142014-10-30 21:31:44 -0700111svg g.portLayer text {
Thomas Vachuska5f998492014-10-31 00:46:11 -0700112 font: 8pt sans-serif;
Simon Hunt3c29c142014-10-30 21:31:44 -0700113 pointer-events: none;
114}
115
Simon Hunt6f376a32014-10-28 12:38:30 -0700116svg .node.device rect {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700117 stroke-width: 1.5px;
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700118
119 transition: opacity 250ms;
120 -webkit-transition: opacity 250ms;
121 -moz-transition: opacity 250ms;
122}
123
Simon Huntf967d512014-10-28 20:34:29 -0700124svg .node.device.fixed rect {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700125 stroke-width: 1.5;
126 stroke: #ccc;
Simon Huntf967d512014-10-28 20:34:29 -0700127}
128
Simon Hunt2c9e0c22014-10-23 15:12:58 -0700129svg .node.device.roadm rect {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700130 fill: #03c;
Simon Hunt2c9e0c22014-10-23 15:12:58 -0700131}
Simon Hunt5cd0e8f2014-10-27 16:18:40 -0700132
Simon Hunt2c9e0c22014-10-23 15:12:58 -0700133svg .node.device.switch rect {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700134 fill: #06f;
Simon Hunt3ab76a82014-10-22 13:07:32 -0700135}
136
Simon Hunt6f376a32014-10-28 12:38:30 -0700137svg .node.host circle {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700138 fill: #c96;
Simon Hunt6f376a32014-10-28 12:38:30 -0700139 stroke: #000;
Simon Hunt3ab76a82014-10-22 13:07:32 -0700140}
141
142svg .node text {
143 fill: white;
Thomas Vachuska5f998492014-10-31 00:46:11 -0700144 font: 10pt sans-serif;
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700145 pointer-events: none;
146}
147
Simon Hunt5cd0e8f2014-10-27 16:18:40 -0700148/* for debugging */
149svg .node circle.debug {
150 fill: white;
151 stroke: red;
152}
153svg .node rect.debug {
154 fill: yellow;
155 stroke: red;
156 opacity: 0.35;
157}
158
159
Simon Hunt9a16c822014-10-28 16:09:19 -0700160svg .node.selected rect,
161svg .node.selected circle {
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700162 filter: url(#blue-glow);
163}
164
Simon Hunt3ab76a82014-10-22 13:07:32 -0700165svg .link.inactive,
Simon Huntac525752014-10-31 08:38:21 -0700166svg .port.inactive,
167svg .portText.inactive,
Simon Hunt3ab76a82014-10-22 13:07:32 -0700168svg .node.inactive rect,
Simon Hunt6f376a32014-10-28 12:38:30 -0700169svg .node.inactive circle,
Simon Hunt1c5f8b62014-10-22 14:43:01 -0700170svg .node.inactive text,
171svg .node.inactive image {
Thomas Vachuska1de66012014-10-30 03:03:30 -0700172 opacity: .1;
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700173}
174
Simon Hunt3ab76a82014-10-22 13:07:32 -0700175svg .node.inactive.selected rect,
Simon Hunt1c5f8b62014-10-22 14:43:01 -0700176svg .node.inactive.selected text,
177svg .node.inactive.selected image {
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700178 opacity: .6;
179}
180
Simon Hunt5cd0e8f2014-10-27 16:18:40 -0700181/*
182 * === currently unused ===============================================
183 */
184
185svg marker#end {
186 fill: #666;
187 stroke: #666;
188 stroke-width: 1.5px;
189}
190
Simon Hunt3ab76a82014-10-22 13:07:32 -0700191svg .legend {
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700192 position: fixed;
193}
194
Simon Hunt3ab76a82014-10-22 13:07:32 -0700195svg .legend .category rect {
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700196 stroke-width: 1px;
197}
198
Simon Hunt3ab76a82014-10-22 13:07:32 -0700199svg .legend .category text {
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700200 fill: #000;
201 font: 10px sans-serif;
202 pointer-events: none;
203}
204
205/*
206 * =============================================================
207 */
208
209/*
210 * Specific structural elements
211 */
212
Simon Huntcc267562014-10-29 10:22:17 -0700213/* This is to ensure that the body does not expand to account for the
214 flyout details pane, that is positioned "off screen".
215 */
216body {
217 overflow: hidden;
218}
219
Simon Hunt6f376a32014-10-28 12:38:30 -0700220#mast {
221 height: 36px;
222 padding: 4px;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700223 background-color: #bbb;
Simon Hunt6f376a32014-10-28 12:38:30 -0700224 vertical-align: baseline;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700225 box-shadow: 0px 2px 8px #777;
Simon Hunt6f376a32014-10-28 12:38:30 -0700226}
227
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700228#frame {
229 width: 100%;
230 height: 100%;
Simon Hunt2c9e0c22014-10-23 15:12:58 -0700231 background-color: #fff;
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700232}
233
Simon Hunt6f376a32014-10-28 12:38:30 -0700234#flyout {
Simon Hunt6f376a32014-10-28 12:38:30 -0700235 position: absolute;
236 z-index: 100;
Simon Huntc586e212014-10-28 21:24:08 -0700237 display: block;
238 top: 10%;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700239 width: 280px;
240 right: -300px;
Simon Huntc586e212014-10-28 21:24:08 -0700241 opacity: 0;
Thomas Vachuska8cd66a52014-10-30 11:53:07 -0700242 background-color: rgba(255,255,255,0.8);
Thomas Vachuska1de66012014-10-30 03:03:30 -0700243
Simon Huntc586e212014-10-28 21:24:08 -0700244 padding: 10px;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700245 color: black;
Simon Huntcc267562014-10-29 10:22:17 -0700246 font-size: 10pt;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700247 box-shadow: 2px 2px 16px #777;
Simon Huntc586e212014-10-28 21:24:08 -0700248}
249
250#flyout h2 {
251 margin: 8px 4px;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700252 color: black;
253 vertical-align: middle;
254}
255
256#flyout h2 img {
257 height: 32px;
258 padding-right: 8px;
259 vertical-align: middle;
Simon Huntc586e212014-10-28 21:24:08 -0700260}
261
Simon Huntcc267562014-10-29 10:22:17 -0700262#flyout p, table {
Simon Huntc586e212014-10-28 21:24:08 -0700263 margin: 4px 4px;
Simon Hunt0b05d4a2014-10-21 21:50:15 -0700264}
265
Simon Huntcc267562014-10-29 10:22:17 -0700266#flyout td.label {
267 font-style: italic;
Thomas Vachuska1de66012014-10-30 03:03:30 -0700268 color: #777;
Simon Huntcc267562014-10-29 10:22:17 -0700269 padding-right: 12px;
270}
271
272#flyout td.value {
273
274}
275
Thomas Vachuska1de66012014-10-30 03:03:30 -0700276#flyout hr {
277 height: 1px;
278 color: #ccc;
279 background-color: #ccc;
280 border: 0;
281}
282