diff options
author | lizi00164331 <li.zi30@zte.com.cn> | 2017-09-05 17:37:54 +0800 |
---|---|---|
committer | lizi00164331 <li.zi30@zte.com.cn> | 2017-09-05 17:37:54 +0800 |
commit | 8aaddf4913dd792402331f6e9424067a78246c18 (patch) | |
tree | 0414cc82ab6fab5075a94ee8e784b0b20e305550 /portal/src/main/webapp/extsys/vnfm | |
parent | 71ef7dd040b057abb85521caeff0cf9154647086 (diff) |
Try to fix the daily builed failed bug.
change the esr catagory name to portal, Fix the pom definition.
Change-Id: I21861aba0fe9b7d0528c5ffcb220d6e6096efcc4
Issue-ID: AAI-224
Signed-off-by: lizi00164331 <li.zi30@zte.com.cn>
Diffstat (limited to 'portal/src/main/webapp/extsys/vnfm')
10 files changed, 1492 insertions, 0 deletions
diff --git a/portal/src/main/webapp/extsys/vnfm/css/animate.min.css b/portal/src/main/webapp/extsys/vnfm/css/animate.min.css new file mode 100644 index 0000000..3b04801 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/css/animate.min.css @@ -0,0 +1,21 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@charset "UTF-8";/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2014 Daniel Eden +*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);-ms-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);-ms-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);-ms-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);-ms-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);-ms-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);-ms-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);-ms-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);-ms-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);-ms-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);-ms-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);-ms-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);-ms-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);-ms-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);-ms-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;-ms-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);-ms-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);-ms-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);-ms-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);-ms-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);-ms-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);-ms-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);-ms-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);-ms-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);-ms-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);-ms-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);-ms-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);-ms-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);-ms-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);-ms-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);-ms-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);-ms-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);-ms-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);-ms-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);-ms-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);-ms-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);-ms-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);-ms-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);-ms-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);-ms-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);-ms-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);-ms-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);-ms-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);-ms-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);-ms-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0,0,1,45deg);transform:rotate(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(0,0,1,45deg);-ms-transform:rotate(0,0,1,45deg);transform:rotate(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);-ms-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);-ms-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);-ms-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);-ms-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);-ms-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);-ms-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);-ms-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);-ms-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/css/vnfm.css b/portal/src/main/webapp/extsys/vnfm/css/vnfm.css new file mode 100644 index 0000000..9dd1e5f --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/css/vnfm.css @@ -0,0 +1,486 @@ +/** + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +body { + font-family: microsoft yahei !important; +} + +/* blue pill (inspired by iTunes) +*******************************************************************************/ + +.grey { + background-color: #e5e5e5; + color: #333; +} + +.blue { + + background-color: #5b9bd1; + border-radius: 20px; + color: #fff; + font-weight: bold; + padding: 8px 0; + text-align: center; + width: 100px; +} + +.blue:hover { + background-color: #e8f3fd; + color: #5b9bd1; +} + +.blue.selected { + border: 0; + background-color: #5b9bd1; + color: #fff; +} + +.blue.selected:hover { + border: 0; + background-color: #5b9bd1; + color: #fff; +} + +p { + color: #444; + font-size: 14px; + font-weight: normal; + line-height: 21px; + margin: 0 0 12px 0; +} + +p.credit { + border-top: 1px solid #ccc; + font-size: 14px; + line-height: 140%; + margin: 36px 0 12px 0; + padding: 8px 0 0 0; + text-align: center; +} + +ul.column { + float: left; + list-style: none; + width: 675px; +} + +ul.column li { + background: #eee; + -webkit-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: inset 0 1px 1px 0 #c7c7c7; + box-shadow: inset 0 1px 1px 0 #c7c7c7; + float: left; + margin: 10px 0 0 10px; + display: block; + height: 150px; + text-align: center; + width: 215px; +} + +/* Clear Floated Elements +------------------------------------------------------------------------------*/ +.column:after, .button-collection:after, .clearfix:after, div.project-info:after { + clear: both; + content: ' '; + display: block; + font-size: 0; + line-height: 0; + visibility: hidden; + width: 0; + height: 0; +} + +.container-fluid { + background-color: white !important; + min-height: 500px; +} + +.nav-tabs { + border: 0; +} + +.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { + border: 0; + border-top: 3px solid #F3565D; +} + +.nav-tabs > li > a { + border-radius: 0; +} + +.nav-tabs > li > a:hover { + background-color: #f1f3fa; + border: 1Px solid #f1f3fa; +} + +.c3 { + margin-top: 120px; +} + +.skills-chart-breadcrumb { + +} + +.blue:selected { + border: 0; + background-color: #5b9bd1; +} + +.btn { + /* border-width: 0; */ + /* padding: 7px 14px; */ + /* font-size: 14px; */ + /* outline: none !important; */ + /* background-image: none !important; */ + /* filter: none; */ + /* -webkit-box-shadow: none; */ + -moz-box-shadow: none; + /* box-shadow: none; */ + /* text-shadow: none; */ +} + +select { + border-width: 1px; + padding: 4px 1px; + border-radius: 4px; +} + +.input-sm { + padding: 4px 10px; +} + +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; +} + +/* Bootstrap buttons */ + +.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active { + color: #333; + background-color: #ededed; + border-color: #b3b3b3; +} + +.open .btn-default.dropdown-toggle { + color: #333; + background-color: #ededed; + border-color: #b3b3b3; +} + +.btn-default:active, .btn-default.active { + background-image: none; + background-color: #e0e0e0; + font-weight: bold; +} + +.btn-default:active:hover, .btn-default.active:hover { + background-color: #e6e6e6; +} + +.open .btn-default.dropdown-toggle { + background-image: none; +} + +.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default:hover, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} + +.btn-default .badge { + color: #fff; + background-color: #333; +} + +.btn-default > i[class^="icon-"], .btn-default > i[class*="icon-"] { + color: #8c8c8c; +} + +div[data-name="tab_zone"] div { + background-color: #f1f3fa; + padding: 0px; +} + +div[data-name="cond_zone"] div { + background-color: #fff; + margin-top: 15px; + margin-bottom: 15px; +} + +div[data-name="res-conds-zone"] { + display: inline; +} + +div[data-name="res-conds-zone"] select, div[data-name="res-conds-zone"] span { + /**height:33px;*/ + margin-left: 15px; + color: #5b9bd1; + border-color: #ccc; + font-weight: bold; +} + +.input { + width: 250px; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} + +div.separator { + margin: 20px; +} + +div.separator div { + text-align: center; + line-height: 0; +} + +div.separator-line { + height: 1px !important; + width: 100%; + background: #ddd; + overflow: hidden; +} + +.dropdown-toggle { + color: #5b9bd1; +} + +.calendar-date { + color: #5b9bd1; +} + +.range_inputs { + color: #5b9bd1; +} + +.btn.dropdown-toggle, .btn-group .btn.dropdown-toggle, .btn:hover, .btn:disabled, .btn[disabled], .btn:focus, .btn:active, .btn.active { + outline: none !important; + background-image: none !important; + filter: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + text-shadow: none; +} + +#skills-chart-breadcrumb { + margin-bottom: 10px +} + +/*增加daterangepicker的css*/ +input[name="daterange"] { + width: 220px; + line-height: 0; + height: 31px; + vertical-align: top; + margin-top: 2px; +} + +.daterangepicker .ranges { + width: 205px; +} + +.daterangepicker .ranges input { + width: 95px !important; +} + +td.details-control { + background: url('../images/details_open.png') no-repeat center center; + cursor: pointer; +} + +tr.shown td.details-control { + background: url('../images/details_close.png') no-repeat center center; +} + +.details table td { + word-wrap: break-word; + word-break: normal; + border-top: 1px solid #dddddd; +} + +.details table tr:first-child td { + border-top: none; +} + +.details table { + table-layout: fixed; + width: 100%; +} + +td.title { + width: 10%; +} + +table.dataTable tbody th, table.dataTable tbody td { + padding: 8px 10px; +} + +div.dataTables_length, div.dataTables_info { + display: inline; +} + +div.dataTables_paginate { + display: inline; + float: right; +} + +div.pagination-panel { + margin-right: 10px; +} + +input.pagination-panel-input { + width: 50px; +} + +#ict_res_table_div { + margin-top: 15px; +} + +#ict_res_table_div label { + font-weight: 100; +} + +.daterangepicker .daterangepicker_start_input label, .daterangepicker .daterangepicker_end_input label { + color: #5b9bd1; +} + +.daterangepicker .ranges .input-mini { + color: #5b9bd1; +} + +.cancelBtn { + padding: 5px 10px 5px 10px; +} + +.btn:focus, .btn:active:focus, .btn.active:focus { + outline: 0; +} + +#ict_res_table_div table { + width: 100% !important; +} + +.control-label .required { + color: #e02222; + font-size: 12px; + padding-left: 2px; +} + +#ict_vim_table tbody tr { + cursor: pointer; +} + +/*卡片面板样式*/ +.animated-panel { + -webkit-animation-duration: .5s; + animation-duration: .5s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; +} + +.hpanel { + background-color: none; + border: none; + box-shadow: none; + margin-bottom: 25px; + +} + +.hpanel .panel-body { + border: 1px solid #e4e5e7; + border-radius: 2px; + padding: 20px; + position: relative; +} + +.h-200 { + min-height: 220px; +} + +.m-t-xl { + margin-top: 40px; +} + +.m-t-xl div { + margin-bottom: 15px; +} + +.text-success { + color: #0d638f; +} + +.hpanel > .panel-footer { + color: inherit; + border: 1px solid #e4e5e7; + border-top: none; + font-size: 90%; + background: #f7f9fa; + height: 40px; + padding: 5px 15px; +} + +.color_cloud { + color: #ccc; +} + +.stats-title { + +} + +h3 { + margin-top: 10px; + margin-bottom: 40px; + font-weight: 200; +} + +.blue-font { + color: #428bca; +} + +.hpanel > .panel-footer .pull-right a { + margin-left: 5px; +} + +.hpanel > .panel-footer .pull-right .btn { + min-width: 30px !important; +} + +.font-bold { + font-weight: 600; + margin-bottom: 15px; +} + +.hpanel_show { + background-color: #f7f9fa; +} + +.vnfm-padding { + padding-left: 0; +}
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/i18n/nfv-nso-iui-i18n-en-US.properties b/portal/src/main/webapp/extsys/vnfm/i18n/nfv-nso-iui-i18n-en-US.properties new file mode 100644 index 0000000..6d10a1d --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/i18n/nfv-nso-iui-i18n-en-US.properties @@ -0,0 +1,55 @@ +# +# Copyright 2016-2017 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +//vnfm +nfv-vnfm-iui-title=VNFM Manage +nfv-vnfm-iui-message-title=vnfm info +nfv-vnfm-iui-message-query-fail=Query vnfm failed. +nfv-vnfm-iui-message-save-success=Save successfully. +nfv-vnfm-iui-message-save-fail=Save failed. +nfv-vnfm-iui-message-vnfm-already-exists=vnfm already exists. +nfv-vnfm-iui-message-update-success=Update successfully. +nfv-vnfm-iui-message-update-fail=Update failed. +nfv-vnfm-iui-message-delete-confirm=Do you want to delete the current vnfm? +nfv-vnfm-iui-message-delete-success=Vnfm deleted successfully. +nfv-vnfm-iui-message-delete-fail=Vnfm deleted failed. + +nfv-vnfm-iui-test-update=Modify vnfm info +nfv-vnfm-iui-text-register=Register vnfm info +nfv-vnfm-iui-text-name=Name +nfv-vnfm-iui-text-type=type +nfv-vnfm-iui-text-version=version +nfv-vnfm-iui-text-certificateUrl=certificate URL +nfv-vnfm-iui-text-vendor=Vendor +nfv-vnfm-iui-text-userName=Username +nfv-vnfm-iui-text-password=Password +nfv-vnfm-iui-text_description=Description +nfv-vnfm-iui-text-cancelBtn=cancel +nfv-vnfm-iui-text-saveBtn=save +nfv-vnfm-iui-text-registerBtn=Register +nfv-vnfm-iui-text-status-normal=Normal +nfv-vnfm-iui-text-status-fail=Alarm +nfv-vnfm-iui-text-total=Total +nfv-vnfm-iui-text-total-vnfm= of vnfm + +nfv-vnfm-iui-validate-name=Please enter a name +nfv-vnfm-iui-validate-type=Please enter the vnfm type +nfv-vnfm-iui-validate-version=Please enter version +nfv-vnfm-iui-validate-vendor=Please enter vendor +nfv-vnfm-iui-validate-vim=Please select a VIM +nfv-vnfm-iui-validate-url-required=Please enter the URL +nfv-vnfm-iui-validate-url=Please enter the right URL +nfv-vnfm-iui-text-url-tip=Example: http://10.0.0.1
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/i18n/nfv-nso-iui-i18n-zh-CN.properties b/portal/src/main/webapp/extsys/vnfm/i18n/nfv-nso-iui-i18n-zh-CN.properties new file mode 100644 index 0000000..6adad99 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/i18n/nfv-nso-iui-i18n-zh-CN.properties @@ -0,0 +1,55 @@ +# +# Copyright 2016-2017 ZTE Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +//vnfm +nfv-vnfm-iui-title=VNFM管理 +nfv-vnfm-iui-message-title=vnfm信息 +nfv-vnfm-iui-message-query-fail=查询vnfm失败。 +nfv-vnfm-iui-message-save-success=保存成功。 +nfv-vnfm-iui-message-save-fail=保存失败。 +nfv-vnfm-iui-message-vnfm-already-exists=vnfm 已经存在 +nfv-vnfm-iui-message-update-success=修改成功。 +nfv-vnfm-iui-message-update-fail=修改失败。 +nfv-vnfm-iui-message-delete-confirm=确定删除所选vnfm信息? +nfv-vnfm-iui-message-delete-success=删除成功 +nfv-vnfm-iui-message-delete-fail=删除失败 + +nfv-vnfm-iui-test-update=修改vnfm信息 +nfv-vnfm-iui-text-register=注册vnfm信息 +nfv-vnfm-iui-text-name=名称 +nfv-vnfm-iui-text-type=类型 +nfv-vnfm-iui-text-version=版本 +nfv-vnfm-iui-text-certificateUrl=认证url +nfv-vnfm-iui-text_description=描述 +nfv-vnfm-iui-text-vendor=厂商 +nfv-vnfm-iui-text-userName=接入用户 +nfv-vnfm-iui-text-password=接入密码 +nfv-vnfm-iui-text-cancelBtn=取消 +nfv-vnfm-iui-text-saveBtn=保存 +nfv-vnfm-iui-text-registerBtn=注册vnfm +nfv-vnfm-iui-text-status-normal=正常 +nfv-vnfm-iui-text-status-fail=报警 +nfv-vnfm-iui-text-total=共 +nfv-vnfm-iui-text-total-vnfm= vnfm + +nfv-vnfm-iui-validate-name=请输入名称 +nfv-vnfm-iui-validate-type=请输入vnfm类型 +nfv-vnfm-iui-validate-version=请输入版本号 +nfv-vnfm-iui-validate-vendor=请输入厂商 +nfv-vnfm-iui-validate-vim=请选择VIM +nfv-vnfm-iui-validate-url-required=请输入URL +nfv-vnfm-iui-validate-url=请输入正确的URL +nfv-vnfm-iui-text-url-tip=例如:http://10.0.0.1
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/js/commonUtil.js b/portal/src/main/webapp/extsys/vnfm/js/commonUtil.js new file mode 100644 index 0000000..44a72f3 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/js/commonUtil.js @@ -0,0 +1,128 @@ +/* + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var commonUtil = {}; +commonUtil.arrayRemove = function (aryInstance, index) { + if (aryInstance == undefined || aryInstance == null) { + return; + } + for (var i = 0, n = 0; i < aryInstance.length; i++) { + if (aryInstance[i] != aryInstance[dx]) { + aryInstance[n++] = aryInstance[i]; + } + } + aryInstance.length -= 1; +}; + +//For the expansion of the Date, convert the Date to specify the format String +// examples: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +commonUtil.parseDate = function (dateObj, format) { + var o = { + "M+": dateObj.getMonth() + 1, //month + "d+": dateObj.getDate(), //day + "h+": dateObj.getHours(), //hour + "m+": dateObj.getMinutes(), //minute + "s+": dateObj.getSeconds(), //second + "q+": Math.floor((dateObj.getMonth() + 3) / 3), //quarter + "S": dateObj.getMilliseconds() //millisecond + } + if (/(y+)/.test(format)) format = format.replace(RegExp.$1, + (dateObj.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(format)) + format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : + ("00" + o[k]).substr(("" + o[k]).length)); + return format; +}; + +//tooltip +commonUtil.showMessage = function (message, type) { + $.growl({ + icon: "fa fa-envelope-o fa-lg", + title: " " + $.i18n.prop("nfv-nso-iui-common-tip"), + message: message + }, { + type: type + }); +}; + +commonUtil.registerCometdMessage = function (url, channel, callback) { + var cometd = new $.Cometd(); + var cometdURL = location.protocol + "//" + location.host + url; + cometd.configure({ + url: cometdURL, + logLevel: "info" + }); + // unregister websocket transport, use long-polling transport + cometd.unregisterTransport('websocket'); + // store channel object parameters(this object include channel and callback function), start from arguments[1] + var _args = arguments; + + cometd.addListener("/meta/handshake", function (handshake) { + if (handshake.successful === true) { + cometd.batch(function () { + //subscribe channel + cometd.subscribe(channel, function (message) { + callback.call(this, message.data); + }); + }); + } + }); + cometd.handshake(); +} + +commonUtil.format = function () { + if (arguments.length == 0) { + return null; + } + var str = arguments[0]; + for (var i = 0; i < arguments.length; i++) { + var reg = new RegExp("\\{" + (i - 1) + "\\}", "gm"); + str = str.replace(reg, arguments[i]); + } + return str; +} + +commonUtil.get = function (url, params, callback) { + $.ajax({ + type: "GET", + url: url, + //contentType : contentType || "application/x-www-form-urlencoded; charset=UTF-8", + dataType: "json", + data: params || {}, + success: callback + }); +} + +commonUtil.post = function (url, params, callback, contentType) { + $.ajax({ + type: "POST", + url: url, + contentType: contentType || "application/x-www-form-urlencoded; charset=UTF-8", + data: params || {}, + success: callback + }); +} + +commonUtil.delete = function (url, callback, contentType) { + $.ajax({ + type: "DELETE", + url: url, + contentType: contentType || "application/x-www-form-urlencoded; charset=UTF-8", + success: callback + }); +}
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/js/loadi18n_nsoc.js b/portal/src/main/webapp/extsys/vnfm/js/loadi18n_nsoc.js new file mode 100644 index 0000000..a543a20 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/js/loadi18n_nsoc.js @@ -0,0 +1,38 @@ +/* + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +function loadPropertiesSideMenu(lang, fileNamePrefix, filePath) { + jQuery.i18n.properties({ + language: lang, + name: fileNamePrefix, + path: filePath, + mode: 'map', + callback: function () { + var i18nItems = $("[name_i18n=com_zte_nfv_nsoc_i18n]"); + for (var i = 0; i < i18nItems.length; i++) { + var $item = $(i18nItems.eq(i)); + var itemId = $item.attr("id"); + var itemTitle = $item.attr("title"); + if (typeof(itemTitle) != "undefined") { + $item.attr("title", $.i18n.prop(itemId)); + } else { + $item.text($.i18n.prop(itemId)); + } + } + } + }); +} +var lang = getLanguage(); +loadPropertiesSideMenu(lang, 'nfv-nso-iui-i18n', 'i18n/');
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/js/vnfm-validate.js b/portal/src/main/webapp/extsys/vnfm/js/vnfm-validate.js new file mode 100644 index 0000000..627d6d5 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/js/vnfm-validate.js @@ -0,0 +1,89 @@ +/* + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +$(function () { + var form = $('#vnfm_form'); + var error = $('.alert-danger', form); + var success = $('.alert-success', form); + + form.validate({ + doNotHideMessage: true, //this option enables to show the error/success messages on tab switch. + errorElement: 'span', //default input error message container + errorClass: 'help-block', // default input error message class + focusInvalid: false, // do not focus the last invalid input + rules: { + name: { + required: true, + maxlength: 20 + }, + type: { + required: true, + maxlength: 20 + }, + version: { + required: true, + maxlength: 20 + }, + vendor: { + required: true, + maxlength: 20 + }, + url: { + required: true, + url: true + } + }, + messages: { + name: { + required: $.i18n.prop("nfv-vnfm-iui-validate-name") + }, + type: { + required: $.i18n.prop("nfv-vnfm-iui-validate-type") + }, + version: { + required: $.i18n.prop("nfv-vnfm-iui-validate-version") + }, + vendor: { + required: $.i18n.prop("nfv-vnfm-iui-validate-vendor") + }, + url: { + required: $.i18n.prop("nfv-vnfm-iui-validate-url-required"), + url: $.i18n.prop("nfv-vnfm-iui-validate-url") + } + }, + errorPlacement: function (error, element) { // render error placement for each input type + error.insertAfter(element); // for other inputs, just perform default behavior + }, + invalidHandler: function (event, validator) { //display error alert on form submit + success.hide(); + error.show(); + }, + highlight: function (element) { // hightlight error inputs + $(element).closest('.form-group').removeClass('has-success').addClass('has-error'); // set error class to the control group + }, + unhighlight: function (element) { // revert the change done by hightlight + $(element).closest('.form-group').removeClass('has-error'); // set error class to the control group + }, + success: function (label) { + label.addClass('valid') // mark the current input as valid and display OK icon + .closest('.form-group').removeClass('has-error'); // set success class to the control group + }, + submitHandler: function (form) { + success.show(); + error.hide(); + //add here some ajax code to submit your form or just call form.submit() if you want to submit the form without ajax + } + }); +});
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/js/vnfmController.js b/portal/src/main/webapp/extsys/vnfm/js/vnfmController.js new file mode 100644 index 0000000..1df32b1 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/js/vnfmController.js @@ -0,0 +1,302 @@ +/* + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +var vm = avalon + .define({ + $id: "vnfmController", + vnfmInfo: [], + //mocSelectItems : [], + vimSelectItems: [], + server_rtn: { + info_block: false, + warning_block: false, + rtn_info: "", + $RTN_SUCCESS: "RTN_SUCCESS", + $RTN_FAILED: "RTN_FAILED" + }, + $Status: { + success: "active", + failed: "inactive" + }, + $restUrl: { + queryVnfmInfoUrl: '/onapapi/aai/esr/v1/vnfms', + addVnfmInfoUrl: '/onapapi/aai/esr/v1/vnfms', + updateVnfmInfoUrl: '/onapapi/aai/esr/v1/vnfms/', + delVnfmInfoUrl: '/onapapi/aai/esr/v1/vnfms/', + queryMocUrl: '', + queryVimUrl: '/onapapi/aai/esr/v1/vims' + }, + $htmlText: { + saveSuccess: $.i18n.prop("nfv-vnfm-iui-message-save-success"), + saveFail: $.i18n.prop("nfv-vnfm-iui-message-save-fail"), + alreadyExist: $.i18n.prop("nfv-vnfm-iui-message-vnfm-already-exists"), + updateSuccess: $.i18n.prop("nfv-vnfm-iui-message-update-success"), + updateFail: $.i18n.prop("nfv-vnfm-iui-message-update-fail") + }, + $initTable: function () { + $.ajax({ + "type": 'GET', + "url": vm.$restUrl.queryVnfmInfoUrl, + //"dataType": "json", + "success": function (resp) { + for (var i = 0; i < resp.length; i++) { + resp[i].status = vm.$Status.success; + } + vm.vnfmInfo = resp; + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert($.i18n.prop("nfv-vnfm-iui-message-query-fail") + ":" + textStatus + ":" + errorThrown); + return; + }, + complete: function () { + vnfmUtil.tooltipVnfmStatus(); + } + }); + }, + // $initMoc : function() { + // /*var url = vm.$restUrl.queryMocUrl; + // commonUtil.get(url, null, function(resp) { + // if (resp) { + // vm.addVnfm.moc = resp.data; + // } + // });*/ + // var resp = [ + // { id : "nfv.vnfm.eco", name : "VNFM(ECO)"}, + // { id : "nfv.vnfm.tacker", name : "VNFM(Tacker)"}, + // { id : "nfv.vnfm.cmcc", name : "VNFM(CMCC)"}, + // { id : "nfv.vnfm.etsi", name : "VNFM(ETSI)"} + // ] + // vm.mocSelectItems = resp; + // }, + $initVim: function () { + $.ajax({ + type: 'get', + url: vm.$restUrl.queryVimUrl, + dataType: 'json', + success: function (resp) { + if (resp) { + vm.vimSelectItems = resp; + } + vm.vimSelectItems.push({"vimId": "", "name": ""}); + } + }); + }, + addVnfm: { + title: $.i18n.prop("nfv-vnfm-iui-text-register"), + vnfmId: "", + name: "", + type: "", + //moc : "", + nameReadonly : false, + vimId: "", + //vimVisiable : false, + vendor: "", + version: "", + description: "", + certificateUrl: "", + url: "", + urlTip: $.i18n.prop("nfv-vnfm-iui-text-url-tip"), + userName: "", + password: "", + saveType: "add", + status: "" + }, + $showVnfmTable: function () { + vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-text-register"), + vm.addVnfm.vnfmId = ""; + vm.addVnfm.name = ""; + vm.addVnfm.type = ""; + //vm.addVnfm.moc = ""; + vm.addVnfm.nameReadonly = false; + vm.addVnfm.vimId = ""; + //vm.addVnfm.vimVisiable = false; + vm.addVnfm.vendor = ""; + vm.addVnfm.version = ""; + vm.addVnfm.description = ""; + vm.addVnfm.certificateUrl = ""; + vm.addVnfm.url = ""; + vm.addVnfm.userName = ""; + vm.addVnfm.password = ""; + vm.addVnfm.saveType = "add"; + vm.server_rtn.warning_block = false; + vm.server_rtn.info_block = false; + //vm.$initMoc(); + vm.$initVim(); + //vm.$mocChange(); + + $(".form-group").each(function () { + $(this).removeClass('has-success'); + $(this).removeClass('has-error'); + $(this).find(".help-block[id]").remove(); + }); + $("#addVnfmDlg").modal("show"); + }, + // $getMocName : function(mocId) { + // var items = vm.mocSelectItems; + // for(var i=0;i<items.length;i++) { + // if(items[i].id == mocId) { + // return items[i].name; + // } + // } + // return ""; + // }, + $saveVnfm: function () { + var form = $('#vnfm_form'); + if (form.valid() == false) { + return false; + } + vm.server_rtn.info_block = true; + vm.server_rtn.warning_block = false; + vm.addVnfm.status = vm.$Status.success; + + var param = { + name: vm.addVnfm.name, + //status : vm.addVnfm.status, + //moc : $("#moc").val(), + //vimId : vm.$getVimId($("#moc").val()), + vimId: $("#vimId").val(), + vendor: vm.addVnfm.vendor, + version: vm.addVnfm.version, + type: vm.addVnfm.type, + description: vm.addVnfm.description, + certificateUrl: vm.addVnfm.certificateUrl, + url: vm.addVnfm.url, + userName: vm.addVnfm.userName, + password: vm.addVnfm.password + } + //save VIM info + if (vm.addVnfm.saveType == "add") { + // for( var i = 0; i < vm.vnfmInfo.length; i ++ ){ + // if(vm.addVnfm.name == vm.vnfmInfo[i].name){ + // vm.server_rtn.warning_block = true; + // vm.server_rtn.rtn_info = vm.$htmlText.alreadyExist; + // commonUtil.showMessage(vm.$htmlText.alreadyExist, "failed"); + // return; + // } + // } + $.ajax({ + type: "POST", + url: vm.$restUrl.addVnfmInfoUrl, + data: JSON.stringify(param), + dataType: "json", + contentType: "application/json", + success: function (data) { + vm.server_rtn.info_block = false; + vm.server_rtn.warning_block = false; + if (data) { + vm.vnfmInfo = []; + vm.$initTable(); + + $('#addVnfmDlg').modal('hide'); + commonUtil.showMessage(vm.$htmlText.saveSuccess, "success"); + } else { + vm.server_rtn.warning_block = true; + vm.server_rtn.rtn_info = vm.$htmlText.saveFail; + commonUtil.showMessage(vm.$htmlText.saveFail, "failed"); + } + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + vm.server_rtn.warning_block = true; + vm.server_rtn.rtn_info = textStatus + ":" + errorThrown; + vm.server_rtn.info_block = false; + } + }); + } else { + $.ajax({ + type: "PUT", + url: vm.$restUrl.updateVnfmInfoUrl + vm.addVnfm.vnfmId, + data: JSON.stringify(param), + dataType: "json", + contentType: "application/json", + success: function (data) { + vm.server_rtn.info_block = false; + vm.server_rtn.warning_block = false; + if (data) { + for (var i = 0; i < vm.vnfmInfo.length; i++) { + if (vm.vnfmInfo[i].vnfmId == vm.addVnfm.vnfmId) { + vm.vnfmInfo[i].name = vm.addVnfm.name; + vm.vnfmInfo[i].vimId = $("#vimId").val(); + vm.vnfmInfo[i].vendor = vm.addVnfm.vendor; + vm.vnfmInfo[i].version = vm.addVnfm.version; + vm.vnfmInfo[i].certificateUrl = vm.addVnfm.certificateUrl; + vm.vnfmInfo[i].description = vm.addVnfm.description; + vm.vnfmInfo[i].url = vm.addVnfm.url; + vm.vnfmInfo[i].userName = vm.addVnfm.userName; + vm.vnfmInfo[i].password = vm.addVnfm.password; + } + } + $('#addVnfmDlg').modal('hide'); + commonUtil.showMessage(vm.$htmlText.updateSuccess, "success"); + } else { + vm.server_rtn.warning_block = true; + vm.server_rtn.rtn_info = vm.$htmlText.updateFail; + commonUtil.showMessage(vm.$htmlText.updateFail, "failed"); + } + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + vm.server_rtn.warning_block = true; + vm.server_rtn.rtn_info = textStatus + ":" + errorThrown; + vm.server_rtn.info_block = false; + } + }); + } + }, + // mocRendered : function(action) { + // if(vm.addVnfm.saveType === "update" && vm.addVnfm.moc) { + // var items = vm.mocSelectItems; + // for(var i=0;i<items.length;i++) { + // if(items[i].id == vm.addVnfm.moc) { + // $("#moc")[0].selectedIndex = i; + // vm.$mocChange(); + // break; + // } + // } + // } else { + // $("#moc")[0].selectedIndex = 0; + // } + // }, + vimRendered: function (action) { + var items = vm.vimSelectItems; + if (vm.addVnfm.saveType === "update") { + for (var i = 0; i < items.length; i++) { + if (items[i].vimId == vm.addVnfm.vimId) { + $("#vimId")[0].selectedIndex = i; + break; + } + } + } else { + $("#vimId")[0].selectedIndex = items.length - 1; + } + }, + // $mocChange : function() { + // var mocId = $('#moc').val(); + // if(mocId == "nfv.vnfm.tacker") { + // vm.addVnfm.vimVisiable = true; + // } else { + // vm.addVnfm.vimVisiable = false; + // } + // }, + // $getVimId : function(mocId) { + // if(vm.addVnfm.vimVisiable) { + // return $("#vimId").val(); + // } else { + // return ""; + // } + // } + }); +avalon.scan(); +vm.$initTable(); +//vm.$initMoc();
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/js/vnfmUtil.js b/portal/src/main/webapp/extsys/vnfm/js/vnfmUtil.js new file mode 100644 index 0000000..21038da --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/js/vnfmUtil.js @@ -0,0 +1,78 @@ +/* + * Copyright 2016-2017 ZTE Corporation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var vnfmUtil = {}; + +vnfmUtil.delVnfm = function (vnfmId) { + bootbox.confirm($.i18n.prop("nfv-vnfm-iui-message-delete-confirm"), function (result) { + if (result) { + $.ajax({ + type: "DELETE", + url: vm.$restUrl.delVnfmInfoUrl + vnfmId, + dataType: "json", + success: function (data, statusText, jqXHR) { + if (jqXHR.status == "204") { + for (var i = 0; i < vm.vnfmInfo.length; i++) { + if (vnfmId == vm.vnfmInfo[i].vnfmId) { + //delete the vnfm object from vnfm array + vm.vnfmInfo.splice(i, 1); + break; + } + } + commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-success"), "success"); + } else { + commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning"); + } + }, + error: function () { + commonUtil.showMessage($.i18n.prop("nfv-vnfm-iui-message-delete-fail"), "warning"); + } + }); + } + }); +} + +vnfmUtil.updateVnfm = function (data) { + vm.addVnfm.vnfmId = data.vnfmId; + vm.addVnfm.name = data.name; + //vm.addVnfm.moc = data.moc; + //vm.addVnfm.mocDisabled = true; + vm.addVnfm.vendor = data.vendor; + vm.addVnfm.version = data.version; + vm.addVnfm.description = data.description; + vm.addVnfm.type = data.type; + vm.addVnfm.vimId = data.vimId; + vm.addVnfm.url = data.url; + vm.addVnfm.nameReadonly=true; + vm.addVnfm.userName = data.userName; + vm.addVnfm.password = data.password; + vm.addVnfm.saveType = "update"; + vm.addVnfm.title = $.i18n.prop("nfv-vnfm-iui-test-update"); + vm.server_rtn.info_block = false; + vm.server_rtn.warning_block = false; + //vm.$initMoc(); + vm.$initVim(); + + $(".form-group").each(function () { + $(this).removeClass('has-success'); + $(this).removeClass('has-error'); + $(this).find(".help-block[id]").remove(); + }); + $("#addVnfmDlg").modal("show"); +} + +vnfmUtil.tooltipVnfmStatus = function () { + $("[data-toggle='tooltip']").tooltip(); +}
\ No newline at end of file diff --git a/portal/src/main/webapp/extsys/vnfm/vnfmView.html b/portal/src/main/webapp/extsys/vnfm/vnfmView.html new file mode 100644 index 0000000..a26ed57 --- /dev/null +++ b/portal/src/main/webapp/extsys/vnfm/vnfmView.html @@ -0,0 +1,240 @@ +<!-- + + Copyright 2016-2017 ZTE Corporation. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!DOCTYPE html> +<html> +<head lang="en"> + <meta charset="UTF-8"> + <title></title> + <link href="../../thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet"/> + <link href="../../thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/> + <link href="../../thirdparty/uniform/css/uniform.default.min.css" rel="stylesheet"/> + <link href="../../thirdparty/css/ZteIctIcons/style.css" rel="stylesheet"/> + <link href="../../thirdparty/css/ngict-component.css" rel="stylesheet"/> + <link href="css/animate.min.css" rel="stylesheet"/> + <link href="css/vnfm.css" rel="stylesheet"/> + <style> + .ms-controller { + visibility: hidden + } + </style> + +</head> +<body> +<div ms-controller="vnfmController" class="container-fluid ms-controller"> + <div id="addVnfmDlg" class="modal fade" tabindex="-1" role="dialog" + aria-labelledby="myModalLabel" aria-hidden="true"> + <div class="modal-dialog"> + <div class="modal-content Changepasswd"> + <div class="content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal" + aria-hidden="true">× + </button> + <h4 id="myModalLabel">{{addVnfm.title}}</h4> + </div> + <div class="modal-body"> + <form class="form-horizontal" id="vnfm_form" role="form"> + <input type="hidden" ms-duplex="addVnfm.vnfmId" name="vnfmId" class="form-control"/> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-name" name_i18n="com_zte_nfv_nsoc_i18n"></span> + <span class="required" aria-required="true">*</span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.name" name="name" class="form-control" ms-readonly="addVnfm.nameReadonly"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span> + <span class="required" aria-required="true">*</span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.type" name="type" class="form-control"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-vendor" name_i18n="com_zte_nfv_nsoc_i18n"></span> + <span class="required" aria-required="true">*</span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.vendor" name="vendor" class="form-control"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-version" name_i18n="com_zte_nfv_nsoc_i18n"></span> + <span class="required" aria-required="true">*</span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.version" name="version" class="form-control"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span>URL</span> + <span class="required" aria-required="true">*</span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.url" name="url" class="form-control" + ms-attr-placeholder="addVnfm.urlTip"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">VIM + <span></span> + </label> + <div class="col-sm-7"> + <select class="form-control" id="vimId" name="vimId"> + <option ms-repeat-vim="vimSelectItems" ms-attr-value="vim.vimId" + data-repeat-rendered="vimRendered">{{vim.name}} + </option> + </select> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-certificateUrl" + name_i18n="com_zte_nfv_nsoc_i18n"></span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.certificateUrl" name="certificateUrl" + class="form-control"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-userName" name_i18n="com_zte_nfv_nsoc_i18n"></span> + </label> + <div class="col-sm-7"> + <input type="text" ms-duplex="addVnfm.userName" name="userName" + class="form-control"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text-password" name_i18n="com_zte_nfv_nsoc_i18n"></span> + </label> + <div class="col-sm-7"> + <input type="password" ms-duplex="addVnfm.password" name="password" + class="form-control"/> + <span class="help-block"></span> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-3"> + <span id="nfv-vnfm-iui-text_description" name_i18n="com_zte_nfv_nsoc_i18n"></span> + </label> + <div class="col-sm-7"> + <textarea class="form-control" rows="3" ms-duplex="addVnfm.description" + name="description"></textarea> + <span class="help-block"></span> + </div> + </div> + </form> + + </div> + <div class="modal-footer"> + <button class="btn" data-dismiss="modal" aria-hidden="true" id="nfv-vnfm-iui-text-cancelBtn" + name_i18n="com_zte_nfv_nsoc_i18n"></button> + <button class="btn btn-primary" type="submit" ms-click="$saveVnfm" + id="nfv-vnfm-iui-text-saveBtn" name_i18n="com_zte_nfv_nsoc_i18n"></button> + </div> + </div> + </div> + </div> + </div> + <div class="row-fluid" data-name="cond_zone"> + <div class="col-md-12"> + <button class="btn white radius_l" id="app-new-btn" ms-click="$showVnfmTable"> + <i class="ict-new"></i> <span id="nfv-vnfm-iui-text-registerBtn" + name_i18n="com_zte_nfv_nsoc_i18n"></span> + </button> + </div> + </div> + + <div class="col-sm-12 vnfm-padding" ms-each-el="vnfmInfo"> + <div class="col-sm-4 animated-panel zoomIn" style="-webkit-animation-delay: 0.1s;"> + <div class="hpanel stats"> + <div class="panel-body h-200" ms-hover="hpanel_show"> + <div class="pull-left"> + <span class="label label-success" ms-if="el.status === $Status.success" + id="nfv-vnfm-iui-text-status-normal" name_i18n="com_zte_nfv_nsoc_i18n"></span> + <span class="label label-danger" ms-attr-title="el.errorInfo" data-toggle="tooltip" + ms-if="el.status === $Status.failed" id="nfv-vnfm-iui-text-status-fail" + name_i18n="com_zte_nfv_nsoc_i18n"></span> + </div> + <div class="stats-icon pull-right"> + <i class="fa fa-server fa-5x color_cloud"></i> + </div> + <div class="m-t-xl"> + <h3 ms-text="el.name"></h3> + <div><span id="nfv-vnfm-iui-text-type" name_i18n="com_zte_nfv_nsoc_i18n"></span>:<span + ms-text="el.type"></span></div> + <div>URL:<span ms-text="el.url"></span></div> + </div> + </div> + <div class="panel-footer"> + <div class="pull-right"> + <a class="btn btn-default btn-sm" ms-click="vnfmUtil.updateVnfm(el.$model)"><i + class="fa fa-pencil-square-o fa-lg"></i></a> + <a class="btn btn-default btn-sm" ms-click="vnfmUtil.delVnfm(el.vnfmId)"><i + class="fa fa-trash-o fa-lg"> </i></a> + </div> + </div> + </div> + </div> + </div> + <div class="col-sm-12"> + <div class="pull-left text-muted"> + <small><span id="nfv-vnfm-iui-text-total" name_i18n="com_zte_nfv_nsoc_i18n"></span> <span class="blue-font" + ms-text="vnfmInfo.size()"></span> + <span id="nfv-vnfm-iui-text-total-vnfm" name_i18n="com_zte_nfv_nsoc_i18n"></span></small> + </div> + </div> +</div> +<script type="text/javascript" src="../../thirdparty/jquery/jquery-1.10.2.min.js"></script> +<script type="text/javascript" src="../../thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script> +<script type="text/javascript" src="../../thirdparty/bootstrap/js/bootstrap.min.js"></script> +<script type="text/javascript" src="../../thirdparty/bootbox/bootbox.min.js"></script> +<script type="text/javascript" src="../../thirdparty/jquery-validation/js/jquery.validate.min.js"></script> +<script type="text/javascript" src="../../thirdparty/jquery-validation/js/additional-methods.min.js"></script> + +<script type="text/javascript" src="../../thirdparty/bootstrap-growl/bootstrap-growl.min.js"></script> +<!--<script type="text/javascript" src="../../thirdparty/cometd/cometd.js"></script>--> +<!--<script type="text/javascript" src="../../thirdparty/cometd/jquery.cometd.js"></script>--> +<script type="text/javascript" src="../../thirdparty/avalon/avalon.js"></script> + +<script type="text/javascript" src="../../thirdparty/js/tools.js"></script> + +<script type="text/javascript" src="js/commonUtil.js"></script> +<script type="text/javascript" src="js/loadi18n_nsoc.js"></script> + +<script type="text/javascript" src="js/vnfm-validate.js"></script> +<script type="text/javascript" src="js/vnfmUtil.js"></script> +<script type="text/javascript" src="js/vnfmController.js"></script> +</body> +</html>
\ No newline at end of file |