cockpit/js/instance.js in cpee-2.0.9 vs cockpit/js/instance.js in cpee-2.0.11
- old
+ new
@@ -249,60 +249,64 @@
}
}// }}}
function sse() { //{{{
var url = $('body').attr('current-instance');
- es = new EventSource(url + "/notifications/subscriptions/" + subscription + "/sse/");
- es.onopen = function() {
- append_to_log("monitoring", "opened", "");
- };
- es.onmessage = function(e) {
- data = JSON.parse(e.data);
- if (data['type'] == 'event') {
- switch(data['topic']) {
- case 'dataelements':
- monitor_instance_values("dataelements");
- break;
- case 'description':
- monitor_instance_dsl();
- break;
- case 'endpoints':
- monitor_instance_values("endpoints");
- break;
- case 'attributes':
- monitor_instance_values("attributes");
- monitor_instance_transformation();
- if (!suspended_monitoring) { // or else it would load twice, because dsl changes also trigger
- monitor_graph_change(true);
- }
- break;
- case 'task':
- if ($('#trackcolumn').length > 0) {
- $('#trackcolumn').append($('<iframe src="track.html?monitor=' + data.content.received['CPEE-INSTANCE-URL'].replace(/\/*$/,'/') + '"></iframe>'));
- }
- break;
- case 'state':
- monitor_instance_state_change(data['content']['state']);
- break;
- case 'position':
- monitor_instance_pos_change(data['content']);
- break;
- case 'activity':
- monitor_instance_running(data['content'],data['name']);
- break;
+ if (subscription) {
+ es = new EventSource(url + "/notifications/subscriptions/" + subscription + "/sse/");
+ es.onopen = function() {
+ append_to_log("monitoring", "opened", "nice.");
+ };
+ es.onmessage = function(e) {
+ data = JSON.parse(e.data);
+ if (data['type'] == 'event') {
+ switch(data['topic']) {
+ case 'dataelements':
+ monitor_instance_values("dataelements");
+ break;
+ case 'description':
+ monitor_instance_dsl();
+ break;
+ case 'endpoints':
+ monitor_instance_values("endpoints");
+ break;
+ case 'attributes':
+ monitor_instance_values("attributes");
+ monitor_instance_transformation();
+ if (!suspended_monitoring) { // or else it would load twice, because dsl changes also trigger
+ if (save['graph_theme'] != data.content.values.theme) {
+ monitor_graph_change(true);
+ }
+ }
+ break;
+ case 'task':
+ if ($('#trackcolumn').length > 0) {
+ $('#trackcolumn').append($('<iframe src="track.html?monitor=' + data.content.received['CPEE-INSTANCE-URL'].replace(/\/*$/,'/') + '"></iframe>'));
+ $('#graphcolumn').addClass('resize');
+ }
+ break;
+ case 'state':
+ monitor_instance_state_change(data['content']['state']);
+ break;
+ case 'position':
+ monitor_instance_pos_change(data['content']);
+ break;
+ case 'activity':
+ monitor_instance_running(data['content'],data['name']);
+ break;
+ }
}
- }
- if (data['type'] == 'vote') {
- monitor_instance_vote_add(data['content']);
- }
- append_to_log(data['type'], data['topic'] + '/' + data['name'], JSON.stringify(data['content']));
- };
- es.onerror = function() {
- append_to_log("monitoring", "closed", "server down i assume.");
- // setTimeout(sse,10000);
- };
-
+ if (data['type'] == 'vote') {
+ monitor_instance_vote_add(data['content']);
+ }
+ append_to_log(data['type'], data['topic'] + '/' + data['name'], JSON.stringify(data['content']));
+ };
+ es.onerror = function() {
+ append_to_log("monitoring", "closed", "finished or abandoned or not existing or server down. one of these, i assume.");
+ // setTimeout(sse,10000);
+ };
+ }
monitor_instance_values("dataelements");
monitor_instance_values("endpoints");
monitor_instance_values("attributes");
monitor_instance_transformation();
monitor_instance_dsl();
@@ -332,18 +336,29 @@
$("ui-tabbed.hidden, ui-rest.hidden").removeClass("hidden");
$("ui-resizehandle.hidden").removeClass("hidden");
$("ui-tabbed ui-tab.hidden, ui-rest ui-tab.hidden").removeClass("hidden");
// Change url to return to current instance when reloading
- $("#current-instance").text(url);
+ $("#current-instance").show();
+ $("#current-instance").text(url.match(/(\d+)\/?$/)[1]);
$("#current-instance").attr('href',url);
+ $("#current-instance-properties").show();
$("#current-instance-properties").attr('href',url + 'properties/');
- $("#current-instance-properties").text('P');
+ $("#current-instance-subscriptions").show();
$("#current-instance-subscriptions").attr('href',url + 'notifications/subscriptions/');
- $("#current-instance-subscriptions").text('S');
+ $("#current-instance-callbacks").show();
$("#current-instance-callbacks").attr('href',url + 'callbacks/');
- $("#current-instance-callbacks").text('C');
+ $("#current-monitor").show();
+ $("#current-monitor").attr('href','edit.html?monitor=' + url);
+ $("#current-graph").show();
+ $("#current-graph").attr('href','graph.html?monitor=' + url);
+ $("#current-track").show();
+ $("#current-track").attr('href','track.html?monitor=' + url);
+ if ($('body').attr('current-logs')) {
+ $("#current-log").show();
+ $("#current-log").attr('href','edit.html?monitor=' + url);
+ }
var q = $.parseQuerySimple();
history.replaceState({}, '', '?' + (q.min || q.min=="" ? "min&" : "") + 'monitor='+url);
// Change url to return to current instance when reloading (because new subscription is made)
$("input[name=votecontinue]").prop( "checked", false );
@@ -357,10 +372,15 @@
append_to_log("monitoring", "id", subscription);
sse();
if (load || exec) {
load_testset(exec);
}
+ },
+ error: function() {
+ subscription = undefined;
+ append_to_log("monitoring", "closed", "For Good.");
+ sse();
}
});
},
error: function(a,b,c) {
alert("This ain't no CPEE instance");
@@ -539,10 +559,11 @@
adaptor_update();
manifestation.events.click(svgid);
format_instance_pos();
});
}
+ suspended_monitoring = false;
} //}}}
function monitor_graph_change(force) { //{{{
var url = $('body').attr('current-instance');
$.ajax({
@@ -642,11 +663,11 @@
format_visual_remove(content.activity,"active")
}
} // }}}
function monitor_instance_state_change(notification) { //{{{
if ($('#trackcolumn').length > 0) {
- if (notification == "finished") {
+ if (notification == "finished" || notification == "abandoned") {
parent.closeIFrame(window.location.search);
}
}
if (notification == "ready" || notification == "stopped" || notification == "running") {
$("#state button").removeAttr('disabled');
@@ -913,10 +934,9 @@
error: report_failure
})
);
await Promise.all(promises);
- suspended_monitoring = false;
$.ajax({
type: "GET",
url: url + "/properties/state/",
dataType: "text",