1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2020-2021 Nordix Foundation.
* ================================================================================
* 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.
*
* SPDX-License-Identifier: Apache-2.0
* ============LICENSE_END=========================================================
*/
import $ from "jquery";
import { initTooltip } from "./MonitoringChart";
import { getEngineURL, clearEngineURL, setUpPage,
removeChildrenElementsByClass, ajax_get_statistics
} from "./MonitoringUtils";
import { setEngineServiceData } from "./PdpInformation";
import { config } from "./MonitoringConfig";
import { setEngineSummaryData } from "./PdpStatisticsSummary";
import { highlightSelected } from "./PdpListView";
import { setEngineStatusData } from "./PdpEngineWorkerStatus";
function servicesCallback(data){
var engineURL = localStorage.getItem("pap-monitor-services");
if (engineURL) {
engineURL = JSON.parse(engineURL);
if (engineURL.hostname === data.server && engineURL.port === data.port) {
setEngineServiceData(data.engineId, window.groupName, window.subGroupName, data.healthStatus, data.pdpState, data.server, data.port);
setEngineSummaryData(data.status, data.timeStamp, data.policyDeployCount, data.policyDeploySuccessCount, data.policyDeployFailCount, data.policyExecutedCount, data.policyExecutedSuccessCount, data.policyExecutedFailCount);
if (window.engine_id === data.engineId){
setEngineStatusData(data.status, false);
}else{
removeChildrenElementsByClass(config.engineStatus.parent);
setEngineStatusData(data.status, true);
}
window.engine_id = data.engineId;
// Make content visible after data has been returned for the first time
if (!$(".content").is(':visible')) {
$(".content").fadeIn();
}
// Repeat the same request
setTimeout(function() {
window.servicesCall = ajax_get_statistics(window.restRootURL + "statistics/", servicesCallback,
window.services.useHttps, window.services.hostname, window.services.port,
window.services.username, window.services.password, window.id);
}, config.refresh);
}
}
}
/*
* Called after the DOM is ready
*/
function readyCallback() {
window.restRootURL = location.protocol
+ "//"
+ window.location.hostname
+ ':' + window.location.port
+ window.location.pathname
+ "papservices/monitoring/";
// Initialize tooltip for the charts
initTooltip();
// Set up the structure of the page
setUpPage(true);
// Check cookies for engine URL
getEngineURL();
// Add click event to config icon for clearing engine URL
$(".ebSystemBar-config").click(
function() {
// Clear the engine URL
clearEngineURL(true);
// Request the engine URL
getEngineURL();
}
);
['hashchange', 'load'].forEach(event => window.addEventListener(event, function () {
// Get ID from url
window.id = window.location.hash.replace('#', '');
if (window.id !== '') {
var arr = window.id.split("/");
window.groupName = arr[0];
window.subGroupName = arr[1];
highlightSelected(window.id);
ajax_get_statistics(restRootURL + "statistics/", servicesCallback,
window.services.useHttps, window.services.hostname, window.services.port,
window.services.username, window.services.password, window.id);
}
}));
}
$(document).ready(readyCallback);
// Export for unit testing
export { readyCallback, servicesCallback };
|