From af4c851d3571da73bbfc4b93ca83b155bf106720 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 19 Feb 2021 10:39:00 +0100 Subject: [PATCH] luci-base: ui.js: resolve parent ul early in UIDropdown.toggleItem() The parent node of the current li might be null after collapsing the dropdown, so resolve the parent ul early to avoid passing null to subsequent calls. Fixes clearing custom input values in DynamicList dropdowns. Signed-off-by: Jo-Philipp Wich (cherry picked from commit b8d2bcd432ab23a883de1dd4fbce29f9751a6e84) --- modules/luci-base/htdocs/luci-static/resources/ui.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/luci-base/htdocs/luci-static/resources/ui.js b/modules/luci-base/htdocs/luci-static/resources/ui.js index 3ada9e375a..c8ebef6691 100644 --- a/modules/luci-base/htdocs/luci-static/resources/ui.js +++ b/modules/luci-base/htdocs/luci-static/resources/ui.js @@ -1360,6 +1360,8 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ { /** @private */ toggleItem: function(sb, li, force_state) { + var ul = li.parentNode; + if (li.hasAttribute('unselectable')) return; @@ -1436,7 +1438,7 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ { this.closeDropdown(sb, true); } - this.saveValues(sb, li.parentNode); + this.saveValues(sb, ul); }, /** @private */