* luci/libs/cbi: various template cleanups
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 15 Jul 2008 17:27:58 +0000 (17:27 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 15 Jul 2008 17:27:58 +0000 (17:27 +0000)
17 files changed:
libs/cbi/luasrc/cbi.lua
libs/cbi/luasrc/view/cbi/cell_valuefooter.htm
libs/cbi/luasrc/view/cbi/cell_valueheader.htm
libs/cbi/luasrc/view/cbi/dvalue.htm
libs/cbi/luasrc/view/cbi/footer.htm
libs/cbi/luasrc/view/cbi/full_valuefooter.htm
libs/cbi/luasrc/view/cbi/full_valueheader.htm
libs/cbi/luasrc/view/cbi/fvalue.htm
libs/cbi/luasrc/view/cbi/header.htm
libs/cbi/luasrc/view/cbi/lvalue.htm
libs/cbi/luasrc/view/cbi/map.htm
libs/cbi/luasrc/view/cbi/mvalue.htm
libs/cbi/luasrc/view/cbi/nsection.htm
libs/cbi/luasrc/view/cbi/tblsection.htm
libs/cbi/luasrc/view/cbi/tsection.htm
libs/cbi/luasrc/view/cbi/ucisection.htm
libs/cbi/luasrc/view/cbi/value.htm

index 7370a04..6123e27 100644 (file)
@@ -316,7 +316,7 @@ NamedSection = class(AbstractSection)
 function NamedSection.__init__(self, map, section, type, ...)
        AbstractSection.__init__(self, map, type, ...)
        Node._i18n(self, map.config, section, nil, ...)
 function NamedSection.__init__(self, map, section, type, ...)
        AbstractSection.__init__(self, map, type, ...)
        Node._i18n(self, map.config, section, nil, ...)
-       
+
        self.template = "cbi/nsection"
        self.section = section
        self.addremove = false
        self.template = "cbi/nsection"
        self.section = section
        self.addremove = false
@@ -378,7 +378,7 @@ function TypedSection.cfgsections(self)
                function (section)
                        if self:checkscope(section[".name"]) then
                                table.insert(sections, section[".name"])
                function (section)
                        if self:checkscope(section[".name"]) then
                                table.insert(sections, section[".name"])
-                       end 
+                       end
                end)
 
        return sections
                end)
 
        return sections
@@ -554,7 +554,25 @@ function AbstractValue.render(self, s, scope)
        if not self.optional or self:cfgvalue(s) or self:formcreated(s) then
                scope = scope or {}
                scope.section = s
        if not self.optional or self:cfgvalue(s) or self:formcreated(s) then
                scope = scope or {}
                scope.section = s
-               
+               scope.cbid    = "cbid." .. self.config ..
+                               "."     .. s           ..
+                                               "."     .. self.option
+
+               scope.ifattr = function(cond,key,val)
+                       if cond then
+                               return string.format(
+                                       ' %s="%s"', tostring(key),
+                                       tostring( val or scope[key] or self[key] or "" )
+                               )
+                       else
+                               return ''
+                       end
+               end
+
+               scope.attr = function(...)
+                       return scope.ifattr( true, ... )
+               end
+
                Node.render(self, scope)
        end
 end
                Node.render(self, scope)
        end
 end
@@ -731,7 +749,7 @@ function MultiValue.valuelist(self, section)
 end
 
 function MultiValue.validate(self, val)
 end
 
 function MultiValue.validate(self, val)
-       val = (type(val) == "table") and val or {val} 
+       val = (type(val) == "table") and val or {val}
 
        local result
 
 
        local result
 
index 045866d..fbe266e 100644 (file)
@@ -13,15 +13,15 @@ $Id$
 
 -%>
 
 
 -%>
 
-       <%- if self.tag_invalid[section] then -%>
+       <% if self.tag_invalid[section] then -%>
                <div class="cbi-error"><%:cbi_invalid%></div>
                <div class="cbi-error"><%:cbi_invalid%></div>
-       <%- end -%>
+       <%- end %>
 </td>
 
 </td>
 
-<%- if #self.deps > 0 then -%>
+<% if #self.deps > 0 then -%>
        <script type="text/javascript">
                <% for j, d in ipairs(self.deps) do -%>
                        cbi_d_add("cbi-<%=self.config.."-"..section.."-"..self.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
                <%- end %>
        </script>
        <script type="text/javascript">
                <% for j, d in ipairs(self.deps) do -%>
                        cbi_d_add("cbi-<%=self.config.."-"..section.."-"..self.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
                <%- end %>
        </script>
-<%- end -%>
+<%- end %>
index 7b8f0a5..ecfeee6 100644 (file)
@@ -12,4 +12,5 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
+
 <td class="cbi-value-field" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
 <td class="cbi-value-field" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
index 54555bf..7d22fe0 100644 (file)
@@ -12,6 +12,7 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
+
 <%+cbi/valueheader%>
 <% if self.value then
        if type(self.value) == "function" then %>
 <%+cbi/valueheader%>
 <% if self.value then
        if type(self.value) == "function" then %>
index 7e9056a..4d21fd1 100644 (file)
@@ -12,10 +12,11 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-                       <div>
-                               <input type="submit" value="<%:save%>" />
-                               <input type="reset" value="<%:reset%>" />
-                               <script type="text/javascript">cbi_d_init();</script>
-                       </div>
-               </form>
-<%+footer%>
\ No newline at end of file
+
+       <div>
+               <input type="submit" value="<%:save%>" />
+               <input type="reset" value="<%:reset%>" />
+               <script type="text/javascript">cbi_d_init();</script>
+       </div>
+</form>
+<%+footer%>
index 2db6bbd..8924bec 100644 (file)
@@ -12,11 +12,21 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-                                                               <% if #self.description > 0 then %><div class="cbi-value-description"><%=self.description%></div><% end %>
-                                                       </div>
-                                                       <% if self.tag_invalid[section] then %><div class="cbi-error"><%:cbi_invalid%></div><% end %>
-                                               </div>
-                                               <% if #self.deps > 0 then %><script type="text/javascript">
-                                                       <% for j, d in ipairs(self.deps) do %>cbi_d_add("cbi-<%=self.config.."-"..section.."-"..self.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
-                                                       <% end %>
-                                               </script><% end %>
+
+               <% if #self.description > 0 then -%>
+                       <div class="cbi-value-description"><%=self.description%></div>
+               <%- end %>
+       </div>
+
+       <% if self.tag_invalid[section] then -%>
+               <div class="cbi-error"><%:cbi_invalid%></div>
+       <%- end %>
+</div>
+
+<% if #self.deps > 0 then -%>
+       <script type="text/javascript">
+               <% for j, d in ipairs(self.deps) do -%>
+                       cbi_d_add("cbi-<%=self.config.."-"..section.."-"..self.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
+               <%- end %>
+       </script>
+<%- end %>
index 40fce65..566e236 100644 (file)
@@ -12,6 +12,7 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-                                               <div class="cbi-value" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
-                                                       <label for="cbid.<%=self.config.."."..section.."."..self.option%>" class="cbi-value-title"><%=self.title%></label>
-                                                       <div class="cbi-value-field">
\ No newline at end of file
+
+<div class="cbi-value" id="cbi-<%=self.config.."-"..section.."-"..self.option%>">
+       <label class="cbi-value-title"<%= attr("for", cbid) %>><%=self.title%></label>
+               <div class="cbi-value-field">
index 1e53f24..f345500 100644 (file)
@@ -13,5 +13,5 @@ $Id$
 
 -%>
 <%+cbi/valueheader%>
 
 -%>
 <%+cbi/valueheader%>
-                                                               <input onchange="cbi_d_update(this.id)" type="checkbox" id="cbid.<%=self.config.."."..section.."."..self.option%>" name="cbid.<%=self.config.."."..section.."."..self.option%>"<% if self:cfgvalue(section) == self.enabled then %> checked="checked"<% end %> value="1" />
-<%+cbi/valuefooter%>
\ No newline at end of file
+       <input onchange="cbi_d_update(this.id)" type="checkbox"<%= attr("id", cbid) .. attr("name", cbid) .. ifattr(self:cfgvalue(section) == self.enabled, "checked", "checked") %> value="1" />
+<%+cbi/valuefooter%>
index afd2048..ce5d66d 100644 (file)
@@ -12,10 +12,11 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
+
 <%+header%>
 <%+header%>
-               <form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>">
-                       <div>
-                               <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
-                               <input type="hidden" name="cbi.submit" value="1" />
-                               <input type="submit" value="<%:save%>" class="hidden" />
-                       </div>
+<form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>">
+       <div>
+               <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+               <input type="hidden" name="cbi.submit" value="1" />
+               <input type="submit" value="<%:save%>" class="hidden" />
+       </div>
index 637151e..cb41f53 100644 (file)
@@ -14,18 +14,19 @@ $Id$
 -%>
 <%+cbi/valueheader%>
 <% if self.widget == "select" then %>
 -%>
 <%+cbi/valueheader%>
 <% if self.widget == "select" then %>
-                                                               <select onchange="cbi_d_update(this.id)" id="cbid.<%=self.config.."."..section.."."..self.option%>" 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 self:cfgvalue(section) == key then %> selected="selected"<% end %> value="<%=key%>"><%=self.vallist[i]%></option>
-<% end %>
-                                                               </select>
+       <select onchange="cbi_d_update(this.id)"<%= attr("id", cbid) .. attr("name", cbid) .. ifattr(self.size, "size") %>>
+       <% for i, key in pairs(self.keylist) do -%>
+               <option<%= attr("value", key) .. ifattr(self:cfgvalue(section) == key, "selected", "selected") %>><%=self.vallist[i]%></option>
+       <%- end %>
+       </select>
 <% elseif self.widget == "radio" then
 <% elseif self.widget == "radio" then
-       local c = 0;
+       local c = 0
        for i, key in pairs(self.keylist) do
        for i, key in pairs(self.keylist) do
-       c = c + 1%>
-                                                               <input type="radio" id="cbid.<%=self.config.."."..section.."."..self.option%>" name="cbid.<%=self.config.."."..section.."."..self.option%>"<% if self:cfgvalue(section) == key then %> checked="checked"<% end %> value="<%=key%>" />
-                                                               <label for="cbid.<%=self.config.."."..section.."."..self.option%>"><%=self.vallist[i]%></label><br />
+       c = c + 1
+%>
+       <input type="radio"<%= attr("id", cbid..c) .. attr("name", cbid) .. attr("value", key) .. ifattr(self:cfgvalue(section) == key, "checked", "checked") %> />
+       <label<%= attr("for", cbid..c) %>><%=self.vallist[i]%></label><br />
 <% if c == self.size then c = 0 %><br />
 <% end end %>
 <% end %>
 <% if c == self.size then c = 0 %><br />
 <% end end %>
 <% end %>
-<%+cbi/valuefooter%>
\ No newline at end of file
+<%+cbi/valuefooter%>
index c45f39f..e29b4fc 100644 (file)
@@ -12,9 +12,10 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-                       <div class="cbi-map" id="cbi-<%=self.config%>">
-                               <h1><%=self.title%></h1>
-                               <div class="cbi-map-descr"><%=self.description%></div>
-<% self:render_children() %>
-                               <br />
-                       </div>
+
+<div class="cbi-map" id="cbi-<%=self.config%>">
+       <h1><%=self.title%></h1>
+       <div class="cbi-map-descr"><%=self.description%></div>
+       <%- self:render_children() %>
+       <br />
+</div>
index 9580d87..092d229 100644 (file)
@@ -13,21 +13,22 @@ $Id$
 
 -%>
 <%
 
 -%>
 <%
-local v = self:valuelist(section)      
+local v = self:valuelist(section)
 %>
 <%+cbi/valueheader%>
 <% if self.widget == "select" then %>
 %>
 <%+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 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") %>><%=self.vallist[i]%></option>
+       <%- end %>
+       </select>
 <% elseif self.widget == "checkbox" then
        local c = 0;
        for i, key in pairs(self.keylist) do
 <% 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.."."..i%>" 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.."."..i%>"><%=self.vallist[i]%></label><br />
+       c = c + 1
+%>
+       <input 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 %>
 <% if c == self.size then c = 0 %><br />
 <% end end %>
 <% end %>
index 0153c32..a999e47 100644 (file)
@@ -12,23 +12,25 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-<% if self:cfgvalue(self.section) then
-section = self.section %>
-                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=section%>">
-                                       <h2><%=self.title%></h2>
-                                       <div class="cbi-section-descr"><%=self.description%></div>
-                                       <% if self.addremove then %><div class="cbi-section-remove right">
-                                               <input type="submit" name="cbi.rns.<%=self.config%>.<%=section%>" value="<%:cbi_del%>" />
-                                       </div><% end %>
-<div class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>">
-<%+cbi/ucisection%>
-</div>
-<br />
-                               </div>
+
+<% if self:cfgvalue(self.section) then section = self.section %>
+       <div class="cbi-section" id="cbi-<%=self.config%>-<%=section%>">
+               <h2><%=self.title%></h2>
+               <div class="cbi-section-descr"><%=self.description%></div>
+               <% if self.addremove then -%>
+                       <div class="cbi-section-remove right">
+                               <input type="submit" name="cbi.rns.<%=self.config%>.<%=section%>" value="<%:cbi_del%>" />
+                       </div>
+               <%- end %>
+               <div class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>">
+                       <%+cbi/ucisection%>
+               </div>
+               <br />
+       </div>
 <% elseif self.addremove then %>
 <% elseif self.addremove then %>
-                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.section%>">
-                                       <h2><%=self.title%></h2>
-                                       <div class="cbi-section-descr"><%=self.description%></div>
-                                       <input type="submit" name="cbi.cns.<%=self.config%>.<%=self.section%>" value="<%:cbi_add%>" />
-                               </div>
+       <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.section%>">
+               <h2><%=self.title%></h2>
+               <div class="cbi-section-descr"><%=self.description%></div>
+               <input type="submit" name="cbi.cns.<%=self.config%>.<%=self.section%>" value="<%:cbi_add%>" />
+       </div>
 <% end %>
 <% end %>
index 367af80..6f2029e 100644 (file)
@@ -12,64 +12,65 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
-                                       <h2><%=self.title%></h2>
-                                       <div class="cbi-section-descr"><%=self.description%></div>
-                                       <div class="cbi-section-node">
-                                               <%- local count = 0 -%>
-                                               <table class="cbi-section-table">
-                                                       <tr class="cbi-section-table-titles">
-                                                       <%- for i, k in pairs(self.children) do -%>
-                                                               <th class="cbi-section-table-cell"><%=k.title%></th>
-                                                       <%- count = count + 1; end; if self.addremove then -%>
-                                                               <th class="cbi-section-table-cell">&nbsp;</th>
-                                                       <%- count = count + 1; end -%>
-                                                       </tr>
-                                                       <tr class="cbi-section-table-descr">
-                                                       <%- for i, k in pairs(self.children) do -%>
-                                                               <th class="cbi-section-table-cell"><%=k.description%></th>
-                                                       <%- end; if self.addremove then -%>
-                                                               <th class="cbi-section-table-cell">&nbsp;</th>
-                                                       <%- end -%>
-                                                       </tr>
-                                                       <%- for i, k in ipairs(self:cfgsections()) do
-                                                                       if not self.anonymous then
-                                                       -%>
-                                                       <tr class="cbi-section-table-title">
-                                                               <th colspan="<%=count%>"><h3><%=k%></h3></th>
-                                                       </tr>
-                                                       <%-     end
-                                                                       section = k
-                                                                       scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
-                                                       -%>
-                                                       <tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
-                                                               <%-+cbi/ucisection-%>
-                                                               <%- if self.addremove then -%>
-                                                                       <td class="cbi-section-table-cell">
-                                                                               <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="X" />
-                                                                       </td>
-                                                               <%- end -%>
-                                                       </tr>
-                                                       <%- end -%>
 
 
-                                                       <%- if self.addremove then -%>
-                                                       <tr class="cbi-section-table-row">
-                                                               <td colspan="<%=count%>" class="cbi-section-table-optionals">
-                                                                       <div class="cbi-section-create">
-                                                                               <% if self.anonymous then %>
-                                                                                       <input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
-                                                                               <% else %>
-                                                                                       <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
-                                                                                       <input type="submit" value="<%:cbi_add%>" />
-                                                                               <% end %>
+<div class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
+       <h2><%=self.title%></h2>
+       <div class="cbi-section-descr"><%=self.description%></div>
+       <div class="cbi-section-node">
+               <%- local count = 0 -%>
+               <table class="cbi-section-table">
+                       <tr class="cbi-section-table-titles">
+                       <%- for i, k in pairs(self.children) do -%>
+                               <th class="cbi-section-table-cell"><%=k.title%></th>
+                       <%- count = count + 1; end; if self.addremove then -%>
+                               <th class="cbi-section-table-cell">&nbsp;</th>
+                       <%- count = count + 1; end -%>
+                       </tr>
+                       <tr class="cbi-section-table-descr">
+                       <%- for i, k in pairs(self.children) do -%>
+                               <th class="cbi-section-table-cell"><%=k.description%></th>
+                       <%- end; if self.addremove then -%>
+                               <th class="cbi-section-table-cell">&nbsp;</th>
+                       <%- end -%>
+                       </tr>
+                       <%- for i, k in ipairs(self:cfgsections()) do
+                                       if not self.anonymous then
+                       -%>
+                       <tr class="cbi-section-table-title">
+                               <th colspan="<%=count%>"><h3><%=k%></h3></th>
+                       </tr>
+                       <%-     end
+                                       section = k
+                                       scope = { valueheader = "cbi/cell_valueheader", valuefooter = "cbi/cell_valuefooter" }
+                       -%>
+                       <tr class="cbi-section-table-row" id="cbi-<%=self.config%>-<%=section%>">
+                               <%-+cbi/ucisection-%>
+                               <%- if self.addremove then -%>
+                                       <td class="cbi-section-table-cell">
+                                               <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="X" />
+                                       </td>
+                               <%- end -%>
+                       </tr>
+                       <%- end -%>
 
 
-                                                                               <% if self.err_invalid then %>
-                                                                                       <div class="cbi-error"><%:cbi_invalid%></div>
-                                                                               <% end %>
-                                                                       </div>
-                                                               </td>
-                                                       </tr>
-                                                       <%- end -%>
-                                               </table>
+                       <%- if self.addremove then -%>
+                       <tr class="cbi-section-table-row">
+                               <td colspan="<%=count%>" class="cbi-section-table-optionals">
+                                       <div class="cbi-section-create">
+                                               <% if self.anonymous then %>
+                                                       <input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
+                                               <% else %>
+                                                       <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
+                                                       <input type="submit" value="<%:cbi_add%>" />
+                                               <% end %>
+
+                                               <% if self.err_invalid then %>
+                                                       <div class="cbi-error"><%:cbi_invalid%></div>
+                                               <% end %>
                                        </div>
                                        </div>
-                               </div>
+                               </td>
+                       </tr>
+                       <%- end -%>
+               </table>
+       </div>
+</div>
index 7cc5dd3..9f4f2a5 100644 (file)
@@ -12,28 +12,36 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
-                               <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
-                                       <h2><%=self.title%></h2>
-                                       <div class="cbi-section-descr"><%=self.description%></div>
-<% for i, k in ipairs(self:cfgsections()) do%>
-                                               <% if self.addremove then %><div class="cbi-section-remove right">
-                                                       <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="<%:cbi_del%>" />
-                                               </div><% end %>
-                                               <% if not self.anonymous then %><h3><%=k%></h3><% end %>
-<% section = k %>
-<div class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>">
-<%+cbi/ucisection%>
-</div>
-<br />
-<% end %>
-<% if self.addremove then %>
-                                       <div class="cbi-section-create">
-                                               <% if self.anonymous then %>
-                                                       <input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
-                                               <% else %>
-                                                       <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
-                                                       <input type="submit" value="<%:cbi_add%>" />
-                                               <% end %><% if self.err_invalid then %><div class="cbi-error"><%:cbi_invalid%></div><% end %>
-                                       </div>
-<% end %>
+
+<div class="cbi-section" id="cbi-<%=self.config%>-<%=self.sectiontype%>">
+       <h2><%=self.title%></h2>
+       <div class="cbi-section-descr"><%=self.description%></div>
+               <% for i, k in ipairs(self:cfgsections()) do -%>
+                       <% if self.addremove then -%>
+                               <div class="cbi-section-remove right">
+                                       <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="<%:cbi_del%>" />
                                </div>
                                </div>
+                       <%- end %>
+                       <% if not self.anonymous then %><h3><%=k%></h3><% end %>
+                       <% section = k %>
+                       <div class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>">
+                               <%+cbi/ucisection%>
+                       </div>
+                       <br />
+               <%- end %>
+
+               <% if self.addremove then -%>
+                       <div class="cbi-section-create">
+                               <% if self.anonymous then -%>
+                                       <input type="submit" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" value="<%:cbi_add%>" />
+                               <%- else -%>
+                                       <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" />
+                                       <input type="submit" value="<%:cbi_add%>" />
+                               <%- end %>
+
+                               <% if self.err_invalid then -%>
+                                       <div class="cbi-error"><%:cbi_invalid%></div>
+                               <%- end %>
+                       </div>
+               <%- end %>
+       </div>
index f6652fb..eb581ca 100644 (file)
@@ -12,23 +12,25 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
 $Id$
 
 -%>
+
 <% self:render_children(section, scope or {}) %>
 <% self:render_children(section, scope or {}) %>
-                                               <% if #self.optionals[section] > 0 or self.dynamic then %>
-                                                       <div class="cbi-optionals">
-                                                       <% if self.dynamic then %>
-                                                               <input type="text" name="cbi.opt.<%=self.config%>.<%=section%>" />
-                                                       <% else %>
-                                                               <select name="cbi.opt.<%=self.config%>.<%=section%>">
-                                                                       <option><%:cbi_addopt%></option>
-                                                               <% for key, val in pairs(self.optionals[section]) do %>
-                                                                       <option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>"><%=val.title%></option>
-                                                               <% end %>
-                                                               </select>
-                                                               <script type="text/javascript"><% for key, val in pairs(self.optionals[section]) do %>
-                                                                       <% if #val.deps > 0 then %><% for j, d in ipairs(val.deps) do %>cbi_d_add("cbi-<%=self.config.."-"..section.."-"..val.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
-                                                               <% end %><% end %>
-                                                               <% end %></script>
-                                                       <% end %>
-                                                               <input type="submit" value="<%:add%>" />
-                                                       </div>
-                                               <% end %>
\ No newline at end of file
+
+<% if #self.optionals[section] > 0 or self.dynamic then %>
+       <div class="cbi-optionals">
+               <% if self.dynamic then %>
+                       <input type="text" name="cbi.opt.<%=self.config%>.<%=section%>" />
+               <% else %>
+               <select name="cbi.opt.<%=self.config%>.<%=section%>">
+                       <option><%:cbi_addopt%></option>
+                       <% for key, val in pairs(self.optionals[section]) do %>
+                               <option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>"><%=val.title%></option>
+                       <% end %>
+               </select>
+               <script type="text/javascript"><% for key, val in pairs(self.optionals[section]) do %>
+                       <% if #val.deps > 0 then %><% for j, d in ipairs(val.deps) do %>cbi_d_add("cbi-<%=self.config.."-"..section.."-"..val.option%>", "cbid.<%=self.config.."."..section.."."..d.field%>", "<%=d.value%>");
+               <% end %><% end %>
+               <% end %></script>
+       <% end %>
+               <input type="submit" value="<%:add%>" />
+       </div>
+<% end %>
index 9bde6bc..5a7339d 100644 (file)
@@ -13,5 +13,5 @@ $Id$
 
 -%>
 <%+cbi/valueheader%>
 
 -%>
 <%+cbi/valueheader%>
-                                                               <input type="text" onchange="cbi_d_update(this.id)" <% if self.size then %>size="<%=self.size%>" <% end %><% if self.maxlength then %>maxlength="<%=self.maxlength%>" <% end %>name="cbid.<%=self.config.."."..section.."."..self.option%>" id="cbid.<%=self.config.."."..section.."."..self.option%>" value="<%=self:cfgvalue(section)%>" />
+       <input type="text" onchange="cbi_d_update(this.id)"<%= attr("name", cbid) .. attr("id", cbid) .. attr("value", self:cfgvalue(section)) .. ifattr(self.size, "size") .. ifattr(self.maxlength, "maxlength") %> />
 <%+cbi/valuefooter%>
 <%+cbi/valuefooter%>