diff options
author | Jo-Philipp Wich <jo@mein.io> | 2022-07-08 16:03:14 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2022-07-08 16:03:14 +0200 |
commit | 3a6f37f9df68c4055f9adc792e0fd4c5a1a1bf66 (patch) | |
tree | 3119b0609bcfbdc18e3c25520bac334c5640ea06 /modules/luci-mod-network/htdocs/luci-static/resources/view | |
parent | e1932592c3e0804eec5d85fee989ceeed1e1050a (diff) |
luci-mod-network: fix sort operations
Ensure to return [-1, 0, 1] from the sort callback instead of [0, 1]
which fails in non-FF browsers.
Fixes: #5859
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-mod-network/htdocs/luci-static/resources/view')
-rw-r--r-- | modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js index 18078cd9bd..e5376d07c8 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/interfaces.js @@ -13,6 +13,16 @@ var isReadonlyView = !L.hasViewPermission() || null; +function strcmp(a, b) { + if (a < b) + return -1; + + if (a > b) + return 1; + + return 0; +} + function count_changes(section_id) { var changes = ui.changes.changes, n = 0; @@ -535,7 +545,7 @@ return view.extend({ var protocols = network.getProtocols(); protocols.sort(function(a, b) { - return a.getProtocol() > b.getProtocol(); + return strcmp(a.getProtocol(), b.getProtocol()); }); o = s.taboption('general', form.DummyValue, '_ifacestat_modal', _('Status')); @@ -1253,7 +1263,7 @@ return view.extend({ s.cfgsections = function() { var sections = uci.sections('network', 'device'), - section_ids = sections.sort(function(a, b) { return a.name > b.name }).map(function(s) { return s['.name'] }); + section_ids = sections.sort(function(a, b) { return strcmp(a.name, b.name) }).map(function(s) { return s['.name'] }); for (var i = 0; i < netDevs.length; i++) { if (sections.filter(function(s) { return s.name == netDevs[i].getName() }).length) |