Allow combination of SimpleForms as Forms into pages with Maps

Allow subsequent changes of Table data
This commit is contained in:
Steven Barth 2009-03-07 11:30:41 +00:00
parent eb6f9c6192
commit ad57125f41
2 changed files with 18 additions and 3 deletions

View file

@ -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
--[[

View file

@ -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 %>