From: Jo-Philipp Wich Date: Mon, 18 Jan 2016 17:59:14 +0000 (+0100) Subject: luci-base: cbi: fix reverse field order after dependency change X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=808c1b77f9008bc9f4a760ea0629b3fd4e49fbcb luci-base: cbi: fix reverse field order after dependency change When fields got removed and readded due to unsatisfied dependencies, they got inserted in reverse order into the dom. Fix this issue by properly passing the element index. Signed-off-by: Jo-Philipp Wich --- diff --git a/modules/luci-base/htdocs/luci-static/resources/cbi.js b/modules/luci-base/htdocs/luci-static/resources/cbi.js index 81cc65778..8bf94a6c5 100644 --- a/modules/luci-base/htdocs/luci-static/resources/cbi.js +++ b/modules/luci-base/htdocs/luci-static/resources/cbi.js @@ -506,10 +506,11 @@ function cbi_init() { var nodes = document.querySelectorAll('[data-depends]'); for (var i = 0, node; (node = nodes[i]) !== undefined; i++) { - var deps = JSON.parse(node.getAttribute('data-depends')); - if (deps.length > 0) { - for (var alt = 0; alt < deps.length; alt++) { - cbi_d_add(node, deps[alt], i); + var index = parseInt(node.getAttribute('data-index'), 10); + var depends = JSON.parse(node.getAttribute('data-depends')); + if (!isNaN(index) && depends.length > 0) { + for (var alt = 0; alt < depends.length; alt++) { + cbi_d_add(node, depends[alt], index); } } }