diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2011-03-05 06:35:26 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2011-03-05 06:35:26 +0000 |
commit | 1db9f295fa3e98a1f1472d2a8eda881333db5a43 (patch) | |
tree | e6688cff377c1dcf4cd9a38127347f6319d874da | |
parent | 32aec7a4f3f1aaabd8cff223346db560ddacb387 (diff) |
libs/web: repair and modernize FileBrowser widget, patches by Kevin Locke <klocke@digitalenginesoftware.com> (#207)
-rw-r--r-- | libs/web/htdocs/luci-static/resources/cbi.js | 18 | ||||
-rw-r--r-- | libs/web/htdocs/luci-static/resources/cbi/file.gif | bin | 0 -> 371 bytes | |||
-rw-r--r-- | libs/web/htdocs/luci-static/resources/cbi/folder.gif | bin | 0 -> 698 bytes | |||
-rw-r--r-- | libs/web/luasrc/view/cbi/browser.htm | 5 | ||||
-rw-r--r-- | libs/web/luasrc/view/cbi/filebrowser.htm | 8 |
5 files changed, 25 insertions, 6 deletions
diff --git a/libs/web/htdocs/luci-static/resources/cbi.js b/libs/web/htdocs/luci-static/resources/cbi.js index 2bcfb8c3d..be0a5a8d7 100644 --- a/libs/web/htdocs/luci-static/resources/cbi.js +++ b/libs/web/htdocs/luci-static/resources/cbi.js @@ -402,6 +402,23 @@ function cbi_filebrowser(id, url, defpath) { browser.focus(); } +function cbi_browser_init(id, respath, url, defpath) +{ + function cbi_browser_btnclick(e) { + cbi_filebrowser(id, url, defpath); + return false; + } + + var field = document.getElementById(id); + + var btn = document.createElement('img'); + btn.className = 'cbi-image-button'; + btn.src = respath + '/cbi/folder.gif'; + field.parentNode.insertBefore(btn, field.nextSibling); + + cbi_bind(btn, 'click', cbi_browser_btnclick); +} + function cbi_dynlist_init(name, respath) { function cbi_dynlist_renumber(e) @@ -587,6 +604,7 @@ function cbi_dynlist_init(name, respath) for( var i = 0; i < inputs.length; i++ ) { var btn = document.createElement('img'); + btn.className = 'cbi-image-button'; btn.src = respath + ( (i+1) < inputs.length ? '/cbi/remove.gif' : '/cbi/add.gif' ); diff --git a/libs/web/htdocs/luci-static/resources/cbi/file.gif b/libs/web/htdocs/luci-static/resources/cbi/file.gif Binary files differnew file mode 100644 index 000000000..3b1217dd6 --- /dev/null +++ b/libs/web/htdocs/luci-static/resources/cbi/file.gif diff --git a/libs/web/htdocs/luci-static/resources/cbi/folder.gif b/libs/web/htdocs/luci-static/resources/cbi/folder.gif Binary files differnew file mode 100644 index 000000000..22b583bb5 --- /dev/null +++ b/libs/web/htdocs/luci-static/resources/cbi/folder.gif diff --git a/libs/web/luasrc/view/cbi/browser.htm b/libs/web/luasrc/view/cbi/browser.htm index 3b7b23f5d..08df483b5 100644 --- a/libs/web/luasrc/view/cbi/browser.htm +++ b/libs/web/luasrc/view/cbi/browser.htm @@ -14,10 +14,11 @@ $Id$ -%> <% - local t = require("luci.tools.webadmin") local v = self:cfgvalue(section) -%> <%+cbi/valueheader%> <input class="cbi-input-text" type="text"<%= attr("value", v) .. attr("name", cbid) .. attr("id", cbid) %> /> - <input class="cbi-input-image" type="image" value="<%:Search file...%>" onclick="cbi_filebrowser('<%=cbid%>','<%=luci.dispatcher.build_url("admin", "filebrowser")%>'<%=self.default_path and ", '"..self.default_path.."'"%>);return false" alt="<%:Search file...%>" title="<%:Search file...%>" src="<%=resource%>/cbi/folder.png" style="vertical-align:bottom" /> + <script type="text/javascript"> +cbi_browser_init('<%=cbid%>', '<%=resource%>', '<%=luci.dispatcher.build_url("admin", "filebrowser")%>'<%=self.default_path and ", '"..self.default_path.."'"%>); + </script> <%+cbi/valuefooter%> diff --git a/libs/web/luasrc/view/cbi/filebrowser.htm b/libs/web/luasrc/view/cbi/filebrowser.htm index f82957221..40480ec9d 100644 --- a/libs/web/luasrc/view/cbi/filebrowser.htm +++ b/libs/web/luasrc/view/cbi/filebrowser.htm @@ -54,10 +54,10 @@ $Id$ require("luci.dispatcher") local field = luci.http.formvalue('field') - local request = luci.dispatcher.context.path + local request = luci.dispatcher.context.args local path = { '' } - for i = 3, #request do + for i = 1, #request do if request[i] ~= '..' and #request[i] > 0 then path[#path+1] = request[i] end @@ -103,7 +103,7 @@ $Id$ if stat and stat.type == 'dir' then -%> <li class="dir"> - <img src="/luci-static/resources/cbi/folder.png" alt="Directory" /> + <img src="<%=resource%>/cbi/folder.gif" alt="<%:Directory%>" /> <a href="<%=baseurl%>/<%=e%>?field=<%=field%>"><%=e%>/</a> </li> <% end end -%> @@ -113,7 +113,7 @@ $Id$ if stat and stat.type ~= 'dir' then -%> <li class="file"> - <img src="/luci-static/resources/cbi/file.png" alt="File" /> + <img src="<%=resource%>/cbi/file.gif" alt="<%:File%>" /> <a href="#" onclick="callback('<%=filepath..e%>')"><%=e%></a> </li> <% end end -%> |