diff options
author | Steven Barth <steven@midlink.org> | 2008-05-14 12:10:44 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-05-14 12:10:44 +0000 |
commit | 3f4f75b1079eb1ea29b6c2fde9a3dd25c52f2fe4 (patch) | |
tree | 21864f75a3f353720fde2118f15dd504c3a160eb /core | |
parent | 9a8624350f9f47f5d3abbf8a7cdafea4246334d6 (diff) |
* core: Added template for a table view of typed sections
Diffstat (limited to 'core')
-rw-r--r-- | core/src/cbi.lua | 20 | ||||
-rw-r--r-- | core/src/view/cbi/nsection.htm | 3 | ||||
-rw-r--r-- | core/src/view/cbi/tblsection.htm | 39 | ||||
-rw-r--r-- | core/src/view/cbi/tsection.htm | 3 | ||||
-rw-r--r-- | core/src/view/cbi/ucisection.htm | 7 | ||||
-rw-r--r-- | core/src/view/cbi/valuefooter.htm | 8 | ||||
-rw-r--r-- | core/src/view/cbi/valueheader.htm | 8 | ||||
-rw-r--r-- | core/src/view/header.htm | 1 |
8 files changed, 63 insertions, 26 deletions
diff --git a/core/src/cbi.lua b/core/src/cbi.lua index 3384e5c38..8a623b62c 100644 --- a/core/src/cbi.lua +++ b/core/src/cbi.lua @@ -87,8 +87,11 @@ function Node.parse(self, ...) end -- Render this node -function Node.render(self) - ffluci.template.render(self.template, {self=self}) +function Node.render(self, scope) + scope = scope or {} + scope.self = self + + ffluci.template.render(self.template, scope) end -- Render the children @@ -453,13 +456,6 @@ function TypedSection.parse(self) end end --- Render the children -function TypedSection.render_children(self, section) - for k, node in ipairs(self.children) do - node:render(section) - end -end - -- Verifies scope of sections function TypedSection.checkscope(self, section) -- Check if we are not excluded @@ -554,9 +550,11 @@ function AbstractValue.parse(self, section) end -- Render if this value exists or if it is mandatory -function AbstractValue.render(self, s) +function AbstractValue.render(self, s, scope) if not self.optional or self:cfgvalue(s) or self:formcreated(s) then - ffluci.template.render(self.template, {self=self, section=s}) + scope = scope or {} + scope.section = s + Node.render(self, scope) end end diff --git a/core/src/view/cbi/nsection.htm b/core/src/view/cbi/nsection.htm index bbc87f185..fff597ad0 100644 --- a/core/src/view/cbi/nsection.htm +++ b/core/src/view/cbi/nsection.htm @@ -6,7 +6,10 @@ section = self.section %> <% if self.addremove then %><div class="cbi-section-remove right"> <input type="submit" name="cbi.rns.<%=self.config%>.<%=section%>" value="<%:cbi_del Eintrag entfernen%>" /> </div><% end %> +<div class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>"> <%+cbi/ucisection%> +</div> +<br /> </div> <% elseif self.addremove then %> <div class="cbi-section" id="cbi-<%=self.config%>-<%=self.section%>"> diff --git a/core/src/view/cbi/tblsection.htm b/core/src/view/cbi/tblsection.htm new file mode 100644 index 000000000..df16efbed --- /dev/null +++ b/core/src/view/cbi/tblsection.htm @@ -0,0 +1,39 @@ + <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"> + <div class="cbi-section-row"> +<% for i, k in pairs(self.children) do %> + <div class="cbi-section-row-head"><%=k.title%></div> +<% end %> + </div> + <div class="cbi-section-row"> +<% for i, k in pairs(self.children) do %> + <div class="cbi-section-row-descr"><%=k.description%></div> +<% end %> + </div> +<% for i, k in ipairs(self:cfgsections()) do%> + <% if not self.anonymous then %><h3 class="table-cell"><%=k%></h3><% end %> +<% +section = k +scope = {valueheader = "cbi/tiny_valueheader", valuefooter = "cbi/tiny_valuefooter"} +%> +<div class="cbi-section-row" id="cbi-<%=self.config%>-<%=section%>"> +<%+cbi/ucisection%> + <% if self.addremove then %><div class="cbi-section-remove table-cell"> + <input type="submit" name="cbi.rts.<%=self.config%>.<%=k%>" value="X" /> + </div><% end %> +</div> +<% 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 Eintrag hinzufügen%>" /> + <% else %> + <input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>" /> + <input type="submit" value="<%:cbi_add Eintrag hinzufügen%>" /> + <% end %><% if self.err_invalid then %><div class="cbi-error"><%:cbi_invalid Fehler: Ungültige Eingabe%></div><% end %> + </div> + </div> +<% end %> + </div> diff --git a/core/src/view/cbi/tsection.htm b/core/src/view/cbi/tsection.htm index 666c14b2e..37b18b5d4 100644 --- a/core/src/view/cbi/tsection.htm +++ b/core/src/view/cbi/tsection.htm @@ -7,7 +7,10 @@ </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"> diff --git a/core/src/view/cbi/ucisection.htm b/core/src/view/cbi/ucisection.htm index a1fb39cf4..0abc37e7c 100644 --- a/core/src/view/cbi/ucisection.htm +++ b/core/src/view/cbi/ucisection.htm @@ -1,5 +1,4 @@ - <div class="cbi-section-node" id="cbi-<%=self.config%>-<%=section%>"> -<% self:render_children(section) %> +<% self:render_children(section, scope or {}) %> <% if #self.optionals[section] > 0 or self.dynamic then %> <div class="cbi-optionals"> <% if self.dynamic then %> @@ -18,6 +17,4 @@ <% end %> <input type="submit" value="<%:add hinzufügen%>" /> </div> - <% end %> - </div> - <br />
\ No newline at end of file + <% end %>
\ No newline at end of file diff --git a/core/src/view/cbi/valuefooter.htm b/core/src/view/cbi/valuefooter.htm index 99de567e0..bc9d1b127 100644 --- a/core/src/view/cbi/valuefooter.htm +++ b/core/src/view/cbi/valuefooter.htm @@ -1,7 +1,5 @@ -<% -if self.tiny then - include("cbi/tiny_valuefooter") +<% if valuefooter then + include(valuefooter) else include("cbi/full_valuefooter") -end -%>
\ No newline at end of file +end %>
\ No newline at end of file diff --git a/core/src/view/cbi/valueheader.htm b/core/src/view/cbi/valueheader.htm index 3b7dd5b82..8d9802f57 100644 --- a/core/src/view/cbi/valueheader.htm +++ b/core/src/view/cbi/valueheader.htm @@ -1,7 +1,5 @@ -<% -if self.tiny then - include("cbi/tiny_valueheader") +<% if valueheader then + include(valueheader) else include("cbi/full_valueheader") -end -%>
\ No newline at end of file +end %>
\ No newline at end of file diff --git a/core/src/view/header.htm b/core/src/view/header.htm index bc65e3e89..9bb8b8be9 100644 --- a/core/src/view/header.htm +++ b/core/src/view/header.htm @@ -12,6 +12,7 @@ require("ffluci.http").prepare_content("text/html") <head> <link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" /> <link rel="stylesheet" type="text/css" href="<%=media%>/css/<%=req.category%>_<%=req.module%>.css" /> + <link rel="stylesheet" type="text/css" href="<%=media%>/css/<%=req.category%>_<%=req.module%>_<%=req.action%>.css" /> <meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> <meta http-equiv="content-script-type" content="text/javascript" /> <title>FFLuCI</title> |