From 86aeea2edb0dac0e049ec75ab6616e8d19e16e22 Mon Sep 17 00:00:00 2001 From: j00302280 Date: Mon, 15 Aug 2016 15:10:41 +0800 Subject: upload the gso gui seed code Change-Id: I7b91cadaf817d2c92280f9ff702a7ca679fa41eb Signed-off-by: j00302280 --- .../main/resources/webroot/nsoc/csarPackage.html | 116 ++++ .../resources/webroot/nsoc/css/datatable-sort.css | 30 + .../main/resources/webroot/nsoc/css/fileupload.css | 81 +++ .../main/resources/webroot/nsoc/css/hostMirror.css | 447 +++++++++++++ .../main/resources/webroot/nsoc/css/package.css | 415 ++++++++++++ .../webroot/nsoc/css/platform/animate.min.css | 21 + .../resources/webroot/nsoc/css/platform/skill.css | 89 +++ .../main/resources/webroot/nsoc/css/software.css | 423 ++++++++++++ .../main/resources/webroot/nsoc/css/template.css | 405 ++++++++++++ .../resources/webroot/nsoc/css/templateDetail.css | 480 ++++++++++++++ .../main/resources/webroot/nsoc/css/topology.css | 393 ++++++++++++ .../webroot/nsoc/css/virtualApplication.css | 502 +++++++++++++++ .../src/main/resources/webroot/nsoc/css/vnfm.css | 492 ++++++++++++++ .../main/resources/webroot/nsoc/hostMirror.html | 176 +++++ .../nsoc/i18n/nfv-nso-iui-i18n-en-US.properties | 316 +++++++++ .../nsoc/i18n/nfv-nso-iui-i18n-zh-CN.properties | 316 +++++++++ .../main/resources/webroot/nsoc/images/down.png | Bin 0 -> 2938 bytes .../resources/webroot/nsoc/images/pointes_blue.png | Bin 0 -> 7411 bytes .../webroot/nsoc/images/pointes_green.png | Bin 0 -> 5329 bytes .../resources/webroot/nsoc/images/sort_asc.png | Bin 0 -> 1118 bytes .../webroot/nsoc/images/sort_asc_disabled.png | Bin 0 -> 148 bytes .../resources/webroot/nsoc/images/sort_both.png | Bin 0 -> 1136 bytes .../resources/webroot/nsoc/images/sort_desc.png | Bin 0 -> 1127 bytes .../webroot/nsoc/images/sort_desc_disabled.png | Bin 0 -> 146 bytes .../src/main/resources/webroot/nsoc/images/up.png | Bin 0 -> 2926 bytes .../webroot/nsoc/js/component/commonUtil.js | 128 ++++ .../webroot/nsoc/js/component/loadi18n_nsoc.js | 23 + .../webroot/nsoc/js/component/serverPageTable.js | 407 ++++++++++++ .../webroot/nsoc/js/hostMirror/hmController.js | 254 ++++++++ .../resources/webroot/nsoc/js/hostMirror/hmUtil.js | 59 ++ .../webroot/nsoc/js/hostMirror/host-validate.js | 56 ++ .../webroot/nsoc/js/package/pmController.js | 223 +++++++ .../resources/webroot/nsoc/js/package/pmUtil.js | 137 ++++ .../webroot/nsoc/js/softwareMirror/smController.js | 147 +++++ .../webroot/nsoc/js/softwareMirror/smUtil.js | 33 + .../webroot/nsoc/js/template/tmController.js | 83 +++ .../webroot/nsoc/js/template/tmDetailController.js | 241 +++++++ .../webroot/nsoc/js/template/tmDetailUtil.js | 44 ++ .../resources/webroot/nsoc/js/template/tmUtil.js | 46 ++ .../resources/webroot/nsoc/js/template/topoUtil.js | 617 ++++++++++++++++++ .../webroot/nsoc/js/virtualApplication/validate.js | 64 ++ .../nsoc/js/virtualApplication/vmAppController.js | 710 +++++++++++++++++++++ .../js/virtualApplication/vmAppDetailController.js | 281 ++++++++ .../nsoc/js/virtualApplication/vmAppDetailUtil.js | 80 +++ .../nsoc/js/virtualApplication/vmAppUtil.js | 510 +++++++++++++++ .../webroot/nsoc/js/vnfm/vnfm-validate.js | 66 ++ .../webroot/nsoc/js/vnfm/vnfmController.js | 275 ++++++++ .../resources/webroot/nsoc/js/vnfm/vnfmUtil.js | 73 +++ .../resources/webroot/nsoc/softwareMirror.html | 163 +++++ .../src/main/resources/webroot/nsoc/template.html | 71 +++ .../resources/webroot/nsoc/templateDetail.html | 126 ++++ .../src/main/resources/webroot/nsoc/topology.html | 122 ++++ .../resources/webroot/nsoc/virtualApplication.html | 280 ++++++++ .../webroot/nsoc/virtualApplicationDetail.html | 144 +++++ .../webroot/nsoc/virtualApplicationScale.html | 152 +++++ .../src/main/resources/webroot/nsoc/vnfmView.html | 194 ++++++ 56 files changed, 10511 insertions(+) create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/csarPackage.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/datatable-sort.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/fileupload.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/hostMirror.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/package.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/platform/animate.min.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/platform/skill.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/software.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/template.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/templateDetail.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/topology.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/virtualApplication.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/css/vnfm.css create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/hostMirror.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-en-US.properties create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-zh-CN.properties create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/down.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_blue.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_green.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc_disabled.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/sort_both.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc_disabled.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/images/up.png create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/component/commonUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/component/loadi18n_nsoc.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/component/serverPageTable.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/hostMirror/hmController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/hostMirror/hmUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/hostMirror/host-validate.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/package/pmController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/package/pmUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/softwareMirror/smController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/softwareMirror/smUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/template/tmController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/template/tmDetailController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/template/tmDetailUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/template/tmUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/template/topoUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/virtualApplication/validate.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/virtualApplication/vmAppController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/virtualApplication/vmAppDetailController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/virtualApplication/vmAppDetailUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/virtualApplication/vmAppUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/vnfm/vnfm-validate.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/vnfm/vnfmController.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/js/vnfm/vnfmUtil.js create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/softwareMirror.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/template.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/templateDetail.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/topology.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/virtualApplication.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationDetail.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationScale.html create mode 100644 nsoc-iui/src/main/resources/webroot/nsoc/vnfmView.html (limited to 'nsoc-iui/src/main/resources') diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/csarPackage.html b/nsoc-iui/src/main/resources/webroot/nsoc/csarPackage.html new file mode 100644 index 00000000..dff2a80a --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/csarPackage.html @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+
+
+
+
+
+ + + + + + + + +
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/datatable-sort.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/datatable-sort.css new file mode 100644 index 00000000..18da5d3b --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/datatable-sort.css @@ -0,0 +1,30 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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. + */ +table.table thead .sorting, +table.table thead .sorting_asc, +table.table thead .sorting_desc, +table.table thead .sorting_asc_disabled, +table.table thead .sorting_desc_disabled { + cursor: pointer; + *cursor: hand; +} + +table.table thead .sorting { background: url('../images/sort_both.png') no-repeat center right; } +table.table thead .sorting_asc { background: url('../images/sort_asc.png') no-repeat center right; } +table.table thead .sorting_desc { background: url('../images/sort_desc.png') no-repeat center right; } + +table.table thead .sorting_asc_disabled { background: url('../images/sort_asc_disabled.png') no-repeat center right; } +table.table thead .sorting_desc_disabled { background: url('../images/sort_desc_disabled.png') no-repeat center right; } \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/fileupload.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/fileupload.css new file mode 100644 index 00000000..220b5172 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/fileupload.css @@ -0,0 +1,81 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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"; + +.file-caption { + display: inline-block; + overflow: hidden; + text-overflow: ellipsis; +} + +.file-caption .glyphicon { + display: inline-block; + min-width: 18px; + margin-top: 2px; +} + +.file-caption-name { + display: inline-block; + overflow: hidden; + max-height: 20px; + padding-right: 10px; + word-break: break-all; +} + +.file-caption-ellipsis { + position: absolute; + right: 10px; + margin-top: -6px; + font-size: 1.2em; + display: none; + font-weight: bold; + cursor: default; +} + +.file-drop-zone{ + border:1px dashed #aaa; + border-radius:4px; + height:100%; + text-align:center; + vertical-align:middle; + margin:12px 15px 12px 12px; + padding:5px +} +.file-drop-zone-title{ + color:#aaa; + font-size:20px; + padding:20px 10px +} +.fileupload-btn { + padding-bottom: 10px; +} + +.fileupload-input { + position: relative; + display: table; +} + +.file-preview { + border-radius:5px; + border:1px solid #ddd; + padding:5px; + width:100%; + margin-bottom:5px +} + +.upload { + width: 50%; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/hostMirror.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/hostMirror.css new file mode 100644 index 00000000..b637e66d --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/hostMirror.css @@ -0,0 +1,447 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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) +*******************************************************************************/ +.redFont{ + color:red; +} +.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 { + color: #5b9bd1; + background-color: #fff; + border-color: #ccc; +} + +.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 { + color: #aaa; +} + +.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; +} + +.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_host_table_div { + margin-top: 15px; +} + +#ict_host_table_div label { + font-weight: 100; +}s + +#ict_host_table_div table { + width: 100% !important; +} + +.upload { + width:60%; +} +.myPreview { + height: 100px; +} + +.uploadBtn { + margin-top:10px; +} + +.input-group .form-control { + height: 34px !important; +} + +.input-group .btn { + font-size: 14px !important; +} + +.form-horizontal .btn-center { + text-align: center; + margin-bottom: 15px; +} + +.blueactive { + color: #ffffff !important; + background-color: #5b9bd1; +} + +/* .process-modal { + position:fixed; + top:0; + right:0; + bottom:0; + left:0; + z-index:1000; +} +.process-content { + width: 200px; + margin: 200px auto; + padding:15px; + border: 1px solid #ddd; + background-color: #eee; + text-align:center; +} */ \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/package.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/package.css new file mode 100644 index 00000000..e6be6b36 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/package.css @@ -0,0 +1,415 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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) +*******************************************************************************/ +.redFont{ + color:red; +} +.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; +} + +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 { + color: #5b9bd1; + background-color: #fff; + border-color: #ccc; +} + +.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 { + color: #aaa; +} + +.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_package_table_div { + margin-top: 15px; +} + +#ict_package_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_package_table_div table { + width: 100% !important; +} + +.upload { + width:60%; + margin-top: 10px; +} +.myPreview { + height: 100px; +} + +span.status:hover { + color: #2A69AC; + cursor: pointer; +} + +.input-group .form-control { + height: 34px !important; +} + +.input-group .btn { + font-size: 14px !important; +} + +.package-drop-zone-title{ + color:#aaa; + font-size:20px; + padding:15px 10px +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/platform/animate.min.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/platform/animate.min.css new file mode 100644 index 00000000..b007c1b9 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/platform/animate.min.css @@ -0,0 +1,21 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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/nsoc-iui/src/main/resources/webroot/nsoc/css/platform/skill.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/platform/skill.css new file mode 100644 index 00000000..6e452b2a --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/platform/skill.css @@ -0,0 +1,89 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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: 'Open Sans', sans-serif; + background-color: #f1f3fa; + width: '100%'; + height: '100%'; + margin-top: 10px; +} +div.skills-sunburst{ + font-size: 12px; + font-weight: 400; + text-align:center; +} + +#skillmap .skills-wrapper { + margin-top: 10px; + overflow: auto; +} +#skillmap .skills-sunburst { + float: left; + width: 500px; + margin-left: -80px; +} +#skillmap .skills-sunburst svg { + font: 11px 'Source Sans Pro', sans-serif; + font-weight: 900; + + cursor: pointer; +} +#skillmap .skills-chart { + float: right; + font-family: 'Source Sans Pro', sans-serif; + font-size: 15px; + margin: 80px 20px 0 0; +} +#skillmap .skills-chart .breadcumb-text { + font-size: 13px; + font-weight: 700; +} +#skillmap .skills-chart #skills-chart-line { + fill: none; + stroke-width: 3.5px; +} +#skillmap .skills-chart .axis path, +#skillmap .skills-chart .axis line { + fill: none; +} +#skillmap .skills-chart .x-axis path, +#skillmap .skills-chart .y-axis path { + stroke: #444; + stroke-width: 1px; + shape-rendering: geometricPrecision; +} + +#explanation { + position: absolute; + top: 165px; + left: 170px; + width: 140px; + text-align: center; + color: #666; + margin-top:30px; +} + +#percentage { + font-size: 2em; +} + +#endlabel{ + font-sizte:1.5em; +} + +div.skills-sunburst text{ + text-anchor: middle; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/software.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/software.css new file mode 100644 index 00000000..491a9d93 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/software.css @@ -0,0 +1,423 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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) +*******************************************************************************/ +.redFont{ + color:red; +} +.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 { + color: #5b9bd1; + background-color: #fff; + border-color: #ccc; +} + +.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 { + color: #aaa; +} + +.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; +} + +.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_software_table_div { + margin-top: 10px; +} + +#ict_software_table_div label { + font-weight: 100; +}s + +#ict_software_table_div table { + width: 100% !important; +} + +.upload { + width:60%; +} +.myPreview { + height: 100px; +} + +.uploadBtn { + margin-top:10px; +} + +.file-input { + display: inline; + overflow: hidden; + word-break: break-all; + text-overflow: ellipsis; +} + +.input-group .btn { + font-size: 14px !important; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/template.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/template.css new file mode 100644 index 00000000..1de221a7 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/template.css @@ -0,0 +1,405 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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) +*******************************************************************************/ +.redFont{ + color:red; +} +.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; +} + +a { + text-decoration: none !important; +} + +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 { + color: #5b9bd1; + background-color: #fff; + border-color: #ccc; +} + +.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 { + color: #aaa; +} + +.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_template_table_div { + margin-top: 15px; +} + +#ict_template_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_template_table_div table { + width: 100% !important; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/templateDetail.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/templateDetail.css new file mode 100644 index 00000000..3eb721e6 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/templateDetail.css @@ -0,0 +1,480 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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) +*******************************************************************************/ +.redFont{ + color:red; +} +.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; +} + +a { + text-decoration: none !important; +} + +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:800px; +} + +.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 { + color: #5b9bd1; + background-color: #fff; + border-color: #ccc; +} + +.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 { + color: #aaa; +} + +.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="detail-conds-zone"] { + display: inline; +} + +div[data-name="detail-conds-zone"] select,div[data-name="detail-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; +} + +.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; +} + +#right-menu { + position:absolute; + top:0; + right:0; + width:420px; + height:100%; + border-left:4px solid rgb(58,174,218); + background-color:rgba(255,255,255,.95); + padding-left:19px; + padding-right:15px; + padding-top:20px; + z-index:9999; + overflow-y: auto; +} + +#right-menu .btn{ + min-width: 30px !important; + letter-spacing :normal !important; +} + +.rigth { + float: right; +} +.right-button-pointer { + display:inline-block; + cursor:pointer +} +.floating-panel { + width:400px; + display:none +} + +title{height:25px;position:relative;top:20px;font-size:15px} + +#ict_nodes_table_div { + margin-top: 15px; +} + +#ict_nodes_table_div label { + font-weight: 100; +} + +#ict_nodes_table_div table { + width: 100% !important; +} + +.nodesDetail { + margin-top: 15px; +} + +.nodesDetail label { + font-weight: 100; +} + +.nodesDetail table { + width:100%; + table-layout: fixed; + word-wrap:break-word; +} + +.step { + text-align: center; + padding-top: 60px; +} + +.step div { + text-align: left; +} + +div.separator-sline { + height:28px ; + width:3px; +} + +.titlefont { + font-size:16px; +} + +.td_nodeId { + font-size: small; +} + +.iconBtn { + margin-left:15px; + min-width:30px; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/topology.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/topology.css new file mode 100644 index 00000000..a4e1d3dd --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/topology.css @@ -0,0 +1,393 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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. + */ +.container-fluid { + background-color: #fff; + padding: 0; +} + + +div[data-name="topo_zone"] { + background-color: #fff; + margin-top: 15px; + margin-bottom: 15px; +} + +p[tooltip], div[tooltip], td { + overflow: hidden; + text-overflow: ellipsis; +} + + + +.bpContainer { + position: relative; + display: block; + height: 100%; + padding: 40px; +} + + +.box { + position: relative; + display: inline-block; + min-width: 260px; + min-height: 170px; + border-width: 2px; + border-color: #136e9d; + border-style: solid; + background-color: #fff; + vertical-align: top; + padding: 2px; + border-radius: 6px; + margin: 0 60px 40px 0; +} + + +.box .piProgress, .line .piProgress { + position: absolute; + top: -12px; + left: -27px; + z-index: 1; +} +/* .piProgress { + position: relative; + display: inline-block; +} */ +.box .piProgress .circle, .line .piProgress .circle { + background: #136e9d; + border: 2px solid #d3dfe2; + width: 43px; + height: 43px; + top: 5.5px; + left: 5.5px; + border-radius: 21px; + font-size: 14px; +} +.box .piProgress .smallCircle { + background: #136e9d; + border: 2px solid #d3dfe2; + width: 30px; + height: 30px; + left: 11px; + border-radius: 21px; + font-size: 12px; + cursor: pointer; +} +.piProgress .circle, .piProgress .smallCircle { + position: absolute; + display: box; + box-pack: center; + box-align: center; + background-color: #46b8da; + color: #fff; + font-size: 100%; + z-index: 3; +} + +.bpContainer i.gs-node-icon { + position: absolute; + top: 10px; + left: 9px; + font-size: 23px; +} + +.bpContainer i.gs-cp-icon { + position: absolute; + top: 5px; + left: 5px; + font-size: 15px; +} + +.bpContainer .box .head, .bpContainer .line .head { + display: block; + background-color: #136e9d; + color: #fff; + padding: 2px 10px 3px 25px; + border-radius: 3px; + font-size: 20px; + height: 35px; +} + +.bpContainer .box .holder { + display: block; + padding: 5px 25px; + margin-top: 1px; + background-color: #fff; +} + +.bpContainer .box .nest { + min-height:130px; + cursor:pointer; +} + +.bpContainer .box .nest .plus { + position: absolute; + bottom:0; + right:5px; +} + +.bpContainer .box .boxHover~div { + background-color:#eaf1f7; +} + +.bpContainer .boxHover{ + cursor:pointer; +} + +.bpContainer .box .box .appHover{ + cursor:pointer; +} + + +.bpContainer .box .box .appHover p { + background-color:#eaf1f7; +} + +.bpContainer .box .box { + border-color: #3aaeda; + min-width: 170px; + margin: 15px; +} + +.bpContainer .box .box .head { + background-color: #3aaeda; +} + +.bpContainer .box .box .piProgress .circle { + background-color: #3aaeda; +} + +.bpContainer .box .box .holder { + text-align: center; + background-color: #fff; + min-height: 126px; +} + +.bpContainer .box .box .boxHover~div { + background-color:#eaf1f7; +} + +.bpContainer .app { + position: relative; + display: inline-block; + width: 47px; + height: 47px; + text-align: center; + border-radius: 3px; + margin: 10px 0; +} + +.bpContainer .app .piProgress { + top: 0; + left: -6px; +} + +.bpContainer .box .box .piProgress .circle{ + background-color: #3aaeda; +} + +.bpContainer .app p { + position: relative; + top: 50px; + margin: 0; + color: #555869; + text-align: center; + font-size: 15px; +} + + + .coordinates { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; +} + +.bpContainer .box .piProgress .circle>.badge, .bpContainer .line .piProgress .circle>.badge { + position:absolute; + display:inline-block; + z-index:1; + top:-8px; + left:20px; + min-width:20px; + border-radius:10px; + padding:3px!important; + vertical-align:baseline; + white-space:nowrap; + text-align:center; + background-color:#2f3334; + text-decoration:none; + font-size:14px; + color:#fff; + line-height:15px; + font-style:normal; + font-weight:400; + opacity:1 +} + +.header { + border-top:2px solid #4b6b8b; + background-color:#e8edf2; + height:40px; + padding:5px 20px +} + +.header .title { + display:inline-block; + font-size:18px; + color:#29AAEE; + line-height:28px +} + +.containList { + overflow-y:scroll; +} + +div.separator-icon { + text-align: center; + line-height: 0 +} + +.networksContainer{ + white-space:nowrap; + margin:40px 0 0 20px; + height:100% +} + +.networksContainer .network{ + position: relative; + display:inline-block; + text-align:center; + min-width:70px; + margin:0 10px 0 0 +} + +.networksContainer .subnet{ + display:inline-block; + text-align:center; + min-width:70px; + margin:0 10px 0 0 +} + +.networksContainer .subnet .line{ + position:relative; + display:inline-block; + vertical-align:top +} + +.networksContainer .name { + display:block; + width:100%; + background-color:#797B86; + color:#fff; + padding:2px 6px; + border-radius:5px; + text-align:center; + margin:0 0 10px; + overflow:hidden; + cursor: pointer; + text-overflow:ellipsis +} + +.networksContainer .network .name>.badge { + position:absolute; + display:inline-block; + z-index:1; + top:-9px; + right:-9px; + min-width:20px; + border-radius:10px; + padding:3px!important; + vertical-align:baseline; + white-space:nowrap; + text-align:center; + background-color:#2f3334; + text-decoration:none; + font-size:14px; + color:#fff; + line-height:15px; + font-style:normal; + font-weight:400; + opacity:1 +} + +.networksContainer .subnet .line .vlan{ + position:relative; + display:inline-block; + width:21px; + height:500px; + background-color:#149bdf; + color:#fff; + border-radius:5px; + vertical-align:top; + margin:0 10px 0 0; + cursor:pointer +} + +.networksContainer .subnet .vlan .badge { + position:absolute; + display:inline-block; + z-index:1; + top:-8px; + left:10px; + min-width:20px; + border-radius:10px; + padding:3px!important; + vertical-align:baseline; + white-space:nowrap; + text-align:center; + background-color:#2f3334; + text-decoration:none; + font-size:14px; + color:#fff; + line-height:15px; + font-style:normal; + font-weight:400; + opacity:1 +} + +.networksContainer .subnet .line .vlan:last-child{ + margin:0 +} + +.networksContainer .subnet .line .vlan>p{ + position:absolute; + display:block; + transform:rotate(90deg); + -ms-transform:rotate(90deg); + -webkit-transform:rotate(90deg); + white-space:nowrap; + color:#fff; + top:5px; + right:0; + left:1px +} + +.networksContainer .subnet .line .vlan>p.cidr{ + width:200px; + top:auto; + left:-90px; + bottom:85px; + color:#fff; + text-align:right +} + +.topoZone { + display: inline-block; + float: left; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/virtualApplication.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/virtualApplication.css new file mode 100644 index 00000000..0458cc3d --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/virtualApplication.css @@ -0,0 +1,502 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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) +*******************************************************************************/ +.redFont{ + color:red; +} +.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; +} + +a { + text-decoration: none !important; +} + +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; +} + +select { + border-width: 1px; + padding: 2px 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 { + color: #5b9bd1; + background-color: #fff; + border-color: #ccc; +} + +.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 { + color: #aaa; +} + +.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_virtualApplication_table_div { + margin-top: 15px; +} + +#ict_virtualApplication_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_virtualApplication_table_div table { + width: 100% !important; +} + +.uploadBtn { + margin-top:10px; +} + +.btn-operation { + min-width: 30px; + line-height: 1; +} + +tr select { + width: 80px; +} + +.span-action { + float:left; +} + +.btn i { + padding-right: 0 !important; +} + +.vmapp-margin { + margin-bottom: 20px; +} + +.vmapp-form-title { + padding:8px; + margin-bottom:5px; + margin-left:20px; + border-left: 2px solid #5b9bd1; + color:#1A78CA; +} + +.input-group .input-control { + height : 34px !important; +} + +.input-group .input-control[disabled] { + cursor: default; + background-color: #fff; +} + +.input-group .input-group-btn .btn-default { + color: #333; + font-size: 14px; + min-width: 34px; +} + +.modal-scrollable { + overflow: auto !important; +} + +td.icheckbox { + text-align: center; +} + +td .icheckbox_square-aero { + margin-right: 0; +} + +/*卡片面板样式*/ +.hpanel { + background-color: none; + border: none; + box-shadow: none; + margin-bottom: 5px; +} + +.hpanel .panel-body { + border: 1px solid #e4e5e7; + border-radius: 2px; + position: relative; +} + +.hpanel > .panel-footer { + color: inherit; + border: 1px solid #e4e5e7; + border-top: none; + font-size: 90%; + background: #f7f9fa; + height:40px; + padding: 5px 10px; +} + +.hpanel > .panel-footer .pull-right a{ + margin-left: 5px; +} + +.hpanel > .panel-footer .pull-right .btn{ + min-width: 30px !important; +} + +.hpanel_show { + background-color: #f7f9fa; +} + +.hpanel .panel-info { + overflow:hidden; + white-space:nowrap; + text-overflow:ellipsis; +} + +.tipArea { + border-bottom: 1px solid #d4d4d4; + width: 95%; + margin-bottom: 15px; + margin-left: 15px; + padding-bottom: 5px; +} \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/css/vnfm.css b/nsoc-iui/src/main/resources/webroot/nsoc/css/vnfm.css new file mode 100644 index 00000000..c4b588b4 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/css/vnfm.css @@ -0,0 +1,492 @@ +/** + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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/nsoc-iui/src/main/resources/webroot/nsoc/hostMirror.html b/nsoc-iui/src/main/resources/webroot/nsoc/hostMirror.html new file mode 100644 index 00000000..29503035 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/hostMirror.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ +
+
+
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-en-US.properties b/nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-en-US.properties new file mode 100644 index 00000000..77d757c4 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-en-US.properties @@ -0,0 +1,316 @@ +# +# Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) +# +# 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. +# + +//table +nfv-nso-iui-table-sLengthMenu=View _MENU_ records +nfv-nso-iui-table-sZeroRecords=No matching records found +nfv-nso-iui-table-sInfo=Found total _TOTAL_ records +nfv-nso-iui-table-sInfoEmpty=No records found to show +nfv-nso-iui-table-sGroupActions=_TOTAL_ records selected: +nfv-nso-iui-table-sAjaxRequestGeneralError=Could not complete request. Please check your internet connection. +nfv-nso-iui-table-sEmptyTable=No data available in table +nfv-nso-iui-table-sPrevious=Prev +nfv-nso-iui-table-sNext=Next +nfv-nso-iui-table-sPage=Page +nfv-nso-iui-table-sPageOf=of +nfv-nso-iui-table-sProcess=Processing... + +//common +nfv-nso-iui-common-tip=Tip: + +//package table colums +nfv-package-iui-title=Package +nfv-package-iui-field-name=Name +nfv-package-iui-field-type=Type +nfv-package-iui-field-size=Size +nfv-package-iui-field-createTime=Create Time +nfv-package-iui-field-status=Status +nfv-package-iui-field-operation=Operation + +nfv-package-iui-status-tip=Taps to Activate +nfv-package-iui-status-active=Activate +nfv-package-iui-status-activating=Activating +nfv-package-iui-status-inactive=Nonactivate +nfv-package-iui-status-deleting =Deleting +nfv-package-iui-status-deletefail = Delete Fail + +nfv-package-iui-message-upload-success=Csar package imported successfully. +nfv-package-iui-message-upload-fail=Csar package imported failed. +nfv-package-iui-message-delete-confirm=Do you want to delete the current package? +nfv-package-iui-message-delete-success=Csar package deleted successfully. +nfv-package-iui-message-upload-csar-exist=The package already exists, whether to re upload? +nfv-package-iui-message-upload-csar-deletionpending=This package is referenced in an instance. whether to re upload? + +nfv-package-iui-drop-zone-title=Drag & drop files here … +nfv-package-iui-drop-zone-selectBtn=Browse +nfv-package-iui-drop-zone-removeBtn=Remove +nfv-package-iui-drop-zone-uploadBtn=Upload + +//template table colums +nfv-template-iui-title=Service Template +nfv-template-iui-field-templatename=Name +nfv-template-iui-field-producttype=Type +nfv-template-iui-field-vendor=Vendor +nfv-template-iui-field-version=Version +nfv-template-iui-field-flavor=Flavor + +//template detail table colums +nfv-templateDetail-iui-title=Node Template +nfv-templateDetail-iui-field-nodeId=ID +nfv-templateDetail-iui-field-nodetypename=Name +nfv-templateDetail-iui-field-type=Type +nfv-templateDetail-iui-field-containedin=Contained In +nfv-templateDetail-iui-field-deployedon=Deployed On +nfv-templateDetail-iui-field-connectedto=Conected To +nfv-templateDetail-iui-field-virtuallinksto=Virtual Links To + +nfv-templateDetail-nodesTab-iui-tab-general=General +nfv-templateDetail-nodesTab-iui-tab-properties=Properties +nfv-templateDetail-nodesTab-iui-tab-relationShips=RelationShips +nfv-templateDetail-nodesTab-iui-field-key=Key +nfv-templateDetail-nodesTab-iui-field-value=Value +nfv-templateDetail-nodesTab-iui-field-property=Property +nfv-templateDetail-nodesTab-iui-field-sourceNodeName=Source Node +nfv-templateDetail-nodesTab-iui-field-targetNodeName=Target Node +nfv-templateDetail-nodesTab-iui-field-type=Type +nfv-templateDetail-nodesTab-iui-btn-close=Close +nfv-templateDetail-nodesTab-iui-title-nodeDetail=Node Detail + +nfv-templateDetail-executionTab-iui-field-currentStepName=Name +nfv-templateDetail-executionTab-iui-field-currentStepStatus=Status +nfv-templateDetail-executionTab-iui-field-currentStepDesc=Description +nfv-templateDetail-executionTab-iui-field-executionTime=Execution Time + +//topo +nfv-topology-iui-vnf-tip=Click to view the nested topology +nfv-topology-iui-btn-return-tip=Return +nfv-topology-iui-message-error=Query Topology Information failed. + +//virtual application table colums +nfv-virtualApplication-iui-title=Lifecycle +nfv-virtualApplication-iui-field-name=Name +nfv-virtualApplication-iui-field-template=Template +nfv-virtualApplication-iui-field-createDate=Create Time +nfv-virtualApplication-iui-field-status=Status +nfv-virtualApplication-iui-field-updateDate=Update Time +nfv-virtualApplication-iui-field-action=Action +nfv-virtualApplication-iui-field-operation=Operation + +nfv-virtualApplication-iui-scale-field-type=Type +nfv-virtualApplication-iui-scale-field-num=Number +nfv-virtualApplication-iui-scale-field-name=Name +nfv-virtualApplication-iui-scale-field-operation=Operation + +nfv-virtualApplication-iui-operation-init=init +nfv-virtualApplication-iui-operation-conf=configure +nfv-virtualApplication-iui-operation-start=start +nfv-virtualApplication-iui-operation-stop=stop +nfv-virtualApplication-iui-operation-scaleIn=scale-in +nfv-virtualApplication-iui-operation-scaleOut=scale-out +nfv-virtualApplication-iui-operation-delete=delete + +nfv-virtualApplication-iui-status-normal=Deployed +nfv-virtualApplication-iui-status-finish=Finish +nfv-virtualApplication-iui-status-failed=Failed + +nfv-virtualApplication-iui-status-processing=Deploying +nfv-virtualApplication-iui-status-init=Deploying +nfv-virtualApplication-iui-status-conf=Configuring +nfv-virtualApplication-iui-status-start=Starting +nfv-virtualApplication-iui-status-stop=Stoping +nfv-virtualApplication-iui-status-scaleIn=Scaling in +nfv-virtualApplication-iui-status-scaleOut=Scaling out +nfv-virtualApplication-iui-status-execute=Executing +nfv-virtualApplication-iui-status-delete=Deleting + +nfv-virtualApplication-iui-text-title=Create Application +nfv-virtualApplication-iui-text-createVm=Create +nfv-virtualApplication-iui-text-name=Name +nfv-virtualApplication-iui-text-description=Description +nfv-virtualApplication-iui-text-template=Template +nfv-virtualApplication-iui-text-templateDes=Template Description +nfv-virtualApplication-iui-text-vnfm=VNFM +nfv-virtualApplication-iui-text-tab-basic=Basic Info +nfv-virtualApplication-iui-text-tab-flavor=Flavor Parameters +nfv-virtualApplication-iui-text-tab-operationParam=Operation Parameters + +nfv-virtualApplication-iui-text-flavor=Flavor +nfv-virtualApplication-iui-text-flavorDesc=Flavor Description +nfv-virtualApplication-iui-text-flavor-numberOfInstances=NumberOfInstances +nfv-virtualApplication-iui-text-flavor-refNodeFlavor=RefNodeFlavor +nfv-virtualApplication-iui-text-flavor-affinity=Affinity +nfv-virtualApplication-iui-text-flavor-redundancyModel=RedundancyModel +nfv-virtualApplication-iui-text-flavor-capability=Capability +nfv-virtualApplication-iui-text-input-planTitle=Plan + +nfv-virtualApplication-iui-text-scale-name=VNF Name +nfv-virtualApplication-iui-text-scale-oeprationType=Operation Type +nfv-virtualApplication-iui-text-scale-oeprationType-type=Type +nfv-virtualApplication-iui-text-scale-oeprationType-instance=Instance +nfv-virtualApplication-iui-text-scale-vduBtn-title=Add VDU +nfv-virtualApplication-iui-text-scale-vnf-title=VNF List +nfv-virtualApplication-iui-text-scale-vnf-name=VNF +nfv-virtualApplication-iui-text-scale-vnf-vduType=VDU Type +nfv-virtualApplication-iui-text-scale-vnf-num=Number +nfv-virtualApplication-iui-text-scale-vnf-vduInstance=VDU Instance +nfv-virtualApplication-iui-text-scale-vnf-numTip=Number +nfv-virtualApplication-iui-text-scale-vnf-nameTip=Name +nfv-virtualApplication-iui-text-scale-type-title=VDU Type +nfv-virtualApplication-iui-text-scale-instance-title=VDU Instance +nfv-virtualApplication-iui-text-scale-instance-cancelBtn=Cancel +nfv-virtualApplication-iui-text-scale-instance-confirmBtn=Confirm +nfv-virtualApplication-iui-text-scale-validate-message=The VNF is already selected +nfv-virtualApplication-iui-text-scale-out-modal-title=ScaleOut Parameters +nfv-virtualApplication-iui-text-scale-in-modal-title=ScaleIn Parameters + +nfv-virtualApplication-iui-text-createBtn=Create +nfv-virtualApplication-iui-text-cancelBtn=Cancel +nfv-virtualApplication-iui-text-confirmBtn=Confirm +nfv-virtualApplication-iui-text-previousBtn=Previous +nfv-virtualApplication-iui-text-nextBtn=Next +nfv-virtualApplication-iui-text-params=Parameters + +nfv-virtualApplication-iui-message-delete-confirm=Do you want to delete the current application? +nfv-virtualApplication-iui-message-delete-success=Application deleted successfully. +nfv-virtualApplication-iui-message-delete-fail = Application deleted failed. +nfv-virtualApplication-iui-message-create-success=Application created successfully. +nfv-virtualApplication-iui-message-create-fail=Application created failed. + +nfv-virtualApplication-iui-validate-instanceName=Please enter a name +nfv-virtualApplication-iui-validate-serviceTemplateName=Please select a service tempalte +nfv-virtualApplication-iui-validate-flavor=Please select a flavor +nfv-virtualApplication-iui-validate-vimId=Please select a VIM +nfv-virtualApplication-iui-validate-vnfmId=Please select a VNFM +nfv-virtualApplication-iui-validate-inputParam=This field is required +nfv-virtualApplication-iui-validate-noinputParam=Don't need to input parameters +nfv-virtualApplication-iui-validate-digits=Please enter only digits +nfv-virtualApplication-iui-validate-range=Please enter a value between {0} and {1} + +//virtual application detail table colums +nfv-virtualApplicationDetail-iui-field-nodeId=ID +nfv-virtualApplicationDetail-iui-field-nodeName=Name +nfv-virtualApplicationDetail-iui-field-nodeType=Node Type +nfv-virtualApplicationDetail-iui-field-templateType=Template Type +nfv-virtualApplicationDetail-iui-field-host=IP +nfv-virtualApplicationDetail-iui-field-createTime=Create Time + +nfv-virtualApplicationDetail-iui-field-currentStepName=Name +nfv-virtualApplicationDetail-iui-field-currentStepStatus=Status +nfv-virtualApplicationDetail-iui-field-percent=Progress +nfv-virtualApplicationDetail-iui-field-currentStepDesc=Description +nfv-virtualApplicationDetail-iui-field-executionTime=Execution Time + +nfv-virtualApplicationDetail-iui-text-events=Events +nfv-virtualApplicationDetail-iui-text-nodeDetail=Node Detail +nfv-virtualApplicationDetail-iui-btn-close=Close + +//host image table colums +nfv-host-iui-title=Image +nfv-host-iui-field-name=Name +nfv-host-iui-field-size=Size +nfv-host-iui-field-vimUser=Tenant +nfv-host-iui-field-createTime=Create Time +nfv-host-iui-field-status=Status +nfv-host-iui-field-progress=Progress +nfv-host-iui-field-operation=Operation + +nfv-host-iui-operation-delete=Delete + +nfv-host-iui-text-title=Upload Image +nfv-host-iui-text-uploadImage=Upload +nfv-host-iui-text-local=Local +nfv-host-iui-text-url=Url +nfv-host-iui-text-image=Image File +nfv-host-iui-text-imageurl=Image Url +nfv-host-iui-text-name=Image Name +nfv-host-iui-text-tenant=Tenant +nfv-host-iui-btn-upload=Upload +nfv-host-iui-btn-cancel=Cancel + +nfv-host-iui-validate-file=Please select a host file +nfv-host-iui-validate-hosturl-required=Please enter a url +nfv-host-iui-validate-hosturl-url=Please enter the right url +nfv-host-iui-validate-hostName=Please enter a host name +nfv-host-iui-validate-vim=Please select a vim + +nfv-host-iui-message-upload-success=Image upload successfully. +nfv-host-iui-message-upload-failed=Image upload fails. +nfv-host-iui-message-delete-confirm=Do you want to delete the current image? +nfv-host-iui-message-delete-success=Image deleted successfully. +nfv-host-iui-message-delete-failed=Image deleted fails. + +nfv-host-iui-progress-uploading=uploading +nfv-host-iui-progress-success=upload success +nfv-host-iui-progress-fail=upload failed + +//software image table colums +nfv-software-iui-title=Software Image +nfv-software-iui-field-name=Name +nfv-software-iui-field-size=Size +nfv-software-iui-field-type=Type +nfv-software-iui-field-version=Version +nfv-software-iui-field-location=Location +nfv-software-iui-field-createTime=Create Time +nfv-software-iui-field-operation=Operation + +nfv-software-iui-action-delete=Delete + +nfv-software-iui-text-title=Upload Image +nfv-software-iui-text-uploadImage=Upload +nfv-software-iui-text-image=Image File +nfv-software-iui-text-image-select=Browse +nfv-software-iui-text-image-remove=Remove +nfv-software-iui-text-type=Type +nfv-software-iui-text-version=Version +nfv-software-iui-btn-upload=Upload +nfv-software-iui-btn-cancel=Cancel + +nfv-software-iui-message-delete-confirm=Do you want to delete the current image? +nfv-software-iui-message-delete-success=Image deleted successfully. + +//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-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-moc=Type +nfv-vnfm-iui-text-vendor=Vendor +nfv-vnfm-iui-text-userName=Username +nfv-vnfm-iui-text-password=Password +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-moc=Please enter the vnfm type +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/nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-zh-CN.properties b/nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-zh-CN.properties new file mode 100644 index 00000000..961f7e60 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/i18n/nfv-nso-iui-i18n-zh-CN.properties @@ -0,0 +1,316 @@ +# +# Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) +# +# 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. +# + +//表格相关 +nfv-nso-iui-table-sLengthMenu=每页 _MENU_ 条结果 +nfv-nso-iui-table-sZeroRecords=没有匹配结果 +nfv-nso-iui-table-sInfo=总共找到 _TOTAL_ 条结果 +nfv-nso-iui-table-sInfoEmpty=共 0 项 +nfv-nso-iui-table-sGroupActions=_TOTAL_ 条结果被选择: +nfv-nso-iui-table-sAjaxRequestGeneralError=不能完成请求,请检查您的网络连接情况。 +nfv-nso-iui-table-sEmptyTable=表中数据为空 +nfv-nso-iui-table-sPrevious=前页 +nfv-nso-iui-table-sNext=下页 +nfv-nso-iui-table-sPage=第 +nfv-nso-iui-table-sPageOf=页,总页数: +nfv-nso-iui-table-sProcess=处理中... + +//common +nfv-nso-iui-common-tip=提示: + +//包管理表格字段名称定义 +nfv-package-iui-title=包管理 +nfv-package-iui-field-name=名称 +nfv-package-iui-field-type=类型 +nfv-package-iui-field-size=大小 +nfv-package-iui-field-createTime=创建时间 +nfv-package-iui-field-status=状态 +nfv-package-iui-field-operation=操作 + +nfv-package-iui-status-tip=点击激活 +nfv-package-iui-status-active=激活 +nfv-package-iui-status-activating=激活中 +nfv-package-iui-status-inactive=未激活 +nfv-package-iui-status-deleting = 删除中 +nfv-package-iui-status-deletefail = 删除失败 + +nfv-package-iui-message-upload-success=包导入成功。 +nfv-package-iui-message-upload-fail=包导入失败。 +nfv-package-iui-message-delete-confirm=确定要删除当前包? +nfv-package-iui-message-delete-success=包删除成功。 +nfv-package-iui-message-upload-csar-exist=包已经存在,是否重新上传? +nfv-package-iui-message-upload-csar-deletionpending=实例中引用了此包,是否重新上传? + +nfv-package-iui-drop-zone-title=拖拽文件到这里 … +nfv-package-iui-drop-zone-selectBtn=选择 +nfv-package-iui-drop-zone-removeBtn=移除 +nfv-package-iui-drop-zone-uploadBtn=上传 + +//模板管理表格字段名称定义 +nfv-template-iui-title=模板管理 +nfv-template-iui-field-templatename=名称 +nfv-template-iui-field-producttype=类型 +nfv-template-iui-field-vendor=厂商 +nfv-template-iui-field-version=版本 +nfv-template-iui-field-flavor=规格 + +//模板明细表格字段名称定义 +nfv-templateDetail-iui-title=节点模板 +nfv-templateDetail-iui-field-nodeId=ID +nfv-templateDetail-iui-field-nodetypename=名称 +nfv-templateDetail-iui-field-type=类型 +nfv-templateDetail-iui-field-containedin=归属 +nfv-templateDetail-iui-field-deployedon=部署 +nfv-templateDetail-iui-field-connectedto=业务连接 +nfv-templateDetail-iui-field-virtuallinksto=网络连接 + +nfv-templateDetail-nodesTab-iui-tab-general=概况 +nfv-templateDetail-nodesTab-iui-tab-properties=属性 +nfv-templateDetail-nodesTab-iui-tab-relationShips=关系 +nfv-templateDetail-nodesTab-iui-field-key=关键字 +nfv-templateDetail-nodesTab-iui-field-value=值 +nfv-templateDetail-nodesTab-iui-field-property=属性 +nfv-templateDetail-nodesTab-iui-field-sourceNodeName=源节点 +nfv-templateDetail-nodesTab-iui-field-targetNodeName=目标节点 +nfv-templateDetail-nodesTab-iui-field-type=类型 +nfv-templateDetail-nodesTab-iui-btn-close=关闭 +nfv-templateDetail-nodesTab-iui-title-nodeDetail=节点详情 + +nfv-templateDetail-executionTab-iui-field-currentStepName=名称 +nfv-templateDetail-executionTab-iui-field-currentStepStatus=状态 +nfv-templateDetail-executionTab-iui-field-currentStepDesc=描述 +nfv-templateDetail-executionTab-iui-field-executionTime=执行时间 + +//topo +nfv-topology-iui-vnf-tip=点击查看嵌套拓扑图 +nfv-topology-iui-btn-return-tip=返回 +nfv-topology-iui-message-error=查询拓扑图模板信息失败 + +//虚拟应用表格字段名称定义 +nfv-virtualApplication-iui-title=生命周期管理 +nfv-virtualApplication-iui-field-name=名称 +nfv-virtualApplication-iui-field-template=模板 +nfv-virtualApplication-iui-field-createDate=创建时间 +nfv-virtualApplication-iui-field-status=状态 +nfv-virtualApplication-iui-field-updateDate=更新时间 +nfv-virtualApplication-iui-field-action=动作 +nfv-virtualApplication-iui-field-operation=操作 + +nfv-virtualApplication-iui-scale-field-type=类型 +nfv-virtualApplication-iui-scale-field-num=数量 +nfv-virtualApplication-iui-scale-field-name=名称 +nfv-virtualApplication-iui-scale-field-operation=操作 + +nfv-virtualApplication-iui-operation-init=部署 +nfv-virtualApplication-iui-operation-conf=配置 +nfv-virtualApplication-iui-operation-start=启动 +nfv-virtualApplication-iui-operation-stop=停止 +nfv-virtualApplication-iui-operation-scaleIn=缩容 +nfv-virtualApplication-iui-operation-scaleOut=扩容 +nfv-virtualApplication-iui-operation-delete=删除 + +nfv-virtualApplication-iui-status-normal=已部署 +nfv-virtualApplication-iui-status-finish=执行完成 +nfv-virtualApplication-iui-status-failed=执行失败 + +nfv-virtualApplication-iui-status-processing=部署中 +nfv-virtualApplication-iui-status-execute=执行中 +nfv-virtualApplication-iui-status-init=部署中 +nfv-virtualApplication-iui-status-conf=配置执行中 +nfv-virtualApplication-iui-status-start=启动执行中 +nfv-virtualApplication-iui-status-stop=停止执行中 +nfv-virtualApplication-iui-status-scaleIn=缩容执行中 +nfv-virtualApplication-iui-status-scaleOut=扩容执行中 +nfv-virtualApplication-iui-status-delete=删除执行中 + +nfv-virtualApplication-iui-text-title=创建应用 +nfv-virtualApplication-iui-text-createVm=创建应用 +nfv-virtualApplication-iui-text-name=名称 +nfv-virtualApplication-iui-text-description=描述 +nfv-virtualApplication-iui-text-template=模板 +nfv-virtualApplication-iui-text-templateDes=模板描述 +nfv-virtualApplication-iui-text-vnfm=VNFM +nfv-virtualApplication-iui-text-tab-basic=基本信息 +nfv-virtualApplication-iui-text-tab-flavor=规格参数 +nfv-virtualApplication-iui-text-tab-operationParam=输入参数 + +nfv-virtualApplication-iui-text-flavor=规格 +nfv-virtualApplication-iui-text-flavorDesc=规格描述 +nfv-virtualApplication-iui-text-flavor-numberOfInstances=实例数 +nfv-virtualApplication-iui-text-flavor-refNodeFlavor=引用规格 +nfv-virtualApplication-iui-text-flavor-affinity=亲和力 +nfv-virtualApplication-iui-text-flavor-redundancyModel=容灾模式 +nfv-virtualApplication-iui-text-flavor-capability=能力 +nfv-virtualApplication-iui-text-input-planTitle=Plan + +nfv-virtualApplication-iui-text-scale-name=VNF名称 +nfv-virtualApplication-iui-text-scale-oeprationType=操作类型 +nfv-virtualApplication-iui-text-scale-oeprationType-type=类型 +nfv-virtualApplication-iui-text-scale-oeprationType-instance=实例 +nfv-virtualApplication-iui-text-scale-vduBtn-title=添加VDU +nfv-virtualApplication-iui-text-scale-vnf-title=已选择的VNF +nfv-virtualApplication-iui-text-scale-vnf-name=VNF +nfv-virtualApplication-iui-text-scale-vnf-vduType=VDU类型 +nfv-virtualApplication-iui-text-scale-vnf-num=数量 +nfv-virtualApplication-iui-text-scale-vnf-vduInstance=VDU实例 +nfv-virtualApplication-iui-text-scale-vnf-numTip=实例数 +nfv-virtualApplication-iui-text-scale-vnf-nameTip=名称 +nfv-virtualApplication-iui-text-scale-type-title=VDU类型 +nfv-virtualApplication-iui-text-scale-instance-title=VDU实例 +nfv-virtualApplication-iui-text-scale-instance-cancelBtn=取消 +nfv-virtualApplication-iui-text-scale-instance-confirmBtn=确定 +nfv-virtualApplication-iui-text-scale-validate-message=该VNF已选择 +nfv-virtualApplication-iui-text-scale-out-modal-title=扩容参数 +nfv-virtualApplication-iui-text-scale-in-modal-title=缩容参数 + +nfv-virtualApplication-iui-text-createBtn=创建 +nfv-virtualApplication-iui-text-cancelBtn=取消 +nfv-virtualApplication-iui-text-previousBtn=上一步 +nfv-virtualApplication-iui-text-nextBtn=下一步 +nfv-virtualApplication-iui-text-confirmBtn=确定 +nfv-virtualApplication-iui-text-params=参数 + +nfv-virtualApplication-iui-message-delete-confirm=确定要删除当前应用? +nfv-virtualApplication-iui-message-delete-success=应用删除成功。 +nfv-virtualApplication-iui-message-delete-fail=应用删除失败。 +nfv-virtualApplication-iui-message-create-success=应用创建成功。 +nfv-virtualApplication-iui-message-create-fail=应用创建失败。 + +nfv-virtualApplication-iui-validate-instanceName=请输入名称 +nfv-virtualApplication-iui-validate-serviceTemplateName=请选择服务模板 +nfv-virtualApplication-iui-validate-flavor=请选择规格 +nfv-virtualApplication-iui-validate-vimId=请选择VIM +nfv-virtualApplication-iui-validate-vnfmId=请选择VNFM +nfv-virtualApplication-iui-validate-inputParam=请输入参数 +nfv-virtualApplication-iui-validate-noinputParam=无需输入参数 +nfv-virtualApplication-iui-validate-digits=只能输入整数 +nfv-virtualApplication-iui-validate-range=请输入在 {0} 和 {1} 之间的值 + +//节点明细表格字段名称定义 +nfv-virtualApplicationDetail-iui-field-nodeId=ID +nfv-virtualApplicationDetail-iui-field-nodeName=名称 +nfv-virtualApplicationDetail-iui-field-nodeType=节点类型 +nfv-virtualApplicationDetail-iui-field-templateType=模板类型 +nfv-virtualApplicationDetail-iui-field-host=IP +nfv-virtualApplicationDetail-iui-field-createTime=创建时间 + +nfv-virtualApplicationDetail-iui-field-currentStepName=名称 +nfv-virtualApplicationDetail-iui-field-currentStepStatus=状态 +nfv-virtualApplicationDetail-iui-field-percent=当前进度 +nfv-virtualApplicationDetail-iui-field-currentStepDesc=描述 +nfv-virtualApplicationDetail-iui-field-executionTime=执行时间 + +nfv-virtualApplicationDetail-iui-text-events=事件 +nfv-virtualApplicationDetail-iui-text-nodeDetail=节点详情 +nfv-virtualApplicationDetail-iui-btn-close=关闭 + +//主机镜像表格字段名称定义 +nfv-host-iui-title=主机镜像 +nfv-host-iui-field-name=名称 +nfv-host-iui-field-size=大小 +nfv-host-iui-field-vimUser=租户 +nfv-host-iui-field-createTime=创建时间 +nfv-host-iui-field-status=状态 +nfv-host-iui-field-progress=进度 +nfv-host-iui-field-operation=操作 + +nfv-host-iui-operation-delete=删除 + +nfv-host-iui-text-title=上传镜像 +nfv-host-iui-text-uploadImage=上传镜像 +nfv-host-iui-text-local=本地上传 +nfv-host-iui-text-url=URL上传 +nfv-host-iui-text-image=镜像文件 +nfv-host-iui-text-imageurl=镜像URL +nfv-host-iui-text-name=镜像名称 +nfv-host-iui-text-tenant=租户 +nfv-host-iui-btn-upload=上传 +nfv-host-iui-btn-cancel=取消 + +nfv-host-iui-validate-file=请选择镜像文件 +nfv-host-iui-validate-hosturl-required=请输入URL地址 +nfv-host-iui-validate-hosturl-url=请输入正确的URL地址 +nfv-host-iui-validate-hostName=请输入镜像名称 +nfv-host-iui-validate-vim=请选择VIM + +nfv-host-iui-message-upload-success=镜像上传成功。 +nfv-host-iui-message-upload-failed=镜像上传失败。 +nfv-host-iui-message-delete-confirm=确定要删除当前镜像? +nfv-host-iui-message-delete-success=镜像删除成功。 +nfv-host-iui-message-delete-failed=镜像删除失败。 + +nfv-host-iui-progress-uploading=上传中 +nfv-host-iui-progress-success=上传成功 +nfv-host-iui-progress-fail=上传失败 + +//软件镜像表格字段名称定义 +nfv-software-iui-title=软件镜像 +nfv-software-iui-field-name=名称 +nfv-software-iui-field-size=大小 +nfv-software-iui-field-type=类型 +nfv-software-iui-field-version=版本 +nfv-software-iui-field-location=位置 +nfv-software-iui-field-createTime=创建时间 +nfv-software-iui-field-operation=操作 + +nfv-software-iui-action-delete=删除 + +nfv-software-iui-text-title=上传镜像 +nfv-software-iui-text-uploadImage=上传镜像 +nfv-software-iui-text-image=镜像文件 +nfv-software-iui-text-image-select=选择 +nfv-software-iui-text-image-remove=移除 +nfv-software-iui-text-type=类型 +nfv-software-iui-text-version=版本 +nfv-software-iui-btn-upload=上传 +nfv-software-iui-btn-cancel=取消 + +nfv-software-iui-message-delete-confirm=确定要删除当前镜像? +nfv-software-iui-message-delete-success=镜像删除成功。 + +//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-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-moc=类型 +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-moc=请输入vnfm类型 +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/nsoc-iui/src/main/resources/webroot/nsoc/images/down.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/down.png new file mode 100644 index 00000000..f7732ba8 Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/down.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_blue.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_blue.png new file mode 100644 index 00000000..cdba2dfc Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_blue.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_green.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_green.png new file mode 100644 index 00000000..18ba67ed Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/pointes_green.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc.png new file mode 100644 index 00000000..a88d7975 Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc_disabled.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc_disabled.png new file mode 100644 index 00000000..fb11dfe2 Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_asc_disabled.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_both.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_both.png new file mode 100644 index 00000000..18670406 Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_both.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc.png new file mode 100644 index 00000000..def071ed Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc_disabled.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc_disabled.png new file mode 100644 index 00000000..c9fdd8a1 Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/sort_desc_disabled.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/images/up.png b/nsoc-iui/src/main/resources/webroot/nsoc/images/up.png new file mode 100644 index 00000000..8bd53741 Binary files /dev/null and b/nsoc-iui/src/main/resources/webroot/nsoc/images/up.png differ diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/js/component/commonUtil.js b/nsoc-iui/src/main/resources/webroot/nsoc/js/component/commonUtil.js new file mode 100644 index 00000000..abc4cd63 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/js/component/commonUtil.js @@ -0,0 +1,128 @@ +/* + * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * 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 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 ' + oLang.sPage + ' ' + + '' + + '' + + ' ' + + oLang.sPageOf + ' ' + + '' + ); + + var els = $('a', nPaging); + + $(els[0]).bind('click.DT', { action: "previous" }, fnClickHandler ); + $(els[1]).bind('click.DT', { action: "next" }, fnClickHandler); + + $('.pagination-panel-input', nPaging).bind('change.DT', function(e) { + var oPaging = oSettings.oInstance.fnPagingInfo(); + e.preventDefault(); + var page = parseInt($(this).val()); + if (page > 0 && page < oPaging.iTotalPages) { + if ( oSettings.oApi._fnPageChange(oSettings, page-1) ) { + fnDraw( oSettings ); + } + } else { + $(this).val(oPaging.iPage + 1); + } + }); + + $('.pagination-panel-input', nPaging).bind('keypress.DT', function(e) { + var oPaging = oSettings.oInstance.fnPagingInfo(); + if (e.which == 13) { + var page = parseInt($(this).val()); + if (page > 0 && page < oSettings.oInstance.fnPagingInfo().iTotalPages) { + if ( oSettings.oApi._fnPageChange(oSettings, page-1) ) { + fnDraw( oSettings ); + } + } else { + $(this).val(oPaging.iPage + 1); + } + e.preventDefault(); + } + }); + }, + + "fnUpdate": function ( oSettings, fnDraw ) { + var iListLength = 5; + var oPaging = oSettings.oInstance.fnPagingInfo(); + var an = oSettings.aanFeatures.p; + var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2); + + if ( oPaging.iTotalPages < iListLength) { + iStart = 1; + iEnd = oPaging.iTotalPages; + } + else if ( oPaging.iPage <= iHalf ) { + iStart = 1; + iEnd = iListLength; + } else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) { + iStart = oPaging.iTotalPages - iListLength + 1; + iEnd = oPaging.iTotalPages; + } else { + iStart = oPaging.iPage - iHalf + 1; + iEnd = iStart + iListLength - 1; + } + + + for ( i=0, iLen=an.length ; i'+j+'') + .insertBefore( $('li.next:first', an[i])[0] ) + .bind('click', function (e) { + e.preventDefault(); + oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength; + fnDraw( oSettings ); + } ); + } + + // Add / remove disabled classes from the static elements + if ( oPaging.iPage === 0 ) { + $('a.prev', an[i]).addClass('disabled'); + } else { + $('a.prev', an[i]).removeClass('disabled'); + } + + if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) { + $('a.next', an[i]).addClass('disabled'); + } else { + $('a.next', an[i]).removeClass('disabled'); + } + } + } + } +} ); + +serverPageTable.getRestPara = function( cond , tableSetting ){ + var pageNo=tableSetting._iDisplayStart/tableSetting._iDisplayLength+1; + var pageSize = tableSetting._iDisplayLength; + var queryParameter={"pageNo":pageNo,"pageSize":tableSetting._iDisplayLength,groupId:["it.group.database=02","it.group.server=01"]}, + newData={"data":JSON.stringify(queryParameter)}; + //put the pageinfo in cond if there is a pageinfo + var pageInfo = vm.logInfo[vm.logType].pageInfo; + if(pageInfo != null && serverPageTable.perpagenumber == pageSize){ + cond.idEnd = pageInfo.pageStart[pageNo - 1]; + cond.idStart = pageInfo.pageStart[pageNo]; + if(!cond.idStart){ //the last page + cond.idStart = 0; + } + + }else{ + delete cond.idStart; + delete cond.idEnd; + vm.logInfo[vm.logType].pageInfo = null; + pageNo = 1; + tableSetting._iDisplayStart = 0; + } + var data = { + cond:JSON.stringify(cond), + perpagenumber:pageSize, + pageNo:pageNo, + needPageInfo:vm.logInfo[vm.logType].pageInfo == null + }; + serverPageTable.perpagenumber = pageSize; + return data; +}; + + + +serverPageTable.initDataTable = function( setting ,cond , divId) { + //transform colomn + var column = setting.columns; + //empty table + $('#'+ divId).children().remove(); + var tableId = setting.tableId; + var tableEleStr = '' + + '' + +'' + + '' + + '' + +'' + +'' + +'
'; + $('#'+ divId).append(tableEleStr); + //$('#'+ tableId).append(' '); + var trEle = $('#'+ tableId + ' > thead >tr'); + //var dataTableColumn = []; + for ( var one in column){ + var th = '' + column[one].name + ''; + trEle.append(th); + } + var table = $("#" + tableId).dataTable({ + //"sDom" : "tr<'row'<'col-md-6 col-sm-12'><'col-md-6 col-sm-12'pli>>", // datatable layout + //"sDom" : "<'row'<'col-md-12 col-sm-12'lip>r><'table-scrollable't>>", + "sDom": '<"top"rt><"bottom"lip>', + "oLanguage": setting.language,//language + //"bJQueryUI": true, + "bPaginate": setting.paginate,// page button + "bFilter": false,// search bar + "bAutoWidth":true,//automatically set colum width + "bLengthChange": true,// record number in each row + "iDisplayLength": 10,// row number in each page + "bSort": setting.sort ? true : false,// sort + "bInfo": setting.info,// Showing 1 to 10 of 23 entries + "bWidth": true, + "bScrollCollapse": true, + "sPaginationType": "bootstrap_extended", // page, a total of two kinds of style, another one is two_button + "bProcessing": true, + "bServerSide": false, + "bDestroy": true, + "bSortCellsTop": true, + "sAjaxSource": setting.restUrl, + "aoColumns": setting.columns, + "aoColumnDefs": [ + { + sDefaultContent: '', + aTargets: [ '_all' ] + } + ], + "fnServerData": function (sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = $.ajax({ + "type": 'get', + "url": sSource, + "dataType": "json", + //"data":serverPageTable.getRestPara(cond,oSettings), + "success": function (resp) { + oSettings.iDraw = oSettings.iDraw + 1; + + resp = resp || []; + var data = {}; + data.aaData = resp; + var totalCounts = resp.length; + + data.iTotalRecords = totalCounts; + data.iTotalDisplayRecords = totalCounts; + data.sEcho = oSettings; + fnCallback(data); + }, + "error": function(resp) { + var data = {}; + data.aaData = []; + var totalCounts = 0; + + data.iTotalRecords = totalCounts; + data.iTotalDisplayRecords = totalCounts; + data.sEcho = oSettings; + fnCallback(data); + } + }); + } + }); +}; + +serverPageTable.initTableWithData = function( setting , divId , tableData) { + //transform colomn + var column = setting.columns; + //empty table + $('#'+ divId).children().remove(); + var tableId = setting.tableId; + var tableEleStr = '' + + '' + +'' + + '' + + '' + +'' + +'' + +'
'; + $('#'+ divId).append(tableEleStr); + var trEle = $('#'+ tableId + ' > thead >tr'); + for ( var one in column){ + var th = '' + column[one].name + ''; + trEle.append(th); + } + var table = $("#" + tableId).dataTable({ + "sDom" : "<'row'<'col-md-12 col-sm-12'lip>r>>", + "oLanguage": setting.language,//language + //"bJQueryUI": true, + "bPaginate": setting.paginate,// page button + "bFilter": false,// search bar + "bAutoWidth":true,//automatically set the column width + "bLengthChange": true,// record number in each row + "iDisplayLength": 10,// row number in each page + "bSort": setting.sort ? true : false,// sort + "bInfo": setting.info,// Showing 1 to 10 of 23 entries + "bWidth": true, + "bScrollCollapse": true, + "sPaginationType": "bootstrap_extended", // page, a total of two kinds of style, another one is two_button + "bProcessing": false, + "bServerSide": false, + "bDestroy": true, + "bSortCellsTop": true, + "sAjaxSource": tableData, + "aoColumns": setting.columns, + "fnServerData": function (sSource, aoData, fnCallback, oSettings) { + oSettings.iDraw = oSettings.iDraw + 1; + var resp = tableData || []; + var data = {}; + data.aaData = resp; + var totalCounts = resp.length; + + data.iTotalRecords = totalCounts; + data.iTotalDisplayRecords = totalCounts; + data.sEcho = oSettings; + fnCallback(data); + } + }); +}; + + +serverPageTable.initDataTableForEvent = function( setting ,cond , divId) { + //transform colomn + var column = setting.columns; + //empty table + $('#'+ divId).children().remove(); + var tableId = setting.tableId; + var tableEleStr = '' + + '' + +'' + + '' + + '' + +'' + +'' + +'
'; + $('#'+ divId).append(tableEleStr); + var trEle = $('#'+ tableId + ' > thead >tr'); + for ( var one in column){ + var th = '' + column[one].name + ''; + trEle.append(th); + } + var table = $("#" + tableId).dataTable({ + "sDom": '<"top"rt><"bottom"lip>', + "oLanguage": setting.language,//language + //"bJQueryUI": true, + "bPaginate": setting.paginate,// page button + "bFilter": false,// search bar + "bAutoWidth":true,//automatically set the column width + "bLengthChange": true,// record number in each row + "iDisplayLength": 10,// row number in each page + "bSort": setting.sort ? true : false,// 排序 + "bInfo": setting.info,// Showing 1 to 10 of 23 entries + "bWidth": true, + "bScrollCollapse": true, + "sPaginationType": "bootstrap_extended", // page, a total of two kinds of style, another one is two_button + "bProcessing": true, + "bServerSide": false, + "bDestroy": true, + "bSortCellsTop": true, + "sAjaxSource": setting.restUrl, + "aoColumns": setting.columns, + "aoColumnDefs": [ + { + sDefaultContent: '', + aTargets: [ '_all' ] + } + ], + "fnServerData": function (sSource, aoData, fnCallback, oSettings) { + oSettings.jqXHR = $.ajax({ + "type": 'get', + "url": sSource, + "dataType": "json", + //"data":serverPageTable.getRestPara(cond,oSettings), + "success": function (resp) { + oSettings.iDraw = oSettings.iDraw + 1; + + var result = []; + for(var i=0;i  " + +$.i18n.prop("nfv-nso-iui-table-sProcess")+"", + "sLengthMenu": $.i18n.prop("nfv-nso-iui-table-sLengthMenu"), + "sZeroRecords": $.i18n.prop("nfv-nso-iui-table-sZeroRecords"), + "sInfo": " " + $.i18n.prop("nfv-nso-iui-table-sInfo"), + "sInfoEmpty": $.i18n.prop("nfv-nso-iui-table-sInfoEmpty"), + "sGroupActions": $.i18n.prop("nfv-nso-iui-table-sGroupActions"), + "sAjaxRequestGeneralError":$.i18n.prop("nfv-nso-iui-table-sAjaxRequestGeneralError"), + "sEmptyTable": $.i18n.prop("nfv-nso-iui-table-sEmptyTable"), + "oPaginate": { + "sPrevious": $.i18n.prop("nfv-nso-iui-table-sPrevious"), + "sNext": $.i18n.prop("nfv-nso-iui-table-sNext"), + "sPage": $.i18n.prop("nfv-nso-iui-table-sPage"), + "sPageOf": $.i18n.prop("nfv-nso-iui-table-sPageOf") + } + }, + $restUrl : { + uploadHostImage: '/api/nsoc/v1/hostimages', + queryHostInfoUrl: "/api/nsoc/v1/hostimages", + delHostUrl: "/api/nsoc/v1/hostimages/", + updateHostUrl: "/api/nsoc/v1/hostimages/", + queryVimInfoUrl : "/api/roc/v1/resource/vims" + }, + $initTable: function() { + var setting = { + language : vm.$language, + paginate : true, + info : true, + columns : vm.$hostTableFields.table, + restUrl : vm.$restUrl.queryHostInfoUrl, + tableId : vm.$tableId + }; + serverPageTable.initDataTable(setting, {}, vm.$tableId + '_div'); + }, + uploadHostImage : { + vimSelectItems : [], + tenant : "", + localVisible : true, + /*$initUpload : function() { + var fileLanguage = getLanguage(); + if (lang == "zh-CN") { + fileLanguage = "zh"; + } else { + fileLanguage = "en"; + } + $("#hostfile").fileinput({ + language: fileLanguage, + showPreview : false, + showUpload : false, + uploadExtraData : function(){ + var index = $("#vim").val(); + var selectVim = vm.uploadHostImage.vimSelectItems[index]; + var vimid = selectVim.oid; + var extraData = { + url : $("#hosturl").val(), + name : $("#hostName").val(), + vimid : vimid + } + return extraData; + }, + uploadUrl : vm.$restUrl.uploadHostImage, + layoutTemplates : {progress : ''}, //hide progress + ajaxSettings : { + success : function(resp) { + commonUtil.showMessage($.i18n.prop("nfv-host-iui-message-upload-success"), "success"); + refreshByCond(); + }, + error : function(resp) { + commonUtil.showMessage($.i18n.prop("nfv-host-iui-message-upload-failed"), "warning"); + } + } + }); + },*/ + $initUpload : function() { + var maxChunkSize = 20000000; //20M + $("#hostForm").fileupload({ + url : vm.$restUrl.uploadHostImage, + maxNumberOfFiles : 1, + maxChunkSize : maxChunkSize, + autoUpload : false, + add : function(e, data) { + $("#fileName").text(data.files[0].name); + $("#fileremove").attr("disabled", false); + + $("#uploadBtn").remove(); + $('').insertAfter('.fileinput-upload-button'); + $('#confirm').on('click', function(e){ + e.preventDefault(); + + var fileName = $('.file-caption-name').eq(0).text(); + var existPackage = pmUtil.getExistPackageByName(fileName); + if(existPackage == 0){//0:package is not exist + $('a.fileinput-upload-button').trigger('click'); + return; + } + var msg = ""; + if(existPackage == 1){//1:package not exist, instance reference this csar + msg = $.i18n.prop("nfv-package-iui-message-upload-csar-deletionpending"); + } + if(existPackage == 2){//2:package exist + msg = $.i18n.prop("nfv-package-iui-message-upload-csar-exist"); + } + + bootbox.confirm(msg, function(result){ + if(result) { + $('a.fileinput-upload-button').trigger('click'); + } + }); + }); + },*/ + $initUpload : function() { + $("#fileupload").fileupload({ + url : vm.$restUrl.uploadPackageUrl, + dropZone: $('#dropzone'), + maxNumberOfFiles : 1, + maxChunkSize : 20000000, //20M + autoUpload : false, + add : function(e, data) { + $("#bar").css('width', '0%'); + $("#persent").text('0%'); + $("#fileName").text(data.files[0].name); + $("#fileremove").attr("disabled", false); + $("#filesubmit").attr("disabled", false); + + $("#filesubmit").remove(); + $(''; +}; + +vmAppUtil.statusRender = function(obj) { + var attr = 'class="label label-success"'; + var status = $.i18n.prop("nfv-virtualApplication-iui-status-" + obj.aData.instanceStatus); + if (obj.aData.instanceStatus == "failed") { + attr = 'class="label label-danger"'; + } else if (obj.aData.instanceStatus == "processing") { + status = $.i18n.prop("nfv-virtualApplication-iui-status-" + obj.aData.instanceOperating); + if (status.indexOf("nfv-virtualApplication") > -1) { + status = $.i18n.prop("nfv-virtualApplication-iui-status-execute"); + } + } + return '' + status + ''; +}; + +vmAppUtil.delRender = function(obj) { + return ''; +}; + +vmAppUtil.dateRender = function(obj) { + var date = new Date(obj.aData[obj.mDataProp]); + return commonUtil.parseDate(date, "yyyy-MM-dd hh:mm:ss"); +}; + +vmAppUtil.deleteVmApp = function(instanceId, servicetemplateid) { + bootbox.confirm($.i18n.prop("nfv-virtualApplication-iui-message-delete-confirm"), function(result){ + if(result) { + var url = vm.$restUrl.deleteAppinstancesUrl + instanceId; + $.ajax({ + type : "delete", + url : url, + dataType : "json", + success : function(resp) { + if(resp.deleteresult == "true"){ + var packageurl = vm.$restUrl.delInstanceTemplateUrl + servicetemplateid; + commonUtil.delete(packageurl, function(resp) { + refreshByCond(); + }); + }else{ + commonUtil.showMessage($.i18n.prop("nfv-virtualApplication-iui-message-delete-fail"), vmAppUtil.TYPE_DANGER); + refreshByCond(); + } + }, + error : function() { + commonUtil.showMessage($.i18n.prop("nfv-virtualApplication-iui-message-delete-fail"), vmAppUtil.TYPE_DANGER); + refreshByCond(); + } + }); + } + }); +}; + +vmAppUtil.execute = function(row) { + var oSelect = $("tbody tr select").eq(row); + var operation = oSelect.find("option:selected").val(); + if (operation) { + var table = $('#' + vm.$tableId).dataTable(); + var templateId = table.fnGetData(row)["serviceTemplateId"]; + var url = vm.$restUrl.queryOperationParamsUrl + templateId + "/operations/" + operation + "/parameters"; + //query operation params + commonUtil.get(url, null, function(data) { + //empty operation params + vm.vmAppDialog.operationParams = []; + //empty template input params + vm.vmAppDialog.templateInputParams = []; + if(vmAppUtil.isScaleOperation(operation)) { + vm.vmAppScaleDialog.operation = operation; + vm.vmAppScaleDialog.currentRow = row; + vm.vmAppScaleDialog.instanceId = table.fnGetData(row)["instanceId"]; + vm.vmAppScaleDialog.templateId = templateId; + vm.vmAppScaleDialog.$initScaleParams(); + $("#scaleModal").modal("show"); + } else if ((data && data.length > 0)) { + vm.vmAppDialog.type = "execute"; + vm.vmAppDialog.title = $.i18n.prop("nfv-virtualApplication-iui-text-params"); + vm.vmAppDialog.btnTitle = $.i18n.prop("nfv-virtualApplication-iui-text-confirmBtn"); + vm.vmAppDialog.operation = operation; + vm.vmAppDialog.currentRow = row; + vm.vmAppDialog.templateId = templateId; + vm.vmAppDialog.operationParams = data; + vm.vmAppDialog.$initData(); + $("#vmAppDialog").modal("show"); + } else { + var group = { + flavor : "", + flavorParams : [], + operationParams : [] + } + vmAppUtil.executeOperation(group, row, operation); + } + }); + } +}; + +vmAppUtil.executeOperation = function(group, row, operation) { + vmAppUtil.changeBtnStatus("processing", operation, row, true); + var table = $('#' + vm.$tableId).dataTable(); + var instanceId = table.fnGetData(row)["instanceId"]; + var url = vm.$restUrl.executeOperationUrl + instanceId + "/operations/" + operation; + $.ajax({ + type : "POST", + url : url, + data : JSON.stringify(group), + contentType : "application/json", + dataType : "json", + error : function() { + vmAppUtil.changeBtnStatus("failed", operation, row, false); + } + }); + if(vmAppUtil.isScaleOperation(operation)) { + $("#scaleModal").modal("hide"); + } else { + $("#vmAppDialog").modal("hide"); + } +}; + +vmAppUtil.changeBtnStatus = function(status, operation, row, disabled) { + var table = $('#' + vm.$tableId).dataTable(); + var oBtn = $("tbody tr button i.ict-start").eq(row).parent(); + var oSelect = $("tbody tr select").eq(row); + + oSelect.attr("disabled", disabled); + oBtn.attr("disabled", disabled); + table.fnUpdate(status, row, vmAppUtil.COLUMN_STATUS_INDEX, false, false); + table.fnUpdate(operation, row, vmAppUtil.COLUMN_OPERATION_INDEX, false, false); +}; + +vmAppUtil.queryTemplate = function() { + var url = vm.$restUrl.queryServiceTemplate + "&status=Enabled"; + commonUtil.get(url, null, function(data) { + vm.vmAppDialog.templateSelectItems = data || []; + }); +}; + +vmAppUtil.queryFlavorParam = function(templateId, flavorName) { + var url = vm.$restUrl.queryFlavorParamUrl + templateId + "/flavors/" + flavorName + "/parameters"; + commonUtil.get(url, null, function(data) { + vm.vmAppDialog.flavorParams = data || []; + }); +}; + +vmAppUtil.queryVimInfo = function() { + var url = vm.$restUrl.queryVimInfoUrl; + commonUtil.get(url, null, function(resp) { + if (resp) { + vm.vmAppDialog.vimSelectItems = resp.data; + } + }); +}; + +vmAppUtil.queryVnfmInfo = function() { + var url = vm.$restUrl.queryVnfmInfoUrl; + commonUtil.get(url, null, function(resp) { + if (resp) { + vm.vmAppDialog.vnfmSelectItems = resp.data; + } + }); +}; + +vmAppUtil.queryVnfInfo = function(templateId) { + var url = vm.$restUrl.queryVnfInfoUrl + templateId + "/vnftemplates"; + commonUtil.get(url, null, function(resp) { + if (resp) { + vm.vmAppDialog.vnfItems = resp; + } + }); +}; + +vmAppUtil.newApp = function(param) { + $.ajax({ + type : "POST", + url : vm.$restUrl.newAppinstancesUrl, + contentType : "application/json", + data : JSON.stringify(param), + dataType : "text", + success : function(data) { + refreshByCond(); + commonUtil.showMessage($.i18n.prop("nfv-virtualApplication-iui-message-create-success"), vmAppUtil.TYPE_SUCCESS); + }, + error : function() { + refreshByCond(); + commonUtil.showMessage($.i18n.prop("nfv-virtualApplication-iui-message-create-fail"), vmAppUtil.TYPE_DANGER); + } + }); + $("#vmAppDialog").modal("hide"); + +}; + +vmAppUtil.isScaleOperation = function(operation) { + if(operation == "scaleIn" || operation == "scaleOut") { + return true; + } else { + return false; + } +} + +vmAppUtil.generateGourpParams = function(data) { + var groupParams = []; + $.each(data, function(index, group){ + var groupParam = { + groupName : group.groupName, + params : [] + } + $.each(group.params, function(index, element){ + var id = vm.vmAppDialog.$getGoupParamKey(group.groupName, element.key); + var value = $("#" + id).val(); + if(value) { + var param = { + key : element.key, + value : value + } + groupParam.params.push(param); + } + }); + if(groupParam.params.length) { + groupParams.push(groupParam); + } + }); + return groupParams; +} + +vmAppUtil.generateAdditionalParams = function(data) { + var additionalParams = []; + $.each(data, function(index, group){ + var param = { + key : "object_" + group.groupName, //前缀objec_标识为value是一个对象字符串,方便plan解析参数 + value : "" + } + var templateParam = {}; + $.each(group.params, function(index, element){ + var id = vm.vmAppDialog.$getGoupParamKey(group.groupName, element.key); + var value = $("#" + id).val(); + if(value) { + templateParam[element.key] = value; + } else { + templateParam[element.key] = ""; + } + }); + param.value = JSON.stringify(templateParam); + additionalParams.push(param); + }); + return additionalParams; +} + +vmAppUtil.generateVNFRelationInfos = function(data) { + var vnfRelationInfos = []; + $.each(data, function(index, element){ + var info = { + vnfdid : element.templateid, + vnfmid : $("#" + element.templateid).val() + } + vnfRelationInfos.push(info); + }); + return vnfRelationInfos; +} + +vmAppUtil.delVduRender = function(obj) { + return ''; +} + +vmAppUtil.deleteVdu = function(vduId, vnfId) { + var oTable = $("#" + vm.vmAppScaleDialog.$tableId).dataTable(); + var tableData = oTable.fnGetData(); + for(i=0;i'; +} + +vmAppUtil.queryScalableVnfInfo = function(templateId) { + var url = vm.$restUrl.queryVnfInfoUrl + templateId + "/vnftemplates"; + $.ajax({ + type : "GET", + url : url, + dataType : "json", + success : function(resp) { + resp = resp || []; + for(var i=0; i -1)) { + vnfData.vduTypeList.push(nodetemplates[j]); + } + } + + if(vnfData.vduTypeList.length) { + vm.vmAppScaleDialog.vnfSelectItems.push(vnfData); + } + } + } + }); +} + +vmAppUtil.queryScalableVduInstance = function(instanceId, vnfTemplateId, vduTypeList) { + //query vnf instances by ns id + var vnfUrl = vm.$restUrl.queryRocInfoBaseUrl + "/vnfs?nsId=" + instanceId; + //var vnfUrl = vm.$restUrl.queryRocInfoBaseUrl + "/vnfs/" + instanceId; + $.ajax({ + type : "GET", + url : vnfUrl, + dataType : "json", + success : function(resp) { + if(resp.operationResult == "SUCCESS") { + var data = resp.data; + for(var i=0; i + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ +
+
+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/template.html b/nsoc-iui/src/main/resources/webroot/nsoc/template.html new file mode 100644 index 00000000..cbc6528c --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/template.html @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/templateDetail.html b/nsoc-iui/src/main/resources/webroot/nsoc/templateDetail.html new file mode 100644 index 00000000..bb9917ba --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/templateDetail.html @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ +
+
+

{{nodesTab.nodesDetail.detailTitle}}

+
+ +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/topology.html b/nsoc-iui/src/main/resources/webroot/nsoc/topology.html new file mode 100644 index 00000000..661ae238 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/topology.html @@ -0,0 +1,122 @@ + +
+
+
+
+
+
0
+ {{network.name}} +
+
+
+
+
0
+

{{subnet.name}}

+

+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
1
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +
1
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
1
+
+
+

+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + +
+
+ + + + + + + + + +
+
+
\ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplication.html b/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplication.html new file mode 100644 index 00000000..76cff61d --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplication.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationDetail.html b/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationDetail.html new file mode 100644 index 00000000..31e66b31 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationDetail.html @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+

{{nodesTab.nodesDetail.detailTitle}}

+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationScale.html b/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationScale.html new file mode 100644 index 00000000..552422f9 --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/virtualApplicationScale.html @@ -0,0 +1,152 @@ + + + + \ No newline at end of file diff --git a/nsoc-iui/src/main/resources/webroot/nsoc/vnfmView.html b/nsoc-iui/src/main/resources/webroot/nsoc/vnfmView.html new file mode 100644 index 00000000..199d02da --- /dev/null +++ b/nsoc-iui/src/main/resources/webroot/nsoc/vnfmView.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+ +
+
+
+
+
+ + +
+
+ +
+
+

+
+
URL:
+
+
+ +
+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- cgit 1.2.3-korg