aboutsummaryrefslogtreecommitdiffstats
path: root/performance/src
diff options
context:
space:
mode:
authorshentao <shentao@chinamobile.com>2017-04-19 18:24:26 +0800
committershentao <shentao@chinamobile.com>2017-04-19 18:24:40 +0800
commitfbbf467696810b7ca2ddac6de0d076af424a2ef0 (patch)
tree8aec68690a7d9f2ca34c3fd589f436a36bfffee3 /performance/src
parentaba151e0a874c2f9caa344da528646525e21c064 (diff)
integrated monitor and performance functions
Issue-id: CLIENT-175 Change-Id: I07adc77afd9f62f615790896c9241f8430583398 Signed-off-by: shentao <shentao@chinamobile.com>
Diffstat (limited to 'performance/src')
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/alarm_view.html58
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/css/alarmsQuery.css0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/css/performanceChart.css0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/css/performanceQuery.css0
-rwxr-xr-xperformance/src/main/webapp/performance/css/plugins.css1561
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/css/pmQueryBox.css0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/i18n/web-alarm-i18n-en-US.properties0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/i18n/web-performance-i18n-en-US.properties0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/License.txt0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/aos_view-fm.gifbin205 -> 205 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/arrow.pngbin5680 -> 5680 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/chart_icon.pngbin1727 -> 1727 bytes
-rwxr-xr-xperformance/src/main/webapp/performance/image/datatable-row-openclose.pngbin0 -> 299 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/delete.pngbin3029 -> 3029 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/details_close.pngbin3300 -> 3300 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/details_open.pngbin3304 -> 3304 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/down.pngbin2938 -> 2938 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/filter.pngbin7780 -> 7780 bytes
-rwxr-xr-xperformance/src/main/webapp/performance/image/portlet-remove-icon-white.pngbin0 -> 260 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/statistics.pngbin25116 -> 25116 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/table_icon.pngbin1668 -> 1668 bytes
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/image/up.pngbin2926 -> 2926 bytes
-rwxr-xr-xperformance/src/main/webapp/performance/js/aes.js44
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/alarmConds.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/alarmsServerPageTable.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/alarmsUtil.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/commonUtil.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/curAlarmsController.js0
-rwxr-xr-xperformance/src/main/webapp/performance/js/framework-util.js38
-rwxr-xr-xperformance/src/main/webapp/performance/js/json2.js341
-rwxr-xr-xperformance/src/main/webapp/performance/js/loadi18n.js52
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/performanceChart.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/performanceQueryController.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/pmUtil.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/js/serverPageTable.js0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/performance_query_rule.html0
-rwxr-xr-x[-rw-r--r--]performance/src/main/webapp/performance/performance_view.html72
37 files changed, 2101 insertions, 65 deletions
diff --git a/performance/src/main/webapp/performance/alarm_view.html b/performance/src/main/webapp/performance/alarm_view.html
index dde5bb90..71c4c1cc 100644..100755
--- a/performance/src/main/webapp/performance/alarm_view.html
+++ b/performance/src/main/webapp/performance/alarm_view.html
@@ -17,16 +17,16 @@
<html>
<head>
<meta charset="UTF-8">
- <link href="../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" id="font_awesome"/>
- <link href="../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
- <link href="../common/thirdparty/uniform/css/uniform.default.css" rel="stylesheet"/>
- <link href="../common/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css" rel="stylesheet">
- <link href="../common/thirdparty/icheck/skins/all.css" type="text/css" rel="stylesheet">
- <link href="../common/thirdparty/bootstrap-daterangepicker/daterangepicker-bs3.css" rel="stylesheet">
- <link href="../common/css/plugins.css" rel="stylesheet" type="text/css">
- <link href="../common/css/ZteIctIcons/style.css" rel="stylesheet" type="text/css"/>
- <link href="../common/css/ngict-component.css" rel="stylesheet" type="text/css">
- <link href="css/alarmsQuery.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" id="font_awesome"/>
+ <link href="/openoui/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
+ <link href="/openoui/thirdparty/uniform/css/uniform.default.css" rel="stylesheet"/>
+ <link href="/openoui/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css" rel="stylesheet">
+ <link href="/openoui/thirdparty/icheck/skins/all.css" type="text/css" rel="stylesheet">
+ <link href="/openoui/thirdparty/bootstrap-daterangepicker/daterangepicker-bs3.css" rel="stylesheet">
+ <link href="/openoui/performance/css/plugins.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/performance/css/alarmsQuery.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/monitor/css/style.css" rel="stylesheet" type="text/css"/>
+ <link href="/openoui/monitor/css/ngict-component.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="alarmsDiv" class="container-fluid ms-controller" ms-controller="curAlarmsController">
@@ -296,20 +296,20 @@
<span id="ngict_fm_iui_curalarm_unaffirm" name_i18n="openo_alarm_i18n"></span>
</div>
</div>
- <script src="../common/thirdparty/jquery/jquery-1.10.2.min.js" type="text/javascript"></script>
- <script src="../common/thirdparty/jquery-cokie/jquery.cokie.min.js" type="text/javascript" ></script>
- <script src="../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js" type="text/javascript"></script>
- <script src="../common/thirdparty/bootbox/bootbox.min.js" type="text/javascript"></script>
- <script src="../common/thirdparty/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
- <script src="../common/thirdparty/data-tables/jquery.dataTables-1.9.4.js"></script>
- <script src="../common/thirdparty/bootstrap-daterangepicker/moment.js" type="text/javascript"></script>
- <script src="../common/thirdparty/bootstrap-daterangepicker/daterangepicker.js" type="text/javascript"></script>
- <script src="../common/js/international/loadi18n.js" type="text/javascript"></script>
- <script src="../common/js/json2.js" type="text/javascript"></script>
- <script src="../common/js/tools.js" type="text/javascript"></script>
- <script src="../common/thirdparty/avalon/avalon.modern.js" type="text/javascript"></script>
- <script src="../common/thirdparty/icheck/icheck.min.js" type="text/javascript"></script>
- <script src="../common/thirdparty/zTree/js/jquery.ztree.all.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/jquery/jquery-1.10.2.min.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/jquery-cokie/jquery.cokie.min.js" type="text/javascript" ></script>
+ <script src="/openoui/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/bootbox/bootbox.min.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/data-tables/jquery.dataTables-1.9.4.js"></script>
+ <script src="/openoui/thirdparty/bootstrap-daterangepicker/moment.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/bootstrap-daterangepicker/daterangepicker.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/avalon/avalon.modern.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/icheck/icheck.min.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/zTree/js/jquery.ztree.all.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/loadi18n.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/json2.js" type="text/javascript"></script>
+ <script src="/openoui/monitor/js/tools.js" type="text/javascript"></script>
<script>
loadi18n_WebFramework('web-alarm-i18n', 'i18n/', 'openo_alarm_i18n');
var getUrlParam = function(name){
@@ -330,10 +330,10 @@
$('[data-toggle="tooltip"]').tooltip();
});
</script>
- <script src="js/alarmsServerPageTable.js" type="text/javascript"></script>
- <script src="js/alarmsUtil.js" type="text/javascript"></script>
- <script src="js/alarmConds.js" type="text/javascript"></script>
- <script src="js/commonUtil.js" type="text/javascript"></script>
- <script src="js/curAlarmsController.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/alarmsServerPageTable.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/alarmsUtil.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/alarmConds.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/commonUtil.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/curAlarmsController.js" type="text/javascript"></script>
</body>
</html>
diff --git a/performance/src/main/webapp/performance/css/alarmsQuery.css b/performance/src/main/webapp/performance/css/alarmsQuery.css
index b69cc2bb..b69cc2bb 100644..100755
--- a/performance/src/main/webapp/performance/css/alarmsQuery.css
+++ b/performance/src/main/webapp/performance/css/alarmsQuery.css
diff --git a/performance/src/main/webapp/performance/css/performanceChart.css b/performance/src/main/webapp/performance/css/performanceChart.css
index 78047db1..78047db1 100644..100755
--- a/performance/src/main/webapp/performance/css/performanceChart.css
+++ b/performance/src/main/webapp/performance/css/performanceChart.css
diff --git a/performance/src/main/webapp/performance/css/performanceQuery.css b/performance/src/main/webapp/performance/css/performanceQuery.css
index 7f929e9e..7f929e9e 100644..100755
--- a/performance/src/main/webapp/performance/css/performanceQuery.css
+++ b/performance/src/main/webapp/performance/css/performanceQuery.css
diff --git a/performance/src/main/webapp/performance/css/plugins.css b/performance/src/main/webapp/performance/css/plugins.css
new file mode 100755
index 00000000..56a72a71
--- /dev/null
+++ b/performance/src/main/webapp/performance/css/plugins.css
@@ -0,0 +1,1561 @@
+/**
+ * Copyright 2016, CMCC Technologies Co., Ltd.
+ *
+ * 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.
+ */
+/**************************
+ PLUGIN CSS CUSTOMIZATIONS
+**************************/
+
+/***
+Calendar with full calendar
+***/
+.external-event {
+ display: inline-block ;
+ cursor:move;
+ margin-bottom: 5px ;
+ margin-left: 5px ;
+}
+
+.portlet .event-form-title {
+ font-size: 14px;
+ margin-top: 4px;
+ font-weight: 400;
+ margin-bottom: 10px;
+}
+
+.portlet.calendar .fc-button {
+ -webkit-box-shadow: none ;
+ -moz-box-shadow: none ;
+ box-shadow: none ;
+ text-shadow: none;
+ border: 0 ;
+ padding: 6px 8px 30px 8px ;
+ margin-left:2px;
+ border-top-style: none;
+ border-bottom-style: none;
+ border-right-style: solid;
+ border-left-style: solid;
+ border-color: #ddd;
+ background: transparent;
+ color: #fff;
+ top: -46px;
+}
+
+.portlet.calendar .fc-header {
+ margin-bottom:-21px;
+}
+
+.portlet.calendar .fc-button-prev {
+ padding-right: 10px;
+ padding-left: 8px;
+}
+
+.portlet.calendar .fc-button-next {
+ padding-right: 8px;
+ padding-left: 10px;
+}
+
+.portlet.calendar .fc-button.fc-state-active,
+.portlet.calendar .fc-button.fc-state-hover {
+ color: #666 ;
+ background-color: #F9F9F9 ;
+}
+
+.portlet.calendar .fc-button.fc-state-disabled {
+ color: #ddd ;
+}
+
+.portlet.calendar .fc-text-arrow {
+ font-size: 22px;
+ font-family: "Courier New", Courier, monospace;
+ vertical-align: baseline;
+}
+
+/* begin: event element */
+.portlet.calendar .fc-event {
+ border: 0px;
+ background-color: #69a4e0;
+ color: #fff;
+}
+
+.portlet.calendar .fc-event-inner {
+ border: 0px;
+}
+
+.portlet.calendar .fc-event-time {
+ float: left;
+ text-align: left;
+ color: #fff;
+ font-size: 13px;
+ font-weight: 300;
+}
+
+.portlet.calendar .fc-event-title {
+ text-align: left;
+ float: left;
+ color: #fff;
+ font-size: 13px;
+ font-weight: 300;
+}
+/* end: event element */
+
+.portlet.calendar .fc-header-title h2 {
+ font-size: 14px ;
+ line-height: 20px;
+ font-weight: 400;
+ color: #111;
+}
+
+.portlet.calendar .fc-widget-header {
+ background-image: none ;
+ filter:none;
+ background-color: #eee ;
+ text-transform: uppercase;
+ font-weight: 300;
+}
+
+.portlet.calendar .mobile .fc-button {
+ margin-left: 2px ;
+}
+
+.portlet.calendar .mobile .fc-button {
+ padding: 0px 6px 20px 6px ;
+ margin-left:2px ;
+ border: 0;
+ background-color: #ddd ;
+ background-image: none;
+ -webkit-box-shadow: none ;
+ -moz-box-shadow: none ;
+ box-shadow: none ;
+ -webkit-border-radius: 0 ;
+ -moz-border-radius: 0 ;
+ border-radius: 0 ;
+ color: #000;
+ text-shadow: none ;
+ text-align: center;
+}
+
+.portlet.calendar .mobile .fc-state-hover,
+.portlet.calendar .mobile .fc-state-active {
+ background-color: #eee ;
+}
+
+.portlet.calendar .mobile .fc-button-prev {
+ margin-right: 5px;
+ margin-top: -2px;
+}
+
+.portlet.calendar .mobile .fc-button-next {
+ margin-right: -0px;
+ margin-top: -2px;
+}
+
+.portlet.calendar .mobile .fc-header-space {
+ margin: 0px ;
+ padding: 0px ;
+ width: 0px ;
+}
+
+ .portlet.calendar .mobile .fc-state-disabled {
+ color: #bbb ;
+ }
+
+ .portlet.calendar .mobile .fc-header-left {
+ position: absolute;
+ z-index: 10;
+ }
+
+ .portlet.calendar .mobile .fc-header-right {
+ position: absolute;
+ z-index: 9;
+ }
+
+ .portlet.calendar .mobile .fc-header-left .fc-button {
+ top: -2px ;
+ }
+
+ .portlet.calendar .mobile .fc-header-right {
+ position: relative;
+ right:0;
+ }
+
+ .portlet.calendar .mobile .fc-header-right .fc-button {
+ top: 35px ;
+ }
+
+ .portlet.calendar .mobile .fc-content {
+ margin-top: 53px;
+ }
+
+
+/***
+Form wizard
+***/
+
+.form-wizard .progress {
+ margin-bottom: 30px;
+}
+
+.form-wizard .steps {
+ //padding: 10px 0;
+ //margin-bottom: 15px;
+}
+
+.form-wizard .steps {
+ background-color: #fff ;
+ background-image: none ;
+ filter:none ;
+ border: 0px;
+ box-shadow: none ;
+}
+
+.form-wizard .steps li a {
+ background-color: #fff ;
+ background-image: none ;
+ filter:none;
+ border: 0px;
+ box-shadow: none ;
+}
+
+.form-wizard .steps li a:hover {
+ background: none;
+}
+
+.form-wizard .step:hover {
+ text-decoration: none;
+}
+
+.form-wizard .step .number {
+ background-color: #eee;
+ display: inline-block;
+ text-align: center !important;
+ font-size: 16px;
+ font-weight: 300;
+ padding: 11px 15px 13px 15px;
+ margin-right: 10px;
+ height: 45px;
+ width: 45px;
+ -webkit-border-radius: 50% !important;
+ -moz-border-radius: 50% !important;
+ border-radius: 50% !important;
+}
+
+.form-wizard .step .desc {
+ display: inline-block;
+ font-size: 16px;
+ font-weight: 300;
+}
+
+.form-wizard .active .step .number {
+ background-color: #35aa47;
+ color: #fff;
+}
+
+.form-wizard .active .step .desc {
+ color: #333;
+ font-weight: 400;
+}
+
+.form-wizard .step i {
+ display: none;
+}
+
+.form-wizard .done .step .number {
+ background-color: #f2ae43;
+ color: #fff;
+}
+
+.form-wizard .done .step .desc {
+ font-weight: 400;
+}
+
+.form-wizard .done .step i {
+ font-size: 12px;
+ font-weight: normal;
+ color: #999;
+ display: inline-block;
+}
+
+
+@media (min-width: 600px) and (max-width: 1280px) {
+ .form-wizard .step .desc {
+ margin-top: 10px;
+ display: block;
+ }
+}
+
+@media (max-width: 600px) {
+ .form-wizard .steps > li > a {
+ text-align: left;
+ }
+}
+
+@media (min-width: 600px){
+ .nav-justified>li{
+ display:table-cell;
+ width:1%;
+ }
+}
+
+/***
+Google Maps
+***/
+.gmaps {
+ height: 300px;
+ width: 100%;
+}
+
+/* important! bootstrap sets max-width on img to 100% which conflicts with google map canvas*/
+.gmaps img {
+ max-width: none;
+}
+
+#gmap_static div{
+ background-repeat: no-repeat ;
+ background-position: 50% 50% ;
+ height:100%;
+ display:block;
+ height: 300px;
+}
+
+#gmap_routes_instructions {
+ margin-top: 10px;
+ margin-bottom: 0px;
+}
+
+/***
+SlimScrollBar plugins css changes
+***/
+.scroller {
+ padding: 0px ;
+ margin: 0px ;
+ padding-right: 12px ;
+ overflow: hidden;
+}
+
+.scroller-footer {
+ margin-top: 10px;
+}
+
+.scroller-footer:after,
+.scroller-footer:before {
+ content: "";
+ display: table;
+ line-height: 0;
+}
+
+.scroller-footer:after {
+ clear: both;
+}
+
+.portlet-body .slimScrollBar {
+ margin-right: 0px ;
+}
+
+/***
+jqvmap changes
+***/
+.jqvmap-zoomin {
+ height: 16px;
+ width: 16px;
+ background-color: #666 ;
+}
+
+.jqvmap-zoomout {
+ height: 16px;
+ width: 16px;
+ background-color: #666 ;
+}
+
+.vmaps {
+ position: relative;
+ overflow: hidden;
+ height: 300px;
+}
+
+
+/***
+Error state for WYSIWYG Editors
+***/
+.has-error .md-editor,
+.has-error .wysihtml5-sandbox,
+.has-error .cke {
+ border: 1px solid #B94A48 !important;
+}
+
+.has-success .md-editor,
+.has-success .wysihtml5-sandbox,
+.has-success .cke {
+ border: 1px solid #468847 !important;
+}
+
+/***
+Select2 plugin css changes
+***/
+
+/* enable form validation classes for select2 dropdowns */
+.has-error .select2-container .select2-choice {
+ border-color: #B94A48;
+}
+
+.has-error .select2-container.select2-dropdown-open .select2-choice {
+ border-color: #e5e5e5;
+}
+
+.has-error .select2-container.select2-dropdown-open .select2-choice > span {
+ color: #999999;
+}
+
+.has-success .select2-container .select2-choice {
+ border-color: #468847;
+}
+
+.has-success .select2-container.select2-dropdown-open .select2-choice {
+ border-color: #e5e5e5;
+}
+
+.has-success .select2-container.select2-dropdown-open .select2-choice > span {
+ color: #999999;
+}
+
+
+/***
+Jansy File Input plugin css changes
+***/
+.fileinput {
+ margin-bottom: 0;
+}
+
+
+/***
+WYSIWYG
+***/
+.wysihtml5-toolbar li {
+ margin: 0px;
+ height: 29px;
+}
+
+.wysihtml5-toolbar li .dropdown-menu {
+ margin-top: 5px;
+}
+
+/***
+CKEditor css changes
+***/
+.cke_bottom,
+.cke_inner,
+.cke_top,
+.cke_reset,
+.cke_dialog_title,
+.cke_dialog_footer,
+.cke_dialog {
+ background-image: none !important;
+ filter:none ;
+ border-top: 0 ;
+ border-bottom: 0 ;
+ -webkit-box-shadow: none !important;
+ -moz-box-shadow: none !important;
+ box-shadow: none !important;
+ text-shadow:none ;
+}
+
+.cke_dialog_ui_button,
+.cke_dialog_tab {
+ background-image: none !important;
+ filter:none ;
+ -webkit-box-shadow: none !important;
+ -moz-box-shadow: none !important;
+ box-shadow: none !important;
+ text-shadow:none !important;
+}
+
+.cke_dialog_ui_button:hover,
+.cke_dialog_tab:hover {
+ text-decoration: none;
+ text-shadow:none ;
+}
+
+.cke_dialog_ui_input_text {
+ background-image: none !important;
+ filter:none ;
+ -webkit-box-shadow: none !important;
+ -moz-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.cke_combo_button,
+.cke_button,
+.cke_toolbar,
+.cke_toolgroup {
+ background-image: none !important;
+ filter:none !important;
+ border: 0 ;
+ -webkit-box-shadow: none !important;
+ -moz-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.cke_button,
+.cke_combo_button,
+.cke_panel_grouptitle,
+.cke_hc.cke_panel_listItem a {
+ background-image: none !important;
+ filter:none ;
+ text-shadow:none ;
+ -webkit-border-radius: 0px !important;
+ -moz-border-radius: 0px !important;
+ -ms-border-radius: 0px !important;
+ -o-border-radius: 0px !important;
+}
+
+.cke_button:hover,
+.cke_combo_button:hover {
+ background-color: #ddd;
+}
+
+.cke_toolbar_break {
+ background-image: none !important;
+ filter:none !important;
+ border: 0 ;
+ box-shadow: none !important;
+ -webkit-box-shadow : none !important;
+ -moz-box-shadow: none !important;
+ -ms-box-shadow: none !important;
+ -o-box-shadow: none !important;
+}
+
+/***
+Modify tags input plugin css
+***/
+div.tagsinput {
+ min-height: 35px;
+ height: auto !important;
+ margin: 0;
+ padding: 5px 5px 0px 5px;
+ overflow: auto;
+}
+
+div.tagsinput span.tag {
+ background: #aaa ;
+ color: #fff ;
+ border: 0 ;
+ padding: 3px 6px;
+ margin-top: 0;
+ margin-bottom: 5px;
+}
+
+div.tagsinput input {
+ padding: 3px 6px ;
+ width: 75px !important;
+}
+
+div.tagsinput span.tag a {
+ color: #fff ;
+}
+
+div.tagsinput .not_valid {
+ color: #fff ;
+ padding: 3px 6px ;
+ background-color: #e02222 ;
+}
+
+/***
+Gritter notification modify
+***/
+
+#gritter-notice-wrapper {
+ right:1px !important;
+}
+
+.gritter-close {
+ left:auto !important;
+ right: 3px !important;
+}
+
+.gritter-title {
+ font-family: 'Open Sans' ;
+ font-size: 18px ;
+ font-weight: 300 ;
+}
+
+/***
+jQuery UI Sliders(new in v1.1.1)
+***/
+.slider {
+ border: 0;
+ padding: 0;
+ display: block;
+ margin: 12px 5px;
+ min-height: 11px;
+}
+
+.ui-slider-vertical {
+ width: 11px;
+}
+
+.ui-slider-horizontal .ui-slider-handle {
+ top: -3px;
+}
+
+.ui-slider-vertical .ui-slider-handle {
+ left: -3px;
+}
+
+.ui-slider-vertical,
+.ui-slider-handle {
+ filter: none !important;
+ background-image: none !important;
+}
+
+/***
+Dropzone css changes(new in v1.1.1)
+***/
+.dropzone {
+ -webkit-border-radius: 0px ;
+ -moz-border-radius: 0px ;
+ border-radius: 0px ;
+}
+
+
+/***
+Dashboard Charts(new in v1.2.1)
+***/
+.easy-pie-chart,
+.sparkline-chart {
+ text-align: center;
+}
+
+.sparkline-chart {
+ margin-top: 15px;
+ position:relative ;
+}
+
+.easy-pie-chart .number {
+ font-size: 16px;
+ font-weight: 300;
+ width: 85px;
+ margin: 0 auto;
+}
+
+.sparkline-chart .number {
+ width: 100px;
+ margin: 0 auto;
+ margin-bottom: 10px;
+}
+
+.sparkline-chart .title,
+.easy-pie-chart .title {
+ display: block;
+ text-align: center;
+ color: #333;
+ font-weight: 300;
+ font-size: 16px;
+ margin-top: 5px;
+ margin-bottom: 10px;
+}
+
+.sparkline-chart .title:hover,
+.easy-pie-chart .title:hover {
+ color: #666;
+ text-decoration: none;
+}
+
+.sparkline-chart .title > i,
+.easy-pie-chart .title > i {
+ margin-top: 5px;
+}
+
+/***
+Fancy box fix overlay fix(in v1.2.4)
+***/
+.fancybox-overlay {
+ z-index: 10000 ;
+}
+
+/***
+Datatables Plugin(in v1.3)
+***/
+.dataTable {
+ width: 100% !important;
+ clear: both;
+ /*margin-top: 5px;*/
+}
+
+.dataTables_filter label {
+ line-height: 32px ;
+}
+
+.dataTable .row-details {
+ margin-top: 3px;
+ display: inline-block;
+ cursor: pointer;
+ width: 14px;
+ height: 14px;
+}
+
+.dataTable .row-details.row-details-close {
+ background: url("/openoui/performance/image/datatable-row-openclose.png") no-repeat 0 0;
+}
+
+.dataTable .row-details.row-details-open {
+ background: url("/openoui/performance/image/datatable-row-openclose.png") no-repeat 0 -23px ;
+}
+
+.dataTable .details {
+ background-color: #eee ;
+}
+
+.dataTable .details td,
+.dataTable .details th {
+ padding: 4px;
+ background: none ;
+ border: 0;
+}
+
+.dataTable .details tr:hover td,
+.dataTable .details tr:hover th {
+ background: none ;
+}
+
+.dataTable .details tr:nth-child(odd) td,
+.dataTable .details tr:nth-child(odd) th {
+ background-color: #fff ;
+}
+
+.dataTable .details tr:nth-child(even) td,
+.dataTable .details tr:nth-child(even) th {
+ background-color: #eee ;
+}
+
+.dataTable > thead > tr > th.sorting,
+.dataTable > thead > tr > th.sorting_asc,
+.dataTable > thead > tr > th.sorting_desc {
+ padding-right: 18px;
+}
+
+.dataTable .table-checkbox {
+ width: 8px !important;
+}
+
+@media (max-width: 768px) {
+ .dataTables_wrapper .dataTables_length .form-control,
+ .dataTables_wrapper .dataTables_filter .form-control {
+ display: inline-block;
+ }
+
+ /* .dataTables_wrapper .dataTables_info {
+ top: 17px;
+ }*/
+
+/* .dataTables_wrapper .dataTables_paginate {
+ margin-top: -15px;
+ }*/
+}
+
+@media (max-width: 480px) {
+ .dataTables_wrapper .dataTables_filter .form-control {
+ width: 175px !important;
+ }
+
+ .dataTables_wrapper .dataTables_paginate {
+ float: left;
+ margin-top: 20px;
+ }
+}
+
+.dataTables_processing {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ min-width: 125px;
+ margin-left: 0;
+ padding: 7px;
+ text-align: center;
+ color: #333;
+ font-size: 13px;
+ border: 1px solid #ddd;
+ background-color: #eee;
+ vertical-align: middle;
+ -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
+}
+
+.dataTables_processing span {
+ line-height:15px;
+ vertical-align: middle;
+}
+
+.dataTables_empty {
+ text-align: center;
+}
+
+/***
+Extended Datatable
+***/
+.dataTables_extended_wrapper {
+ position: relative !important;
+ clear: both !important;
+}
+.dataTables_extended_wrapper .seperator {
+ padding: 0 2px;
+}
+
+.dataTables_extended_wrapper .dataTables_paginate,
+.dataTables_extended_wrapper .dataTables_length,
+.dataTables_extended_wrapper .dataTables_info {
+ display: inline-block;
+ float: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ position: static !important;
+ font-size: 13px;
+}
+
+@media (max-width: 480px) {
+
+ .dataTables_extended_wrapper .dataTables_paginate,
+ .dataTables_extended_wrapper .dataTables_length,
+ .dataTables_extended_wrapper .dataTables_info {
+ display: block;
+ margin-bottom: 10px !important;
+ }
+
+ .dataTables_extended_wrapper .seperator {
+ display: none;
+ }
+}
+
+.dataTables_extended_wrapper .dataTables_length label {
+ margin: 0 !important;
+ padding: 0 !important;
+ font-size: 13px;
+ float: none !important;
+ display: inline-block !important;
+}
+
+.table-container .table-actions-wrapper {
+ display: none;
+}
+
+/***
+Password Strength(in v1.4)
+***/
+.password-strength .password-verdict {
+ display: inline-block;
+ margin-top: 6px;
+ margin-left: 5px;
+}
+
+.password-strength .progress {
+ margin-top: 5px;
+ margin-bottom: 0;
+}
+
+.password-strength .progress-bar {
+ padding: 2px;
+}
+
+/***
+Uniform disabled checkbox, radio button fix(in v1.4)
+***/
+
+.table .uniform-inline {
+ padding: 0;
+ margin: 0;
+}
+
+.checker {
+ margin-top: -2px !important;
+ margin-right: 2px !important;
+ display:inline;
+}
+
+.checker input,
+.radio input {
+ outline: none !important;
+}
+
+div.checker.disabled span,
+div.checker.disabled.active span{
+ background-position: -152px -260px;
+}
+
+div.checker.disabled:hover,
+div.radio.disabled:hover {
+ cursor: not-allowed;
+}
+
+div.radio,
+div.checker {
+ margin-right: 0;
+ margin-left: 3px;
+}
+
+/***
+jQuery Sparkline
+***/
+.jqstooltip {
+ width: auto !important;
+ height: auto !important;
+}
+
+
+/***
+jQuery Multi Select
+***/
+
+.ms-container .ms-list {
+ border: 1px solid #e5e5e5;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+
+}
+
+.ms-container .ms-optgroup-label{
+ font-size: 14px;
+}
+
+.ms-container .ms-selectable li.ms-elem-selectable,
+.ms-container .ms-selection li.ms-elem-selection{
+ font-size: 13px;
+}
+
+.ms-container .ms-list.ms-focus {
+ border-color: #999999;
+ -webkit-box-shadow: none;
+ -moz-box-shadow: none;
+ box-shadow: none;
+}
+
+.ms-container .ms-selectable li.ms-hover,
+.ms-container .ms-selection li.ms-hover{
+ color: #333;
+ background-color: #eee;
+}
+
+.ms-container .form-control {
+ margin-bottom: 5px;
+}
+
+/***
+Bootstrap Colorpicker
+***/
+.input-group.color .input-group-btn i {
+ position: absolute;
+ display: block;
+ cursor: pointer;
+ width: 20px;
+ height: 20px;
+ right: 6px;
+}
+
+.colorpicker.dropdown-menu {
+ padding: 5px;
+}
+
+/* change z-index when opened in modal */
+.modal-open .colorpicker {
+ z-index: 10055 !important;
+}
+
+/***
+Bootstrap Datetimepicker
+***/
+
+.datetimepicker table td {
+ font-weight: 300 !important;
+ font-family: 'Open Sans' !important;
+}
+
+.datetimepicker table th {
+ font-family: 'Open Sans' !important;
+ font-weight: 400 !important;
+}
+
+.datetimepicker.dropdown-menu {
+ padding: 5px;
+}
+
+.datetimepicker .active {
+ background-color:#4b8df8 !important;
+ background-image: none !important;
+ filter: none !important;
+}
+
+.datetimepicker .active:hover {
+ background-color: #2678FC !important;
+ background-image: none !important;
+ filter: none !important;
+
+}
+
+/* change z-index when opened in modal */
+.modal-open .datetimepicker {
+ z-index: 10055 !important;
+}
+
+/***
+Bootstrap Time Picker
+***/
+.bootstrap-timepicker-widget table td a {
+ padding: 4px 0;
+}
+
+.bootstrap-timepicker-widget input,
+.bootstrap-timepicker-widget input:focus {
+ outline: none !important;
+ border: 0;
+}
+
+.modal-open .bootstrap-timepicker-widget {
+ z-index: 10055 !important;
+}
+
+.bootstrap-timepicker-widget.timepicker-orient-bottom:before,
+.bootstrap-timepicker-widget.timepicker-orient-bottom:after {
+ top: auto;
+}
+
+/***
+Bootstrap Datepicker
+***/
+
+.datepicker.dropdown-menu {
+ padding: 5px;
+}
+
+.datepicker .selected {
+ background-color:#909090 !important;
+ background-image: none !important;
+ filter: none !important;
+}
+
+.datepicker .active {
+ background-color:#4b8df8 !important;
+ background-image: none !important;
+ filter: none !important;
+}
+
+.datepicker .active:hover {
+ background-color: #2678FC !important;
+ background-image: none !important;
+ filter: none !important;
+}
+
+.datepicker .input-daterange input {
+ text-align: left;
+}
+
+/* change z-index when opened in modal */
+.modal-open .datepicker {
+ z-index: 10055 !important;
+}
+
+.datepicker table td {
+ font-weight: 300 !important;
+ font-family: 'Open Sans' !important;
+}
+
+.datepicker table th {
+ font-family: 'Open Sans' !important;
+ font-weight: 400 !important;
+}
+
+
+/***
+Clockface
+***/
+
+.modal-open .clockface {
+ z-index: 10055 !important;
+}
+
+.clockface .cell .inner.active,
+.clockface .cell .outer.active {
+ background-color:#4b8df8 !important;
+ background-image: none ;
+ filter:none ;
+}
+
+
+/***
+Bootstrap Daterangepicker
+***/
+
+.modal-open .daterangepicker {
+ z-index: 10055 !important;
+}
+
+.daterangepicker td {
+ text-shadow: none ;
+}
+
+.daterangepicker td.active {
+ background-color: #4b8df8 ;
+ background-image: none ;
+ filter:none ;
+}
+
+.daterangepicker th {
+ font-weight: 400;
+ font-size: 14px;
+}
+
+.daterangepicker .ranges input[type="text"] {
+ width: 70px !important;
+ font-size: 11px;
+ vertical-align: middle;
+}
+
+.daterangepicker .ranges label {
+ font-weight: 300;
+ display: block;
+}
+
+.daterangepicker .ranges .btn {
+ margin-top: 10px;
+}
+
+.daterangepicker.dropdown-menu {
+ padding: 5px;
+}
+
+.daterangepicker .ranges li {
+ color: #333;
+}
+
+.daterangepicker .ranges li.active,
+.daterangepicker .ranges li:hover {
+ background: #4b8df8 !important;
+ border: 1px solid #4b8df8 !important;
+ color: #fff;
+}
+
+.daterangepicker .range_inputs input {
+ margin-bottom: 0 !important;
+}
+
+/***
+Bootstrap Editable
+***/
+
+.editable-input table,
+.editable-input table th,
+.editable-input table td,
+.editable-input table tr {
+ border: 0 !important;
+}
+
+.editable-input .combodate select {
+ margin-bottom: 5px;
+}
+
+/***
+FuelUX Spinners
+***/
+
+.spinner-buttons.btn-group-vertical .btn {
+ text-align: center;
+ margin: 0;
+ height: 17px;
+ width: 22px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 0px;
+}
+
+
+/***
+NoUI Range Sliders
+***/
+.noUi-handle {
+ height: 20px;
+ width: 20px;
+ margin: -3px 0 0 -20px;
+}
+
+.noUi-base {
+ height: 16px;
+}
+
+.noUi-connect {
+ background: #ffb848;
+}
+
+/***
+Toastr Notifications
+***/
+.toast {
+ -webkit-box-shadow: none !important;
+ -moz-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.toast {
+ background-color: #030303;
+}
+.toast-success {
+ background-color: #51a351;
+}
+.toast-error {
+ background-color: #bd362f;
+}
+.toast-info {
+ background-color: #2f96b4;
+}
+.toast-warning {
+ background-color: #f89406;
+}
+
+.toast .toast-close-button {
+ display: inline-block;
+ margin-top: 0px;
+ margin-right: 0px;
+ text-indent: -100000px;
+ width: 11px;
+ height: 16px;
+ background-repeat: no-repeat !important;
+ background-image: url("/openoui/performance/image/portlet-remove-icon-white.png") !important;
+}
+
+.toast-top-center {
+ top: 12px;
+ margin: 0 auto;
+ left: 50%;
+ margin-left: -150px;
+}
+
+.toast-bottom-center {
+ bottom: 12px;
+ margin: 0 auto;
+ left: 50%;
+ margin-left: -150px;
+}
+
+/***
+Google reCaptcha
+***/
+.form-recaptcha-img {
+ margin-bottom: 10px;
+ clear: both;
+ border: 1px solid #e5e5e5;
+ padding: 5px;
+}
+
+iframe[src="about:blank"] {
+ display:none;
+}
+
+/***
+Bootstrap Markdown
+***/
+.md-input {
+ padding: 5px !important;
+ border-bottom: 0 !important;
+}
+
+.md-editor .btn-toolbar {
+ margin-left: 0px;
+}
+
+.md-editor.active {
+ border: 1px solid #999999;
+ -webkit-box-shadow: none !important;
+ -moz-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+/***
+Bootstrap Datepaginator
+***/
+.datepaginator a {
+ font-family: 'Open Sans';
+ font-size: 13px;
+ font-weight: 300;
+}
+
+.datepicker .today {
+ background-image: none !important;
+ filter: none !important;
+}
+
+#dp-calendar {
+ right: 4px !important;
+}
+
+/***
+Font Awesome 4.0 Demo
+***/
+.fa-item {
+ font-size: 14px;
+ padding: 10px 10px 10px 20px;
+}
+
+.fa-item i {
+ font-size: 16px;
+ display: inline-block;
+ width: 20px;
+}
+
+.fa-item:hover {
+ cursor: pointer;
+ background: #eee;
+}
+
+/***
+Bootstrap Modal
+***/
+/* fix: content shifting to the right on modal open */
+.modal-open.page-overflow .page-container,
+.modal-open.page-overflow .page-container .navbar-fixed-top,
+.modal-open.page-overflow .page-container .navbar-fixed-bottom,
+.modal-open.page-overflow .modal-scrollable {
+ overflow-y: auto !important;
+}
+
+.modal-scrollable {
+ overflow: hidden !important;
+}
+
+
+/***
+jQuery Notific8 Plugin
+***/
+
+.jquery-notific8-message {
+ font-size: 13px;
+}
+
+[class*="jquery-notific8"],
+[class*="jquery-notific8"]:after,
+[class*="jquery-notific8"]:before {
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+.right .jquery-notific8-close-sticky span,
+.left .jquery-notific8-close-sticky span {
+ font-size: 10px;
+}
+
+.jquery-notific8-heading {
+ font-weight: 300;
+ font-size: 16px;
+}
+
+/***
+jQuery File Upload
+***/
+
+.blueimp-gallery .close {
+ background-image: url("/openoui/performance/image/portlet-remove-icon-white.png") !important;
+ margin-top: -2px;
+}
+
+.blueimp-gallery .prev,
+.blueimp-gallery .next {
+ border-radius: 23px !important;
+}
+
+/***
+Bootstrap Switch
+***/
+
+.has-switch {
+ border-color: #e5e5e5;
+}
+
+.has-switch:focus {
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+/***
+Jstree
+***/
+
+.jstree-default .jstree-clicked {
+ border: 0;
+ background-color: #e1e1e1;
+ box-shadow:none;
+}
+
+.jstree-default .jstree-hovered {
+ border: 0;
+ background-color: #eee;
+ box-shadow:none;
+}
+
+.jstree-default .jstree-wholerow-clicked,
+.jstree-wholerow .jstree-wholerow-clicked {
+ background: none;
+ border: 0;
+ background-color: #e1e1e1;
+ box-shadow:none;
+}
+
+.jstree-default .jstree-wholerow-hovered,
+.jstree-wholerow .jstree-wholerow-hovered {
+ border: 0;
+ background-color: #eee;
+ box-shadow:none;
+}
+
+.jstree-icon.icon-lg {
+ margin-top: 1px;
+}
+
+.jstree-open > .jstree-anchor > .fa-folder:before {
+ margin-left: 2px;
+ content: "\f07c";
+}
+
+.jstree-default.jstree-rtl .jstree-last {
+ background: transparent;
+ background-repeat: no-repeat;
+}
+
+.vakata-context,
+.vakata-context ul {
+ padding: 0;
+ min-width: 125px;
+ background-color: #ffffff;
+ -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
+ -moz-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
+ font-size: 14px;
+ font-family: "Segoe UI",Helvetica, Arial, sans-serif;
+ border: 1px solid #ddd;
+}
+
+.vakata-context li a {
+ padding: 0 10px;
+}
+
+.vakata-context .vakata-context-hover > a,
+.vakata-context li a:hover {
+ background-color: #eee;
+ color: #333;
+ box-shadow: none;
+}
+
+.vakata-context li a span,
+.vakata-context li a ins {
+ display: none;
+}
+
+.vakata-context .vakata-context-separator a,
+.vakata-context-rtl .vakata-context-separator a {
+ margin: 0;
+}
+
+.jstree-rename-input {
+ background-color: #ffffff !important;
+ border: 1px solid #e5e5e5 !important;
+ outline: none !important;
+ padding: 2px 6px !important;
+ margin-right: -4px !important;
+}
+
+/***
+Bootstrap Select
+***/
+
+.bootstrap-select .btn {
+ border-color: #e5e5e5;
+}
+
+.bootstrap-select.open .btn1 {
+ border-color: #999999;
+}
+
+.bootstrap-select.open.dropup .btn1 {
+ border-color: #999999;
+}
+
+.bootstrap-select .btn:focus {
+ outline: none !important;
+ outline-offset: 0;
+}
+
+.bootstrap-select.btn-group .dropdown-menu {
+ margin-top: 1px;
+}
+
+.bootstrap-select.btn-group .dropdown-menu > li > dt > .text {
+ font-weight: 600;
+ font-family: 'Open Sans';
+ font-size: 14px;
+}
+
+.bootstrap-select.btn-group .dropdown-menu .text-muted {
+ color: #999 !important;
+}
+
+.bootstrap-select .caret {
+ border: 0;
+ width: auto;
+ height: auto;
+ margin-top: -10px !important;
+}
+
+.bootstrap-select .caret:before {
+ content: "\f107";
+ display: inline-block;
+ border: 0;
+ font-family: FontAwesome;
+ font-style: normal;
+ font-weight: normal;
+}
+
+.bootstrap-select .selected i {
+ color: #aaa;
+}
+
+/***
+Pace - Page Progress
+***/
+
+.pace .pace-progress {
+ z-index: 10000;
+ top: 40px;
+ height: 2px;
+}
+
+.pace .pace-progress-inner {
+ box-shadow: none;
+}
+
+.pace .pace-activity {
+ top: 44px;
+ right: 22px;
+ border-radius: 10px !important;
+}
+
+
+@media (max-width: 480px) {
+
+ .page-header-fixed .pace .pace-progress {
+ top: 82px;
+ }
+
+ .page-header-fixed .pace .pace-activity {
+ top: 88px;
+ right: 15px;
+ }
+
+}
diff --git a/performance/src/main/webapp/performance/css/pmQueryBox.css b/performance/src/main/webapp/performance/css/pmQueryBox.css
index 1fe3a5de..1fe3a5de 100644..100755
--- a/performance/src/main/webapp/performance/css/pmQueryBox.css
+++ b/performance/src/main/webapp/performance/css/pmQueryBox.css
diff --git a/performance/src/main/webapp/performance/i18n/web-alarm-i18n-en-US.properties b/performance/src/main/webapp/performance/i18n/web-alarm-i18n-en-US.properties
index d852b2c2..d852b2c2 100644..100755
--- a/performance/src/main/webapp/performance/i18n/web-alarm-i18n-en-US.properties
+++ b/performance/src/main/webapp/performance/i18n/web-alarm-i18n-en-US.properties
diff --git a/performance/src/main/webapp/performance/i18n/web-performance-i18n-en-US.properties b/performance/src/main/webapp/performance/i18n/web-performance-i18n-en-US.properties
index 691692e5..691692e5 100644..100755
--- a/performance/src/main/webapp/performance/i18n/web-performance-i18n-en-US.properties
+++ b/performance/src/main/webapp/performance/i18n/web-performance-i18n-en-US.properties
diff --git a/performance/src/main/webapp/performance/image/License.txt b/performance/src/main/webapp/performance/image/License.txt
index 8e698ecb..8e698ecb 100644..100755
--- a/performance/src/main/webapp/performance/image/License.txt
+++ b/performance/src/main/webapp/performance/image/License.txt
diff --git a/performance/src/main/webapp/performance/image/aos_view-fm.gif b/performance/src/main/webapp/performance/image/aos_view-fm.gif
index 7914b55a..7914b55a 100644..100755
--- a/performance/src/main/webapp/performance/image/aos_view-fm.gif
+++ b/performance/src/main/webapp/performance/image/aos_view-fm.gif
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/arrow.png b/performance/src/main/webapp/performance/image/arrow.png
index 5c66dd78..5c66dd78 100644..100755
--- a/performance/src/main/webapp/performance/image/arrow.png
+++ b/performance/src/main/webapp/performance/image/arrow.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/chart_icon.png b/performance/src/main/webapp/performance/image/chart_icon.png
index f4fbc311..f4fbc311 100644..100755
--- a/performance/src/main/webapp/performance/image/chart_icon.png
+++ b/performance/src/main/webapp/performance/image/chart_icon.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/datatable-row-openclose.png b/performance/src/main/webapp/performance/image/datatable-row-openclose.png
new file mode 100755
index 00000000..8ec9e976
--- /dev/null
+++ b/performance/src/main/webapp/performance/image/datatable-row-openclose.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/delete.png b/performance/src/main/webapp/performance/image/delete.png
index 5947c7c9..5947c7c9 100644..100755
--- a/performance/src/main/webapp/performance/image/delete.png
+++ b/performance/src/main/webapp/performance/image/delete.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/details_close.png b/performance/src/main/webapp/performance/image/details_close.png
index e6281bae..e6281bae 100644..100755
--- a/performance/src/main/webapp/performance/image/details_close.png
+++ b/performance/src/main/webapp/performance/image/details_close.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/details_open.png b/performance/src/main/webapp/performance/image/details_open.png
index 5bf4389c..5bf4389c 100644..100755
--- a/performance/src/main/webapp/performance/image/details_open.png
+++ b/performance/src/main/webapp/performance/image/details_open.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/down.png b/performance/src/main/webapp/performance/image/down.png
index f7732ba8..f7732ba8 100644..100755
--- a/performance/src/main/webapp/performance/image/down.png
+++ b/performance/src/main/webapp/performance/image/down.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/filter.png b/performance/src/main/webapp/performance/image/filter.png
index d7600c8b..d7600c8b 100644..100755
--- a/performance/src/main/webapp/performance/image/filter.png
+++ b/performance/src/main/webapp/performance/image/filter.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/portlet-remove-icon-white.png b/performance/src/main/webapp/performance/image/portlet-remove-icon-white.png
new file mode 100755
index 00000000..ddc6d2c1
--- /dev/null
+++ b/performance/src/main/webapp/performance/image/portlet-remove-icon-white.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/statistics.png b/performance/src/main/webapp/performance/image/statistics.png
index 8be1db19..8be1db19 100644..100755
--- a/performance/src/main/webapp/performance/image/statistics.png
+++ b/performance/src/main/webapp/performance/image/statistics.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/table_icon.png b/performance/src/main/webapp/performance/image/table_icon.png
index 4a7be176..4a7be176 100644..100755
--- a/performance/src/main/webapp/performance/image/table_icon.png
+++ b/performance/src/main/webapp/performance/image/table_icon.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/image/up.png b/performance/src/main/webapp/performance/image/up.png
index 8bd53741..8bd53741 100644..100755
--- a/performance/src/main/webapp/performance/image/up.png
+++ b/performance/src/main/webapp/performance/image/up.png
Binary files differ
diff --git a/performance/src/main/webapp/performance/js/aes.js b/performance/src/main/webapp/performance/js/aes.js
new file mode 100755
index 00000000..a5dc52b2
--- /dev/null
+++ b/performance/src/main/webapp/performance/js/aes.js
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2016, CMCC Technologies Co., Ltd.
+ *
+ * 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 CryptoJS=CryptoJS||function(u,p){var d={},l=d.lib={},s=function(){},t=l.Base={extend:function(a){s.prototype=this;var c=new s;a&&c.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);a.hasOwnProperty("toString")&&(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},
+r=l.WordArray=t.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=p?c:4*a.length},toString:function(a){return(a||v).stringify(this)},concat:function(a){var c=this.words,e=a.words,j=this.sigBytes;a=a.sigBytes;this.clamp();if(j%4)for(var k=0;k<a;k++)c[j+k>>>2]|=(e[k>>>2]>>>24-8*(k%4)&255)<<24-8*((j+k)%4);else if(65535<e.length)for(k=0;k<a;k+=4)c[j+k>>>2]=e[k>>>2];else c.push.apply(c,e);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c>>>2]&=4294967295<<
+32-8*(c%4);a.length=u.ceil(c/4)},clone:function(){var a=t.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],e=0;e<a;e+=4)c.push(4294967296*u.random()|0);return new r.init(c,a)}}),w=d.enc={},v=w.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++){var k=c[j>>>2]>>>24-8*(j%4)&255;e.push((k>>>4).toString(16));e.push((k&15).toString(16))}return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j+=2)e[j>>>3]|=parseInt(a.substr(j,
+2),16)<<24-4*(j%8);return new r.init(e,c/2)}},b=w.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;j<a;j++)e.push(String.fromCharCode(c[j>>>2]>>>24-8*(j%4)&255));return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;j<c;j++)e[j>>>2]|=(a.charCodeAt(j)&255)<<24-8*(j%4);return new r.init(e,c)}},x=w.Utf8={stringify:function(a){try{return decodeURIComponent(escape(b.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return b.parse(unescape(encodeURIComponent(a)))}},
+q=l.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new r.init;this._nDataBytes=0},_append:function(a){"string"==typeof a&&(a=x.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,e=c.words,j=c.sigBytes,k=this.blockSize,b=j/(4*k),b=a?u.ceil(b):u.max((b|0)-this._minBufferSize,0);a=b*k;j=u.min(4*a,j);if(a){for(var q=0;q<a;q+=k)this._doProcessBlock(e,q);q=e.splice(0,a);c.sigBytes-=j}return new r.init(q,j)},clone:function(){var a=t.clone.call(this);
+a._data=this._data.clone();return a},_minBufferSize:0});l.Hasher=q.extend({cfg:t.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){q.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){a&&this._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,e){return(new a.init(e)).finalize(b)}},_createHmacHelper:function(a){return function(b,e){return(new n.HMAC.init(a,
+e)).finalize(b)}}});var n=d.algo={};return d}(Math);
+(function(){var u=CryptoJS,p=u.lib.WordArray;u.enc.Base64={stringify:function(d){var l=d.words,p=d.sigBytes,t=this._map;d.clamp();d=[];for(var r=0;r<p;r+=3)for(var w=(l[r>>>2]>>>24-8*(r%4)&255)<<16|(l[r+1>>>2]>>>24-8*((r+1)%4)&255)<<8|l[r+2>>>2]>>>24-8*((r+2)%4)&255,v=0;4>v&&r+0.75*v<p;v++)d.push(t.charAt(w>>>6*(3-v)&63));if(l=t.charAt(64))for(;d.length%4;)d.push(l);return d.join("")},parse:function(d){var l=d.length,s=this._map,t=s.charAt(64);t&&(t=d.indexOf(t),-1!=t&&(l=t));for(var t=[],r=0,w=0;w<
+l;w++)if(w%4){var v=s.indexOf(d.charAt(w-1))<<2*(w%4),b=s.indexOf(d.charAt(w))>>>6-2*(w%4);t[r>>>2]|=(v|b)<<24-8*(r%4);r++}return p.create(t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();
+(function(u){function p(b,n,a,c,e,j,k){b=b+(n&a|~n&c)+e+k;return(b<<j|b>>>32-j)+n}function d(b,n,a,c,e,j,k){b=b+(n&c|a&~c)+e+k;return(b<<j|b>>>32-j)+n}function l(b,n,a,c,e,j,k){b=b+(n^a^c)+e+k;return(b<<j|b>>>32-j)+n}function s(b,n,a,c,e,j,k){b=b+(a^(n|~c))+e+k;return(b<<j|b>>>32-j)+n}for(var t=CryptoJS,r=t.lib,w=r.WordArray,v=r.Hasher,r=t.algo,b=[],x=0;64>x;x++)b[x]=4294967296*u.abs(u.sin(x+1))|0;r=r.MD5=v.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878])},
+_doProcessBlock:function(q,n){for(var a=0;16>a;a++){var c=n+a,e=q[c];q[c]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360}var a=this._hash.words,c=q[n+0],e=q[n+1],j=q[n+2],k=q[n+3],z=q[n+4],r=q[n+5],t=q[n+6],w=q[n+7],v=q[n+8],A=q[n+9],B=q[n+10],C=q[n+11],u=q[n+12],D=q[n+13],E=q[n+14],x=q[n+15],f=a[0],m=a[1],g=a[2],h=a[3],f=p(f,m,g,h,c,7,b[0]),h=p(h,f,m,g,e,12,b[1]),g=p(g,h,f,m,j,17,b[2]),m=p(m,g,h,f,k,22,b[3]),f=p(f,m,g,h,z,7,b[4]),h=p(h,f,m,g,r,12,b[5]),g=p(g,h,f,m,t,17,b[6]),m=p(m,g,h,f,w,22,b[7]),
+f=p(f,m,g,h,v,7,b[8]),h=p(h,f,m,g,A,12,b[9]),g=p(g,h,f,m,B,17,b[10]),m=p(m,g,h,f,C,22,b[11]),f=p(f,m,g,h,u,7,b[12]),h=p(h,f,m,g,D,12,b[13]),g=p(g,h,f,m,E,17,b[14]),m=p(m,g,h,f,x,22,b[15]),f=d(f,m,g,h,e,5,b[16]),h=d(h,f,m,g,t,9,b[17]),g=d(g,h,f,m,C,14,b[18]),m=d(m,g,h,f,c,20,b[19]),f=d(f,m,g,h,r,5,b[20]),h=d(h,f,m,g,B,9,b[21]),g=d(g,h,f,m,x,14,b[22]),m=d(m,g,h,f,z,20,b[23]),f=d(f,m,g,h,A,5,b[24]),h=d(h,f,m,g,E,9,b[25]),g=d(g,h,f,m,k,14,b[26]),m=d(m,g,h,f,v,20,b[27]),f=d(f,m,g,h,D,5,b[28]),h=d(h,f,
+m,g,j,9,b[29]),g=d(g,h,f,m,w,14,b[30]),m=d(m,g,h,f,u,20,b[31]),f=l(f,m,g,h,r,4,b[32]),h=l(h,f,m,g,v,11,b[33]),g=l(g,h,f,m,C,16,b[34]),m=l(m,g,h,f,E,23,b[35]),f=l(f,m,g,h,e,4,b[36]),h=l(h,f,m,g,z,11,b[37]),g=l(g,h,f,m,w,16,b[38]),m=l(m,g,h,f,B,23,b[39]),f=l(f,m,g,h,D,4,b[40]),h=l(h,f,m,g,c,11,b[41]),g=l(g,h,f,m,k,16,b[42]),m=l(m,g,h,f,t,23,b[43]),f=l(f,m,g,h,A,4,b[44]),h=l(h,f,m,g,u,11,b[45]),g=l(g,h,f,m,x,16,b[46]),m=l(m,g,h,f,j,23,b[47]),f=s(f,m,g,h,c,6,b[48]),h=s(h,f,m,g,w,10,b[49]),g=s(g,h,f,m,
+E,15,b[50]),m=s(m,g,h,f,r,21,b[51]),f=s(f,m,g,h,u,6,b[52]),h=s(h,f,m,g,k,10,b[53]),g=s(g,h,f,m,B,15,b[54]),m=s(m,g,h,f,e,21,b[55]),f=s(f,m,g,h,v,6,b[56]),h=s(h,f,m,g,x,10,b[57]),g=s(g,h,f,m,t,15,b[58]),m=s(m,g,h,f,D,21,b[59]),f=s(f,m,g,h,z,6,b[60]),h=s(h,f,m,g,C,10,b[61]),g=s(g,h,f,m,j,15,b[62]),m=s(m,g,h,f,A,21,b[63]);a[0]=a[0]+f|0;a[1]=a[1]+m|0;a[2]=a[2]+g|0;a[3]=a[3]+h|0},_doFinalize:function(){var b=this._data,n=b.words,a=8*this._nDataBytes,c=8*b.sigBytes;n[c>>>5]|=128<<24-c%32;var e=u.floor(a/
+4294967296);n[(c+64>>>9<<4)+15]=(e<<8|e>>>24)&16711935|(e<<24|e>>>8)&4278255360;n[(c+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360;b.sigBytes=4*(n.length+1);this._process();b=this._hash;n=b.words;for(a=0;4>a;a++)c=n[a],n[a]=(c<<8|c>>>24)&16711935|(c<<24|c>>>8)&4278255360;return b},clone:function(){var b=v.clone.call(this);b._hash=this._hash.clone();return b}});t.MD5=v._createHelper(r);t.HmacMD5=v._createHmacHelper(r)})(Math);
+(function(){var u=CryptoJS,p=u.lib,d=p.Base,l=p.WordArray,p=u.algo,s=p.EvpKDF=d.extend({cfg:d.extend({keySize:4,hasher:p.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,r){for(var p=this.cfg,s=p.hasher.create(),b=l.create(),u=b.words,q=p.keySize,p=p.iterations;u.length<q;){n&&s.update(n);var n=s.update(d).finalize(r);s.reset();for(var a=1;a<p;a++)n=s.finalize(n),s.reset();b.concat(n)}b.sigBytes=4*q;return b}});u.EvpKDF=function(d,l,p){return s.create(p).compute(d,
+l)}})();
+CryptoJS.lib.Cipher||function(u){var p=CryptoJS,d=p.lib,l=d.Base,s=d.WordArray,t=d.BufferedBlockAlgorithm,r=p.enc.Base64,w=p.algo.EvpKDF,v=d.Cipher=t.extend({cfg:l.extend(),createEncryptor:function(e,a){return this.create(this._ENC_XFORM_MODE,e,a)},createDecryptor:function(e,a){return this.create(this._DEC_XFORM_MODE,e,a)},init:function(e,a,b){this.cfg=this.cfg.extend(b);this._xformMode=e;this._key=a;this.reset()},reset:function(){t.reset.call(this);this._doReset()},process:function(e){this._append(e);return this._process()},
+finalize:function(e){e&&this._append(e);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(b,k,d){return("string"==typeof k?c:a).encrypt(e,b,k,d)},decrypt:function(b,k,d){return("string"==typeof k?c:a).decrypt(e,b,k,d)}}}});d.StreamCipher=v.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var b=p.mode={},x=function(e,a,b){var c=this._iv;c?this._iv=u:c=this._prevBlock;for(var d=0;d<b;d++)e[a+d]^=
+c[d]},q=(d.BlockCipherMode=l.extend({createEncryptor:function(e,a){return this.Encryptor.create(e,a)},createDecryptor:function(e,a){return this.Decryptor.create(e,a)},init:function(e,a){this._cipher=e;this._iv=a}})).extend();q.Encryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize;x.call(this,e,a,c);b.encryptBlock(e,a);this._prevBlock=e.slice(a,a+c)}});q.Decryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize,d=e.slice(a,a+c);b.decryptBlock(e,a);x.call(this,
+e,a,c);this._prevBlock=d}});b=b.CBC=q;q=(p.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c<<24|c<<16|c<<8|c,l=[],n=0;n<c;n+=4)l.push(d);c=s.create(l,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-1>>>2]&255}};d.BlockCipher=v.extend({cfg:v.cfg.extend({mode:b,padding:q}),reset:function(){v.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a,
+this,b&&b.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var n=d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),b=(p.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;a=a.salt;return(a?s.create([1398893684,
+1701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){a=r.parse(a);var b=a.words;if(1398893684==b[0]&&1701076831==b[1]){var c=s.create(b.slice(2,4));b.splice(0,4);a.sigBytes-=16}return n.create({ciphertext:a,salt:c})}},a=d.SerializableCipher=l.extend({cfg:l.extend({format:b}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var l=a.createEncryptor(c,d);b=l.finalize(b);l=l.cfg;return n.create({ciphertext:b,key:c,iv:l.iv,algorithm:a,mode:l.mode,padding:l.padding,blockSize:a.blockSize,formatter:d.format})},
+decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=s.random(8));a=w.create({keySize:b+c}).compute(a,d);c=s.create(a.words.slice(b),4*c);a.sigBytes=4*b;return n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){l=this.cfg.extend(l);d=l.kdf.execute(d,
+b.keySize,b.ivSize);l.iv=d.iv;b=a.encrypt.call(this,b,c,d.key,l);b.mixIn(d);return b},decrypt:function(b,c,d,l){l=this.cfg.extend(l);c=this._parse(c,l.format);d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt);l.iv=d.iv;return a.decrypt.call(this,b,c,d.key,l)}})}();
+(function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v=[],b=[],x=[],q=[],n=[],a=[],c=0;256>c;c++)a[c]=128>c?c<<1:c<<1^283;for(var e=0,j=0,c=0;256>c;c++){var k=j^j<<1^j<<2^j<<3^j<<4,k=k>>>8^k&255^99;l[e]=k;s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y<<24|y>>>8;r[e]=y<<16|y>>>16;w[e]=y<<8|y>>>24;v[e]=y;y=16843009*G^65537*F^257*z^16843008*e;b[k]=y<<24|y>>>8;x[k]=y<<16|y>>>16;q[k]=y<<8|y>>>24;n[k]=y;e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8,
+16,32,64,128,27,54],d=d.AES=p.extend({_doReset:function(){for(var a=this._key,c=a.words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;j<a;j++)if(j<d)e[j]=c[j];else{var k=e[j-1];j%d?6<d&&4==j%d&&(k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255]):(k=k<<8|k>>>24,k=l[k>>>24]<<24|l[k>>>16&255]<<16|l[k>>>8&255]<<8|l[k&255],k^=H[j/d|0]<<24);e[j]=e[j-d]^k}c=this._invKeySchedule=[];for(d=0;d<a;d++)j=a-d,k=d%4?e[j]:e[j-4],c[d]=4>d||4>=j?k:b[l[k>>>24]]^x[l[k>>>16&255]]^q[l[k>>>
+8&255]]^n[l[k&255]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3];a[c+3]=d;this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s);d=a[c+1];a[c+1]=a[c+3];a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;r<m;r++)var q=d[g>>>24]^e[h>>>16&255]^j[k>>>8&255]^l[n&255]^c[p++],s=d[h>>>24]^e[k>>>16&255]^j[n>>>8&255]^l[g&255]^c[p++],t=
+d[k>>>24]^e[n>>>16&255]^j[g>>>8&255]^l[h&255]^c[p++],n=d[n>>>24]^e[g>>>16&255]^j[h>>>8&255]^l[k&255]^c[p++],g=q,h=s,k=t;q=(f[g>>>24]<<24|f[h>>>16&255]<<16|f[k>>>8&255]<<8|f[n&255])^c[p++];s=(f[h>>>24]<<24|f[k>>>16&255]<<16|f[n>>>8&255]<<8|f[g&255])^c[p++];t=(f[k>>>24]<<24|f[n>>>16&255]<<16|f[g>>>8&255]<<8|f[h&255])^c[p++];n=(f[n>>>24]<<24|f[g>>>16&255]<<16|f[h>>>8&255]<<8|f[k&255])^c[p++];a[b]=q;a[b+1]=s;a[b+2]=t;a[b+3]=n},keySize:8});u.AES=p._createHelper(d)})();
diff --git a/performance/src/main/webapp/performance/js/alarmConds.js b/performance/src/main/webapp/performance/js/alarmConds.js
index 7d79fb1b..7d79fb1b 100644..100755
--- a/performance/src/main/webapp/performance/js/alarmConds.js
+++ b/performance/src/main/webapp/performance/js/alarmConds.js
diff --git a/performance/src/main/webapp/performance/js/alarmsServerPageTable.js b/performance/src/main/webapp/performance/js/alarmsServerPageTable.js
index c5c9ec3e..c5c9ec3e 100644..100755
--- a/performance/src/main/webapp/performance/js/alarmsServerPageTable.js
+++ b/performance/src/main/webapp/performance/js/alarmsServerPageTable.js
diff --git a/performance/src/main/webapp/performance/js/alarmsUtil.js b/performance/src/main/webapp/performance/js/alarmsUtil.js
index e9504bf0..e9504bf0 100644..100755
--- a/performance/src/main/webapp/performance/js/alarmsUtil.js
+++ b/performance/src/main/webapp/performance/js/alarmsUtil.js
diff --git a/performance/src/main/webapp/performance/js/commonUtil.js b/performance/src/main/webapp/performance/js/commonUtil.js
index 912445f2..912445f2 100644..100755
--- a/performance/src/main/webapp/performance/js/commonUtil.js
+++ b/performance/src/main/webapp/performance/js/commonUtil.js
diff --git a/performance/src/main/webapp/performance/js/curAlarmsController.js b/performance/src/main/webapp/performance/js/curAlarmsController.js
index 33248e63..33248e63 100644..100755
--- a/performance/src/main/webapp/performance/js/curAlarmsController.js
+++ b/performance/src/main/webapp/performance/js/curAlarmsController.js
diff --git a/performance/src/main/webapp/performance/js/framework-util.js b/performance/src/main/webapp/performance/js/framework-util.js
new file mode 100755
index 00000000..8939a281
--- /dev/null
+++ b/performance/src/main/webapp/performance/js/framework-util.js
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2016, CMCC Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+function ict_framework_func1(word){
+ var a1 = CryptoJS.enc.Utf8.parse(ict_framework_aes_a1);
+ var a2 = CryptoJS.enc.Utf8.parse(ict_framework_aes_a2);
+ var srcs = CryptoJS.enc.Utf8.parse(word);
+ var encrypted = CryptoJS.AES.encrypt(srcs, a1, { iv: a2,mode:CryptoJS.mode.CBC});
+ return encrypted.toString();
+}
+
+function ict_framework_func2(word){
+ var a1 = CryptoJS.enc.Utf8.parse(ict_framework_aes_a1);
+ var a2 = CryptoJS.enc.Utf8.parse(ict_framework_aes_a2);
+ var decrypt = CryptoJS.AES.decrypt(word, a1, { iv: a2,mode:CryptoJS.mode.CBC});
+ return CryptoJS.enc.Utf8.stringify(decrypt).toString();
+}
+
+
+
+
+
+
+
+var ict_framework_aes_a1 = "9763853428462486";
+var ict_framework_aes_a2 = "9763853428462486"; \ No newline at end of file
diff --git a/performance/src/main/webapp/performance/js/json2.js b/performance/src/main/webapp/performance/js/json2.js
new file mode 100755
index 00000000..a281d22c
--- /dev/null
+++ b/performance/src/main/webapp/performance/js/json2.js
@@ -0,0 +1,341 @@
+/*
+ * Copyright 2016, CMCC Technologies Co., Ltd.
+ *
+ * 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.
+ */
+
+if (typeof JSON !== 'object') {
+ JSON = {};
+}
+
+(function () {
+ 'use strict';
+
+ function f(n) {
+ // Format integers to have at least two digits.
+ return n < 10 ? '0' + n : n;
+ }
+
+ if (typeof Date.prototype.toJSON !== 'function') {
+
+ Date.prototype.toJSON = function (key) {
+
+ return isFinite(this.valueOf())
+ ? this.getUTCFullYear() + '-' +
+ f(this.getUTCMonth() + 1) + '-' +
+ f(this.getUTCDate()) + 'T' +
+ f(this.getUTCHours()) + ':' +
+ f(this.getUTCMinutes()) + ':' +
+ f(this.getUTCSeconds()) + 'Z'
+ : null;
+ };
+
+ String.prototype.toJSON =
+ Number.prototype.toJSON =
+ Boolean.prototype.toJSON = function (key) {
+ return this.valueOf();
+ };
+ }
+
+ var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
+ escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
+ gap,
+ indent,
+ meta = { // table of character substitutions
+ '\b': '\\b',
+ '\t': '\\t',
+ '\n': '\\n',
+ '\f': '\\f',
+ '\r': '\\r',
+ '"' : '\\"',
+ '\\': '\\\\'
+ },
+ rep;
+
+
+ function quote(string) {
+
+// If the string contains no control characters, no quote characters, and no
+// backslash characters, then we can safely slap some quotes around it.
+// Otherwise we must also replace the offending characters with safe escape
+// sequences.
+
+ escapable.lastIndex = 0;
+ return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
+ var c = meta[a];
+ return typeof c === 'string'
+ ? c
+ : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
+ }) + '"' : '"' + string + '"';
+ }
+
+
+ function str(key, holder) {
+
+// Produce a string from holder[key].
+
+ var i, // The loop counter.
+ k, // The member key.
+ v, // The member value.
+ length,
+ mind = gap,
+ partial,
+ value = holder[key];
+
+// If the value has a toJSON method, call it to obtain a replacement value.
+
+ if (value && typeof value === 'object' &&
+ typeof value.toJSON === 'function') {
+ value = value.toJSON(key);
+ }
+
+// If we were called with a replacer function, then call the replacer to
+// obtain a replacement value.
+
+ if (typeof rep === 'function') {
+ value = rep.call(holder, key, value);
+ }
+
+// What happens next depends on the value's type.
+
+ switch (typeof value) {
+ case 'string':
+ return quote(value);
+
+ case 'number':
+
+// JSON numbers must be finite. Encode non-finite numbers as null.
+
+ return isFinite(value) ? String(value) : 'null';
+
+ case 'boolean':
+ case 'null':
+
+// If the value is a boolean or null, convert it to a string. Note:
+// typeof null does not produce 'null'. The case is included here in
+// the remote chance that this gets fixed someday.
+
+ return String(value);
+
+// If the type is 'object', we might be dealing with an object or an array or
+// null.
+
+ case 'object':
+
+// Due to a specification blunder in ECMAScript, typeof null is 'object',
+// so watch out for that case.
+
+ if (!value) {
+ return 'null';
+ }
+
+// Make an array to hold the partial results of stringifying this object value.
+
+ gap += indent;
+ partial = [];
+
+// Is the value an array?
+
+ if (Object.prototype.toString.apply(value) === '[object Array]') {
+
+// The value is an array. Stringify every element. Use null as a placeholder
+// for non-JSON values.
+
+ length = value.length;
+ for (i = 0; i < length; i += 1) {
+ partial[i] = str(i, value) || 'null';
+ }
+
+// Join all of the elements together, separated with commas, and wrap them in
+// brackets.
+
+ v = partial.length === 0
+ ? '[]'
+ : gap
+ ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
+ : '[' + partial.join(',') + ']';
+ gap = mind;
+ return v;
+ }
+
+// If the replacer is an array, use it to select the members to be stringified.
+
+ if (rep && typeof rep === 'object') {
+ length = rep.length;
+ for (i = 0; i < length; i += 1) {
+ if (typeof rep[i] === 'string') {
+ k = rep[i];
+ v = str(k, value);
+ if (v) {
+ partial.push(quote(k) + (gap ? ': ' : ':') + v);
+ }
+ }
+ }
+ } else {
+
+// Otherwise, iterate through all of the keys in the object.
+
+ for (k in value) {
+ if (Object.prototype.hasOwnProperty.call(value, k)) {
+ v = str(k, value);
+ if (v) {
+ partial.push(quote(k) + (gap ? ': ' : ':') + v);
+ }
+ }
+ }
+ }
+
+// Join all of the member texts together, separated with commas,
+// and wrap them in braces.
+
+ v = partial.length === 0
+ ? '{}'
+ : gap
+ ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
+ : '{' + partial.join(',') + '}';
+ gap = mind;
+ return v;
+ }
+ }
+
+// If the JSON object does not yet have a stringify method, give it one.
+
+ if (typeof JSON.stringify !== 'function') {
+ JSON.stringify = function (value, replacer, space) {
+
+// The stringify method takes a value and an optional replacer, and an optional
+// space parameter, and returns a JSON text. The replacer can be a function
+// that can replace values, or an array of strings that will select the keys.
+// A default replacer method can be provided. Use of the space parameter can
+// produce text that is more easily readable.
+
+ var i;
+ gap = '';
+ indent = '';
+
+// If the space parameter is a number, make an indent string containing that
+// many spaces.
+
+ if (typeof space === 'number') {
+ for (i = 0; i < space; i += 1) {
+ indent += ' ';
+ }
+
+// If the space parameter is a string, it will be used as the indent string.
+
+ } else if (typeof space === 'string') {
+ indent = space;
+ }
+
+// If there is a replacer, it must be a function or an array.
+// Otherwise, throw an error.
+
+ rep = replacer;
+ if (replacer && typeof replacer !== 'function' &&
+ (typeof replacer !== 'object' ||
+ typeof replacer.length !== 'number')) {
+ throw new Error('JSON.stringify');
+ }
+
+// Make a fake root object containing our value under the key of ''.
+// Return the result of stringifying the value.
+
+ return str('', {'': value});
+ };
+ }
+
+
+// If the JSON object does not yet have a parse method, give it one.
+
+ if (typeof JSON.parse !== 'function') {
+ JSON.parse = function (text, reviver) {
+
+// The parse method takes a text and an optional reviver function, and returns
+// a JavaScript value if the text is a valid JSON text.
+
+ var j;
+
+ function walk(holder, key) {
+
+// The walk method is used to recursively walk the resulting structure so
+// that modifications can be made.
+
+ var k, v, value = holder[key];
+ if (value && typeof value === 'object') {
+ for (k in value) {
+ if (Object.prototype.hasOwnProperty.call(value, k)) {
+ v = walk(value, k);
+ if (v !== undefined) {
+ value[k] = v;
+ } else {
+ delete value[k];
+ }
+ }
+ }
+ }
+ return reviver.call(holder, key, value);
+ }
+
+
+// Parsing happens in four stages. In the first stage, we replace certain
+// Unicode characters with escape sequences. JavaScript handles many characters
+// incorrectly, either silently deleting them, or treating them as line endings.
+
+ text = String(text);
+ cx.lastIndex = 0;
+ if (cx.test(text)) {
+ text = text.replace(cx, function (a) {
+ return '\\u' +
+ ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
+ });
+ }
+
+// In the second stage, we run the text against regular expressions that look
+// for non-JSON patterns. We are especially concerned with '()' and 'new'
+// because they can cause invocation, and '=' because it can cause mutation.
+// But just to be safe, we want to reject all unexpected forms.
+
+// We split the second stage into 4 regexp operations in order to work around
+// crippling inefficiencies in IE's and Safari's regexp engines. First we
+// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
+// replace all simple value tokens with ']' characters. Third, we delete all
+// open brackets that follow a colon or comma or that begin the text. Finally,
+// we look to see that the remaining characters are only whitespace or ']' or
+// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
+
+ if (/^[\],:{}\s]*$/
+ .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
+ .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
+ .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
+
+// In the third stage we use the eval function to compile the text into a
+// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
+// in JavaScript: it can begin a block or an object literal. We wrap the text
+// in parens to eliminate the ambiguity.
+
+ j = eval('(' + text + ')');
+
+// In the optional fourth stage, we recursively walk the new structure, passing
+// each name/value pair to a reviver function for possible transformation.
+
+ return typeof reviver === 'function'
+ ? walk({'': j}, '')
+ : j;
+ }
+
+// If the text is not JSON parseable, then a SyntaxError is thrown.
+
+ throw new SyntaxError('JSON.parse');
+ };
+ }
+}());
diff --git a/performance/src/main/webapp/performance/js/loadi18n.js b/performance/src/main/webapp/performance/js/loadi18n.js
new file mode 100755
index 00000000..e34794e3
--- /dev/null
+++ b/performance/src/main/webapp/performance/js/loadi18n.js
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2016, CMCC Technologies Co., Ltd.
+ *
+ * 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 lang = 'en-US';
+
+function loadProperties(propertiesFileName, propertiesFilePath , name_i18n) {
+ jQuery.i18n.properties({
+ language:lang,
+ name:propertiesFileName,
+ path:propertiesFilePath,
+ mode:'map',
+ callback: function() {
+ var i18nItems = $('[name_i18n='+ name_i18n + ']');
+ for (var i = 0; i < i18nItems.length; i++) {
+ var $item = $(i18nItems.eq(i));
+ var itemId = $item.attr('id');
+ var itemValue = $.i18n.prop(itemId);
+ if (itemValue.indexOf(';') > 0) {
+ itemValue = itemValue.replace(';', '');
+ }
+ if (/[\'\"]/.test(itemValue)) {
+ itemValue = itemValue.replace(/\"/g,'');
+ itemValue = itemValue.replace(/\'/g,'');
+ }
+ if (typeof($item.attr("title")) != "undefined") {
+ $item.attr("title", itemValue);
+ } else if (typeof($item.attr("placeholder")) != "undefined") {
+ $item.attr("placeholder", itemValue);
+ } else {
+ $item.text(itemValue);
+ }
+ }
+ }
+ });
+}
+
+function loadi18n_WebFramework(propertiesFileName, propertiesFilePath, name_i18n) {
+ loadProperties(propertiesFileName, propertiesFilePath, name_i18n);
+}
+
diff --git a/performance/src/main/webapp/performance/js/performanceChart.js b/performance/src/main/webapp/performance/js/performanceChart.js
index c7db2137..c7db2137 100644..100755
--- a/performance/src/main/webapp/performance/js/performanceChart.js
+++ b/performance/src/main/webapp/performance/js/performanceChart.js
diff --git a/performance/src/main/webapp/performance/js/performanceQueryController.js b/performance/src/main/webapp/performance/js/performanceQueryController.js
index 50dc3a89..50dc3a89 100644..100755
--- a/performance/src/main/webapp/performance/js/performanceQueryController.js
+++ b/performance/src/main/webapp/performance/js/performanceQueryController.js
diff --git a/performance/src/main/webapp/performance/js/pmUtil.js b/performance/src/main/webapp/performance/js/pmUtil.js
index 25fd0459..25fd0459 100644..100755
--- a/performance/src/main/webapp/performance/js/pmUtil.js
+++ b/performance/src/main/webapp/performance/js/pmUtil.js
diff --git a/performance/src/main/webapp/performance/js/serverPageTable.js b/performance/src/main/webapp/performance/js/serverPageTable.js
index 6503e8e6..6503e8e6 100644..100755
--- a/performance/src/main/webapp/performance/js/serverPageTable.js
+++ b/performance/src/main/webapp/performance/js/serverPageTable.js
diff --git a/performance/src/main/webapp/performance/performance_query_rule.html b/performance/src/main/webapp/performance/performance_query_rule.html
index 95dc8a9b..95dc8a9b 100644..100755
--- a/performance/src/main/webapp/performance/performance_query_rule.html
+++ b/performance/src/main/webapp/performance/performance_query_rule.html
diff --git a/performance/src/main/webapp/performance/performance_view.html b/performance/src/main/webapp/performance/performance_view.html
index 3df25bdf..9cda55af 100644..100755
--- a/performance/src/main/webapp/performance/performance_view.html
+++ b/performance/src/main/webapp/performance/performance_view.html
@@ -17,17 +17,17 @@
<html>
<head>
<meta charset="UTF-8">
- <link href="../common/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" id="font_awesome"/>
- <link href="../common/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
- <link href="../common/thirdparty/uniform/css/uniform.default.css" rel="stylesheet"/>
- <link href="../common/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css">
- <link href="../common/thirdparty/bootstrap-daterangepicker/daterangepicker-bs3.css" rel="stylesheet">
- <link href="../common/css/plugins.css" rel="stylesheet" type="text/css">
- <link href="../common/css/ZteIctIcons/style.css" rel="stylesheet" type="text/css"/>
- <link href="../common/css/ngict-component.css" rel="stylesheet" type="text/css">
- <link href="css/pmQueryBox.css" rel="stylesheet" type="text/css">
- <link href="css/performanceQuery.css" rel="stylesheet" type="text/css"/>
- <link href="css/performanceChart.css" rel="stylesheet" type="text/css"/>
+ <link href="/openoui/thirdparty/font-awesome/css/font-awesome.min.css" rel="stylesheet" id="font_awesome"/>
+ <link href="/openoui/thirdparty/bootstrap/css/bootstrap.min.css" rel="stylesheet"/>
+ <link href="/openoui/thirdparty/uniform/css/uniform.default.css" rel="stylesheet"/>
+ <link href="/openoui/thirdparty/zTree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/thirdparty/bootstrap-daterangepicker/daterangepicker-bs3.css" rel="stylesheet">
+ <link href="/openoui/performance/css/plugins.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/monitor/css/style.css" rel="stylesheet" type="text/css"/>
+ <link href="/openoui/monitor/css/ngict-component.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/performance/css/pmQueryBox.css" rel="stylesheet" type="text/css">
+ <link href="/openoui/performance/css/performanceQuery.css" rel="stylesheet" type="text/css"/>
+ <link href="/openoui/performance/css/performanceChart.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div ms-controller="pmQueryController" class="ms-controller">
@@ -72,21 +72,21 @@
</div>
<div class="row-fluid separator">
<div ms-visible="boxVisible" class="col-xs-12" style="margin-top: 10px;">
- <a href="#" id="upArrow" ms-click="clickDisplayGraphAlink()"><img src="image/up.png"/></a>
+ <a href="#" id="upArrow" ms-click="clickDisplayGraphAlink()"><img src="/openoui/performance/image/up.png"/></a>
</div>
</div>
</div>
<div class="row-fluid separator">
<div ms-visible="!boxVisible" class="col-xs-12">
- <a href="#" ms-click="clickDisplayGraphAlink()"><img src="image/down.png"/></a>
+ <a href="#" ms-click="clickDisplayGraphAlink()"><img src="/openoui/performance/image/down.png"/></a>
</div>
</div>
<div class="container-fluid">
<div class="row" style=" margin-top: 15px;">
<div class="col-xs-6 col-md-6 col-sm-6 col-lg-6 titlefont">
<span id="tableTitleText">{{tableTitle}}</span>
- <a href="#" ms-visible="tableIconVisable"><img id="tableImg" src="image/table_icon.png" ms-click="showPerformanceTable()"></a>
- <a href="#" ms-visible="chartIconVisable"><img id="chartImg" src="image/chart_icon.png" ms-click="showPerformanceChart()"></a>
+ <a href="#" ms-visible="tableIconVisable"><img id="tableImg" src="/openoui/performance/image/table_icon.png" ms-click="showPerformanceTable()"></a>
+ <a href="#" ms-visible="chartIconVisable"><img id="chartImg" src="/openoui/performance/image/chart_icon.png" ms-click="showPerformanceChart()"></a>
</div>
</div>
<div class = "separator-line"></div>
@@ -97,29 +97,29 @@
</div>
</div>
</div>
- <script src="../common/thirdparty/jquery/jquery-1.10.2.min.js"></script>
- <script src="../common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>
- <script src="../common/js/international/loadi18n.js" type="text/javascript"></script>
- <script src="../common/js/tools.js"></script>
+ <script src="/openoui/common/thirdparty/jquery/jquery-1.10.2.min.js"></script>
+ <script src="/openoui/common/thirdparty/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>
+ <script src="/openoui/common/js/international/loadi18n.js" type="text/javascript"></script>
+ <script src="/openoui/common/js/tools.js"></script>
<script>
loadi18n_WebFramework('web-performance-i18n', 'i18n/', 'openo_performance_i18n');
</script>
- <script src="../common/thirdparty/data-tables/jquery.dataTables-1.9.4.js"></script>
- <script src="../common/thirdparty/bootbox/bootbox.min.js"type="text/javascript"></script>
- <script src="../common/thirdparty/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
- <script src="../common/thirdparty/jquery-validation/js/jquery.validate.js"></script>
- <script src="../common/thirdparty/jquery-validation/js/additional-methods.min.js"></script>
- <script src="../common/thirdparty/echarts/echarts.js" type="text/javascript"></script>
- <script src="../common/thirdparty/bootstrap-daterangepicker/moment.js"></script>
- <script src="../common/thirdparty/bootstrap-daterangepicker/daterangepicker.js"></script>
- <script src="../common/thirdparty/avalon/avalon.js"></script>
- <script src="../common/js/security/aes.js" type="text/javascript"></script>
- <script src="../common/js/security/framework-util.js" type="text/javascript"></script>
- <script src="../common/js/json2.js"></script>
- <script src="js/serverPageTable.js"></script>
- <script src="js/pmUtil.js"></script>
- <script src="js/commonUtil.js"></script>
- <script src="js/performanceQueryController.js"></script>
- <script src="js/performanceChart.js"></script>
+ <script src="/openoui/thirdparty/data-tables/jquery.dataTables-1.9.4.js"></script>
+ <script src="/openoui/thirdparty/bootbox/bootbox.min.js"type="text/javascript"></script>
+ <script src="/openoui/thirdparty/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/jquery-validation/js/jquery.validate.js"></script>
+ <script src="/openoui/thirdparty/jquery-validation/js/additional-methods.min.js"></script>
+ <script src="/openoui/thirdparty/echarts/echarts.js" type="text/javascript"></script>
+ <script src="/openoui/thirdparty/bootstrap-daterangepicker/moment.js"></script>
+ <script src="/openoui/thirdparty/bootstrap-daterangepicker/daterangepicker.js"></script>
+ <script src="/openoui/thirdparty/avalon/avalon.js"></script>
+ <script src="/openoui/performance/js/aes.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/framework-util.js" type="text/javascript"></script>
+ <script src="/openoui/performance/js/json2.js"></script>
+ <script src="/openoui/performance/js/serverPageTable.js"></script>
+ <script src="/openoui/performance/js/pmUtil.js"></script>
+ <script src="/openoui/performance/js/commonUtil.js"></script>
+ <script src="/openoui/performance/js/performanceQueryController.js"></script>
+ <script src="/openoui/performance/js/performanceChart.js"></script>
</body>
</html>