blob: 4d263d5df241c79f0af6ade31a580364d0f1faf4 [file] [log] [blame]
Matteo Scandolod2044a42017-08-07 16:08:28 -07001
2/*
3 * Copyright 2017-present Open Networking Foundation
4
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8
9 * http://www.apache.org/licenses/LICENSE-2.0
10
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18
Matteo Scandolo6c6b9282015-12-15 14:37:27 -080019#xosCeilometerDashboard{
20 position: relative;
21}
Matteo Scandolo1d8627f2015-12-05 18:44:45 -080022
Matteo Scandolo6c6b9282015-12-15 14:37:27 -080023/* Panel Layout */
24.panel {
25 margin-top: 10px;
26}
27
28.panel-body:not(:first-child) {
29 border-top: 1px solid #e3e3e3;
30}
31
32.panel-body .row {
33 margin-top: 10px;
34}
35
36/* Chart details */
37.chart {
38 width: 100%;
39 height: 300px;
40}
41
42.btn-chart, .btn-chart:hover {
43 color: #fff;
44}
45
46.side-container {
47 position: relative;
48}
49
50.service-list {
51 margin-top: -10px;
52}
53
54.service-list h3 {
55 margin-top: 0px;
56 margin-bottom: 0px;
57}
58
59.service-list a {
60 text-decoration: none;
61 color: #333;
62}
63
64.meters, .stats {
65 margin-top: 25px;
66 position: absolute;
67 top: 0;
68 left: 0;
69 width: 100%;
Matteo Scandolo706fe062015-12-17 16:31:02 -080070 margin-bottom: 50px;
Matteo Scandolo6c6b9282015-12-15 14:37:27 -080071}
72
73/* LOADER */
74.loader {
75 font-size: 10px;
76 margin: 150px auto;
77 text-indent: -9999em;
78 width: 11em;
79 height: 11em;
80 border-radius: 50%;
81 background: #ffffff;
82 background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
83 background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
84 background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
85 background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
86 background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
87 position: relative;
88 -webkit-animation: load3 1.4s infinite linear;
89 animation: load3 1.4s infinite linear;
90 -webkit-transform: translateZ(0);
91 -ms-transform: translateZ(0);
92 transform: translateZ(0);
93}
94.loader:before {
95 width: 50%;
96 height: 50%;
97 background: #105E9E;
98 border-radius: 100% 0 0 0;
99 position: absolute;
100 top: 0;
101 left: 0;
102 content: '';
103}
104.loader:after {
105 background: #fff;
106 width: 75%;
107 height: 75%;
108 border-radius: 50%;
109 content: '';
110 margin: auto;
111 position: absolute;
112 top: 0;
113 left: 0;
114 bottom: 0;
115 right: 0;
116}
117@-webkit-keyframes load3 {
118 0% {
119 -webkit-transform: rotate(0deg);
120 transform: rotate(0deg);
121 }
122 100% {
123 -webkit-transform: rotate(360deg);
124 transform: rotate(360deg);
125 }
126}
127@keyframes load3 {
128 0% {
129 -webkit-transform: rotate(0deg);
130 transform: rotate(0deg);
131 }
132 100% {
133 -webkit-transform: rotate(360deg);
134 transform: rotate(360deg);
135 }
136}
137
138/* VIEW ANIMATION */
139
140[ui-view] {
141 position: absolute;
142 top: 0;
Matteo Scandolo918f0a52015-12-17 16:26:09 -0800143 left: 0;
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800144 width: 100%;
Matteo Scandolo918f0a52015-12-17 16:26:09 -0800145 margin-bottom: 100px;
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800146}
147
148/* FROM DASHBOARD TO DETAIL */
149
150/* dash out */
151[ui-view].ceilometerDashboard.ng-leave {
152 animation:1s bounceOutLeft ease;
153}
154/* samples in */
155[ui-view].samples.ng-enter {
156 animation:1s bounceInRight ease;
157}
158
159/* FROM DETAIL TO DASHBOARD */
160
161/* samples out */
162[ui-view].samples.ng-leave {
163 animation:1s bounceOutRight ease;
164}
165/* dash in */
166[ui-view].ceilometerDashboard.ng-enter {
167 animation:1s bounceInLeft ease;
168}
169
170/* COLUMS ANIMATION */
171/* when showing the thing */
172.animate .animate-slide-left.ng-hide-remove {
173 animation:0.5s bounceInRight ease;
174}
175
176/* when hiding the picture */
177.animate .animate-slide-left.ng-hide-add {
178 animation:0.5s bounceOutRight ease;
179}
180
181/* ANIMATIONS */
182
183@keyframes bounceInRight {
184 from, 60%, 75%, 90%, to {
185 animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
Matteo Scandolo83869332015-12-14 14:26:20 -0800186 }
187
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800188 from {
189 opacity: 0;
190 transform: translate3d(3000px, 0, 0);
Matteo Scandolo68c2e722015-12-04 10:14:40 -0800191 }
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800192
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800193 60% {
194 opacity: 1;
195 transform: translate3d(-25px, 0, 0);
Matteo Scandolo68c2e722015-12-04 10:14:40 -0800196 }
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800197
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800198 75% {
199 transform: translate3d(10px, 0, 0);
Matteo Scandolo68c2e722015-12-04 10:14:40 -0800200 }
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800201
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800202 90% {
203 transform: translate3d(-5px, 0, 0);
Matteo Scandolo68c2e722015-12-04 10:14:40 -0800204 }
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800205
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800206 to {
207 transform: none;
208 }
209}
210
211@keyframes bounceInLeft {
212 from, 60%, 75%, 90%, to {
213 animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
Matteo Scandolo324df092015-12-08 16:39:57 -0800214 }
215
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800216 0% {
217 opacity: 0;
218 transform: translate3d(-3000px, 0, 0);
Matteo Scandolo41f5c152015-12-09 17:09:55 -0800219 }
220
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800221 60% {
222 opacity: 1;
223 transform: translate3d(25px, 0, 0);
Matteo Scandoloc0582112015-12-09 16:09:59 -0800224 }
225
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800226 75% {
227 transform: translate3d(-10px, 0, 0);
Matteo Scandoloc0582112015-12-09 16:09:59 -0800228 }
229
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800230 90% {
231 transform: translate3d(5px, 0, 0);
Matteo Scandoloc0582112015-12-09 16:09:59 -0800232 }
233
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800234 to {
235 transform: none;
236 }
237}
238
239@keyframes slideInUp {
240 from {
241 transform: translate3d(0, 100%, 0);
242 visibility: visible;
Matteo Scandoloc0582112015-12-09 16:09:59 -0800243 }
244
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800245 to {
246 transform: translate3d(0, 0, 0);
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800247 }
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800248}
249
250@keyframes bounceOutRight {
251 20% {
252 opacity: 1;
253 transform: translate3d(-20px, 0, 0);
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800254 }
255
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800256 to {
257 opacity: 0;
258 transform: translate3d(2000px, 0, 0);
259 }
260}
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800261
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800262@keyframes bounceOutLeft {
263 20% {
264 opacity: 1;
265 transform: translate3d(20px, 0, 0);
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800266 }
267
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800268 to {
269 opacity: 0;
270 transform: translate3d(-2000px, 0, 0);
Matteo Scandolo68856082015-12-08 14:35:55 -0800271 }
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800272}
273
274@keyframes slideOutDown {
275 from {
276 transform: translate3d(0, 0, 0);
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800277 }
278
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800279 to {
280 visibility: hidden;
281 transform: translate3d(0, 100%, 0);
Matteo Scandolo1d8627f2015-12-05 18:44:45 -0800282 }
Matteo Scandolo6c6b9282015-12-15 14:37:27 -0800283}