libs/web: repair and modernize FileBrowser widget, patches by Kevin Locke <klocke@digitalenginesoftware.com> (#207)
This commit is contained in:
parent
32aec7a4f3
commit
1db9f295fa
5 changed files with 25 additions and 6 deletions
|
@ -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'
|
||||
);
|
||||
|
|
BIN
libs/web/htdocs/luci-static/resources/cbi/file.gif
Normal file
BIN
libs/web/htdocs/luci-static/resources/cbi/file.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 371 B |
BIN
libs/web/htdocs/luci-static/resources/cbi/folder.gif
Normal file
BIN
libs/web/htdocs/luci-static/resources/cbi/folder.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 698 B |
|
@ -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%>
|
||||
|
|
|
@ -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 -%>
|
||||
|
|
Loading…
Reference in a new issue