loader.js: Mark extra updates as scripted and refreshes

If a view is refreshed, this ensures that the scroll
position doesn't change now.
This commit is contained in:
Johannes Meyer 2022-04-25 12:11:22 +02:00
parent 6a593fa2f5
commit c736c7114a

View File

@ -1003,9 +1003,10 @@
var extraUpdates = req.getResponseHeader('X-Icinga-Extra-Updates'); var extraUpdates = req.getResponseHeader('X-Icinga-Extra-Updates');
if (!! extraUpdates && req.getResponseHeader('X-Icinga-Redirect-Http') !== 'yes') { if (!! extraUpdates && req.getResponseHeader('X-Icinga-Redirect-Http') !== 'yes') {
$.each(extraUpdates.split(','), function (idx, el) { $.each(extraUpdates.split(','), function (idx, el) {
var parts = el.trim().split(';'); let parts = el.trim().split(';'),
var $target; refreshesView,
var url; $target,
url;
if (parts.length === 2) { if (parts.length === 2) {
$target = $('#' + parts[0]); $target = $('#' + parts[0]);
if (! $target.length) { if (! $target.length) {
@ -1014,6 +1015,7 @@
} }
url = parts[1]; url = parts[1];
refreshesView = false;
} else if (parts.length === 1) { } else if (parts.length === 1) {
$target = $(parts[0]).closest(".container").not(req.$target); $target = $(parts[0]).closest(".container").not(req.$target);
if (! $target.length) { if (! $target.length) {
@ -1022,12 +1024,17 @@
} }
url = $target.data('icingaUrl'); url = $target.data('icingaUrl');
refreshesView = true;
} else { } else {
_this.icinga.logger.error('Invalid extra update', el); _this.icinga.logger.error('Invalid extra update', el);
return; return;
} }
_this.loadUrl(url, $target).addToHistory = false; let extraReq = _this.loadUrl(url, $target, undefined, undefined, undefined, refreshesView);
if (extraReq) {
extraReq.addToHistory = false;
extraReq.scripted = true;
}
}); });
} }