summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base
diff options
context:
space:
mode:
Diffstat (limited to 'modules/luci-base')
-rw-r--r--modules/luci-base/htdocs/luci-static/resources/ui.js17
1 files changed, 14 insertions, 3 deletions
diff --git a/modules/luci-base/htdocs/luci-static/resources/ui.js b/modules/luci-base/htdocs/luci-static/resources/ui.js
index 6d77f3782..625363811 100644
--- a/modules/luci-base/htdocs/luci-static/resources/ui.js
+++ b/modules/luci-base/htdocs/luci-static/resources/ui.js
@@ -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;