Separating theme from layout for CSS files.
Change-Id: I4c3cec28b30de8026df4298f65ebf6ad92faf68f
Showing
47 changed files
with
1948 additions
and
1381 deletions
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Dialog Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light .dialog h2 { | ||
22 | + color: black; | ||
23 | +} | ||
24 | +.dark .dialog h2 { | ||
25 | + color: #ddd; | ||
26 | +} | ||
27 | + | ||
28 | +.dialog .dialog-button { | ||
29 | + /* color works for both light and dark themes */ | ||
30 | + background-color: #c55; | ||
31 | + color: white; | ||
32 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Dialog Service -- CSS file | 18 | + ONOS GUI -- Dialog Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | .dialog h2 { | 21 | .dialog h2 { |
... | @@ -26,12 +26,6 @@ | ... | @@ -26,12 +26,6 @@ |
26 | width: 210px; | 26 | width: 210px; |
27 | vertical-align: middle; | 27 | vertical-align: middle; |
28 | } | 28 | } |
29 | -.light .dialog h2 { | ||
30 | - color: black; | ||
31 | -} | ||
32 | -.dark .dialog h2 { | ||
33 | - color: #ddd; | ||
34 | -} | ||
35 | 29 | ||
36 | .dialog .dialog-button { | 30 | .dialog .dialog-button { |
37 | border-radius: 3px; | 31 | border-radius: 3px; |
... | @@ -41,8 +35,4 @@ | ... | @@ -41,8 +35,4 @@ |
41 | padding: 6px 8px 2px 8px; | 35 | padding: 6px 8px 2px 8px; |
42 | margin: 4px; | 36 | margin: 4px; |
43 | float: right; | 37 | float: right; |
44 | - /* color works for both light and dark themes */ | ||
45 | - background-color: #c55; | ||
46 | - color: white; | ||
47 | } | 38 | } |
48 | - | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Flash Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #flash svg g.flashItem rect { | ||
22 | + fill: #ccc; | ||
23 | +} | ||
24 | +.dark #flash svg g.flashItem rect { | ||
25 | + fill: #555; | ||
26 | +} | ||
27 | + | ||
28 | +.light #flash svg g.flashItem text { | ||
29 | + fill: #333; | ||
30 | +} | ||
31 | +.dark #flash svg g.flashItem text { | ||
32 | + fill: #999; | ||
33 | +} | ||
34 | + | ||
35 | +.light .centered { | ||
36 | + box-shadow: 2px 2px 24px 5px #888; | ||
37 | + background-color: #eee; | ||
38 | +} | ||
39 | +/* TODO: confirm / fix dark*/ | ||
40 | +.dark .centered { | ||
41 | + box-shadow: 2px 2px 24px 5px #888; | ||
42 | + background-color: #eee; | ||
43 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Flash Service -- CSS file | 18 | + ONOS GUI -- Flash Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #flash { | 21 | #flash { |
... | @@ -28,22 +28,20 @@ | ... | @@ -28,22 +28,20 @@ |
28 | opacity: 0.8; | 28 | opacity: 0.8; |
29 | } | 29 | } |
30 | 30 | ||
31 | -.light #flash svg g.flashItem rect { | ||
32 | - fill: #ccc; | ||
33 | -} | ||
34 | -.dark #flash svg g.flashItem rect { | ||
35 | - fill: #555; | ||
36 | -} | ||
37 | - | ||
38 | #flash svg g.flashItem text { | 31 | #flash svg g.flashItem text { |
39 | stroke: none; | 32 | stroke: none; |
40 | text-anchor: middle; | 33 | text-anchor: middle; |
41 | alignment-baseline: middle; | 34 | alignment-baseline: middle; |
42 | font-size: 16pt; | 35 | font-size: 16pt; |
43 | } | 36 | } |
44 | -.light #flash svg g.flashItem text { | 37 | + |
45 | - fill: #333; | 38 | +/* Used for temp div */ |
46 | -} | 39 | +.centered { |
47 | -.dark #flash svg g.flashItem text { | 40 | + position: fixed; |
48 | - fill: #999; | 41 | + top: 50%; |
42 | + left: 50%; | ||
43 | + -webkit-transform: translate(-50%, -50%); | ||
44 | + transform: translate(-50%, -50%); | ||
45 | + margin: 0; | ||
46 | + padding: 10px; | ||
49 | } | 47 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Panel Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light .floatpanel { | ||
22 | + background-color: rgba(255,255,255,0.8); | ||
23 | + color: black; | ||
24 | + box-shadow: 0 2px 12px #777; | ||
25 | +} | ||
26 | +.dark .floatpanel { | ||
27 | + background-color: rgba(50,50,50,0.8); | ||
28 | + color: #ccc; | ||
29 | + box-shadow: 0 2px 12px #000; | ||
30 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Panel Service -- CSS file | 18 | + ONOS GUI -- Panel Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | .floatpanel { | 21 | .floatpanel { |
... | @@ -41,14 +41,3 @@ | ... | @@ -41,14 +41,3 @@ |
41 | html[data-platform='iPad'] .floatpanel { | 41 | html[data-platform='iPad'] .floatpanel { |
42 | top: 80px; | 42 | top: 80px; |
43 | } | 43 | } |
44 | - | ||
45 | -.light .floatpanel { | ||
46 | - background-color: rgba(255,255,255,0.8); | ||
47 | - color: black; | ||
48 | - box-shadow: 0 2px 12px #777; | ||
49 | -} | ||
50 | -.dark .floatpanel { | ||
51 | - background-color: rgba(50,50,50,0.8); | ||
52 | - color: #ccc; | ||
53 | - box-shadow: 0 2px 12px #000; | ||
54 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Quick Help Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +#quickhelp svg g.help rect { | ||
22 | + fill: black; | ||
23 | + opacity: 0.7; | ||
24 | +} | ||
25 | + | ||
26 | +#quickhelp svg text.title { | ||
27 | + fill: #999; | ||
28 | +} | ||
29 | + | ||
30 | +#quickhelp svg g.keyItem { | ||
31 | + fill: white; | ||
32 | +} | ||
33 | + | ||
34 | +#quickhelp svg g line.qhrowsep { | ||
35 | + stroke: #888; | ||
36 | + stroke-dasharray: 2 2; | ||
37 | +} | ||
38 | + | ||
39 | +#quickhelp svg text.key { | ||
40 | + fill: #add; | ||
41 | +} | ||
42 | + | ||
43 | +#quickhelp svg text.desc { | ||
44 | + fill: #ddd; | ||
45 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Quick Help Service -- CSS file | 18 | + ONOS GUI -- Quick Help Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #quickhelp { | 21 | #quickhelp { |
... | @@ -28,37 +28,13 @@ | ... | @@ -28,37 +28,13 @@ |
28 | opacity: 1; | 28 | opacity: 1; |
29 | } | 29 | } |
30 | 30 | ||
31 | -#quickhelp svg g.help rect { | ||
32 | - fill: black; | ||
33 | - opacity: 0.7; | ||
34 | -} | ||
35 | - | ||
36 | #quickhelp svg text.title { | 31 | #quickhelp svg text.title { |
37 | font-size: 10pt; | 32 | font-size: 10pt; |
38 | font-style: italic; | 33 | font-style: italic; |
39 | text-anchor: middle; | 34 | text-anchor: middle; |
40 | - fill: #999; | ||
41 | -} | ||
42 | - | ||
43 | -#quickhelp svg g.keyItem { | ||
44 | - fill: white; | ||
45 | -} | ||
46 | - | ||
47 | -#quickhelp svg g line.qhrowsep { | ||
48 | - stroke: #888; | ||
49 | - stroke-dasharray: 2 2; | ||
50 | } | 35 | } |
51 | 36 | ||
52 | #quickhelp svg text { | 37 | #quickhelp svg text { |
53 | font-size: 7pt; | 38 | font-size: 7pt; |
54 | alignment-baseline: middle; | 39 | alignment-baseline: middle; |
55 | } | 40 | } |
56 | - | ||
57 | -#quickhelp svg text.key { | ||
58 | - fill: #add; | ||
59 | -} | ||
60 | - | ||
61 | -#quickhelp svg text.desc { | ||
62 | - fill: #ddd; | ||
63 | -} | ||
64 | - | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Veil Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #veil { | ||
22 | + background-color: rgba(0,0,0,0.75); | ||
23 | +} | ||
24 | +.dark #veil { | ||
25 | + background-color: rgba(64,64,64,0.75); | ||
26 | +} | ||
27 | + | ||
28 | +#veil .msg p { | ||
29 | + color: #ddd; | ||
30 | +} | ||
31 | + | ||
32 | +#veil svg .glyph { | ||
33 | + fill: #222; | ||
34 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Veil Service -- CSS file | 18 | + ONOS GUI -- Veil Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #veil { | 21 | #veil { |
... | @@ -26,13 +26,6 @@ | ... | @@ -26,13 +26,6 @@ |
26 | left: 0; | 26 | left: 0; |
27 | } | 27 | } |
28 | 28 | ||
29 | -.light #veil { | ||
30 | - background-color: rgba(0,0,0,0.75); | ||
31 | -} | ||
32 | -.dark #veil { | ||
33 | - background-color: rgba(64,64,64,0.75); | ||
34 | -} | ||
35 | - | ||
36 | #veil .msg { | 29 | #veil .msg { |
37 | position: absolute; | 30 | position: absolute; |
38 | padding: 60px; | 31 | padding: 60px; |
... | @@ -42,9 +35,4 @@ | ... | @@ -42,9 +35,4 @@ |
42 | display: block; | 35 | display: block; |
43 | font-size: 14pt; | 36 | font-size: 14pt; |
44 | font-style: italic; | 37 | font-style: italic; |
45 | - color: #ddd; | ||
46 | -} | ||
47 | - | ||
48 | -#veil svg .glyph { | ||
49 | - fill: #222; | ||
50 | } | 38 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Masthead (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #mast { | ||
22 | + background-color: #bbb; | ||
23 | + box-shadow: 0 2px 8px #777; | ||
24 | +} | ||
25 | +.dark #mast { | ||
26 | + background-color: #444; | ||
27 | + box-shadow: 0 2px 8px #222; | ||
28 | +} | ||
29 | + | ||
30 | + | ||
31 | +.light #mast .nav-menu-button:hover { | ||
32 | + background-color: #ddd; | ||
33 | +} | ||
34 | +.dark #mast .nav-menu-button:hover { | ||
35 | + background-color: #777; | ||
36 | +} | ||
37 | + | ||
38 | +#mast img.logo:hover { | ||
39 | + /* need something better */ | ||
40 | + /*background-color: #888;*/ | ||
41 | +} | ||
42 | + | ||
43 | +.light #mast .title { | ||
44 | + color: #369; | ||
45 | +} | ||
46 | +.dark #mast .title { | ||
47 | + color: #eee; | ||
48 | +} | ||
49 | + | ||
50 | +.light #mast-right a { | ||
51 | + color: #369; | ||
52 | +} | ||
53 | + | ||
54 | +.dark #mast-right a { | ||
55 | + color: #eee; | ||
56 | +} | ||
57 | + | ||
58 | +.light #mast nav { | ||
59 | + color: #369; | ||
60 | +} | ||
61 | + | ||
62 | +.dark #mast nav { | ||
63 | + color: #eee; | ||
64 | +} | ||
65 | + | ||
66 | + | ||
67 | +/* Theme styles for drop down menu */ | ||
68 | + | ||
69 | +.light #mast .dropdown { | ||
70 | + background-color: #bbb; | ||
71 | + box-shadow: 0 2px 8px #777; | ||
72 | +} | ||
73 | + | ||
74 | +.dark #mast .dropdown { | ||
75 | + background-color: #444; | ||
76 | + box-shadow: 0 2px 8px #111; | ||
77 | +} | ||
78 | + | ||
79 | +.light #mast .dropdown a { | ||
80 | + color: #369; | ||
81 | + border-bottom: solid #ccc 1px; | ||
82 | +} | ||
83 | + | ||
84 | +.dark #mast .dropdown a { | ||
85 | + color: #eee; | ||
86 | + border-bottom: solid #333 1px; | ||
87 | +} | ||
88 | + | ||
89 | +.light #mast .dropdown a:hover { | ||
90 | + background-color: #ddd; | ||
91 | +} | ||
92 | + | ||
93 | +.dark #mast .dropdown a:hover { | ||
94 | + background-color: #777; | ||
95 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Masthead -- CSS file | 18 | + ONOS GUI -- Masthead (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #mast { | 21 | #mast { |
... | @@ -28,15 +28,6 @@ html[data-platform='iPad'] #mast { | ... | @@ -28,15 +28,6 @@ html[data-platform='iPad'] #mast { |
28 | padding-top: 16px; | 28 | padding-top: 16px; |
29 | } | 29 | } |
30 | 30 | ||
31 | -.light #mast { | ||
32 | - background-color: #bbb; | ||
33 | - box-shadow: 0 2px 8px #777; | ||
34 | -} | ||
35 | -.dark #mast { | ||
36 | - background-color: #444; | ||
37 | - box-shadow: 0 2px 8px #222; | ||
38 | -} | ||
39 | - | ||
40 | #mast .nav-menu-button { | 31 | #mast .nav-menu-button { |
41 | width: 30px; | 32 | width: 30px; |
42 | height: 30px; | 33 | height: 30px; |
... | @@ -44,12 +35,6 @@ html[data-platform='iPad'] #mast { | ... | @@ -44,12 +35,6 @@ html[data-platform='iPad'] #mast { |
44 | margin-bottom: 4px; | 35 | margin-bottom: 4px; |
45 | cursor: pointer; | 36 | cursor: pointer; |
46 | } | 37 | } |
47 | -.light #mast .nav-menu-button:hover { | ||
48 | - background-color: #ddd; | ||
49 | -} | ||
50 | -.dark #mast .nav-menu-button:hover { | ||
51 | - background-color: #777; | ||
52 | -} | ||
53 | 38 | ||
54 | #mast img.logo { | 39 | #mast img.logo { |
55 | height: 38px; | 40 | height: 38px; |
... | @@ -57,23 +42,12 @@ html[data-platform='iPad'] #mast { | ... | @@ -57,23 +42,12 @@ html[data-platform='iPad'] #mast { |
57 | padding-right: 8px; | 42 | padding-right: 8px; |
58 | } | 43 | } |
59 | 44 | ||
60 | -#mast img.logo:hover { | ||
61 | - /* need something better */ | ||
62 | - /*background-color: #888;*/ | ||
63 | -} | ||
64 | - | ||
65 | #mast .title { | 45 | #mast .title { |
66 | font-size: 14pt; | 46 | font-size: 14pt; |
67 | font-style: italic; | 47 | font-style: italic; |
68 | vertical-align: 12px; | 48 | vertical-align: 12px; |
69 | } | 49 | } |
70 | 50 | ||
71 | -.light #mast .title { | ||
72 | - color: #369; | ||
73 | -} | ||
74 | -.dark #mast .title { | ||
75 | - color: #eee; | ||
76 | -} | ||
77 | 51 | ||
78 | #mast-right { | 52 | #mast-right { |
79 | display: inline-block; | 53 | display: inline-block; |
... | @@ -84,21 +58,6 @@ html[data-platform='iPad'] #mast { | ... | @@ -84,21 +58,6 @@ html[data-platform='iPad'] #mast { |
84 | line-height: 44px; | 58 | line-height: 44px; |
85 | } | 59 | } |
86 | 60 | ||
87 | -.light #mast-right a { | ||
88 | - color: #369; | ||
89 | -} | ||
90 | - | ||
91 | -.dark #mast-right a { | ||
92 | - color: #eee; | ||
93 | -} | ||
94 | - | ||
95 | -.light #mast nav { | ||
96 | - color: #369; | ||
97 | -} | ||
98 | - | ||
99 | -.dark #mast nav { | ||
100 | - color: #eee; | ||
101 | -} | ||
102 | 61 | ||
103 | /* | 62 | /* |
104 | MAST HEAD DROPDOWN MENU | 63 | MAST HEAD DROPDOWN MENU |
... | @@ -145,33 +104,3 @@ html[data-platform='iPad'] #mast { | ... | @@ -145,33 +104,3 @@ html[data-platform='iPad'] #mast { |
145 | html[data-platform='iPad'] #mast .dropdown { | 104 | html[data-platform='iPad'] #mast .dropdown { |
146 | top: 57px; | 105 | top: 57px; |
147 | } | 106 | } |
148 | - | ||
149 | -/* Theme styles for drop down menu */ | ||
150 | - | ||
151 | -.light #mast .dropdown { | ||
152 | - background-color: #bbb; | ||
153 | - box-shadow: 0 2px 8px #777; | ||
154 | -} | ||
155 | - | ||
156 | -.dark #mast .dropdown { | ||
157 | - background-color: #444; | ||
158 | - box-shadow: 0 2px 8px #111; | ||
159 | -} | ||
160 | - | ||
161 | -.light #mast .dropdown a { | ||
162 | - color: #369; | ||
163 | - border-bottom: solid #ccc 1px; | ||
164 | -} | ||
165 | - | ||
166 | -.dark #mast .dropdown a { | ||
167 | - color: #eee; | ||
168 | - border-bottom: solid #333 1px; | ||
169 | -} | ||
170 | - | ||
171 | -.light #mast .dropdown a:hover { | ||
172 | - background-color: #ddd; | ||
173 | -} | ||
174 | - | ||
175 | -.dark #mast .dropdown a:hover { | ||
176 | - background-color: #777; | ||
177 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Navigation (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #nav { | ||
22 | + background-color: #bbb; | ||
23 | + box-shadow: 0 2px 8px #777; | ||
24 | +} | ||
25 | +.dark #nav { | ||
26 | + background-color: #444; | ||
27 | + box-shadow: 0 2px 8px #111; | ||
28 | +} | ||
29 | + | ||
30 | +.light #nav .nav-hdr { | ||
31 | + color: #ddd; | ||
32 | + border-bottom: solid 1px #999; | ||
33 | + background-color: #aaa; | ||
34 | +} | ||
35 | +.dark #nav .nav-hdr { | ||
36 | + color: #888; | ||
37 | + border-bottom: solid 1px #444; | ||
38 | + background-color: #555; | ||
39 | +} | ||
40 | + | ||
41 | +.light #nav a { | ||
42 | + color: #369; | ||
43 | + border-bottom: solid #ccc 1px; | ||
44 | +} | ||
45 | +.dark #nav a { | ||
46 | + color: #eee; | ||
47 | + border-bottom: solid #333 1px; | ||
48 | +} | ||
49 | + | ||
50 | +.light #nav a:hover { | ||
51 | + background-color: #ddd; | ||
52 | +} | ||
53 | +.dark #nav a:hover { | ||
54 | + background-color: #777; | ||
55 | +} | ||
56 | + | ||
57 | +#nav a div svg.embeddedIcon g.icon .glyph { | ||
58 | + fill: #c66; | ||
59 | +} | ||
60 | + |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Navigation -- CSS file | 18 | + ONOS GUI -- Navigation (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #nav { | 21 | #nav { |
... | @@ -31,31 +31,11 @@ html[data-platform='iPad'] #nav { | ... | @@ -31,31 +31,11 @@ html[data-platform='iPad'] #nav { |
31 | top: 57px; | 31 | top: 57px; |
32 | } | 32 | } |
33 | 33 | ||
34 | -.light #nav { | ||
35 | - background-color: #bbb; | ||
36 | - box-shadow: 0 2px 8px #777; | ||
37 | -} | ||
38 | -.dark #nav { | ||
39 | - background-color: #444; | ||
40 | - box-shadow: 0 2px 8px #111; | ||
41 | -} | ||
42 | - | ||
43 | #nav .nav-hdr { | 34 | #nav .nav-hdr { |
44 | font-style: italic; | 35 | font-style: italic; |
45 | padding: 6px 8px 6px 8px; | 36 | padding: 6px 8px 6px 8px; |
46 | } | 37 | } |
47 | 38 | ||
48 | -.light #nav .nav-hdr { | ||
49 | - color: #ddd; | ||
50 | - border-bottom: solid 1px #999; | ||
51 | - background-color: #aaa; | ||
52 | -} | ||
53 | -.dark #nav .nav-hdr { | ||
54 | - color: #888; | ||
55 | - border-bottom: solid 1px #444; | ||
56 | - background-color: #555; | ||
57 | -} | ||
58 | - | ||
59 | #nav a { | 39 | #nav a { |
60 | text-decoration: none; | 40 | text-decoration: none; |
61 | font-size: 14pt; | 41 | font-size: 14pt; |
... | @@ -63,28 +43,8 @@ html[data-platform='iPad'] #nav { | ... | @@ -63,28 +43,8 @@ html[data-platform='iPad'] #nav { |
63 | padding: 8px 16px 6px 12px; | 43 | padding: 8px 16px 6px 12px; |
64 | } | 44 | } |
65 | 45 | ||
66 | -.light #nav a { | ||
67 | - color: #369; | ||
68 | - border-bottom: solid #ccc 1px; | ||
69 | -} | ||
70 | -.dark #nav a { | ||
71 | - color: #eee; | ||
72 | - border-bottom: solid #333 1px; | ||
73 | -} | ||
74 | - | ||
75 | -.light #nav a:hover { | ||
76 | - background-color: #ddd; | ||
77 | -} | ||
78 | -.dark #nav a:hover { | ||
79 | - background-color: #777; | ||
80 | -} | ||
81 | - | ||
82 | #nav a div { | 46 | #nav a div { |
83 | display: inline-block; | 47 | display: inline-block; |
84 | vertical-align: middle; | 48 | vertical-align: middle; |
85 | padding-right: 4px; | 49 | padding-right: 4px; |
86 | } | 50 | } |
87 | - | ||
88 | -#nav a div svg.embeddedIcon g.icon .glyph { | ||
89 | - fill: #c66; | ||
90 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Glyph Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light svg .glyph, | ||
22 | +.dark svg .glyph.overlay { | ||
23 | + fill: black; | ||
24 | +} | ||
25 | + | ||
26 | +.dark svg .glyph, | ||
27 | +.light svg .glyph.overlay { | ||
28 | + fill: white; | ||
29 | +} |
... | @@ -15,20 +15,10 @@ | ... | @@ -15,20 +15,10 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Glyph Service -- CSS file | 18 | + ONOS GUI -- Glyph Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | svg .glyph { | 21 | svg .glyph { |
22 | stroke: none; | 22 | stroke: none; |
23 | fill-rule: evenodd; | 23 | fill-rule: evenodd; |
24 | } | 24 | } |
25 | - | ||
26 | -.light svg .glyph, | ||
27 | -.dark svg .glyph.overlay { | ||
28 | - fill: black; | ||
29 | -} | ||
30 | - | ||
31 | -.dark svg .glyph, | ||
32 | -.light svg .glyph.overlay { | ||
33 | - fill: white; | ||
34 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Icon Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light svg.embeddedIcon g.icon .glyph { | ||
22 | + fill: white; | ||
23 | +} | ||
24 | +.dark svg.embeddedIcon g.icon .glyph { | ||
25 | + fill: white; | ||
26 | +} | ||
27 | + | ||
28 | + | ||
29 | +/* Sortable table headers */ | ||
30 | +.light div.tableColSort svg.embeddedIcon .icon .glyph { | ||
31 | + fill: black; | ||
32 | +} | ||
33 | +.dark div.tableColSort svg.embeddedIcon .icon .glyph { | ||
34 | + fill: #ccc; | ||
35 | +} | ||
36 | + | ||
37 | +.light svg.embeddedIcon .icon.active .glyph { | ||
38 | + fill: green; | ||
39 | +} | ||
40 | +.dark svg.embeddedIcon .icon.active .glyph { | ||
41 | + fill: #308C10; | ||
42 | +} | ||
43 | + | ||
44 | +.light table svg.embeddedIcon { | ||
45 | + fill: #ccc; | ||
46 | +} | ||
47 | +.dark table svg.embeddedIcon { | ||
48 | + fill: #222; | ||
49 | +} | ||
50 | +.light table svg.embeddedIcon .glyph { | ||
51 | + fill: #333; | ||
52 | +} | ||
53 | +.dark table svg.embeddedIcon .glyph { | ||
54 | + fill: #ccc; | ||
55 | +} | ||
56 | + | ||
57 | +.light svg.embeddedIcon .icon.active .glyph { | ||
58 | + fill: green; | ||
59 | +} | ||
60 | +.light svg.embeddedIcon .icon.inactive .glyph { | ||
61 | + fill: darkred; | ||
62 | +} | ||
63 | +.dark svg.embeddedIcon .icon.active .glyph { | ||
64 | + fill: #308C10; | ||
65 | +} | ||
66 | +.dark svg.embeddedIcon .icon.inactive .glyph { | ||
67 | + fill: #AD2D2D; | ||
68 | +} | ||
69 | + |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Icon Service -- CSS file | 18 | + ONOS GUI -- Icon Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | svg#IconLibDefs { | 21 | svg#IconLibDefs { |
... | @@ -37,56 +37,9 @@ svg.embeddedIcon g.icon rect { | ... | @@ -37,56 +37,9 @@ svg.embeddedIcon g.icon rect { |
37 | 37 | ||
38 | svg.embeddedIcon g.icon .glyph { | 38 | svg.embeddedIcon g.icon .glyph { |
39 | stroke: none; | 39 | stroke: none; |
40 | - fill: white; | ||
41 | fill-rule: evenodd; | 40 | fill-rule: evenodd; |
42 | } | 41 | } |
43 | 42 | ||
44 | - | ||
45 | -/* Sortable table headers */ | ||
46 | -.light div.tableColSort svg.embeddedIcon .icon .glyph { | ||
47 | - fill: black; | ||
48 | -} | ||
49 | -.dark div.tableColSort svg.embeddedIcon .icon .glyph { | ||
50 | - fill: #ccc; | ||
51 | -} | ||
52 | - | ||
53 | - | ||
54 | -/* color schemes for specific icon classes */ | ||
55 | - | ||
56 | svg.embeddedIcon .icon.appInactive .glyph { | 43 | svg.embeddedIcon .icon.appInactive .glyph { |
57 | fill: none; | 44 | fill: none; |
58 | } | 45 | } |
59 | - | ||
60 | -.light svg.embeddedIcon .icon.active .glyph { | ||
61 | - fill: green; | ||
62 | -} | ||
63 | -.dark svg.embeddedIcon .icon.active .glyph { | ||
64 | - fill: #308C10; | ||
65 | -} | ||
66 | - | ||
67 | - | ||
68 | -.light table svg.embeddedIcon { | ||
69 | - fill: #ccc; | ||
70 | -} | ||
71 | -.dark table svg.embeddedIcon { | ||
72 | - fill: #222; | ||
73 | -} | ||
74 | -.light table svg.embeddedIcon .glyph { | ||
75 | - fill: #333; | ||
76 | -} | ||
77 | -.dark table svg.embeddedIcon .glyph { | ||
78 | - fill: #ccc; | ||
79 | -} | ||
80 | - | ||
81 | -.light svg.embeddedIcon .icon.active .glyph { | ||
82 | - fill: green; | ||
83 | -} | ||
84 | -.light svg.embeddedIcon .icon.inactive .glyph { | ||
85 | - fill: darkred; | ||
86 | -} | ||
87 | -.dark svg.embeddedIcon .icon.active .glyph { | ||
88 | - fill: #308C10; | ||
89 | -} | ||
90 | -.dark svg.embeddedIcon .icon.inactive .glyph { | ||
91 | - fill: #AD2D2D; | ||
92 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Button Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | + | ||
22 | +/* Selected button color */ | ||
23 | +.light .button svg.embeddedIcon .icon rect, | ||
24 | +.light .toggleButton.selected svg.embeddedIcon .icon rect, | ||
25 | +.light .radioButton.selected svg.embeddedIcon .icon rect { | ||
26 | + fill: #838383; | ||
27 | +} | ||
28 | + | ||
29 | +.light .button:hover svg.embeddedIcon .icon rect, | ||
30 | +.light .toggleButton.selected:hover svg.embeddedIcon .icon rect | ||
31 | + /* NOTE: selected radio button should NOT have hover highlight */ | ||
32 | +{ | ||
33 | + fill: #444444; | ||
34 | +} | ||
35 | + | ||
36 | +.light .button svg.embeddedIcon .glyph, | ||
37 | +.light .toggleButton.selected svg.embeddedIcon .glyph, | ||
38 | +.light .radioButton.selected svg.embeddedIcon .glyph { | ||
39 | + fill: white; | ||
40 | +} | ||
41 | + | ||
42 | +.dark .button svg.embeddedIcon .icon rect, | ||
43 | +.dark .toggleButton.selected svg.embeddedIcon .icon rect, | ||
44 | +.dark .radioButton.selected svg.embeddedIcon .icon rect { | ||
45 | + fill: #151515; | ||
46 | +} | ||
47 | + | ||
48 | +.dark .button:hover svg.embeddedIcon .icon rect, | ||
49 | +.dark .toggleButton.selected:hover svg.embeddedIcon .icon rect | ||
50 | + /* NOTE: selected radio button should NOT have hover highlight */ | ||
51 | +{ | ||
52 | + fill: #444; | ||
53 | +} | ||
54 | + | ||
55 | +.dark .button svg.embeddedIcon .glyph, | ||
56 | +.dark .toggleButton.selected svg.embeddedIcon .glyph, | ||
57 | +.dark .radioButton.selected svg.embeddedIcon .glyph { | ||
58 | + fill: #B2B2B2; | ||
59 | +} | ||
60 | + | ||
61 | +/* Unselected button color */ | ||
62 | +.light .toggleButton svg.embeddedIcon .icon rect, | ||
63 | +.light .radioButton svg.embeddedIcon .icon rect { | ||
64 | + fill: #eee; | ||
65 | +} | ||
66 | + | ||
67 | +.light .toggleButton:hover svg.embeddedIcon .icon rect, | ||
68 | +.light .radioButton:hover:not(.selected) svg.embeddedIcon .icon rect { | ||
69 | + fill: #ccc; | ||
70 | +} | ||
71 | + | ||
72 | +.light .toggleButton svg.embeddedIcon .glyph, | ||
73 | +.light .radioButton svg.embeddedIcon .glyph { | ||
74 | + fill: #bbb; | ||
75 | +} | ||
76 | +.light .toggleButton:hover:not(.selected) svg.embeddedIcon .glyph, | ||
77 | +.light .radioButton:hover:not(.selected) svg.embeddedIcon .glyph { | ||
78 | + fill: #999; | ||
79 | +} | ||
80 | + | ||
81 | +.dark .toggleButton svg.embeddedIcon .icon rect, | ||
82 | +.dark .radioButton svg.embeddedIcon .icon rect { | ||
83 | + fill: #303030; | ||
84 | +} | ||
85 | + | ||
86 | +.dark .toggleButton:hover:not(.selected) svg.embeddedIcon .icon rect, | ||
87 | +.dark .radioButton:hover:not(.selected) svg.embeddedIcon .icon rect { | ||
88 | + fill: #555; | ||
89 | +} | ||
90 | + | ||
91 | +.dark .toggleButton svg.embeddedIcon .glyph, | ||
92 | +.dark .radioButton svg.embeddedIcon .glyph { | ||
93 | + fill: #565656; | ||
94 | +} | ||
95 | + | ||
96 | +.dark .toggleButton:hover:not(.selected) svg.embeddedIcon .glyph, | ||
97 | +.dark .radioButton:hover:not(.selected) svg.embeddedIcon .glyph { | ||
98 | + fill: #777; | ||
99 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Button Service -- CSS file | 18 | + ONOS GUI -- Button Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | .button, | 21 | .button, |
... | @@ -39,82 +39,3 @@ | ... | @@ -39,82 +39,3 @@ |
39 | .radioButton svg.embeddedIcon .icon rect{ | 39 | .radioButton svg.embeddedIcon .icon rect{ |
40 | stroke: none; | 40 | stroke: none; |
41 | } | 41 | } |
42 | - | ||
43 | -/* Selected button color */ | ||
44 | -.light .button svg.embeddedIcon .icon rect, | ||
45 | -.light .toggleButton.selected svg.embeddedIcon .icon rect, | ||
46 | -.light .radioButton.selected svg.embeddedIcon .icon rect { | ||
47 | - fill: #838383; | ||
48 | -} | ||
49 | - | ||
50 | -.light .button:hover svg.embeddedIcon .icon rect, | ||
51 | -.light .toggleButton.selected:hover svg.embeddedIcon .icon rect | ||
52 | -/* NOTE: selected radio button should NOT have hover highlight */ | ||
53 | -{ | ||
54 | - fill: #444444; | ||
55 | -} | ||
56 | - | ||
57 | -.light .button svg.embeddedIcon .glyph, | ||
58 | -.light .toggleButton.selected svg.embeddedIcon .glyph, | ||
59 | -.light .radioButton.selected svg.embeddedIcon .glyph { | ||
60 | - fill: white; | ||
61 | -} | ||
62 | - | ||
63 | -.dark .button svg.embeddedIcon .icon rect, | ||
64 | -.dark .toggleButton.selected svg.embeddedIcon .icon rect, | ||
65 | -.dark .radioButton.selected svg.embeddedIcon .icon rect { | ||
66 | - fill: #151515; | ||
67 | -} | ||
68 | - | ||
69 | -.dark .button:hover svg.embeddedIcon .icon rect, | ||
70 | -.dark .toggleButton.selected:hover svg.embeddedIcon .icon rect | ||
71 | -/* NOTE: selected radio button should NOT have hover highlight */ | ||
72 | -{ | ||
73 | - fill: #444; | ||
74 | -} | ||
75 | - | ||
76 | -.dark .button svg.embeddedIcon .glyph, | ||
77 | -.dark .toggleButton.selected svg.embeddedIcon .glyph, | ||
78 | -.dark .radioButton.selected svg.embeddedIcon .glyph { | ||
79 | - fill: #B2B2B2; | ||
80 | -} | ||
81 | - | ||
82 | -/* Unselected button color */ | ||
83 | -.light .toggleButton svg.embeddedIcon .icon rect, | ||
84 | -.light .radioButton svg.embeddedIcon .icon rect { | ||
85 | - fill: #eee; | ||
86 | -} | ||
87 | - | ||
88 | -.light .toggleButton:hover svg.embeddedIcon .icon rect, | ||
89 | -.light .radioButton:hover:not(.selected) svg.embeddedIcon .icon rect { | ||
90 | - fill: #ccc; | ||
91 | -} | ||
92 | - | ||
93 | -.light .toggleButton svg.embeddedIcon .glyph, | ||
94 | -.light .radioButton svg.embeddedIcon .glyph { | ||
95 | - fill: #bbb; | ||
96 | -} | ||
97 | -.light .toggleButton:hover:not(.selected) svg.embeddedIcon .glyph, | ||
98 | -.light .radioButton:hover:not(.selected) svg.embeddedIcon .glyph { | ||
99 | - fill: #999; | ||
100 | -} | ||
101 | - | ||
102 | -.dark .toggleButton svg.embeddedIcon .icon rect, | ||
103 | -.dark .radioButton svg.embeddedIcon .icon rect { | ||
104 | - fill: #303030; | ||
105 | -} | ||
106 | - | ||
107 | -.dark .toggleButton:hover:not(.selected) svg.embeddedIcon .icon rect, | ||
108 | -.dark .radioButton:hover:not(.selected) svg.embeddedIcon .icon rect { | ||
109 | - fill: #555; | ||
110 | -} | ||
111 | - | ||
112 | -.dark .toggleButton svg.embeddedIcon .glyph, | ||
113 | -.dark .radioButton svg.embeddedIcon .glyph { | ||
114 | - fill: #565656; | ||
115 | -} | ||
116 | - | ||
117 | -.dark .toggleButton:hover:not(.selected) svg.embeddedIcon .glyph, | ||
118 | -.dark .radioButton:hover:not(.selected) svg.embeddedIcon .glyph { | ||
119 | - fill: #777; | ||
120 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* ------ for summary-list tables (theme) ------ */ | ||
18 | + | ||
19 | +.light div.summary-list tr:nth-child(even) { | ||
20 | + background-color: #ddd; | ||
21 | +} | ||
22 | +.light div.summary-list tr:nth-child(odd) { | ||
23 | + background-color: #eee; | ||
24 | +} | ||
25 | +.dark div.summary-list tr:nth-child(even) { | ||
26 | + background-color: #333; | ||
27 | +} | ||
28 | +.dark div.summary-list tr:nth-child(odd) { | ||
29 | + background-color: #444; | ||
30 | +} | ||
31 | + | ||
32 | +.light div.summary-list tr.selected { | ||
33 | + background-color: deepskyblue !important; | ||
34 | +} | ||
35 | + | ||
36 | +.dark div.summary-list tr.selected { | ||
37 | + background-color: #304860; | ||
38 | +} | ||
39 | + | ||
40 | +/* highlighting */ | ||
41 | +.light div.summary-list tr.data-change { | ||
42 | + background-color: #FDFFDC; | ||
43 | +} | ||
44 | +.dark div.summary-list tr.data-change { | ||
45 | + background-color: #5A5600; | ||
46 | +} | ||
47 | + | ||
48 | +.light div.summary-list .table-header td { | ||
49 | + background-color: #bbb; | ||
50 | +} | ||
51 | +.dark div.summary-list .table-header td { | ||
52 | + background-color: #222; | ||
53 | + color: #ccc; | ||
54 | +} | ||
55 | + | ||
56 | +.dark div.summary-list td { | ||
57 | + color: #ccc; | ||
58 | +} | ||
59 | + | ||
60 | +/* Inactive */ | ||
61 | +.light .ctrl-btns div g.icon rect, | ||
62 | +.light .ctrl-btns div:hover g.icon rect { | ||
63 | + fill: #eee; | ||
64 | +} | ||
65 | +.dark .ctrl-btns div g.icon rect, | ||
66 | +.dark .ctrl-btns div:hover g.icon rect { | ||
67 | + fill: #222; | ||
68 | +} | ||
69 | + | ||
70 | +.light .ctrl-btns div g.icon use { | ||
71 | + fill: #ddd; | ||
72 | +} | ||
73 | +.dark .ctrl-btns div g.icon use { | ||
74 | + fill: #333; | ||
75 | +} | ||
76 | + | ||
77 | +/* Active hover */ | ||
78 | +.light .ctrl-btns div.active:hover g.icon rect { | ||
79 | + fill: #800; | ||
80 | +} | ||
81 | + | ||
82 | +.dark .ctrl-btns div.active:hover g.icon rect { | ||
83 | + fill: #CE5650; | ||
84 | +} | ||
85 | + | ||
86 | +/* Active */ | ||
87 | +.light .ctrl-btns div.active g.icon use { | ||
88 | + fill: #fff; | ||
89 | +} | ||
90 | +.dark .ctrl-btns div.active g.icon use { | ||
91 | + fill: #eee; | ||
92 | +} | ||
93 | + | ||
94 | +.light .ctrl-btns div.active g.icon rect { | ||
95 | + fill: #bbb; | ||
96 | +} | ||
97 | +.dark .ctrl-btns div.active g.icon rect { | ||
98 | + fill: #444; | ||
99 | +} | ||
100 | + | ||
101 | +/* Refresh button specific */ | ||
102 | +.light .ctrl-btns div.refresh.active g.icon rect { | ||
103 | + fill: #964949; | ||
104 | +} | ||
105 | + | ||
106 | +.dark .ctrl-btns div.refresh.active g.icon rect { | ||
107 | + fill: #9B4641; | ||
108 | +} | ||
109 | +.light .ctrl-btns div.refresh:hover g.icon rect { | ||
110 | + fill: #964949; | ||
111 | +} | ||
112 | + | ||
113 | +.dark .ctrl-btns div.refresh:hover g.icon rect { | ||
114 | + fill: #9B4641; | ||
115 | +} | ||
116 | + |
... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -/* ------ for summary-list tables ------ */ | 17 | +/* ------ for summary-list tables (layout) ------ */ |
18 | 18 | ||
19 | div.summary-list { | 19 | div.summary-list { |
20 | margin: 0 20px 16px 10px; | 20 | margin: 0 20px 16px 10px; |
... | @@ -42,37 +42,11 @@ div.summary-list tr.no-data td { | ... | @@ -42,37 +42,11 @@ div.summary-list tr.no-data td { |
42 | font-style: italic; | 42 | font-style: italic; |
43 | } | 43 | } |
44 | 44 | ||
45 | -.light div.summary-list tr:nth-child(even) { | ||
46 | - background-color: #ddd; | ||
47 | -} | ||
48 | -.light div.summary-list tr:nth-child(odd) { | ||
49 | - background-color: #eee; | ||
50 | -} | ||
51 | -.dark div.summary-list tr:nth-child(even) { | ||
52 | - background-color: #333; | ||
53 | -} | ||
54 | -.dark div.summary-list tr:nth-child(odd) { | ||
55 | - background-color: #444; | ||
56 | -} | ||
57 | - | ||
58 | -.light div.summary-list tr.selected { | ||
59 | - background-color: deepskyblue !important; | ||
60 | -} | ||
61 | - | ||
62 | -.dark div.summary-list tr.selected { | ||
63 | - background-color: #304860; | ||
64 | -} | ||
65 | 45 | ||
66 | /* highlighting */ | 46 | /* highlighting */ |
67 | div.summary-list tr { | 47 | div.summary-list tr { |
68 | transition: background-color 500ms; | 48 | transition: background-color 500ms; |
69 | } | 49 | } |
70 | -.light div.summary-list tr.data-change { | ||
71 | - background-color: #FDFFDC; | ||
72 | -} | ||
73 | -.dark div.summary-list tr.data-change { | ||
74 | - background-color: #5A5600; | ||
75 | -} | ||
76 | 50 | ||
77 | div.summary-list td { | 51 | div.summary-list td { |
78 | padding: 6px; | 52 | padding: 6px; |
... | @@ -92,23 +66,11 @@ div.summary-list .table-header td:last-child { | ... | @@ -92,23 +66,11 @@ div.summary-list .table-header td:last-child { |
92 | border-radius: 0 8px 0 0; | 66 | border-radius: 0 8px 0 0; |
93 | } | 67 | } |
94 | 68 | ||
95 | -.light div.summary-list .table-header td { | ||
96 | - background-color: #bbb; | ||
97 | -} | ||
98 | -.dark div.summary-list .table-header td { | ||
99 | - background-color: #222; | ||
100 | - color: #ccc; | ||
101 | -} | ||
102 | - | ||
103 | /* rows are selectable */ | 69 | /* rows are selectable */ |
104 | div.summary-list .table-body td { | 70 | div.summary-list .table-body td { |
105 | cursor: pointer; | 71 | cursor: pointer; |
106 | } | 72 | } |
107 | 73 | ||
108 | -.dark div.summary-list td { | ||
109 | - color: #ccc; | ||
110 | -} | ||
111 | - | ||
112 | /* Tabular view upper right control buttons */ | 74 | /* Tabular view upper right control buttons */ |
113 | 75 | ||
114 | div.ctrl-btns { | 76 | div.ctrl-btns { |
... | @@ -119,7 +81,6 @@ div.ctrl-btns { | ... | @@ -119,7 +81,6 @@ div.ctrl-btns { |
119 | margin-top: 7px; | 81 | margin-top: 7px; |
120 | } | 82 | } |
121 | 83 | ||
122 | - | ||
123 | div.ctrl-btns div { | 84 | div.ctrl-btns div { |
124 | display: inline-block; | 85 | display: inline-block; |
125 | padding: 4px; | 86 | padding: 4px; |
... | @@ -131,60 +92,3 @@ div.ctrl-btns div.separator { | ... | @@ -131,60 +92,3 @@ div.ctrl-btns div.separator { |
131 | width: 24px; | 92 | width: 24px; |
132 | border: none; | 93 | border: none; |
133 | } | 94 | } |
134 | - | ||
135 | -/* Inactive */ | ||
136 | -.light .ctrl-btns div g.icon rect, | ||
137 | -.light .ctrl-btns div:hover g.icon rect { | ||
138 | - fill: #eee; | ||
139 | -} | ||
140 | -.dark .ctrl-btns div g.icon rect, | ||
141 | -.dark .ctrl-btns div:hover g.icon rect { | ||
142 | - fill: #222; | ||
143 | -} | ||
144 | - | ||
145 | -.light .ctrl-btns div g.icon use { | ||
146 | - fill: #ddd; | ||
147 | -} | ||
148 | -.dark .ctrl-btns div g.icon use { | ||
149 | - fill: #333; | ||
150 | -} | ||
151 | - | ||
152 | -/* Active hover */ | ||
153 | -.light .ctrl-btns div.active:hover g.icon rect { | ||
154 | - fill: #800; | ||
155 | -} | ||
156 | - | ||
157 | -.dark .ctrl-btns div.active:hover g.icon rect { | ||
158 | - fill: #CE5650; | ||
159 | -} | ||
160 | - | ||
161 | -/* Active */ | ||
162 | -.light .ctrl-btns div.active g.icon use { | ||
163 | - fill: #fff; | ||
164 | -} | ||
165 | -.dark .ctrl-btns div.active g.icon use { | ||
166 | - fill: #eee; | ||
167 | -} | ||
168 | - | ||
169 | -.light .ctrl-btns div.active g.icon rect { | ||
170 | - fill: #bbb; | ||
171 | -} | ||
172 | -.dark .ctrl-btns div.active g.icon rect { | ||
173 | - fill: #444; | ||
174 | -} | ||
175 | - | ||
176 | -/* Refresh button specific */ | ||
177 | -.light .ctrl-btns div.refresh.active g.icon rect { | ||
178 | - fill: #964949; | ||
179 | -} | ||
180 | - | ||
181 | -.dark .ctrl-btns div.refresh.active g.icon rect { | ||
182 | - fill: #9B4641; | ||
183 | -} | ||
184 | -.light .ctrl-btns div.refresh:hover g.icon rect { | ||
185 | - fill: #964949; | ||
186 | -} | ||
187 | - | ||
188 | -.dark .ctrl-btns div.refresh:hover g.icon rect { | ||
189 | - fill: #9B4641; | ||
190 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Toolbar Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light .tbar-arrow svg.embeddedIcon .icon .glyph { | ||
22 | + fill: #838383; | ||
23 | +} | ||
24 | +.dark .tbar-arrow svg.embeddedIcon .icon .glyph { | ||
25 | + fill: #B2B2B2; | ||
26 | +} | ||
27 | + | ||
28 | +.tbar-arrow svg.embeddedIcon .icon rect { | ||
29 | + stroke: none; | ||
30 | +} | ||
31 | +.light .tbar-arrow svg.embeddedIcon .icon rect { | ||
32 | + fill: none; | ||
33 | +} | ||
34 | +.dark .tbar-arrow svg.embeddedIcon .icon rect { | ||
35 | + fill: none; | ||
36 | +} | ||
37 | + | ||
38 | +.light .separator { | ||
39 | + border-color: #ddd; | ||
40 | +} | ||
41 | +.dark .separator { | ||
42 | + border-color: #1A1A1A; | ||
43 | +} |
... | @@ -15,17 +15,9 @@ | ... | @@ -15,17 +15,9 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Toolbar Service -- CSS file | 18 | + ONOS GUI -- Toolbar Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | -.light .tbar-arrow svg.embeddedIcon .icon .glyph { | ||
22 | - fill: #838383; | ||
23 | -} | ||
24 | -.dark .tbar-arrow svg.embeddedIcon .icon .glyph { | ||
25 | - fill: #B2B2B2; | ||
26 | -} | ||
27 | - | ||
28 | - | ||
29 | div.tbar-arrow { | 21 | div.tbar-arrow { |
30 | position: absolute; | 22 | position: absolute; |
31 | top: 53%; | 23 | top: 53%; |
... | @@ -42,17 +34,6 @@ div.tbar-arrow { | ... | @@ -42,17 +34,6 @@ div.tbar-arrow { |
42 | margin-right: -3%; | 34 | margin-right: -3%; |
43 | } | 35 | } |
44 | 36 | ||
45 | -.tbar-arrow svg.embeddedIcon .icon rect { | ||
46 | - stroke: none; | ||
47 | -} | ||
48 | -.light .tbar-arrow svg.embeddedIcon .icon rect { | ||
49 | - fill: none; | ||
50 | -} | ||
51 | -.dark .tbar-arrow svg.embeddedIcon .icon rect { | ||
52 | - fill: none; | ||
53 | -} | ||
54 | - | ||
55 | - | ||
56 | .toolbar { | 37 | .toolbar { |
57 | line-height: 125%; | 38 | line-height: 125%; |
58 | } | 39 | } |
... | @@ -60,8 +41,6 @@ div.tbar-arrow { | ... | @@ -60,8 +41,6 @@ div.tbar-arrow { |
60 | display: inline-block; | 41 | display: inline-block; |
61 | } | 42 | } |
62 | 43 | ||
63 | - | ||
64 | - | ||
65 | .separator { | 44 | .separator { |
66 | border: 1px solid; | 45 | border: 1px solid; |
67 | margin: 0 4px 0 4px; | 46 | margin: 0 4px 0 4px; |
... | @@ -69,9 +48,3 @@ div.tbar-arrow { | ... | @@ -69,9 +48,3 @@ div.tbar-arrow { |
69 | height: 23px; | 48 | height: 23px; |
70 | width: 0; | 49 | width: 0; |
71 | } | 50 | } |
72 | -.light .separator { | ||
73 | - border-color: #ddd; | ||
74 | -} | ||
75 | -.dark .separator { | ||
76 | - border-color: #1A1A1A; | ||
77 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Tooltip Service (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | + | ||
22 | +.light #tooltip { | ||
23 | + background-color: #ddd; | ||
24 | + color: #444; | ||
25 | + border-color: #ccc; | ||
26 | +} | ||
27 | + | ||
28 | +.dark #tooltip { | ||
29 | + background-color: #151515; | ||
30 | + color: #B2B2B2; | ||
31 | + border-color: #252525; | ||
32 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Tooltip Service -- CSS file | 18 | + ONOS GUI -- Tooltip Service (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #tooltip { | 21 | #tooltip { |
... | @@ -28,17 +28,3 @@ | ... | @@ -28,17 +28,3 @@ |
28 | display: none; | 28 | display: none; |
29 | pointer-events: none; | 29 | pointer-events: none; |
30 | } | 30 | } |
31 | - | ||
32 | -/* colors subject to change */ | ||
33 | - | ||
34 | -.light #tooltip { | ||
35 | - background-color: #ddd; | ||
36 | - color: #444; | ||
37 | - border-color: #ccc; | ||
38 | -} | ||
39 | - | ||
40 | -.dark #tooltip { | ||
41 | - background-color: #151515; | ||
42 | - color: #B2B2B2; | ||
43 | - border-color: #252525; | ||
44 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
web/gui/src/main/webapp/app/onos-theme.css
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- core (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +body.light { | ||
22 | + background-color: white; | ||
23 | +} | ||
24 | +body.dark { | ||
25 | + background-color: #2b2b2b; | ||
26 | +} | ||
27 | + | ||
28 | +.light #view h2 { | ||
29 | + color: #800; | ||
30 | +} | ||
31 | +.dark #view h2 { | ||
32 | + color: #CE5650; | ||
33 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- core -- CSS file | 18 | + ONOS GUI -- core (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | html { | 21 | html { |
... | @@ -35,13 +35,6 @@ body { | ... | @@ -35,13 +35,6 @@ body { |
35 | overflow: hidden; | 35 | overflow: hidden; |
36 | } | 36 | } |
37 | 37 | ||
38 | -body.light { | ||
39 | - background-color: white; | ||
40 | -} | ||
41 | -body.dark { | ||
42 | - background-color: #2b2b2b; | ||
43 | -} | ||
44 | - | ||
45 | #view { | 38 | #view { |
46 | padding: 6px; | 39 | padding: 6px; |
47 | width: 100%; | 40 | width: 100%; |
... | @@ -52,21 +45,3 @@ body.dark { | ... | @@ -52,21 +45,3 @@ body.dark { |
52 | padding-left: 12px; | 45 | padding-left: 12px; |
53 | } | 46 | } |
54 | 47 | ||
55 | -.light #view h2 { | ||
56 | - color: #800; | ||
57 | -} | ||
58 | -.dark #view h2 { | ||
59 | - color: #CE5650; | ||
60 | -} | ||
61 | - | ||
62 | -.centered { | ||
63 | - position: fixed; | ||
64 | - top: 50%; | ||
65 | - left: 50%; | ||
66 | - -webkit-transform: translate(-50%, -50%); | ||
67 | - transform: translate(-50%, -50%); | ||
68 | - box-shadow: 2px 2px 24px 5px #888; | ||
69 | - background-color: #eee; | ||
70 | - margin: 0; | ||
71 | - padding: 10px; | ||
72 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Applications View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #app-dialog p { | ||
22 | + color: darkred; | ||
23 | +} | ||
24 | +.dark #app-dialog p { | ||
25 | + color: #c55; | ||
26 | +} | ||
27 | + | ||
28 | +.light #app-dialog p.strong { | ||
29 | + color: red; | ||
30 | + background-color: #ff0; | ||
31 | +} | ||
32 | +.dark #app-dialog p.strong { | ||
33 | + color: #c55; | ||
34 | + background-color: #dd4; | ||
35 | +} | ||
36 | + | ||
37 | + | ||
38 | +.light #app-dialog.floatpanel.dialog { | ||
39 | + background-color: #fff; | ||
40 | +} | ||
41 | +.dark #app-dialog.floatpanel.dialog { | ||
42 | + background-color: #444; | ||
43 | +} | ||
44 | + | ||
45 | +.light #application-details-panel.floatpanel { | ||
46 | + background-color: rgb(229, 234, 237); | ||
47 | +} | ||
48 | +.dark #application-details-panel.floatpanel { | ||
49 | + background-color: #3A4042; | ||
50 | +} | ||
51 | + | ||
52 | +.light .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
53 | + fill: #aaa; | ||
54 | +} | ||
55 | +.dark .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
56 | + fill: #ccc; | ||
57 | +} | ||
58 | + | ||
59 | +#application-details-panel td.label, | ||
60 | +#application-details-panel .app-url i { | ||
61 | + /* works for both light and dark themes ... */ | ||
62 | + color: #777; | ||
63 | +} | ||
64 | + | ||
65 | +.light #application-details-panel hr { | ||
66 | + opacity: .5; | ||
67 | + border-color: #FFF; | ||
68 | +} | ||
69 | +.dark #application-details-panel hr { | ||
70 | + border-color: #666; | ||
71 | +} | ||
72 | + | ||
73 | +.light #application-details-panel .bottom tr:nth-child(odd) { | ||
74 | + background-color: #f9f9f9; | ||
75 | +} | ||
76 | +.light #application-details-panel .bottom tr:nth-child(even) { | ||
77 | + background-color: #EBEDF2; | ||
78 | +} | ||
79 | +.dark #application-details-panel .bottom tr:nth-child(odd) { | ||
80 | + background-color: #333; | ||
81 | +} | ||
82 | +.dark #application-details-panel .bottom tr:nth-child(even) { | ||
83 | + background-color: #555; | ||
84 | +} | ||
85 | + | ||
86 | +.light div.dropping { | ||
87 | + border: solid 3px deepskyblue; | ||
88 | +} | ||
89 | + | ||
90 | +.dark div.dropping { | ||
91 | + border: solid 3px deepskyblue; | ||
92 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Applications View -- CSS file | 18 | + ONOS GUI -- Applications View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-app h2 { | 21 | #ov-app h2 { |
... | @@ -34,32 +34,10 @@ | ... | @@ -34,32 +34,10 @@ |
34 | #app-dialog p { | 34 | #app-dialog p { |
35 | font-size: 12pt; | 35 | font-size: 12pt; |
36 | } | 36 | } |
37 | -.light #app-dialog p { | ||
38 | - color: darkred; | ||
39 | -} | ||
40 | -.dark #app-dialog p { | ||
41 | - color: #c55; | ||
42 | -} | ||
43 | 37 | ||
44 | #app-dialog p.strong { | 38 | #app-dialog p.strong { |
45 | font-weight: bold; | 39 | font-weight: bold; |
46 | } | 40 | } |
47 | -.light #app-dialog p.strong { | ||
48 | - color: red; | ||
49 | - background-color: #ff0; | ||
50 | -} | ||
51 | -.dark #app-dialog p.strong { | ||
52 | - color: #c55; | ||
53 | - background-color: #dd4; | ||
54 | -} | ||
55 | - | ||
56 | - | ||
57 | -.light #app-dialog.floatpanel.dialog { | ||
58 | - background-color: #fff; | ||
59 | -} | ||
60 | -.dark #app-dialog.floatpanel.dialog { | ||
61 | - background-color: #444; | ||
62 | -} | ||
63 | 41 | ||
64 | #application-details-panel.floatpanel { | 42 | #application-details-panel.floatpanel { |
65 | -moz-border-radius: 0; | 43 | -moz-border-radius: 0; |
... | @@ -67,12 +45,6 @@ | ... | @@ -67,12 +45,6 @@ |
67 | z-index: 0; | 45 | z-index: 0; |
68 | } | 46 | } |
69 | 47 | ||
70 | -.light #application-details-panel.floatpanel { | ||
71 | - background-color: rgb(229, 234, 237); | ||
72 | -} | ||
73 | -.dark #application-details-panel.floatpanel { | ||
74 | - background-color: #3A4042; | ||
75 | -} | ||
76 | 48 | ||
77 | #application-details-panel .container { | 49 | #application-details-panel .container { |
78 | padding: 0 10px; | 50 | padding: 0 10px; |
... | @@ -84,12 +56,6 @@ | ... | @@ -84,12 +56,6 @@ |
84 | top: 0; | 56 | top: 0; |
85 | cursor: pointer; | 57 | cursor: pointer; |
86 | } | 58 | } |
87 | -.light .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
88 | - fill: #aaa; | ||
89 | -} | ||
90 | -.dark .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
91 | - fill: #ccc; | ||
92 | -} | ||
93 | 59 | ||
94 | #application-details-panel .app-icon { | 60 | #application-details-panel .app-icon { |
95 | display: inline-block; | 61 | display: inline-block; |
... | @@ -127,8 +93,6 @@ | ... | @@ -127,8 +93,6 @@ |
127 | #application-details-panel .app-url i { | 93 | #application-details-panel .app-url i { |
128 | font-style: italic; | 94 | font-style: italic; |
129 | padding-right: 12px; | 95 | padding-right: 12px; |
130 | - /* works for both light and dark themes ... */ | ||
131 | - color: #777; | ||
132 | } | 96 | } |
133 | 97 | ||
134 | #application-details-panel td.value-bold { | 98 | #application-details-panel td.value-bold { |
... | @@ -143,13 +107,6 @@ | ... | @@ -143,13 +107,6 @@ |
143 | width: 95%; | 107 | width: 95%; |
144 | margin: 10px auto; | 108 | margin: 10px auto; |
145 | } | 109 | } |
146 | -.light #application-details-panel hr { | ||
147 | - opacity: .5; | ||
148 | - border-color: #FFF; | ||
149 | -} | ||
150 | -.dark #application-details-panel hr { | ||
151 | - border-color: #666; | ||
152 | -} | ||
153 | 110 | ||
154 | #application-details-panel .bottom table { | 111 | #application-details-panel .bottom table { |
155 | border-spacing: 0; | 112 | border-spacing: 0; |
... | @@ -161,27 +118,8 @@ | ... | @@ -161,27 +118,8 @@ |
161 | text-align: left; | 118 | text-align: left; |
162 | } | 119 | } |
163 | 120 | ||
164 | -.light #application-details-panel .bottom tr:nth-child(odd) { | ||
165 | - background-color: #f9f9f9; | ||
166 | -} | ||
167 | -.light #application-details-panel .bottom tr:nth-child(even) { | ||
168 | - background-color: #EBEDF2; | ||
169 | -} | ||
170 | -.dark #application-details-panel .bottom tr:nth-child(odd) { | ||
171 | - background-color: #333; | ||
172 | -} | ||
173 | -.dark #application-details-panel .bottom tr:nth-child(even) { | ||
174 | - background-color: #555; | ||
175 | -} | ||
176 | 121 | ||
177 | .dropping { | 122 | .dropping { |
178 | 123 | ||
179 | } | 124 | } |
180 | 125 | ||
181 | -.light div.dropping { | ||
182 | - border: solid 3px deepskyblue; | ||
183 | -} | ||
184 | - | ||
185 | -.dark div.dropping { | ||
186 | - border: solid 3px deepskyblue; | ||
187 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Device View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #ov-device .current-view use { | ||
22 | + fill: white; | ||
23 | +} | ||
24 | +.dark #ov-device .current-view use { | ||
25 | + fill: #304860; | ||
26 | +} | ||
27 | + | ||
28 | +.light #ov-device .current-view rect { | ||
29 | + fill: deepskyblue; | ||
30 | +} | ||
31 | +.dark #ov-device .current-view rect { | ||
32 | + fill: #eee; | ||
33 | +} | ||
34 | + | ||
35 | +.light #device-details-panel.floatpanel { | ||
36 | + background-color: rgb(229, 234, 237); | ||
37 | +} | ||
38 | +.dark #device-details-panel.floatpanel { | ||
39 | + background-color: #3A4042; | ||
40 | +} | ||
41 | + | ||
42 | +.light .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
43 | + fill: #aaa; | ||
44 | +} | ||
45 | +.dark .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
46 | + fill: #ccc; | ||
47 | +} | ||
48 | + | ||
49 | +.light .dev-icon svg.embeddedIcon .glyph { | ||
50 | + fill: rgb(0, 172, 229); | ||
51 | +} | ||
52 | +.dark .dev-icon svg.embeddedIcon .glyph { | ||
53 | + fill: #486D91; | ||
54 | +} | ||
55 | + | ||
56 | +#device-details-panel .editable { | ||
57 | + cursor: pointer; | ||
58 | + border-bottom: 1px dashed darkgreen; | ||
59 | +} | ||
60 | + | ||
61 | +#device-details-panel td.label { | ||
62 | + /* works for both light and dark themes ... */ | ||
63 | + color: #777; | ||
64 | +} | ||
65 | + | ||
66 | +.light #device-details-panel hr { | ||
67 | + opacity: .5; | ||
68 | + border-color: #FFF; | ||
69 | +} | ||
70 | +.dark #device-details-panel hr { | ||
71 | + border-color: #666; | ||
72 | +} | ||
73 | + | ||
74 | +.light #device-details-panel .bottom th { | ||
75 | + background-color: #CCC; | ||
76 | + /* default text color */ | ||
77 | +} | ||
78 | +.dark #device-details-panel .bottom th { | ||
79 | + background-color: #131313; | ||
80 | + color: #ccc; | ||
81 | +} | ||
82 | + | ||
83 | +.light #device-details-panel .bottom tr:nth-child(odd) { | ||
84 | + background-color: #f9f9f9; | ||
85 | +} | ||
86 | +.light #device-details-panel .bottom tr:nth-child(even) { | ||
87 | + background-color: #EBEDF2; | ||
88 | +} | ||
89 | +.dark #device-details-panel .bottom tr:nth-child(odd) { | ||
90 | + background-color: #333; | ||
91 | +} | ||
92 | +.dark #device-details-panel .bottom tr:nth-child(even) { | ||
93 | + background-color: #555; | ||
94 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Device View -- CSS file | 18 | + ONOS GUI -- Device View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-device h2 { | 21 | #ov-device h2 { |
... | @@ -25,19 +25,6 @@ | ... | @@ -25,19 +25,6 @@ |
25 | #ov-device div.ctrl-btns { | 25 | #ov-device div.ctrl-btns { |
26 | } | 26 | } |
27 | 27 | ||
28 | -.light #ov-device .current-view use { | ||
29 | - fill: white; | ||
30 | -} | ||
31 | -.dark #ov-device .current-view use { | ||
32 | - fill: #304860; | ||
33 | -} | ||
34 | - | ||
35 | -.light #ov-device .current-view rect { | ||
36 | - fill: deepskyblue; | ||
37 | -} | ||
38 | -.dark #ov-device .current-view rect { | ||
39 | - fill: #eee; | ||
40 | -} | ||
41 | 28 | ||
42 | /* More in generic panel.css */ | 29 | /* More in generic panel.css */ |
43 | 30 | ||
... | @@ -47,12 +34,6 @@ | ... | @@ -47,12 +34,6 @@ |
47 | z-index: 0; | 34 | z-index: 0; |
48 | } | 35 | } |
49 | 36 | ||
50 | -.light #device-details-panel.floatpanel { | ||
51 | - background-color: rgb(229, 234, 237); | ||
52 | -} | ||
53 | -.dark #device-details-panel.floatpanel { | ||
54 | - background-color: #3A4042; | ||
55 | -} | ||
56 | 37 | ||
57 | #device-details-panel .container { | 38 | #device-details-panel .container { |
58 | padding: 0 12px; | 39 | padding: 0 12px; |
... | @@ -64,34 +45,18 @@ | ... | @@ -64,34 +45,18 @@ |
64 | top: 0; | 45 | top: 0; |
65 | cursor: pointer; | 46 | cursor: pointer; |
66 | } | 47 | } |
67 | -.light .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
68 | - fill: #aaa; | ||
69 | -} | ||
70 | -.dark .close-btn svg.embeddedIcon .icon.plus .glyph { | ||
71 | - fill: #ccc; | ||
72 | -} | ||
73 | 48 | ||
74 | #device-details-panel .dev-icon { | 49 | #device-details-panel .dev-icon { |
75 | display: inline-block; | 50 | display: inline-block; |
76 | padding: 0 6px 0 0; | 51 | padding: 0 6px 0 0; |
77 | vertical-align: middle; | 52 | vertical-align: middle; |
78 | } | 53 | } |
79 | -.light .dev-icon svg.embeddedIcon .glyph { | ||
80 | - fill: rgb(0, 172, 229); | ||
81 | -} | ||
82 | -.dark .dev-icon svg.embeddedIcon .glyph { | ||
83 | - fill: #486D91; | ||
84 | -} | ||
85 | 54 | ||
86 | #device-details-panel h2 { | 55 | #device-details-panel h2 { |
87 | display: inline-block; | 56 | display: inline-block; |
88 | margin: 8px 0; | 57 | margin: 8px 0; |
89 | } | 58 | } |
90 | 59 | ||
91 | -#device-details-panel .editable { | ||
92 | - cursor: pointer; | ||
93 | - border-bottom: 1px dashed darkgreen; | ||
94 | -} | ||
95 | 60 | ||
96 | #device-details-panel h2 input { | 61 | #device-details-panel h2 input { |
97 | font-size: 1.0em; | 62 | font-size: 1.0em; |
... | @@ -108,8 +73,6 @@ | ... | @@ -108,8 +73,6 @@ |
108 | #device-details-panel td.label { | 73 | #device-details-panel td.label { |
109 | font-style: italic; | 74 | font-style: italic; |
110 | padding-right: 12px; | 75 | padding-right: 12px; |
111 | - /* works for both light and dark themes ... */ | ||
112 | - color: #777; | ||
113 | } | 76 | } |
114 | 77 | ||
115 | #device-details-panel .actionBtns div { | 78 | #device-details-panel .actionBtns div { |
... | @@ -121,13 +84,6 @@ | ... | @@ -121,13 +84,6 @@ |
121 | margin: 0 auto; | 84 | margin: 0 auto; |
122 | } | 85 | } |
123 | 86 | ||
124 | -.light #device-details-panel hr { | ||
125 | - opacity: .5; | ||
126 | - border-color: #FFF; | ||
127 | -} | ||
128 | -.dark #device-details-panel hr { | ||
129 | - border-color: #666; | ||
130 | -} | ||
131 | 87 | ||
132 | #device-details-panel .bottom table { | 88 | #device-details-panel .bottom table { |
133 | border-spacing: 0; | 89 | border-spacing: 0; |
... | @@ -137,14 +93,6 @@ | ... | @@ -137,14 +93,6 @@ |
137 | letter-spacing: 0.02em; | 93 | letter-spacing: 0.02em; |
138 | } | 94 | } |
139 | 95 | ||
140 | -.light #device-details-panel .bottom th { | ||
141 | - background-color: #CCC; | ||
142 | - /* default text color */ | ||
143 | -} | ||
144 | -.dark #device-details-panel .bottom th { | ||
145 | - background-color: #131313; | ||
146 | - color: #ccc; | ||
147 | -} | ||
148 | 96 | ||
149 | #device-details-panel .bottom th, | 97 | #device-details-panel .bottom th, |
150 | #device-details-panel .bottom td { | 98 | #device-details-panel .bottom td { |
... | @@ -152,15 +100,3 @@ | ... | @@ -152,15 +100,3 @@ |
152 | text-align: center; | 100 | text-align: center; |
153 | } | 101 | } |
154 | 102 | ||
155 | -.light #device-details-panel .bottom tr:nth-child(odd) { | ||
156 | - background-color: #f9f9f9; | ||
157 | -} | ||
158 | -.light #device-details-panel .bottom tr:nth-child(even) { | ||
159 | - background-color: #EBEDF2; | ||
160 | -} | ||
161 | -.dark #device-details-panel .bottom tr:nth-child(odd) { | ||
162 | - background-color: #333; | ||
163 | -} | ||
164 | -.dark #device-details-panel .bottom tr:nth-child(even) { | ||
165 | - background-color: #555; | ||
166 | -} | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Flow View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | + | ||
22 | +.light #ov-flow .current-view use { | ||
23 | + fill: white; | ||
24 | +} | ||
25 | +.dark #ov-flow .current-view use { | ||
26 | + fill: #304860; | ||
27 | +} | ||
28 | + | ||
29 | +.light #ov-flow .current-view rect { | ||
30 | + fill: deepskyblue; | ||
31 | +} | ||
32 | +.dark #ov-flow .current-view rect { | ||
33 | + fill: #eee; | ||
34 | +} | ||
35 | + | ||
36 | +.light #ov-flow tr:nth-child(6n + 1), | ||
37 | +.light #ov-flow tr:nth-child(6n + 2), | ||
38 | +.light #ov-flow tr:nth-child(6n + 3) { | ||
39 | + background-color: #eee; | ||
40 | +} | ||
41 | +.light #ov-flow tr:nth-child(6n + 4), | ||
42 | +.light #ov-flow tr:nth-child(6n + 5), | ||
43 | +.light #ov-flow tr:nth-child(6n) { | ||
44 | + background-color: #ddd; | ||
45 | +} | ||
46 | +.dark #ov-flow tr:nth-child(6n + 1), | ||
47 | +.dark #ov-flow tr:nth-child(6n + 2), | ||
48 | +.dark #ov-flow tr:nth-child(6n + 3) { | ||
49 | + background-color: #444; | ||
50 | +} | ||
51 | +.dark #ov-flow tr:nth-child(6n + 4), | ||
52 | +.dark #ov-flow tr:nth-child(6n + 5), | ||
53 | +.dark #ov-flow tr:nth-child(6n) { | ||
54 | + background-color: #333; | ||
55 | +} | ||
56 | + | ||
57 | +/* highlighted color */ | ||
58 | +.light #ov-flow tr:nth-child(6n + 1).data-change, | ||
59 | +.light #ov-flow tr:nth-child(6n + 2).data-change, | ||
60 | +.light #ov-flow tr:nth-child(6n + 3).data-change, | ||
61 | +.light #ov-flow tr:nth-child(6n + 4).data-change, | ||
62 | +.light #ov-flow tr:nth-child(6n + 5).data-change, | ||
63 | +.light #ov-flow tr:nth-child(6n).data-change { | ||
64 | + background-color: #FDFFDC; | ||
65 | +} | ||
66 | +.dark #ov-flow tr:nth-child(6n + 1).data-change, | ||
67 | +.dark #ov-flow tr:nth-child(6n + 2).data-change, | ||
68 | +.dark #ov-flow tr:nth-child(6n + 3).data-change, | ||
69 | +.dark #ov-flow tr:nth-child(6n + 4).data-change, | ||
70 | +.dark #ov-flow tr:nth-child(6n + 5).data-change, | ||
71 | +.dark #ov-flow tr:nth-child(6n).data-change { | ||
72 | + background-color: #5A5600; | ||
73 | +} | ||
74 | + | ||
75 | +#ov-flow td.selector, | ||
76 | +#ov-flow td.treatment { | ||
77 | + opacity: 0.65; | ||
78 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Flow View -- CSS file | 18 | + ONOS GUI -- Flow View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-flow h2 { | 21 | #ov-flow h2 { |
... | @@ -25,59 +25,6 @@ | ... | @@ -25,59 +25,6 @@ |
25 | #ov-flow div.ctrl-btns { | 25 | #ov-flow div.ctrl-btns { |
26 | } | 26 | } |
27 | 27 | ||
28 | -.light #ov-flow .current-view use { | ||
29 | - fill: white; | ||
30 | -} | ||
31 | -.dark #ov-flow .current-view use { | ||
32 | - fill: #304860; | ||
33 | -} | ||
34 | - | ||
35 | -.light #ov-flow .current-view rect { | ||
36 | - fill: deepskyblue; | ||
37 | -} | ||
38 | -.dark #ov-flow .current-view rect { | ||
39 | - fill: #eee; | ||
40 | -} | ||
41 | - | ||
42 | -.light #ov-flow tr:nth-child(6n + 1), | ||
43 | -.light #ov-flow tr:nth-child(6n + 2), | ||
44 | -.light #ov-flow tr:nth-child(6n + 3) { | ||
45 | - background-color: #eee; | ||
46 | -} | ||
47 | -.light #ov-flow tr:nth-child(6n + 4), | ||
48 | -.light #ov-flow tr:nth-child(6n + 5), | ||
49 | -.light #ov-flow tr:nth-child(6n) { | ||
50 | - background-color: #ddd; | ||
51 | -} | ||
52 | -.dark #ov-flow tr:nth-child(6n + 1), | ||
53 | -.dark #ov-flow tr:nth-child(6n + 2), | ||
54 | -.dark #ov-flow tr:nth-child(6n + 3) { | ||
55 | - background-color: #444; | ||
56 | -} | ||
57 | -.dark #ov-flow tr:nth-child(6n + 4), | ||
58 | -.dark #ov-flow tr:nth-child(6n + 5), | ||
59 | -.dark #ov-flow tr:nth-child(6n) { | ||
60 | - background-color: #333; | ||
61 | -} | ||
62 | - | ||
63 | -/* highlighted color */ | ||
64 | -.light #ov-flow tr:nth-child(6n + 1).data-change, | ||
65 | -.light #ov-flow tr:nth-child(6n + 2).data-change, | ||
66 | -.light #ov-flow tr:nth-child(6n + 3).data-change, | ||
67 | -.light #ov-flow tr:nth-child(6n + 4).data-change, | ||
68 | -.light #ov-flow tr:nth-child(6n + 5).data-change, | ||
69 | -.light #ov-flow tr:nth-child(6n).data-change { | ||
70 | - background-color: #FDFFDC; | ||
71 | -} | ||
72 | -.dark #ov-flow tr:nth-child(6n + 1).data-change, | ||
73 | -.dark #ov-flow tr:nth-child(6n + 2).data-change, | ||
74 | -.dark #ov-flow tr:nth-child(6n + 3).data-change, | ||
75 | -.dark #ov-flow tr:nth-child(6n + 4).data-change, | ||
76 | -.dark #ov-flow tr:nth-child(6n + 5).data-change, | ||
77 | -.dark #ov-flow tr:nth-child(6n).data-change { | ||
78 | - background-color: #5A5600; | ||
79 | -} | ||
80 | - | ||
81 | #ov-flow td { | 28 | #ov-flow td { |
82 | text-align: center; | 29 | text-align: center; |
83 | } | 30 | } |
... | @@ -88,5 +35,4 @@ | ... | @@ -88,5 +35,4 @@ |
88 | #ov-flow td.treatment { | 35 | #ov-flow td.treatment { |
89 | text-align: left; | 36 | text-align: left; |
90 | padding-left: 36px; | 37 | padding-left: 36px; |
91 | - opacity: 0.65; | ||
92 | } | 38 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Group View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #ov-group .current-view use { | ||
22 | + fill: white; | ||
23 | +} | ||
24 | +.dark #ov-group .current-view use { | ||
25 | + fill: #304860; | ||
26 | +} | ||
27 | + | ||
28 | +.light #ov-group .current-view rect { | ||
29 | + fill: deepskyblue; | ||
30 | +} | ||
31 | +.dark #ov-group .current-view rect { | ||
32 | + fill: #eee; | ||
33 | +} | ||
34 | + | ||
35 | +.light #ov-group tr:nth-child(4n + 1), | ||
36 | +.light #ov-group tr:nth-child(4n + 2) { | ||
37 | + background-color: #eee; | ||
38 | +} | ||
39 | +.light #ov-group tr:nth-child(4n + 3), | ||
40 | +.light #ov-group tr:nth-child(4n) { | ||
41 | + background-color: #ddd; | ||
42 | +} | ||
43 | +.dark #ov-group tr:nth-child(4n + 1), | ||
44 | +.dark #ov-group tr:nth-child(4n + 2) { | ||
45 | + background-color: #444; | ||
46 | +} | ||
47 | +.dark #ov-group tr:nth-child(4n + 3), | ||
48 | +.dark #ov-group tr:nth-child(4n) { | ||
49 | + background-color: #333; | ||
50 | +} | ||
51 | + | ||
52 | +/* highlighted color */ | ||
53 | +.light #ov-group tr:nth-child(4n + 1).data-change, | ||
54 | +.light #ov-group tr:nth-child(4n + 2).data-change, | ||
55 | +.light #ov-group tr:nth-child(4n + 3).data-change, | ||
56 | +.light #ov-group tr:nth-child(4n).data-change { | ||
57 | + background-color: #FDFFDC; | ||
58 | +} | ||
59 | +.dark #ov-group tr:nth-child(4n + 1).data-change, | ||
60 | +.dark #ov-group tr:nth-child(4n + 2).data-change, | ||
61 | +.dark #ov-group tr:nth-child(4n + 3).data-change, | ||
62 | +.dark #ov-group tr:nth-child(4n).data-change { | ||
63 | + background-color: #5A5600; | ||
64 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Group View -- CSS file | 18 | + ONOS GUI -- Group View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-group h2 { | 21 | #ov-group h2 { |
... | @@ -25,50 +25,7 @@ | ... | @@ -25,50 +25,7 @@ |
25 | #ov-group div.ctrl-btns { | 25 | #ov-group div.ctrl-btns { |
26 | } | 26 | } |
27 | 27 | ||
28 | -.light #ov-group .current-view use { | ||
29 | - fill: white; | ||
30 | -} | ||
31 | -.dark #ov-group .current-view use { | ||
32 | - fill: #304860; | ||
33 | -} | ||
34 | - | ||
35 | -.light #ov-group .current-view rect { | ||
36 | - fill: deepskyblue; | ||
37 | -} | ||
38 | -.dark #ov-group .current-view rect { | ||
39 | - fill: #eee; | ||
40 | -} | ||
41 | - | ||
42 | -.light #ov-group tr:nth-child(4n + 1), | ||
43 | -.light #ov-group tr:nth-child(4n + 2) { | ||
44 | - background-color: #eee; | ||
45 | -} | ||
46 | -.light #ov-group tr:nth-child(4n + 3), | ||
47 | -.light #ov-group tr:nth-child(4n) { | ||
48 | - background-color: #ddd; | ||
49 | -} | ||
50 | -.dark #ov-group tr:nth-child(4n + 1), | ||
51 | -.dark #ov-group tr:nth-child(4n + 2) { | ||
52 | - background-color: #444; | ||
53 | -} | ||
54 | -.dark #ov-group tr:nth-child(4n + 3), | ||
55 | -.dark #ov-group tr:nth-child(4n) { | ||
56 | - background-color: #333; | ||
57 | -} | ||
58 | 28 | ||
59 | -/* highlighted color */ | ||
60 | -.light #ov-group tr:nth-child(4n + 1).data-change, | ||
61 | -.light #ov-group tr:nth-child(4n + 2).data-change, | ||
62 | -.light #ov-group tr:nth-child(4n + 3).data-change, | ||
63 | -.light #ov-group tr:nth-child(4n).data-change { | ||
64 | - background-color: #FDFFDC; | ||
65 | -} | ||
66 | -.dark #ov-group tr:nth-child(4n + 1).data-change, | ||
67 | -.dark #ov-group tr:nth-child(4n + 2).data-change, | ||
68 | -.dark #ov-group tr:nth-child(4n + 3).data-change, | ||
69 | -.dark #ov-group tr:nth-child(4n).data-change { | ||
70 | - background-color: #5A5600; | ||
71 | -} | ||
72 | 29 | ||
73 | #ov-group td { | 30 | #ov-group td { |
74 | text-align: center; | 31 | text-align: center; | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Intent View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #ov-intent tr:nth-child(6n + 1), | ||
22 | +.light #ov-intent tr:nth-child(6n + 2), | ||
23 | +.light #ov-intent tr:nth-child(6n + 3) { | ||
24 | + background-color: #eee; | ||
25 | +} | ||
26 | +.light #ov-intent tr:nth-child(6n + 4), | ||
27 | +.light #ov-intent tr:nth-child(6n + 5), | ||
28 | +.light #ov-intent tr:nth-child(6n) { | ||
29 | + background-color: #ddd; | ||
30 | +} | ||
31 | +.dark #ov-intent tr:nth-child(6n + 1), | ||
32 | +.dark #ov-intent tr:nth-child(6n + 2), | ||
33 | +.dark #ov-intent tr:nth-child(6n + 3) { | ||
34 | + background-color: #444; | ||
35 | +} | ||
36 | +.dark #ov-intent tr:nth-child(6n + 4), | ||
37 | +.dark #ov-intent tr:nth-child(6n + 5), | ||
38 | +.dark #ov-intent tr:nth-child(6n) { | ||
39 | + background-color: #333; | ||
40 | +} | ||
41 | + | ||
42 | +.light #ov-intent tr:nth-child(6n + 1).data-change, | ||
43 | +.light #ov-intent tr:nth-child(6n + 2).data-change, | ||
44 | +.light #ov-intent tr:nth-child(6n + 3).data-change, | ||
45 | +.light #ov-intent tr:nth-child(6n + 4).data-change, | ||
46 | +.light #ov-intent tr:nth-child(6n + 5).data-change, | ||
47 | +.light #ov-intent tr:nth-child(6n).data-change { | ||
48 | + background-color: #FDFFDC; | ||
49 | +} | ||
50 | +.dark #ov-intent tr:nth-child(6n + 1).data-change, | ||
51 | +.dark #ov-intent tr:nth-child(6n + 2).data-change, | ||
52 | +.dark #ov-intent tr:nth-child(6n + 3).data-change, | ||
53 | +.dark #ov-intent tr:nth-child(6n + 4).data-change, | ||
54 | +.dark #ov-intent tr:nth-child(6n + 5).data-change, | ||
55 | +.dark #ov-intent tr:nth-child(6n).data-change { | ||
56 | + background-color: #5A5600; | ||
57 | +} | ||
58 | + | ||
59 | +#ov-intent td.resources, | ||
60 | +#ov-intent td.details { | ||
61 | + opacity: 0.65; | ||
62 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Intent View -- CSS file | 18 | + ONOS GUI -- Intent View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-intent h2 { | 21 | #ov-intent h2 { |
... | @@ -25,46 +25,8 @@ | ... | @@ -25,46 +25,8 @@ |
25 | #ov-intent div.ctrl-btns { | 25 | #ov-intent div.ctrl-btns { |
26 | } | 26 | } |
27 | 27 | ||
28 | -.light #ov-intent tr:nth-child(6n + 1), | ||
29 | -.light #ov-intent tr:nth-child(6n + 2), | ||
30 | -.light #ov-intent tr:nth-child(6n + 3) { | ||
31 | - background-color: #eee; | ||
32 | -} | ||
33 | -.light #ov-intent tr:nth-child(6n + 4), | ||
34 | -.light #ov-intent tr:nth-child(6n + 5), | ||
35 | -.light #ov-intent tr:nth-child(6n) { | ||
36 | - background-color: #ddd; | ||
37 | -} | ||
38 | -.dark #ov-intent tr:nth-child(6n + 1), | ||
39 | -.dark #ov-intent tr:nth-child(6n + 2), | ||
40 | -.dark #ov-intent tr:nth-child(6n + 3) { | ||
41 | - background-color: #444; | ||
42 | -} | ||
43 | -.dark #ov-intent tr:nth-child(6n + 4), | ||
44 | -.dark #ov-intent tr:nth-child(6n + 5), | ||
45 | -.dark #ov-intent tr:nth-child(6n) { | ||
46 | - background-color: #333; | ||
47 | -} | ||
48 | - | ||
49 | -.light #ov-intent tr:nth-child(6n + 1).data-change, | ||
50 | -.light #ov-intent tr:nth-child(6n + 2).data-change, | ||
51 | -.light #ov-intent tr:nth-child(6n + 3).data-change, | ||
52 | -.light #ov-intent tr:nth-child(6n + 4).data-change, | ||
53 | -.light #ov-intent tr:nth-child(6n + 5).data-change, | ||
54 | -.light #ov-intent tr:nth-child(6n).data-change { | ||
55 | - background-color: #FDFFDC; | ||
56 | -} | ||
57 | -.dark #ov-intent tr:nth-child(6n + 1).data-change, | ||
58 | -.dark #ov-intent tr:nth-child(6n + 2).data-change, | ||
59 | -.dark #ov-intent tr:nth-child(6n + 3).data-change, | ||
60 | -.dark #ov-intent tr:nth-child(6n + 4).data-change, | ||
61 | -.dark #ov-intent tr:nth-child(6n + 5).data-change, | ||
62 | -.dark #ov-intent tr:nth-child(6n).data-change { | ||
63 | - background-color: #5A5600; | ||
64 | -} | ||
65 | 28 | ||
66 | #ov-intent td.resources, | 29 | #ov-intent td.resources, |
67 | #ov-intent td.details { | 30 | #ov-intent td.details { |
68 | padding-left: 36px; | 31 | padding-left: 36px; |
69 | - opacity: 0.65; | ||
70 | } | 32 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Meter View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #ov-meter .current-view use { | ||
22 | + fill: white; | ||
23 | +} | ||
24 | +.dark #ov-meter .current-view use { | ||
25 | + fill: #304860; | ||
26 | +} | ||
27 | + | ||
28 | +.light #ov-meter .current-view rect { | ||
29 | + fill: deepskyblue; | ||
30 | +} | ||
31 | +.dark #ov-meter .current-view rect { | ||
32 | + fill: #eee; | ||
33 | +} | ||
34 | + | ||
35 | +.light #ov-meter tr:nth-child(4n + 1), | ||
36 | +.light #ov-meter tr:nth-child(4n + 2) { | ||
37 | + background-color: #eee; | ||
38 | +} | ||
39 | +.light #ov-meter tr:nth-child(4n + 3), | ||
40 | +.light #ov-meter tr:nth-child(4n) { | ||
41 | + background-color: #ddd; | ||
42 | +} | ||
43 | +.dark #ov-meter tr:nth-child(4n + 1), | ||
44 | +.dark #ov-meter tr:nth-child(4n + 2) { | ||
45 | + background-color: #444; | ||
46 | +} | ||
47 | +.dark #ov-meter tr:nth-child(4n + 3), | ||
48 | +.dark #ov-meter tr:nth-child(4n) { | ||
49 | + background-color: #333; | ||
50 | +} | ||
51 | + | ||
52 | +/* highlighted color */ | ||
53 | +.light #ov-meter tr:nth-child(4n + 1).data-change, | ||
54 | +.light #ov-meter tr:nth-child(4n + 2).data-change, | ||
55 | +.light #ov-meter tr:nth-child(4n + 3).data-change, | ||
56 | +.light #ov-meter tr:nth-child(4n).data-change { | ||
57 | + background-color: #FDFFDC; | ||
58 | +} | ||
59 | +.dark #ov-meter tr:nth-child(4n + 1).data-change, | ||
60 | +.dark #ov-meter tr:nth-child(4n + 2).data-change, | ||
61 | +.dark #ov-meter tr:nth-child(4n + 3).data-change, | ||
62 | +.dark #ov-meter tr:nth-child(4n).data-change { | ||
63 | + background-color: #5A5600; | ||
64 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Meter View -- CSS file | 18 | + ONOS GUI -- Meter View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-meter h2 { | 21 | #ov-meter h2 { |
... | @@ -25,51 +25,6 @@ | ... | @@ -25,51 +25,6 @@ |
25 | #ov-meter div.ctrl-btns { | 25 | #ov-meter div.ctrl-btns { |
26 | } | 26 | } |
27 | 27 | ||
28 | -.light #ov-meter .current-view use { | ||
29 | - fill: white; | ||
30 | -} | ||
31 | -.dark #ov-meter .current-view use { | ||
32 | - fill: #304860; | ||
33 | -} | ||
34 | - | ||
35 | -.light #ov-meter .current-view rect { | ||
36 | - fill: deepskyblue; | ||
37 | -} | ||
38 | -.dark #ov-meter .current-view rect { | ||
39 | - fill: #eee; | ||
40 | -} | ||
41 | - | ||
42 | -.light #ov-meter tr:nth-child(4n + 1), | ||
43 | -.light #ov-meter tr:nth-child(4n + 2) { | ||
44 | - background-color: #eee; | ||
45 | -} | ||
46 | -.light #ov-meter tr:nth-child(4n + 3), | ||
47 | -.light #ov-meter tr:nth-child(4n) { | ||
48 | - background-color: #ddd; | ||
49 | -} | ||
50 | -.dark #ov-meter tr:nth-child(4n + 1), | ||
51 | -.dark #ov-meter tr:nth-child(4n + 2) { | ||
52 | - background-color: #444; | ||
53 | -} | ||
54 | -.dark #ov-meter tr:nth-child(4n + 3), | ||
55 | -.dark #ov-meter tr:nth-child(4n) { | ||
56 | - background-color: #333; | ||
57 | -} | ||
58 | - | ||
59 | -/* highlighted color */ | ||
60 | -.light #ov-meter tr:nth-child(4n + 1).data-change, | ||
61 | -.light #ov-meter tr:nth-child(4n + 2).data-change, | ||
62 | -.light #ov-meter tr:nth-child(4n + 3).data-change, | ||
63 | -.light #ov-meter tr:nth-child(4n).data-change { | ||
64 | - background-color: #FDFFDC; | ||
65 | -} | ||
66 | -.dark #ov-meter tr:nth-child(4n + 1).data-change, | ||
67 | -.dark #ov-meter tr:nth-child(4n + 2).data-change, | ||
68 | -.dark #ov-meter tr:nth-child(4n + 3).data-change, | ||
69 | -.dark #ov-meter tr:nth-child(4n).data-change { | ||
70 | - background-color: #5A5600; | ||
71 | -} | ||
72 | - | ||
73 | #ov-meter td { | 28 | #ov-meter td { |
74 | text-align: center; | 29 | text-align: center; |
75 | } | 30 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Port View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #ov-port .current-view use { | ||
22 | + fill: white; | ||
23 | +} | ||
24 | +.dark #ov-port .current-view use { | ||
25 | + fill: #304860; | ||
26 | +} | ||
27 | + | ||
28 | +.light #ov-port .current-view rect { | ||
29 | + fill: deepskyblue; | ||
30 | +} | ||
31 | +.dark #ov-port .current-view rect { | ||
32 | + fill: #eee; | ||
33 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Port View -- CSS file | 18 | + ONOS GUI -- Port View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-port h2 { | 21 | #ov-port h2 { |
... | @@ -25,20 +25,6 @@ | ... | @@ -25,20 +25,6 @@ |
25 | #ov-port div.ctrl-btns { | 25 | #ov-port div.ctrl-btns { |
26 | } | 26 | } |
27 | 27 | ||
28 | -.light #ov-port .current-view use { | ||
29 | - fill: white; | ||
30 | -} | ||
31 | -.dark #ov-port .current-view use { | ||
32 | - fill: #304860; | ||
33 | -} | ||
34 | - | ||
35 | -.light #ov-port .current-view rect { | ||
36 | - fill: deepskyblue; | ||
37 | -} | ||
38 | -.dark #ov-port .current-view rect { | ||
39 | - fill: #eee; | ||
40 | -} | ||
41 | - | ||
42 | #ov-port td { | 28 | #ov-port td { |
43 | text-align: center; | 29 | text-align: center; |
44 | } | 30 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Processor View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +.light #ov-processor .current-view use { | ||
22 | + fill: white; | ||
23 | +} | ||
24 | +.dark #ov-processor .current-view use { | ||
25 | + fill: #304860; | ||
26 | +} | ||
27 | + | ||
28 | +.light #ov-processor .current-view rect { | ||
29 | + fill: deepskyblue; | ||
30 | +} | ||
31 | +.dark #ov-processor .current-view rect { | ||
32 | + fill: #eee; | ||
33 | +} |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Processor View -- CSS file | 18 | + ONOS GUI -- Processor View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #ov-processor h2 { | 21 | #ov-processor h2 { |
... | @@ -26,20 +26,6 @@ | ... | @@ -26,20 +26,6 @@ |
26 | width: 40px; | 26 | width: 40px; |
27 | } | 27 | } |
28 | 28 | ||
29 | -.light #ov-processor .current-view use { | ||
30 | - fill: white; | ||
31 | -} | ||
32 | -.dark #ov-processor .current-view use { | ||
33 | - fill: #304860; | ||
34 | -} | ||
35 | - | ||
36 | -.light #ov-processor .current-view rect { | ||
37 | - fill: deepskyblue; | ||
38 | -} | ||
39 | -.dark #ov-processor .current-view rect { | ||
40 | - fill: #eee; | ||
41 | -} | ||
42 | - | ||
43 | #ov-processor td.number { | 29 | #ov-processor td.number { |
44 | text-align: right; | 30 | text-align: right; |
45 | } | 31 | } | ... | ... |
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * 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 | ||
7 | + * | ||
8 | + * 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. | ||
15 | + */ | ||
16 | + | ||
17 | +/* | ||
18 | + ONOS GUI -- Topology View (theme) -- CSS file | ||
19 | + */ | ||
20 | + | ||
21 | +/* --- Base SVG Layer --- */ | ||
22 | + | ||
23 | +.light #ov-topo svg { | ||
24 | + background-color: #fff; | ||
25 | +} | ||
26 | +.dark #ov-topo svg { | ||
27 | + background-color: #2b2b2b; | ||
28 | +} | ||
29 | + | ||
30 | +/* --- "No Devices" Layer --- */ | ||
31 | + | ||
32 | +.light #ov-topo svg .noDevsBird { | ||
33 | + fill: #ecd; | ||
34 | +} | ||
35 | +.dark #ov-topo svg .noDevsBird { | ||
36 | + fill: #683434; | ||
37 | +} | ||
38 | + | ||
39 | +.light #ov-topo svg #topo-noDevsLayer text { | ||
40 | + fill: #dde; | ||
41 | +} | ||
42 | +.dark #ov-topo svg #topo-noDevsLayer text { | ||
43 | + fill: #3b3b4f; | ||
44 | +} | ||
45 | + | ||
46 | +/* --- Topo Map --- */ | ||
47 | + | ||
48 | +#ov-topo svg #topo-map { | ||
49 | + stroke-width: 2px; | ||
50 | + fill: transparent; | ||
51 | +} | ||
52 | + | ||
53 | +.light #ov-topo svg #topo-map { | ||
54 | + stroke: #ddd; | ||
55 | +} | ||
56 | +.dark #ov-topo svg #topo-map { | ||
57 | + stroke: #444; | ||
58 | +} | ||
59 | + | ||
60 | +/* --- general topo-panel styling --- */ | ||
61 | + | ||
62 | +.light .topo-p svg .glyph { | ||
63 | + fill: #222; | ||
64 | +} | ||
65 | +.dark .topo-p svg .glyph { | ||
66 | + fill: #ddd; | ||
67 | +} | ||
68 | + | ||
69 | +.light .topo-p svg .glyph.overlay { | ||
70 | + fill: #fff; | ||
71 | +} | ||
72 | +.dark .topo-p svg .glyph.overlay { | ||
73 | + fill: #222; | ||
74 | +} | ||
75 | + | ||
76 | +.light .topo-p h2 { | ||
77 | + color: black; | ||
78 | +} | ||
79 | +.dark .topo-p h2 { | ||
80 | + color: #ddd; | ||
81 | +} | ||
82 | + | ||
83 | +.light .topo-p h3 { | ||
84 | + color: black; | ||
85 | +} | ||
86 | +.dark .topo-p h3 { | ||
87 | + color: #ddd; | ||
88 | +} | ||
89 | + | ||
90 | +.topo-p td.label { | ||
91 | + /* works for both light and dark themes ... */ | ||
92 | + color: #777; | ||
93 | +} | ||
94 | +.topo-p td.value { | ||
95 | +} | ||
96 | + | ||
97 | +.light .topo-p hr { | ||
98 | + background-color: #ccc; | ||
99 | + color: #ccc; | ||
100 | +} | ||
101 | +.dark .topo-p hr { | ||
102 | + background-color: #888; | ||
103 | + color: #888; | ||
104 | +} | ||
105 | + | ||
106 | +/* --- Topo Instance Panel --- */ | ||
107 | + | ||
108 | +#topo-p-instance svg rect { | ||
109 | + stroke-width: 3.5; | ||
110 | +} | ||
111 | +#topo-p-instance .online svg rect { | ||
112 | + opacity: 1; | ||
113 | +} | ||
114 | +.light #topo-p-instance svg rect { | ||
115 | + fill: #ccc; | ||
116 | + stroke: #aaa; | ||
117 | +} | ||
118 | +.light #topo-p-instance .online svg rect { | ||
119 | + fill: #9cf; | ||
120 | + stroke: #555; | ||
121 | +} | ||
122 | +.dark #topo-p-instance svg rect { | ||
123 | + fill: #666; | ||
124 | + stroke: #222; | ||
125 | +} | ||
126 | +.dark #topo-p-instance .online svg rect { | ||
127 | + fill: #9cf; | ||
128 | + stroke: #999; | ||
129 | +} | ||
130 | + | ||
131 | + | ||
132 | +#topo-p-instance svg .glyph { | ||
133 | + fill: #888; | ||
134 | + fill-rule: evenodd; | ||
135 | +} | ||
136 | +#topo-p-instance .online svg .glyph { | ||
137 | + fill: #000; | ||
138 | +} | ||
139 | + | ||
140 | + | ||
141 | +#topo-p-instance svg .badgeIcon { | ||
142 | + fill-rule: evenodd; | ||
143 | + opacity: 0.4; | ||
144 | +} | ||
145 | +.light #topo-p-instance svg .badgeIcon { | ||
146 | + fill: #777; | ||
147 | +} | ||
148 | +.dark #topo-p-instance svg .badgeIcon { | ||
149 | + fill: #555; | ||
150 | +} | ||
151 | + | ||
152 | +#topo-p-instance .online svg .badgeIcon { | ||
153 | + opacity: 1.0; | ||
154 | +} | ||
155 | +.light #topo-p-instance .online svg .badgeIcon { | ||
156 | + fill: #fff; | ||
157 | +} | ||
158 | +.dark #topo-p-instance .online svg .badgeIcon { | ||
159 | + fill: #fff; | ||
160 | +} | ||
161 | + | ||
162 | +#topo-p-instance svg text { | ||
163 | + text-anchor: middle; | ||
164 | + opacity: 0.3; | ||
165 | +} | ||
166 | +#topo-p-instance .online svg text { | ||
167 | + opacity: 1.0; | ||
168 | +} | ||
169 | +.light #topo-p-instance svg text { | ||
170 | + fill: #444; | ||
171 | +} | ||
172 | +.light #topo-p-instance .online svg text { | ||
173 | + fill: #eee; | ||
174 | +} | ||
175 | +.dark #topo-p-instance svg text { | ||
176 | + fill: #aaa; | ||
177 | +} | ||
178 | +.dark #topo-p-instance .online svg text { | ||
179 | + fill: #ccc; | ||
180 | +} | ||
181 | + | ||
182 | +#topo-p-instance .onosInst.mastership { | ||
183 | + opacity: 0.3; | ||
184 | +} | ||
185 | +#topo-p-instance .onosInst.mastership.affinity { | ||
186 | + opacity: 1.0; | ||
187 | +} | ||
188 | +.light #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
189 | + filter: url(#blue-glow); | ||
190 | +} | ||
191 | +.dark #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
192 | + filter: url(#yellow-glow); | ||
193 | +} | ||
194 | +.light.firefox #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
195 | + filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"blue-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#blue-glow"); | ||
196 | +} | ||
197 | +.dark.firefox #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
198 | + filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"yellow-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 1.0 0 0 0 0 1.0 0 0 0 0 0.3 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#yellow-glow"); | ||
199 | +} | ||
200 | + | ||
201 | +/* --- Topo Nodes --- */ | ||
202 | + | ||
203 | +#ov-topo svg .suppressed { | ||
204 | + opacity: 0.5 !important; | ||
205 | +} | ||
206 | + | ||
207 | +#ov-topo svg .suppressedmax { | ||
208 | + opacity: 0.2 !important; | ||
209 | +} | ||
210 | + | ||
211 | +.light #ov-topo svg .node.selected rect, | ||
212 | +.light #ov-topo svg .node.selected circle { | ||
213 | + fill: #f90; | ||
214 | + filter: url(#blue-glow); | ||
215 | +} | ||
216 | +.dark #ov-topo svg .node.selected rect, | ||
217 | +.dark #ov-topo svg .node.selected circle { | ||
218 | + fill: #f90; | ||
219 | + filter: url(#yellow-glow); | ||
220 | +} | ||
221 | +.light.firefox #ov-topo svg .node.selected rect, | ||
222 | +.light.firefox #ov-topo svg .node.selected circle { | ||
223 | + filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"blue-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#blue-glow"); | ||
224 | +} | ||
225 | +.dark.firefox #ov-topo svg .node.selected rect, | ||
226 | +.dark.firefox #ov-topo svg .node.selected circle { | ||
227 | + filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"yellow-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 1.0 0 0 0 0 1.0 0 0 0 0 0.3 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#yellow-glow"); | ||
228 | +} | ||
229 | + | ||
230 | +/* Device Nodes */ | ||
231 | + | ||
232 | +#ov-topo svg .node.device rect { | ||
233 | + stroke-width: 1.5; | ||
234 | +} | ||
235 | + | ||
236 | +#ov-topo svg .node.device.fixed rect { | ||
237 | + stroke-width: 1.5; | ||
238 | +} | ||
239 | +.light #ov-topo svg .node.device.fixed rect { | ||
240 | + stroke: #aaa; | ||
241 | +} | ||
242 | +.dark #ov-topo svg .node.device.fixed rect { | ||
243 | + stroke: #999; | ||
244 | +} | ||
245 | + | ||
246 | +/* note: device is offline without the 'online' class */ | ||
247 | +.light #ov-topo svg .node.device { | ||
248 | + fill: #777; | ||
249 | +} | ||
250 | +.dark #ov-topo svg .node.device { | ||
251 | + fill: #555; | ||
252 | +} | ||
253 | + | ||
254 | +.light #ov-topo svg .node.device rect { | ||
255 | + stroke: #666; | ||
256 | +} | ||
257 | +.light #ov-topo svg .node.device rect { | ||
258 | + stroke: #999; | ||
259 | +} | ||
260 | + | ||
261 | +.light #ov-topo svg .node.device.online { | ||
262 | + fill: #6e7fa3; | ||
263 | +} | ||
264 | +.dark #ov-topo svg .node.device.online { | ||
265 | + fill: #4E5C7F; | ||
266 | +} | ||
267 | + | ||
268 | +/* note: device is offline without the 'online' class */ | ||
269 | +#ov-topo svg .node.device text { | ||
270 | + fill: #bbb; | ||
271 | + font: 10pt sans-serif; | ||
272 | +} | ||
273 | + | ||
274 | +#ov-topo svg .node.device.online text { | ||
275 | + fill: white; | ||
276 | +} | ||
277 | + | ||
278 | +#ov-topo svg .node.device .svgIcon rect { | ||
279 | + fill: #aaa; | ||
280 | +} | ||
281 | +#ov-topo svg .node.device .svgIcon use { | ||
282 | + fill: #777; | ||
283 | +} | ||
284 | +#ov-topo svg .node.device.selected .svgIcon rect { | ||
285 | + fill: #f90; | ||
286 | +} | ||
287 | +#ov-topo svg .node.device.online .svgIcon rect { | ||
288 | + fill: #ccc; | ||
289 | +} | ||
290 | +#ov-topo svg .node.device.online .svgIcon use { | ||
291 | + fill: #000; | ||
292 | +} | ||
293 | +#ov-topo svg .node.device.online.selected .svgIcon rect { | ||
294 | + fill: #f90; | ||
295 | +} | ||
296 | + | ||
297 | +/* Badges */ | ||
298 | +/* (... works for both light and dark themes...) */ | ||
299 | +#ov-topo svg .node .badge circle { | ||
300 | + stroke: #aaa; | ||
301 | +} | ||
302 | + | ||
303 | +#ov-topo svg .node .badge.badgeInfo circle { | ||
304 | + fill: #99d; | ||
305 | +} | ||
306 | + | ||
307 | +#ov-topo svg .node .badge.badgeWarn circle { | ||
308 | + fill: #da2; | ||
309 | +} | ||
310 | + | ||
311 | +#ov-topo svg .node .badge.badgeError circle { | ||
312 | + fill: #e44; | ||
313 | +} | ||
314 | + | ||
315 | +#ov-topo svg .node .badge use { | ||
316 | + fill: white !important; | ||
317 | +} | ||
318 | + | ||
319 | +#ov-topo svg .node .badge.badgeInfo use { | ||
320 | + fill: #448; | ||
321 | +} | ||
322 | + | ||
323 | +#ov-topo svg .node .badge text { | ||
324 | + fill: white !important; | ||
325 | +} | ||
326 | + | ||
327 | +#ov-topo svg .node .badge.badgeInfo text { | ||
328 | + fill: #448; | ||
329 | +} | ||
330 | + | ||
331 | +/* Host Nodes */ | ||
332 | + | ||
333 | +#ov-topo svg .node.host { | ||
334 | +} | ||
335 | + | ||
336 | +#ov-topo svg .node.host text { | ||
337 | + stroke: none; | ||
338 | + font: 9pt sans-serif; | ||
339 | +} | ||
340 | +.light #ov-topo svg .node.host text { | ||
341 | + fill: #846; | ||
342 | +} | ||
343 | +.dark #ov-topo svg .node.host text { | ||
344 | + fill: #BB809D; | ||
345 | +} | ||
346 | + | ||
347 | +.light svg .node.host circle { | ||
348 | + stroke: #000; | ||
349 | + fill: #edb; | ||
350 | +} | ||
351 | +.dark svg .node.host circle { | ||
352 | + stroke: #eee; | ||
353 | + fill: #B2A180; | ||
354 | +} | ||
355 | + | ||
356 | +.light svg .node.host .svgIcon { | ||
357 | + fill: #444; | ||
358 | +} | ||
359 | +.dark svg .node.host .svgIcon { | ||
360 | + fill: #222; | ||
361 | +} | ||
362 | + | ||
363 | +/* --- Topo Links --- */ | ||
364 | + | ||
365 | +#ov-topo svg .link { | ||
366 | + opacity: .9; | ||
367 | +} | ||
368 | + | ||
369 | +#ov-topo svg .link.selected, | ||
370 | +#ov-topo svg .link.enhanced { | ||
371 | + stroke-width: 4.5px; | ||
372 | +} | ||
373 | +.light #ov-topo svg .link.selected, | ||
374 | +.light #ov-topo svg .link.enhanced { | ||
375 | + filter: url(#blue-glow); | ||
376 | +} | ||
377 | +.dark #ov-topo svg .link.selected, | ||
378 | +.dark #ov-topo svg .link.enhanced { | ||
379 | + filter: url(#yellow-glow); | ||
380 | +} | ||
381 | +.light.firefox #ov-topo svg .link.selected, | ||
382 | +.light.firefox #ov-topo svg .link.enhanced { | ||
383 | + filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"blue-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#blue-glow"); | ||
384 | +} | ||
385 | +.dark.firefox #ov-topo svg .link.selected, | ||
386 | +.dark.firefox #ov-topo svg .link.enhanced { | ||
387 | + filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"yellow-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 1.0 0 0 0 0 1.0 0 0 0 0 0.3 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#yellow-glow"); | ||
388 | + | ||
389 | +} | ||
390 | + | ||
391 | +#ov-topo svg .link.inactive { | ||
392 | + opacity: .5; | ||
393 | + stroke-dasharray: 8 4; | ||
394 | +} | ||
395 | +/* FIXME: Review for not-permitted links */ | ||
396 | +#ov-topo svg .link.not-permitted { | ||
397 | + stroke: rgb(255,0,0); | ||
398 | + stroke-width: 5.0; | ||
399 | + stroke-dasharray: 8 4; | ||
400 | +} | ||
401 | + | ||
402 | +#ov-topo svg .link.secondary { | ||
403 | + stroke-width: 3px; | ||
404 | +} | ||
405 | +.light #ov-topo svg .link.secondary { | ||
406 | + stroke: rgba(0,153,51,0.5); | ||
407 | +} | ||
408 | +.dark #ov-topo svg .link.secondary { | ||
409 | + stroke: rgba(121,231,158,0.5); | ||
410 | +} | ||
411 | + | ||
412 | +/* Port traffic color visualization for Kbps, Mbps, and Gbps */ | ||
413 | + | ||
414 | +.light #ov-topo svg .link.secondary.port-traffic-Kbps { | ||
415 | + stroke: rgb(0,153,51); | ||
416 | + stroke-width: 5.0; | ||
417 | +} | ||
418 | +.dark #ov-topo svg .link.secondary.port-traffic-Kbps { | ||
419 | + stroke: rgb(98, 153, 118); | ||
420 | + stroke-width: 5.0; | ||
421 | +} | ||
422 | + | ||
423 | +.light #ov-topo svg .link.secondary.port-traffic-Mbps { | ||
424 | + stroke: rgb(128,145,27); | ||
425 | + stroke-width: 6.5; | ||
426 | +} | ||
427 | +.dark #ov-topo svg .link.secondary.port-traffic-Mbps { | ||
428 | + stroke: rgb(91, 109, 54); | ||
429 | + stroke-width: 6.5; | ||
430 | +} | ||
431 | + | ||
432 | +.light #ov-topo svg .link.secondary.port-traffic-Gbps { | ||
433 | + stroke: rgb(255, 137, 3); | ||
434 | + stroke-width: 8.0; | ||
435 | +} | ||
436 | +.dark #ov-topo svg .link.secondary.port-traffic-Gbps { | ||
437 | + stroke: rgb(174, 119, 55); | ||
438 | + stroke-width: 8.0; | ||
439 | +} | ||
440 | + | ||
441 | +.light #ov-topo svg .link.secondary.port-traffic-Gbps-choked { | ||
442 | + stroke: rgb(183, 30, 21); | ||
443 | + stroke-width: 8.0; | ||
444 | +} | ||
445 | +.dark #ov-topo svg .link.secondary.port-traffic-Gbps-choked { | ||
446 | + stroke: rgb(127, 40, 39); | ||
447 | + stroke-width: 8.0; | ||
448 | +} | ||
449 | + | ||
450 | + | ||
451 | + | ||
452 | +#ov-topo svg .link.animated { | ||
453 | + stroke-dasharray: 8 5; | ||
454 | + animation: ants 5s infinite linear; | ||
455 | + /* below line will be added via Javascript based on path */ | ||
456 | + /*animation-direction: reverse;*/ | ||
457 | +} | ||
458 | +@keyframes ants { | ||
459 | + from { | ||
460 | + stroke-dashoffset: 0; | ||
461 | + } | ||
462 | + to { | ||
463 | + stroke-dashoffset: 400; | ||
464 | + } | ||
465 | +} | ||
466 | + | ||
467 | +#ov-topo svg .link.primary { | ||
468 | + stroke-width: 4px; | ||
469 | +} | ||
470 | +.light #ov-topo svg .link.primary { | ||
471 | + stroke: #ffA300; | ||
472 | +} | ||
473 | +.dark #ov-topo svg .link.primary { | ||
474 | + stroke: #D58E0F; | ||
475 | +} | ||
476 | + | ||
477 | +#ov-topo svg .link.secondary.optical { | ||
478 | + stroke-width: 4px; | ||
479 | +} | ||
480 | +.light #ov-topo svg .link.secondary.optical { | ||
481 | + stroke: rgba(128,64,255,0.5); | ||
482 | +} | ||
483 | +.dark #ov-topo svg .link.secondary.optical { | ||
484 | + stroke: rgba(164,139,215,0.5); | ||
485 | +} | ||
486 | + | ||
487 | +#ov-topo svg .link.primary.optical { | ||
488 | + stroke-width: 6px; | ||
489 | +} | ||
490 | +.light #ov-topo svg .link.primary.optical { | ||
491 | + stroke: #74f; | ||
492 | +} | ||
493 | +.dark #ov-topo svg .link.primary.optical { | ||
494 | + stroke: #7352CD; | ||
495 | +} | ||
496 | + | ||
497 | +/* Link Labels */ | ||
498 | +#ov-topo svg .linkLabel rect { | ||
499 | + stroke: none; | ||
500 | +} | ||
501 | +.light #ov-topo svg .linkLabel rect { | ||
502 | + fill: #eee; | ||
503 | +} | ||
504 | +.dark #ov-topo svg .linkLabel rect { | ||
505 | + fill: #555; | ||
506 | +} | ||
507 | + | ||
508 | +.light #ov-topo svg .linkLabel text { | ||
509 | + fill: #444; | ||
510 | +} | ||
511 | +.dark #ov-topo svg .linkLabel text { | ||
512 | + fill: #eee; | ||
513 | +} | ||
514 | + | ||
515 | +/* Port Labels */ | ||
516 | + | ||
517 | +#ov-topo svg .portLabel rect { | ||
518 | + stroke: none; | ||
519 | +} | ||
520 | +.light #ov-topo svg .portLabel rect { | ||
521 | + fill: #eee; | ||
522 | +} | ||
523 | +.dark #ov-topo svg .portLabel rect { | ||
524 | + fill: #222; | ||
525 | +} | ||
526 | + | ||
527 | +.light #ov-topo svg .portLabel text { | ||
528 | + fill: #444; | ||
529 | +} | ||
530 | +.dark #ov-topo svg .portLabel text { | ||
531 | + fill: #eee; | ||
532 | +} | ||
533 | + | ||
534 | +/* Number of Links Labels */ | ||
535 | + | ||
536 | + | ||
537 | +.light #ov-topo text.numLinkText { | ||
538 | + fill: #444; | ||
539 | +} | ||
540 | +.dark #ov-topo text.numLinkText { | ||
541 | + fill: #eee; | ||
542 | +} | ||
543 | + | ||
544 | +/* ------------------------------------------------- */ | ||
545 | +/* Sprite Layer */ | ||
546 | + | ||
547 | +.light #ov-topo svg #topo-sprites .gold1 use { | ||
548 | + stroke: #fda; | ||
549 | + fill: none; | ||
550 | +} | ||
551 | +.dark #ov-topo svg #topo-sprites .gold1 use { | ||
552 | + stroke: #541; | ||
553 | + fill: none; | ||
554 | +} | ||
555 | +.light #ov-topo svg #topo-sprites .gold1 text { | ||
556 | + fill: #eda; | ||
557 | +} | ||
558 | +.dark #ov-topo svg #topo-sprites .gold1 text { | ||
559 | + fill: #543; | ||
560 | +} | ||
561 | + | ||
562 | +.light #ov-topo svg #topo-sprites .blue1 use { | ||
563 | + stroke: #bbd; | ||
564 | + fill: none; | ||
565 | +} | ||
566 | +.dark #ov-topo svg #topo-sprites .blue1 use { | ||
567 | + stroke: #445; | ||
568 | + fill: none; | ||
569 | +} | ||
570 | +.light #ov-topo svg #topo-sprites .blue1 text { | ||
571 | + fill: #cce; | ||
572 | +} | ||
573 | +.dark #ov-topo svg #topo-sprites .blue1 text { | ||
574 | + fill: #446; | ||
575 | +} | ||
576 | + | ||
577 | +.light #ov-topo svg #topo-sprites .gray1 use { | ||
578 | + stroke: #ccc; | ||
579 | + fill: none; | ||
580 | +} | ||
581 | +.dark #ov-topo svg #topo-sprites .gray1 use { | ||
582 | + stroke: #333; | ||
583 | + fill: none; | ||
584 | +} | ||
585 | +.light #ov-topo svg #topo-sprites .gray1 text { | ||
586 | + fill: #ddd; | ||
587 | +} | ||
588 | +.dark #ov-topo svg #topo-sprites .gray1 text { | ||
589 | + fill: #444; | ||
590 | +} | ||
591 | + | ||
592 | +/* fills */ | ||
593 | +.light #ov-topo svg #topo-sprites use.fill-gray2 { | ||
594 | + fill: #eee; | ||
595 | +} | ||
596 | +.dark #ov-topo svg #topo-sprites use.fill-gray2 { | ||
597 | + fill: #444; | ||
598 | +} | ||
599 | + | ||
600 | +.light #ov-topo svg #topo-sprites use.fill-blue2 { | ||
601 | + fill: #bce; | ||
602 | +} | ||
603 | +.dark #ov-topo svg #topo-sprites use.fill-blue2 { | ||
604 | + fill: #447; | ||
605 | +} | ||
606 | + | ||
607 | +/* -- MISC -- */ |
... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* | 17 | /* |
18 | - ONOS GUI -- Topology View -- CSS file | 18 | + ONOS GUI -- Topology View (layout) -- CSS file |
19 | */ | 19 | */ |
20 | 20 | ||
21 | /* --- Base SVG Layer --- */ | 21 | /* --- Base SVG Layer --- */ |
... | @@ -24,12 +24,6 @@ | ... | @@ -24,12 +24,6 @@ |
24 | /* prevents the little cut/copy/paste square that would appear on iPad */ | 24 | /* prevents the little cut/copy/paste square that would appear on iPad */ |
25 | -webkit-user-select: none; | 25 | -webkit-user-select: none; |
26 | } | 26 | } |
27 | -.light #ov-topo svg { | ||
28 | - background-color: #fff; | ||
29 | -} | ||
30 | -.dark #ov-topo svg { | ||
31 | - background-color: #2b2b2b; | ||
32 | -} | ||
33 | 27 | ||
34 | 28 | ||
35 | /* --- "No Devices" Layer --- */ | 29 | /* --- "No Devices" Layer --- */ |
... | @@ -38,38 +32,10 @@ | ... | @@ -38,38 +32,10 @@ |
38 | visibility: hidden; | 32 | visibility: hidden; |
39 | } | 33 | } |
40 | 34 | ||
41 | -.light #ov-topo svg .noDevsBird { | ||
42 | - fill: #ecd; | ||
43 | -} | ||
44 | -.dark #ov-topo svg .noDevsBird { | ||
45 | - fill: #683434; | ||
46 | -} | ||
47 | - | ||
48 | #ov-topo svg #topo-noDevsLayer text { | 35 | #ov-topo svg #topo-noDevsLayer text { |
49 | font-size: 60pt; | 36 | font-size: 60pt; |
50 | font-style: italic; | 37 | font-style: italic; |
51 | } | 38 | } |
52 | -.light #ov-topo svg #topo-noDevsLayer text { | ||
53 | - fill: #dde; | ||
54 | -} | ||
55 | -.dark #ov-topo svg #topo-noDevsLayer text { | ||
56 | - fill: #3b3b4f; | ||
57 | -} | ||
58 | - | ||
59 | - | ||
60 | -/* --- Topo Map --- */ | ||
61 | - | ||
62 | -#ov-topo svg #topo-map { | ||
63 | - stroke-width: 2px; | ||
64 | - fill: transparent; | ||
65 | -} | ||
66 | - | ||
67 | -.light #ov-topo svg #topo-map { | ||
68 | - stroke: #ddd; | ||
69 | -} | ||
70 | -.dark #ov-topo svg #topo-map { | ||
71 | - stroke: #444; | ||
72 | -} | ||
73 | 39 | ||
74 | 40 | ||
75 | /* --- Topo Summary Panel --- */ | 41 | /* --- Topo Summary Panel --- */ |
... | @@ -78,6 +44,7 @@ | ... | @@ -78,6 +44,7 @@ |
78 | /* Base css from panel.css */ | 44 | /* Base css from panel.css */ |
79 | } | 45 | } |
80 | 46 | ||
47 | + | ||
81 | /* --- Topo Detail Panel --- */ | 48 | /* --- Topo Detail Panel --- */ |
82 | 49 | ||
83 | #topo-p-detail { | 50 | #topo-p-detail { |
... | @@ -117,21 +84,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -117,21 +84,6 @@ html[data-platform='iPad'] #topo-p-detail { |
117 | height: 42px; | 84 | height: 42px; |
118 | } | 85 | } |
119 | 86 | ||
120 | -.light .topo-p svg .glyph { | ||
121 | - fill: #222; | ||
122 | -} | ||
123 | - | ||
124 | -.dark .topo-p svg .glyph.overlay { | ||
125 | - fill: #222; | ||
126 | -} | ||
127 | - | ||
128 | -.dark .topo-p svg .glyph { | ||
129 | - fill: #ddd; | ||
130 | -} | ||
131 | -.light .topo-p svg .glyph.overlay { | ||
132 | - fill: #fff; | ||
133 | -} | ||
134 | - | ||
135 | 87 | ||
136 | .topo-p h2 { | 88 | .topo-p h2 { |
137 | padding: 0 4px; | 89 | padding: 0 4px; |
... | @@ -141,12 +93,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -141,12 +93,6 @@ html[data-platform='iPad'] #topo-p-detail { |
141 | width: 210px; | 93 | width: 210px; |
142 | vertical-align: middle; | 94 | vertical-align: middle; |
143 | } | 95 | } |
144 | -.light .topo-p h2 { | ||
145 | - color: black; | ||
146 | -} | ||
147 | -.dark .topo-p h2 { | ||
148 | - color: #ddd; | ||
149 | -} | ||
150 | 96 | ||
151 | .topo-p h3 { | 97 | .topo-p h3 { |
152 | padding: 0 4px; | 98 | padding: 0 4px; |
... | @@ -155,12 +101,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -155,12 +101,6 @@ html[data-platform='iPad'] #topo-p-detail { |
155 | top: 20px; | 101 | top: 20px; |
156 | left: 50px; | 102 | left: 50px; |
157 | } | 103 | } |
158 | -.light .topo-p h3 { | ||
159 | - color: black; | ||
160 | -} | ||
161 | -.dark .topo-p h3 { | ||
162 | - color: #ddd; | ||
163 | -} | ||
164 | 104 | ||
165 | .topo-p p, table { | 105 | .topo-p p, table { |
166 | padding: 4px; | 106 | padding: 4px; |
... | @@ -173,8 +113,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -173,8 +113,6 @@ html[data-platform='iPad'] #topo-p-detail { |
173 | .topo-p td.label { | 113 | .topo-p td.label { |
174 | font-style: italic; | 114 | font-style: italic; |
175 | padding-right: 12px; | 115 | padding-right: 12px; |
176 | - /* works for both light and dark themes ... */ | ||
177 | - color: #777; | ||
178 | } | 116 | } |
179 | .topo-p td.value { | 117 | .topo-p td.value { |
180 | } | 118 | } |
... | @@ -183,14 +121,7 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -183,14 +121,7 @@ html[data-platform='iPad'] #topo-p-detail { |
183 | height: 1px; | 121 | height: 1px; |
184 | border: 0; | 122 | border: 0; |
185 | } | 123 | } |
186 | -.light .topo-p hr { | 124 | + |
187 | - background-color: #ccc; | ||
188 | - color: #ccc; | ||
189 | -} | ||
190 | -.dark .topo-p hr { | ||
191 | - background-color: #888; | ||
192 | - color: #888; | ||
193 | -} | ||
194 | 125 | ||
195 | /* --- Topo Instance Panel --- */ | 126 | /* --- Topo Instance Panel --- */ |
196 | 127 | ||
... | @@ -205,79 +136,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -205,79 +136,6 @@ html[data-platform='iPad'] #topo-p-detail { |
205 | cursor: pointer; | 136 | cursor: pointer; |
206 | } | 137 | } |
207 | 138 | ||
208 | -#topo-p-instance svg rect { | ||
209 | - stroke-width: 3.5; | ||
210 | -} | ||
211 | -#topo-p-instance .online svg rect { | ||
212 | - opacity: 1; | ||
213 | -} | ||
214 | -.light #topo-p-instance svg rect { | ||
215 | - fill: #ccc; | ||
216 | - stroke: #aaa; | ||
217 | -} | ||
218 | -.light #topo-p-instance .online svg rect { | ||
219 | - fill: #9cf; | ||
220 | - stroke: #555; | ||
221 | -} | ||
222 | -.dark #topo-p-instance svg rect { | ||
223 | - fill: #666; | ||
224 | - stroke: #222; | ||
225 | -} | ||
226 | -.dark #topo-p-instance .online svg rect { | ||
227 | - fill: #9cf; | ||
228 | - stroke: #999; | ||
229 | -} | ||
230 | - | ||
231 | - | ||
232 | -#topo-p-instance svg .glyph { | ||
233 | - fill: #888; | ||
234 | - fill-rule: evenodd; | ||
235 | -} | ||
236 | -#topo-p-instance .online svg .glyph { | ||
237 | - fill: #000; | ||
238 | -} | ||
239 | - | ||
240 | -#topo-p-instance svg .badgeIcon { | ||
241 | - fill-rule: evenodd; | ||
242 | - opacity: 0.4; | ||
243 | -} | ||
244 | -.light #topo-p-instance svg .badgeIcon { | ||
245 | - fill: #777; | ||
246 | -} | ||
247 | -.dark #topo-p-instance svg .badgeIcon { | ||
248 | - fill: #555; | ||
249 | -} | ||
250 | - | ||
251 | -#topo-p-instance .online svg .badgeIcon { | ||
252 | - opacity: 1.0; | ||
253 | -} | ||
254 | -.light #topo-p-instance .online svg .badgeIcon { | ||
255 | - fill: #fff; | ||
256 | -} | ||
257 | -.dark #topo-p-instance .online svg .badgeIcon { | ||
258 | - fill: #fff; | ||
259 | -} | ||
260 | - | ||
261 | -#topo-p-instance svg text { | ||
262 | - text-anchor: middle; | ||
263 | - opacity: 0.3; | ||
264 | -} | ||
265 | -#topo-p-instance .online svg text { | ||
266 | - opacity: 1.0; | ||
267 | -} | ||
268 | -.light #topo-p-instance svg text { | ||
269 | - fill: #444; | ||
270 | -} | ||
271 | -.light #topo-p-instance .online svg text { | ||
272 | - fill: #eee; | ||
273 | -} | ||
274 | -.dark #topo-p-instance svg text { | ||
275 | - fill: #aaa; | ||
276 | -} | ||
277 | -.dark #topo-p-instance .online svg text { | ||
278 | - fill: #ccc; | ||
279 | -} | ||
280 | - | ||
281 | #topo-p-instance svg text.instTitle { | 139 | #topo-p-instance svg text.instTitle { |
282 | font-size: 11pt; | 140 | font-size: 11pt; |
283 | font-weight: bold; | 141 | font-weight: bold; |
... | @@ -287,25 +145,6 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -287,25 +145,6 @@ html[data-platform='iPad'] #topo-p-detail { |
287 | font-style: italic; | 145 | font-style: italic; |
288 | } | 146 | } |
289 | 147 | ||
290 | -#topo-p-instance .onosInst.mastership { | ||
291 | - opacity: 0.3; | ||
292 | -} | ||
293 | -#topo-p-instance .onosInst.mastership.affinity { | ||
294 | - opacity: 1.0; | ||
295 | -} | ||
296 | -.light #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
297 | - filter: url(#blue-glow); | ||
298 | -} | ||
299 | -.dark #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
300 | - filter: url(#yellow-glow); | ||
301 | -} | ||
302 | -.light.firefox #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
303 | - filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"blue-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#blue-glow"); | ||
304 | -} | ||
305 | -.dark.firefox #topo-p-instance .onosInst.mastership.affinity svg rect { | ||
306 | - filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"yellow-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 1.0 0 0 0 0 1.0 0 0 0 0 0.3 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#yellow-glow"); | ||
307 | -} | ||
308 | - | ||
309 | 148 | ||
310 | /* --- Toolbar --- */ | 149 | /* --- Toolbar --- */ |
311 | 150 | ||
... | @@ -335,345 +174,33 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -335,345 +174,33 @@ html[data-platform='iPad'] #topo-p-detail { |
335 | cursor: pointer; | 174 | cursor: pointer; |
336 | } | 175 | } |
337 | 176 | ||
338 | -.light #ov-topo svg .node.selected rect, | ||
339 | -.light #ov-topo svg .node.selected circle { | ||
340 | - fill: #f90; | ||
341 | - filter: url(#blue-glow); | ||
342 | -} | ||
343 | -.dark #ov-topo svg .node.selected rect, | ||
344 | -.dark #ov-topo svg .node.selected circle { | ||
345 | - fill: #f90; | ||
346 | - filter: url(#yellow-glow); | ||
347 | -} | ||
348 | -.light.firefox #ov-topo svg .node.selected rect, | ||
349 | -.light.firefox #ov-topo svg .node.selected circle { | ||
350 | - filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"blue-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#blue-glow"); | ||
351 | -} | ||
352 | -.dark.firefox #ov-topo svg .node.selected rect, | ||
353 | -.dark.firefox #ov-topo svg .node.selected circle { | ||
354 | - filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"yellow-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 1.0 0 0 0 0 1.0 0 0 0 0 0.3 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#yellow-glow"); | ||
355 | -} | ||
356 | - | ||
357 | #ov-topo svg .node text { | 177 | #ov-topo svg .node text { |
358 | pointer-events: none; | 178 | pointer-events: none; |
359 | } | 179 | } |
360 | 180 | ||
181 | + | ||
361 | /* Device Nodes */ | 182 | /* Device Nodes */ |
362 | 183 | ||
363 | #ov-topo svg .node.device { | 184 | #ov-topo svg .node.device { |
364 | } | 185 | } |
365 | 186 | ||
366 | -#ov-topo svg .node.device rect { | ||
367 | - stroke-width: 1.5; | ||
368 | -} | ||
369 | - | ||
370 | -#ov-topo svg .node.device.fixed rect { | ||
371 | - stroke-width: 1.5; | ||
372 | -} | ||
373 | -.light #ov-topo svg .node.device.fixed rect { | ||
374 | - stroke: #aaa; | ||
375 | -} | ||
376 | -.dark #ov-topo svg .node.device.fixed rect { | ||
377 | - stroke: #999; | ||
378 | -} | ||
379 | - | ||
380 | -/* note: device is offline without the 'online' class */ | ||
381 | -.light #ov-topo svg .node.device { | ||
382 | - fill: #777; | ||
383 | -} | ||
384 | -.dark #ov-topo svg .node.device { | ||
385 | - fill: #555; | ||
386 | -} | ||
387 | - | ||
388 | -.light #ov-topo svg .node.device rect { | ||
389 | - stroke: #666; | ||
390 | -} | ||
391 | -.light #ov-topo svg .node.device rect { | ||
392 | - stroke: #999; | ||
393 | -} | ||
394 | - | ||
395 | -.light #ov-topo svg .node.device.online { | ||
396 | - fill: #6e7fa3; | ||
397 | -} | ||
398 | -.dark #ov-topo svg .node.device.online { | ||
399 | - fill: #4E5C7F; | ||
400 | -} | ||
401 | - | ||
402 | -/* note: device is offline without the 'online' class */ | ||
403 | -#ov-topo svg .node.device text { | ||
404 | - fill: #bbb; | ||
405 | - font: 10pt sans-serif; | ||
406 | -} | ||
407 | - | ||
408 | -#ov-topo svg .node.device.online text { | ||
409 | - fill: white; | ||
410 | -} | ||
411 | - | ||
412 | -#ov-topo svg .node.device .svgIcon rect { | ||
413 | - fill: #aaa; | ||
414 | -} | ||
415 | -#ov-topo svg .node.device .svgIcon use { | ||
416 | - fill: #777; | ||
417 | -} | ||
418 | -#ov-topo svg .node.device.selected .svgIcon rect { | ||
419 | - fill: #f90; | ||
420 | -} | ||
421 | -#ov-topo svg .node.device.online .svgIcon rect { | ||
422 | - fill: #ccc; | ||
423 | -} | ||
424 | -#ov-topo svg .node.device.online .svgIcon use { | ||
425 | - fill: #000; | ||
426 | -} | ||
427 | -#ov-topo svg .node.device.online.selected .svgIcon rect { | ||
428 | - fill: #f90; | ||
429 | -} | ||
430 | - | ||
431 | -/* Badges */ | ||
432 | -/* (... works for both light and dark themes...) */ | ||
433 | -#ov-topo svg .node .badge circle { | ||
434 | - stroke: #aaa; | ||
435 | -} | ||
436 | - | ||
437 | -#ov-topo svg .node .badge.badgeInfo circle { | ||
438 | - fill: #99d; | ||
439 | -} | ||
440 | - | ||
441 | -#ov-topo svg .node .badge.badgeWarn circle { | ||
442 | - fill: #da2; | ||
443 | -} | ||
444 | - | ||
445 | -#ov-topo svg .node .badge.badgeError circle { | ||
446 | - fill: #e44; | ||
447 | -} | ||
448 | - | ||
449 | -#ov-topo svg .node .badge use { | ||
450 | - fill: white !important; | ||
451 | -} | ||
452 | - | ||
453 | -#ov-topo svg .node .badge.badgeInfo use { | ||
454 | - fill: #448; | ||
455 | -} | ||
456 | - | ||
457 | -#ov-topo svg .node .badge text { | ||
458 | - fill: white !important; | ||
459 | -} | ||
460 | - | ||
461 | -#ov-topo svg .node .badge.badgeInfo text { | ||
462 | - fill: #448; | ||
463 | -} | ||
464 | - | ||
465 | -/* Host Nodes */ | ||
466 | - | ||
467 | -#ov-topo svg .node.host { | ||
468 | -} | ||
469 | - | ||
470 | -#ov-topo svg .node.host text { | ||
471 | - stroke: none; | ||
472 | - font: 9pt sans-serif; | ||
473 | -} | ||
474 | -.light #ov-topo svg .node.host text { | ||
475 | - fill: #846; | ||
476 | -} | ||
477 | -.dark #ov-topo svg .node.host text { | ||
478 | - fill: #BB809D; | ||
479 | -} | ||
480 | - | ||
481 | -.light svg .node.host circle { | ||
482 | - stroke: #000; | ||
483 | - fill: #edb; | ||
484 | -} | ||
485 | -.dark svg .node.host circle { | ||
486 | - stroke: #eee; | ||
487 | - fill: #B2A180; | ||
488 | -} | ||
489 | - | ||
490 | -.light svg .node.host .svgIcon { | ||
491 | - fill: #444; | ||
492 | -} | ||
493 | -.dark svg .node.host .svgIcon { | ||
494 | - fill: #222; | ||
495 | -} | ||
496 | - | ||
497 | -/* --- Topo Links --- */ | ||
498 | - | ||
499 | -#ov-topo svg .link { | ||
500 | - opacity: .9; | ||
501 | -} | ||
502 | - | ||
503 | -#ov-topo svg .link.selected, | ||
504 | -#ov-topo svg .link.enhanced { | ||
505 | - stroke-width: 4.5px; | ||
506 | -} | ||
507 | -.light #ov-topo svg .link.selected, | ||
508 | -.light #ov-topo svg .link.enhanced { | ||
509 | - filter: url(#blue-glow); | ||
510 | -} | ||
511 | -.dark #ov-topo svg .link.selected, | ||
512 | -.dark #ov-topo svg .link.enhanced { | ||
513 | - filter: url(#yellow-glow); | ||
514 | -} | ||
515 | -.light.firefox #ov-topo svg .link.selected, | ||
516 | -.light.firefox #ov-topo svg .link.enhanced { | ||
517 | - filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"blue-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#blue-glow"); | ||
518 | -} | ||
519 | -.dark.firefox #ov-topo svg .link.selected, | ||
520 | -.dark.firefox #ov-topo svg .link.enhanced { | ||
521 | - filter: url("data:image/svg+xml;utf8, <svg xmlns = \'http://www.w3.org/2000/svg\'><filter x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\" id=\"yellow-glow\"><feColorMatrix type=\"matrix\" values=\"0 0 0 0 1.0 0 0 0 0 1.0 0 0 0 0 0.3 0 0 0 1 0 \"></feColorMatrix><feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"></feGaussianBlur><feMerge><feMergeNode in=\"coloredBlur\"></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter></svg>#yellow-glow"); | ||
522 | - | ||
523 | -} | ||
524 | - | ||
525 | -#ov-topo svg .link.inactive { | ||
526 | - opacity: .5; | ||
527 | - stroke-dasharray: 8 4; | ||
528 | -} | ||
529 | -/* FIXME: Review for not-permitted links */ | ||
530 | -#ov-topo svg .link.not-permitted { | ||
531 | - stroke: rgb(255,0,0); | ||
532 | - stroke-width: 5.0; | ||
533 | - stroke-dasharray: 8 4; | ||
534 | -} | ||
535 | - | ||
536 | -#ov-topo svg .link.secondary { | ||
537 | - stroke-width: 3px; | ||
538 | -} | ||
539 | -.light #ov-topo svg .link.secondary { | ||
540 | - stroke: rgba(0,153,51,0.5); | ||
541 | -} | ||
542 | -.dark #ov-topo svg .link.secondary { | ||
543 | - stroke: rgba(121,231,158,0.5); | ||
544 | -} | ||
545 | - | ||
546 | -/* Port traffic color visualization for Kbps, Mbps, and Gbps */ | ||
547 | - | ||
548 | -.light #ov-topo svg .link.secondary.port-traffic-Kbps { | ||
549 | - stroke: rgb(0,153,51); | ||
550 | - stroke-width: 5.0; | ||
551 | -} | ||
552 | -.dark #ov-topo svg .link.secondary.port-traffic-Kbps { | ||
553 | - stroke: rgb(98, 153, 118); | ||
554 | - stroke-width: 5.0; | ||
555 | -} | ||
556 | - | ||
557 | -.light #ov-topo svg .link.secondary.port-traffic-Mbps { | ||
558 | - stroke: rgb(128,145,27); | ||
559 | - stroke-width: 6.5; | ||
560 | -} | ||
561 | -.dark #ov-topo svg .link.secondary.port-traffic-Mbps { | ||
562 | - stroke: rgb(91, 109, 54); | ||
563 | - stroke-width: 6.5; | ||
564 | -} | ||
565 | - | ||
566 | -.light #ov-topo svg .link.secondary.port-traffic-Gbps { | ||
567 | - stroke: rgb(255, 137, 3); | ||
568 | - stroke-width: 8.0; | ||
569 | -} | ||
570 | -.dark #ov-topo svg .link.secondary.port-traffic-Gbps { | ||
571 | - stroke: rgb(174, 119, 55); | ||
572 | - stroke-width: 8.0; | ||
573 | -} | ||
574 | - | ||
575 | -.light #ov-topo svg .link.secondary.port-traffic-Gbps-choked { | ||
576 | - stroke: rgb(183, 30, 21); | ||
577 | - stroke-width: 8.0; | ||
578 | -} | ||
579 | -.dark #ov-topo svg .link.secondary.port-traffic-Gbps-choked { | ||
580 | - stroke: rgb(127, 40, 39); | ||
581 | - stroke-width: 8.0; | ||
582 | -} | ||
583 | - | ||
584 | - | ||
585 | -#ov-topo svg .link.animated { | ||
586 | - stroke-dasharray: 8 5; | ||
587 | - animation: ants 5s infinite linear; | ||
588 | - /* below line will be added via Javascript based on path */ | ||
589 | - /*animation-direction: reverse;*/ | ||
590 | -} | ||
591 | -@keyframes ants { | ||
592 | - from { | ||
593 | - stroke-dashoffset: 0; | ||
594 | - } | ||
595 | - to { | ||
596 | - stroke-dashoffset: 400; | ||
597 | - } | ||
598 | -} | ||
599 | - | ||
600 | -#ov-topo svg .link.primary { | ||
601 | - stroke-width: 4px; | ||
602 | -} | ||
603 | -.light #ov-topo svg .link.primary { | ||
604 | - stroke: #ffA300; | ||
605 | -} | ||
606 | -.dark #ov-topo svg .link.primary { | ||
607 | - stroke: #D58E0F; | ||
608 | -} | ||
609 | - | ||
610 | -#ov-topo svg .link.secondary.optical { | ||
611 | - stroke-width: 4px; | ||
612 | -} | ||
613 | -.light #ov-topo svg .link.secondary.optical { | ||
614 | - stroke: rgba(128,64,255,0.5); | ||
615 | -} | ||
616 | -.dark #ov-topo svg .link.secondary.optical { | ||
617 | - stroke: rgba(164,139,215,0.5); | ||
618 | -} | ||
619 | - | ||
620 | -#ov-topo svg .link.primary.optical { | ||
621 | - stroke-width: 6px; | ||
622 | -} | ||
623 | -.light #ov-topo svg .link.primary.optical { | ||
624 | - stroke: #74f; | ||
625 | -} | ||
626 | -.dark #ov-topo svg .link.primary.optical { | ||
627 | - stroke: #7352CD; | ||
628 | -} | ||
629 | 187 | ||
630 | /* Link Labels */ | 188 | /* Link Labels */ |
631 | 189 | ||
632 | -#ov-topo svg .linkLabel rect { | ||
633 | - stroke: none; | ||
634 | -} | ||
635 | -.light #ov-topo svg .linkLabel rect { | ||
636 | - fill: #eee; | ||
637 | -} | ||
638 | -.dark #ov-topo svg .linkLabel rect { | ||
639 | - fill: #555; | ||
640 | -} | ||
641 | - | ||
642 | #ov-topo svg .linkLabel text { | 190 | #ov-topo svg .linkLabel text { |
643 | text-anchor: middle; | 191 | text-anchor: middle; |
644 | stroke-width: 0.1; | 192 | stroke-width: 0.1; |
645 | font-size: 9pt; | 193 | font-size: 9pt; |
646 | } | 194 | } |
647 | -.light #ov-topo svg .linkLabel text { | ||
648 | - fill: #444; | ||
649 | -} | ||
650 | -.dark #ov-topo svg .linkLabel text { | ||
651 | - fill: #eee; | ||
652 | -} | ||
653 | 195 | ||
654 | -/* Port Labels */ | ||
655 | 196 | ||
656 | -#ov-topo svg .portLabel rect { | 197 | +/* Port Labels */ |
657 | - stroke: none; | ||
658 | -} | ||
659 | -.light #ov-topo svg .portLabel rect { | ||
660 | - fill: #eee; | ||
661 | -} | ||
662 | -.dark #ov-topo svg .portLabel rect { | ||
663 | - fill: #222; | ||
664 | -} | ||
665 | 198 | ||
666 | #ov-topo svg .portLabel text { | 199 | #ov-topo svg .portLabel text { |
667 | text-anchor: middle; | 200 | text-anchor: middle; |
668 | stroke-width: 0.1; | 201 | stroke-width: 0.1; |
669 | font-size: 11pt; | 202 | font-size: 11pt; |
670 | } | 203 | } |
671 | -.light #ov-topo svg .portLabel text { | ||
672 | - fill: #444; | ||
673 | -} | ||
674 | -.dark #ov-topo svg .portLabel text { | ||
675 | - fill: #eee; | ||
676 | -} | ||
677 | 204 | ||
678 | /* Number of Links Labels */ | 205 | /* Number of Links Labels */ |
679 | #ov-topo line.numLinkHash { | 206 | #ov-topo line.numLinkHash { |
... | @@ -682,20 +209,10 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -682,20 +209,10 @@ html[data-platform='iPad'] #topo-p-detail { |
682 | 209 | ||
683 | #ov-topo text.numLinkText { | 210 | #ov-topo text.numLinkText { |
684 | font-size: 15pt; | 211 | font-size: 15pt; |
685 | -} | ||
686 | - | ||
687 | -#ov-topo text.numLinkText { | ||
688 | text-anchor: middle; | 212 | text-anchor: middle; |
689 | } | 213 | } |
690 | 214 | ||
691 | -.light #ov-topo text.numLinkText { | ||
692 | - fill: #444; | ||
693 | -} | ||
694 | -.dark #ov-topo text.numLinkText { | ||
695 | - fill: #eee; | ||
696 | -} | ||
697 | 215 | ||
698 | -/* ------------------------------------------------- */ | ||
699 | /* Sprite Layer */ | 216 | /* Sprite Layer */ |
700 | 217 | ||
701 | #ov-topo svg #topo-sprites use { | 218 | #ov-topo svg #topo-sprites use { |
... | @@ -707,65 +224,8 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -707,65 +224,8 @@ html[data-platform='iPad'] #topo-p-detail { |
707 | font-style: italic; | 224 | font-style: italic; |
708 | } | 225 | } |
709 | 226 | ||
710 | -.light #ov-topo svg #topo-sprites .gold1 use { | ||
711 | - stroke: #fda; | ||
712 | - fill: none; | ||
713 | -} | ||
714 | -.dark #ov-topo svg #topo-sprites .gold1 use { | ||
715 | - stroke: #541; | ||
716 | - fill: none; | ||
717 | -} | ||
718 | -.light #ov-topo svg #topo-sprites .gold1 text { | ||
719 | - fill: #eda; | ||
720 | -} | ||
721 | -.dark #ov-topo svg #topo-sprites .gold1 text { | ||
722 | - fill: #543; | ||
723 | -} | ||
724 | 227 | ||
725 | -.light #ov-topo svg #topo-sprites .blue1 use { | 228 | +/* -- MISC -- */ |
726 | - stroke: #bbd; | ||
727 | - fill: none; | ||
728 | -} | ||
729 | -.dark #ov-topo svg #topo-sprites .blue1 use { | ||
730 | - stroke: #445; | ||
731 | - fill: none; | ||
732 | -} | ||
733 | -.light #ov-topo svg #topo-sprites .blue1 text { | ||
734 | - fill: #cce; | ||
735 | -} | ||
736 | -.dark #ov-topo svg #topo-sprites .blue1 text { | ||
737 | - fill: #446; | ||
738 | -} | ||
739 | - | ||
740 | -.light #ov-topo svg #topo-sprites .gray1 use { | ||
741 | - stroke: #ccc; | ||
742 | - fill: none; | ||
743 | -} | ||
744 | -.dark #ov-topo svg #topo-sprites .gray1 use { | ||
745 | - stroke: #333; | ||
746 | - fill: none; | ||
747 | -} | ||
748 | -.light #ov-topo svg #topo-sprites .gray1 text { | ||
749 | - fill: #ddd; | ||
750 | -} | ||
751 | -.dark #ov-topo svg #topo-sprites .gray1 text { | ||
752 | - fill: #444; | ||
753 | -} | ||
754 | - | ||
755 | -/* fills */ | ||
756 | -.light #ov-topo svg #topo-sprites use.fill-gray2 { | ||
757 | - fill: #eee; | ||
758 | -} | ||
759 | -.dark #ov-topo svg #topo-sprites use.fill-gray2 { | ||
760 | - fill: #444; | ||
761 | -} | ||
762 | - | ||
763 | -.light #ov-topo svg #topo-sprites use.fill-blue2 { | ||
764 | - fill: #bce; | ||
765 | -} | ||
766 | -.dark #ov-topo svg #topo-sprites use.fill-blue2 { | ||
767 | - fill: #447; | ||
768 | -} | ||
769 | 229 | ||
770 | .notReady .readyBadge { | 230 | .notReady .readyBadge { |
771 | visibility: hidden; | 231 | visibility: hidden; |
... | @@ -778,4 +238,3 @@ html[data-platform='iPad'] #topo-p-detail { | ... | @@ -778,4 +238,3 @@ html[data-platform='iPad'] #topo-p-detail { |
778 | .map-list select { | 238 | .map-list select { |
779 | font-size: 20px; | 239 | font-size: 20px; |
780 | } | 240 | } |
781 | - | ... | ... |
... | @@ -93,21 +93,35 @@ | ... | @@ -93,21 +93,35 @@ |
93 | 93 | ||
94 | <!-- TODO: use a single catenated-minified file here --> | 94 | <!-- TODO: use a single catenated-minified file here --> |
95 | <link rel="stylesheet" href="app/onos.css"> | 95 | <link rel="stylesheet" href="app/onos.css"> |
96 | + <link rel="stylesheet" href="app/onos-theme.css"> | ||
96 | <link rel="stylesheet" href="app/common.css"> | 97 | <link rel="stylesheet" href="app/common.css"> |
97 | <link rel="stylesheet" href="app/fw/mast/mast.css"> | 98 | <link rel="stylesheet" href="app/fw/mast/mast.css"> |
99 | + <link rel="stylesheet" href="app/fw/mast/mast-theme.css"> | ||
98 | <link rel="stylesheet" href="app/fw/svg/glyph.css"> | 100 | <link rel="stylesheet" href="app/fw/svg/glyph.css"> |
101 | + <link rel="stylesheet" href="app/fw/svg/glyph-theme.css"> | ||
99 | <link rel="stylesheet" href="app/fw/svg/icon.css"> | 102 | <link rel="stylesheet" href="app/fw/svg/icon.css"> |
103 | + <link rel="stylesheet" href="app/fw/svg/icon-theme.css"> | ||
100 | <link rel="stylesheet" href="app/fw/layer/panel.css"> | 104 | <link rel="stylesheet" href="app/fw/layer/panel.css"> |
105 | + <link rel="stylesheet" href="app/fw/layer/panel-theme.css"> | ||
101 | <link rel="stylesheet" href="app/fw/layer/dialog.css"> | 106 | <link rel="stylesheet" href="app/fw/layer/dialog.css"> |
107 | + <link rel="stylesheet" href="app/fw/layer/dialog-theme.css"> | ||
102 | <link rel="stylesheet" href="app/fw/layer/flash.css"> | 108 | <link rel="stylesheet" href="app/fw/layer/flash.css"> |
109 | + <link rel="stylesheet" href="app/fw/layer/flash-theme.css"> | ||
103 | <link rel="stylesheet" href="app/fw/layer/quickhelp.css"> | 110 | <link rel="stylesheet" href="app/fw/layer/quickhelp.css"> |
111 | + <link rel="stylesheet" href="app/fw/layer/quickhelp-theme.css"> | ||
104 | <link rel="stylesheet" href="app/fw/layer/veil.css"> | 112 | <link rel="stylesheet" href="app/fw/layer/veil.css"> |
113 | + <link rel="stylesheet" href="app/fw/layer/veil-theme.css"> | ||
105 | <link rel="stylesheet" href="app/fw/layer/loading.css"> | 114 | <link rel="stylesheet" href="app/fw/layer/loading.css"> |
106 | <link rel="stylesheet" href="app/fw/nav/nav.css"> | 115 | <link rel="stylesheet" href="app/fw/nav/nav.css"> |
116 | + <link rel="stylesheet" href="app/fw/nav/nav-theme.css"> | ||
107 | <link rel="stylesheet" href="app/fw/widget/button.css"> | 117 | <link rel="stylesheet" href="app/fw/widget/button.css"> |
118 | + <link rel="stylesheet" href="app/fw/widget/button-theme.css"> | ||
108 | <link rel="stylesheet" href="app/fw/widget/toolbar.css"> | 119 | <link rel="stylesheet" href="app/fw/widget/toolbar.css"> |
120 | + <link rel="stylesheet" href="app/fw/widget/toolbar-theme.css"> | ||
109 | <link rel="stylesheet" href="app/fw/widget/tooltip.css"> | 121 | <link rel="stylesheet" href="app/fw/widget/tooltip.css"> |
122 | + <link rel="stylesheet" href="app/fw/widget/tooltip-theme.css"> | ||
110 | <link rel="stylesheet" href="app/fw/widget/table.css"> | 123 | <link rel="stylesheet" href="app/fw/widget/table.css"> |
124 | + <link rel="stylesheet" href="app/fw/widget/table-theme.css"> | ||
111 | 125 | ||
112 | <!-- Builtin views javascript. --> | 126 | <!-- Builtin views javascript. --> |
113 | <script src="app/view/topo/topo.js"></script> | 127 | <script src="app/view/topo/topo.js"></script> |
... | @@ -148,18 +162,27 @@ | ... | @@ -148,18 +162,27 @@ |
148 | 162 | ||
149 | <!-- Builtin views stylesheets. --> | 163 | <!-- Builtin views stylesheets. --> |
150 | <link rel="stylesheet" href="app/view/topo/topo.css"> | 164 | <link rel="stylesheet" href="app/view/topo/topo.css"> |
165 | + <link rel="stylesheet" href="app/view/topo/topo-theme.css"> | ||
151 | <link rel="stylesheet" href="app/view/device/device.css"> | 166 | <link rel="stylesheet" href="app/view/device/device.css"> |
167 | + <link rel="stylesheet" href="app/view/device/device-theme.css"> | ||
152 | <link rel="stylesheet" href="app/view/flow/flow.css"> | 168 | <link rel="stylesheet" href="app/view/flow/flow.css"> |
169 | + <link rel="stylesheet" href="app/view/flow/flow-theme.css"> | ||
153 | <link rel="stylesheet" href="app/view/port/port.css"> | 170 | <link rel="stylesheet" href="app/view/port/port.css"> |
171 | + <link rel="stylesheet" href="app/view/port/port-theme.css"> | ||
154 | <link rel="stylesheet" href="app/view/group/group.css"> | 172 | <link rel="stylesheet" href="app/view/group/group.css"> |
173 | + <link rel="stylesheet" href="app/view/group/group-theme.css"> | ||
155 | <link rel="stylesheet" href="app/view/meter/meter.css"> | 174 | <link rel="stylesheet" href="app/view/meter/meter.css"> |
175 | + <link rel="stylesheet" href="app/view/meter/meter-theme.css"> | ||
156 | <link rel="stylesheet" href="app/view/link/link.css"> | 176 | <link rel="stylesheet" href="app/view/link/link.css"> |
157 | <link rel="stylesheet" href="app/view/host/host.css"> | 177 | <link rel="stylesheet" href="app/view/host/host.css"> |
158 | <link rel="stylesheet" href="app/view/intent/intent.css"> | 178 | <link rel="stylesheet" href="app/view/intent/intent.css"> |
179 | + <link rel="stylesheet" href="app/view/intent/intent-theme.css"> | ||
159 | <link rel="stylesheet" href="app/view/app/app.css"> | 180 | <link rel="stylesheet" href="app/view/app/app.css"> |
181 | + <link rel="stylesheet" href="app/view/app/app-theme.css"> | ||
160 | <link rel="stylesheet" href="app/view/settings/settings.css"> | 182 | <link rel="stylesheet" href="app/view/settings/settings.css"> |
161 | <link rel="stylesheet" href="app/view/cluster/cluster.css"> | 183 | <link rel="stylesheet" href="app/view/cluster/cluster.css"> |
162 | <link rel="stylesheet" href="app/view/processor/processor.css"> | 184 | <link rel="stylesheet" href="app/view/processor/processor.css"> |
185 | + <link rel="stylesheet" href="app/view/processor/processor-theme.css"> | ||
163 | <link rel="stylesheet" href="app/view/tunnel/tunnel.css"> | 186 | <link rel="stylesheet" href="app/view/tunnel/tunnel.css"> |
164 | 187 | ||
165 | <!-- Contributed stylesheets injected here --> | 188 | <!-- Contributed stylesheets injected here --> | ... | ... |
-
Please register or login to post a comment