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.librecmc.org/?a=commitdiff_plain;h=808c1b77f9008bc9f4a760ea0629b3fd4e49fbcb;p=oweals%2Fluci.git 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); } } }