libs/cbi: attach pcdata() to template scope and use it
[project/luci.git] / libs / cbi / luasrc / view / cbi / mvalue.htm
index dcbf782..3812a3f 100644 (file)
@@ -1,20 +1,35 @@
+<%#
+LuCI - Lua Configuration Interface
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+
+-%>
 <%
-local v = self:valuelist(section)      
+local v = self:valuelist(section) or {}
 %>
 <%+cbi/valueheader%>
 <% if self.widget == "select" then %>
-                                                               <select multiple="multiple" name="cbid.<%=self.config.."."..section.."."..self.option%>[]"<% if self.size then %> size="<%=self.size%>"<% end %>>
-<%for i, key in pairs(self.keylist) do %>
-                                                                       <option<% if luci.util.contains(v, key) then %> selected="selected"<% end %> value="<%=key%>"><%=self.vallist[i]%></option>
-<% end %>
-                                                               </select>
+       <select class="cbi-input-select" multiple="multiple"<%= attr("name", cbid) .. ifattr(self.size, "size") %>>
+       <% for i, key in pairs(self.keylist) do -%>
+               <option<%= attr("value", key) .. ifattr(luci.util.contains(v, key), "selected", "selected") %>><%=striptags(self.vallist[i])%></option>
+       <%- end %>
+       </select>
 <% elseif self.widget == "checkbox" then
        local c = 0;
        for i, key in pairs(self.keylist) do
-       c = c + 1%>
-                                                               <input type="checkbox" id="cbid.<%=self.config.."."..section.."."..self.option%>" name="cbid.<%=self.config.."."..section.."."..self.option%>"<% if luci.util.contains(v, key) then %> checked="checked"<% end %> value="<%=key%>" />
-                                                               <label for="cbid.<%=self.config.."."..section.."."..self.option%>"><%=self.vallist[i]%></label><br />
+       c = c + 1
+%>
+       <input class="cbi-input-checkbox" type="checkbox"<%= attr("id", cbid..c) .. attr("name", cbid) .. attr("value", key) .. ifattr(luci.util.contains(v, key), "checked", "checked") %> />
+       <label<%= attr("for", cbid..c) %>><%=self.vallist[i]%></label><br />
 <% if c == self.size then c = 0 %><br />
 <% end end %>
 <% end %>
-<%+cbi/valuefooter%>
\ No newline at end of file
+<%+cbi/valuefooter%>