From 136b965b255c3d37a21e8cf2fc835f83c2f0d3be Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 20 Jan 2020 19:38:17 +0100 Subject: [PATCH] luci-base: ui.js: UIFileUpload fixes - Introduce a new option `initial_directory` which describes the initial directory to display when nothing is selected, default to the root directory - Prevent stray legacy cbi reloads when deselecting files - Fix within-root-directory-check for initial rendering Signed-off-by: Jo-Philipp Wich --- modules/luci-base/htdocs/luci-static/resources/ui.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/luci-base/htdocs/luci-static/resources/ui.js b/modules/luci-base/htdocs/luci-static/resources/ui.js index 08edaa147..7cf4f4102 100644 --- a/modules/luci-base/htdocs/luci-static/resources/ui.js +++ b/modules/luci-base/htdocs/luci-static/resources/ui.js @@ -1919,6 +1919,8 @@ var UIFileUpload = UIElement.extend({ button.style.display = ''; this.node.dispatchEvent(new CustomEvent('cbi-fileupload-cancel', {})); + + ev.preventDefault(); }, handleReset: function(ev) { @@ -1962,9 +1964,9 @@ var UIFileUpload = UIElement.extend({ handleFileBrowser: function(ev) { var button = ev.target, browser = button.nextElementSibling, - path = this.stat ? this.stat.path.replace(/\/[^\/]+$/, '') : this.options.root_directory; + path = this.stat ? this.stat.path.replace(/\/[^\/]+$/, '') : (this.options.initial_directory || this.options.root_directory); - if (this.options.root_directory.indexOf(path) != 0) + if (path.indexOf(this.options.root_directory) != 0) path = this.options.root_directory; ev.preventDefault(); -- 2.25.1