luci/modules/luci-base/luasrc/view/cbi/dynlist.htm
Yousong Zhou a28da6a88a luci-base: add support for DynamicList with FileBrowser
Two new arguments url, defpath were added to cbi_dynlist_init() for
initializing the brower button.

An example of usage

    identity = section:taboption("general", DynamicList, "identity",
	    translate("List of SSH key files for auth"))
    identity.datatype = "file"

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-11-03 17:07:45 +08:00

28 lines
980 B
HTML

<%+cbi/valueheader%>
<div>
<%
local vals = self:cfgvalue(section) or {}
for i=1, #vals + 1 do
local val = vals[i]
if (val and #val > 0) or (i == 1) then
%>
<input class="cbi-input-text" value="<%=pcdata(val)%>" onchange="cbi_d_update(this.id)" type="text"<%=
attr("id", cbid .. "." .. i) .. attr("name", cbid) .. ifattr(self.size, "size") ..
ifattr(i == 1 and self.placeholder, "placeholder", self.placeholder)
%> /><br />
<% end end %>
</div>
<script type="text/javascript">
cbi_dynlist_init(
'<%=cbid%>', '<%=resource%>', '<%=self.datatype%>',
<%=tostring(self.optional or self.rmempty)%>,
'<%=url('admin/filebrowser')%>',
'<%=self.default_path and self.default_path%>'
<%- if #self.keylist > 0 then -%>, [{
<%- for i, k in ipairs(self.keylist) do -%>
<%-=string.format("%q", k) .. ":" .. string.format("%q", self.vallist[i])-%>
<%-if i<#self.keylist then-%>,<%-end-%>
<%- end -%>
}, '<%: -- custom -- %>']<% end -%>);
</script>
<%+cbi/valuefooter%>