diff options
author | Steven Barth <steven@midlink.org> | 2009-03-07 11:30:41 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2009-03-07 11:30:41 +0000 |
commit | ad57125f4132bef88ff0d2b4e34281ff812dc08b (patch) | |
tree | f040d7d24f0b438ad102883ade02b18317b26999 | |
parent | eb6f9c6192343285ac4a630c63512f64b63010a6 (diff) |
Allow combination of SimpleForms as Forms into pages with Maps
Allow subsequent changes of Table data
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 16 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/simpleform.htm | 5 |
2 files changed, 18 insertions, 3 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index 275c3f3c3..b6ccc5480 100644 --- a/libs/cbi/luasrc/cbi.lua +++ b/libs/cbi/luasrc/cbi.lua @@ -644,6 +644,13 @@ function SimpleForm.get_scheme() end +Form = class(SimpleForm) + +function Form.__init__(self, ...) + SimpleForm.__init__(self, ...) + self.embedded = true +end + --[[ AbstractSection @@ -814,15 +821,16 @@ Table = class(AbstractSection) function Table.__init__(self, form, data, ...) local datasource = {} + local tself = self datasource.config = "table" - self.data = data + self.data = data or {} datasource.formvalue = Map.formvalue datasource.formvaluetable = Map.formvaluetable datasource.readinput = true function datasource.get(self, section, option) - return data[section] and data[section][option] + return tself.data[section] and tself.data[section][option] end function datasource.submitstate(self) @@ -862,6 +870,10 @@ function Table.cfgsections(self) return sections end +function Table.update(self, data) + self.data = data +end + --[[ diff --git a/libs/cbi/luasrc/view/cbi/simpleform.htm b/libs/cbi/luasrc/view/cbi/simpleform.htm index 66810a071..e167a6e6d 100644 --- a/libs/cbi/luasrc/view/cbi/simpleform.htm +++ b/libs/cbi/luasrc/view/cbi/simpleform.htm @@ -12,12 +12,13 @@ You may obtain a copy of the License at $Id$ -%> - +<% if not self.embedded then %> <form method="post" action="<%=REQUEST_URI%>"> <div> <script type="text/javascript" src="<%=resource%>/cbi.js"></script> <input type="hidden" name="cbi.submit" value="1" /> </div> +<% end %> <div class="cbi-map" id="cbi-<%=self.config%>"> <h2><a id="content" name="content"><%=self.title%></a></h2> <div class="cbi-map-descr"><%=self.description%></div> @@ -30,6 +31,7 @@ $Id$ <%- if self.errmessage then %> <div class="error"><%=self.errmessage%></div> <%- end %> +<% if not self.embedded then %> <div> <%- if self.submit ~= false then %> <input class="cbi-button-save" type="submit" value=" @@ -44,3 +46,4 @@ $Id$ <script type="text/javascript">cbi_d_update();</script> </div> </form> +<% end %> |