luci-base: cbi: rework ListValue and MultiValue templates
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
This commit is contained in:
parent
8f409a45ab
commit
afdc349ab4
2 changed files with 74 additions and 27 deletions
|
@ -1,18 +1,42 @@
|
||||||
|
<%
|
||||||
|
local i, key
|
||||||
|
local br = self.orientation == "horizontal" and ' ' or '<br />'
|
||||||
|
%>
|
||||||
|
|
||||||
<%+cbi/valueheader%>
|
<%+cbi/valueheader%>
|
||||||
<% if self.widget == "select" then %>
|
<% if self.widget == "select" then %>
|
||||||
<select class="cbi-input-select" data-update="change"<%= attr("id", cbid) .. attr("name", cbid) .. ifattr(self.size, "size") %>>
|
<select class="cbi-input-select" data-update="change"<%=
|
||||||
<% for i, key in pairs(self.keylist) do -%>
|
attr("id", cbid) ..
|
||||||
<option id="cbi-<%=self.config.."-"..section.."-"..self.option.."-"..key%>"<%= attr("value", key) .. ifattr(tostring(self:cfgvalue(section) or self.default) == key, "selected", "selected") .. attr("data-index", i) .. attr("data-depends", self:deplist2json(section, self.deplist[i])) %>><%=striptags(self.vallist[i])%></option>
|
attr("name", cbid) ..
|
||||||
<%- end %>
|
ifattr(self.size, "size")
|
||||||
|
%>>
|
||||||
|
<% for i, key in pairs(self.keylist) do -%>
|
||||||
|
<option<%=
|
||||||
|
attr("id", cbid.."-"..key) ..
|
||||||
|
attr("value", key) ..
|
||||||
|
attr("data-index", i) ..
|
||||||
|
attr("data-depends", self:deplist2json(section, self.deplist[i])) ..
|
||||||
|
ifattr(tostring(self:cfgvalue(section) or self.default) == key, "selected", "selected")
|
||||||
|
%>><%=pcdata(self.vallist[i])%></option>
|
||||||
|
<%- end %>
|
||||||
</select>
|
</select>
|
||||||
<% elseif self.widget == "radio" then
|
<% elseif self.widget == "radio" then %>
|
||||||
local c = 0
|
<div<%= attr("id", cbid) %>>
|
||||||
for i, key in pairs(self.keylist) do
|
<% for i, key in pairs(self.keylist) do %>
|
||||||
c = c + 1
|
<label<%=
|
||||||
%>
|
attr("id", cbid.."-"..key) ..
|
||||||
<input class="cbi-input-radio" data-update="click change" type="radio"<%= attr("id", cbid.."-"..key) .. attr("name", cbid) .. attr("value", key) .. ifattr((self:cfgvalue(section) or self.default) == key, "checked", "checked") .. attr("data-index", i) .. attr("data-depends", self:deplist2json(section, self.deplist[i])) %> />
|
attr("data-index", i) ..
|
||||||
<label<%= attr("for", cbid.."-"..key) %>><%=self.vallist[i]%></label>
|
attr("data-depends", self:deplist2json(section, self.deplist[i]))
|
||||||
<% if c == self.size then c = 0 %><% if self.orientation == "horizontal" then %> <% else %><br /><% end %>
|
%>>
|
||||||
<% end end %>
|
<input class="cbi-input-radio" data-update="click change" type="radio"<%=
|
||||||
|
attr("name", cbid) ..
|
||||||
|
attr("value", key) ..
|
||||||
|
ifattr((self:cfgvalue(section) or self.default) == key, "checked", "checked")
|
||||||
|
%> />
|
||||||
|
<%=pcdata(self.vallist[i])%>
|
||||||
|
</label>
|
||||||
|
<% if i == self.size then write(br) end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%+cbi/valuefooter%>
|
<%+cbi/valuefooter%>
|
||||||
|
|
|
@ -1,19 +1,42 @@
|
||||||
<% local v = self:valuelist(section) or {} -%>
|
<%
|
||||||
|
local i, key
|
||||||
|
local v = self:valuelist(section) or {}
|
||||||
|
-%>
|
||||||
|
|
||||||
<%+cbi/valueheader%>
|
<%+cbi/valueheader%>
|
||||||
<% if self.widget == "select" then %>
|
<% if self.widget == "select" then %>
|
||||||
<select class="cbi-input-select" multiple="multiple" data-update="click change"<%= attr("name", cbid) .. ifattr(self.size, "size") %>>
|
<select class="cbi-input-select" multiple="multiple" data-update="click change"<%=
|
||||||
<% for i, key in pairs(self.keylist) do -%>
|
attr("id", cbid) ..
|
||||||
<option<%= attr("id", cbid.."-"..key) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "selected", "selected") .. attr("data-index", i) .. attr("data-depends", self:deplist2json(section, self.deplist[i])) %>><%=striptags(self.vallist[i])%></option>
|
attr("name", cbid) ..
|
||||||
<%- end %>
|
ifattr(self.size, "size")
|
||||||
|
%>>
|
||||||
|
<% for i, key in pairs(self.keylist) do -%>
|
||||||
|
<option<%=
|
||||||
|
attr("id", cbid.."-"..key) ..
|
||||||
|
attr("value", key) ..
|
||||||
|
attr("data-index", i) ..
|
||||||
|
attr("data-depends", self:deplist2json(section, self.deplist[i])) ..
|
||||||
|
ifattr(luci.util.contains(v, key), "selected", "selected")
|
||||||
|
%>><%=pcdata(self.vallist[i])%></option>
|
||||||
|
<%- end %>
|
||||||
</select>
|
</select>
|
||||||
<% elseif self.widget == "checkbox" then
|
<% elseif self.widget == "checkbox" then %>
|
||||||
local c = 0;
|
<div<%= attr("id", cbid) %>>
|
||||||
for i, key in pairs(self.keylist) do
|
<% for i, key in pairs(self.keylist) do %>
|
||||||
c = c + 1
|
<label<%=
|
||||||
%>
|
attr("id", cbid.."-"..key) ..
|
||||||
<input class="cbi-input-checkbox" type="checkbox" data-update="click change"<%= attr("id", cbid.."-"..key) .. attr("name", cbid) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "checked", "checked") .. attr("data-index", i) .. attr("data-depends", self:deplist2json(section, self.deplist[i])) %> />
|
attr("data-index", i) ..
|
||||||
<label<%= attr("for", cbid.."-"..key) %>><%=self.vallist[i]%></label><br />
|
attr("data-depends", self:deplist2json(section, self.deplist[i]))
|
||||||
<% if c == self.size then c = 0 %><br />
|
%>>
|
||||||
<% end end %>
|
<input class="cbi-input-checkbox" type="checkbox" data-update="click change"<%=
|
||||||
|
attr("name", cbid) ..
|
||||||
|
attr("value", key) ..
|
||||||
|
ifattr(luci.util.contains(v, key), "checked", "checked")
|
||||||
|
%> />
|
||||||
|
<%=pcdata(self.vallist[i])%>
|
||||||
|
</label>
|
||||||
|
<% if i == self.size then write('<br />') end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%+cbi/valuefooter%>
|
<%+cbi/valuefooter%>
|
||||||
|
|
Loading…
Reference in a new issue