<%+cbi/valueheader%>
-<div>
+<div<%=
+ attr("data-prefix", cbid) ..
+ attr("data-browser-path", self.default_path) ..
+ attr("data-dynlist", luci.util.serialize_json({
+ self.keylist, self.vallist,
+ self.datatype, self.optional or self.rmempty
+ })) ..
+
+ ifattr(self.size, "data-size", self.size) ..
+ ifattr(self.placeholder, "data-placeholder", self.placeholder)
+%>>
<%
local vals = self:cfgvalue(section) or {}
for i=1, #vals + 1 do
if (val and #val > 0) or (i == 1) then
%>
<input class="cbi-input-text" value="<%=pcdata(val)%>" data-update="change" type="text"<%=
- attr("id", cbid .. "." .. i) .. attr("name", cbid) .. ifattr(self.size, "size") ..
+ 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%>