luci-base: ui.js: order indicators by ID value

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2020-04-17 09:30:20 +02:00
parent 65958c4992
commit 01d8283ece

View file

@ -3291,12 +3291,23 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
}
var handlerFn = (typeof(handler) == 'function') ? handler : null,
indicatorElem = indicatorDiv.querySelector('span[data-indicator="%s"]'.format(id)) ||
indicatorDiv.appendChild(E('span', {
indicatorElem = indicatorDiv.querySelector('span[data-indicator="%s"]'.format(id));
if (indicatorElem == null) {
var beforeElem = null;
for (beforeElem = indicatorDiv.firstElementChild;
beforeElem != null;
beforeElem = beforeElem.nextElementSibling)
if (beforeElem.getAttribute('data-indicator') > id)
break;
indicatorElem = indicatorDiv.insertBefore(E('span', {
'data-indicator': id,
'data-clickable': handlerFn ? true : null,
'click': handlerFn
}, ['']));
}, ['']), beforeElem);
}
if (label == indicatorElem.firstChild.data && style == indicatorElem.getAttribute('data-style'))
return false;