Merge branch 'bugfix/selected-row-lost-after-autorefresh-8623'
fixes #8623
This commit is contained in:
commit
40d31d02bd
|
@ -43,7 +43,7 @@
|
|||
* Handle the selection of an action table
|
||||
*
|
||||
* @param table {HTMLElement} The table
|
||||
* @param {Icinga}
|
||||
* @param icinga {Icinga}
|
||||
*
|
||||
* @constructor
|
||||
*/
|
||||
|
@ -158,7 +158,6 @@
|
|||
return;
|
||||
}
|
||||
var self = this;
|
||||
var url = this.getMultiselectionUrl();
|
||||
this.rowActions()
|
||||
.filter(
|
||||
function (i, el) {
|
||||
|
@ -283,14 +282,7 @@
|
|||
|
||||
var ActionTable = function (icinga) {
|
||||
Icinga.EventListener.call(this, icinga);
|
||||
|
||||
/**
|
||||
* The hash that is currently being loaded
|
||||
*
|
||||
* @var String
|
||||
*/
|
||||
this.loadingHash = null;
|
||||
|
||||
|
||||
/**
|
||||
* If currently loading
|
||||
*
|
||||
|
@ -364,7 +356,7 @@
|
|||
}
|
||||
self.icinga.history.pushUrl(state);
|
||||
|
||||
// re draw all table selections
|
||||
// redraw all table selections
|
||||
self.tables().each(function () {
|
||||
new Selection(this, self.icinga).refresh();
|
||||
});
|
||||
|
@ -375,22 +367,43 @@
|
|||
};
|
||||
|
||||
/**
|
||||
* Ensure that
|
||||
* Render the selection and prepare selection rows
|
||||
*/
|
||||
ActionTable.prototype.onRendered = function(evt) {
|
||||
var container = evt.target;
|
||||
var self = evt.data.self;
|
||||
|
||||
// draw all selections
|
||||
// initialize all rows with the correct link, to assure that
|
||||
$('table.action tr', container).each(function(idx, el) {
|
||||
var $a = $('a[href].rowaction', el).first();
|
||||
if ($a.length) {
|
||||
// TODO: Find out whether we leak memory on IE with this:
|
||||
$(el).attr('href', $a.attr('href'));
|
||||
return;
|
||||
}
|
||||
$a = $('a[href]', el).first();
|
||||
if ($a.length) {
|
||||
$(el).attr('href', $a.attr('href'));
|
||||
}
|
||||
});
|
||||
|
||||
// draw all active selections that have disappeared on reload
|
||||
self.tables().each(function(i, el) {
|
||||
new Selection(el, self.icinga).refresh();
|
||||
});
|
||||
|
||||
// update displayed selection count
|
||||
// update displayed selection counter
|
||||
var table = new Selection(self.tables(container).first());
|
||||
$(container).find('.selection-info-count').text(table.selections().size());
|
||||
};
|
||||
|
||||
ActionTable.prototype.clearAll = function () {
|
||||
var self = this;
|
||||
this.tables().each(function () {
|
||||
new Selection(this, self.icinga).clear();
|
||||
});
|
||||
};
|
||||
|
||||
Icinga.Behaviors.ActionTable = ActionTable;
|
||||
|
||||
}) (Icinga, jQuery);
|
||||
|
|
|
@ -40,20 +40,6 @@
|
|||
icinga.loader.loadUrl(url, $(el)).autorefresh = true;
|
||||
});
|
||||
|
||||
// Set first links href in a action table tr as row href:
|
||||
$('table.action tr', el).each(function(idx, el) {
|
||||
var $a = $('a[href].rowaction', el).first();
|
||||
if ($a.length) {
|
||||
// TODO: Find out whether we leak memory on IE with this:
|
||||
$(el).attr('href', $a.attr('href'));
|
||||
return;
|
||||
}
|
||||
$a = $('a[href]', el).first();
|
||||
if ($a.length) {
|
||||
$(el).attr('href', $a.attr('href'));
|
||||
}
|
||||
});
|
||||
|
||||
$('td.state span.timesince').attr('title', null);
|
||||
|
||||
var moduleName = el.data('icingaModule');
|
||||
|
@ -441,7 +427,6 @@
|
|||
} else {
|
||||
icinga.ui.layout1col();
|
||||
}
|
||||
$('table tr[href].active').removeClass('active');
|
||||
icinga.history.pushCurrentState();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -241,6 +241,9 @@
|
|||
$('#layout').removeClass('twocols');
|
||||
this.closeContainer($('#col2'));
|
||||
this.disableCloseButtons();
|
||||
|
||||
// one-column layouts never have any selection active
|
||||
this.icinga.behaviors.actiontable.clearAll();
|
||||
},
|
||||
|
||||
closeContainer: function($c) {
|
||||
|
|
Loading…
Reference in New Issue