Allow combination of SimpleForms as Forms into pages with Maps
[project/luci.git] / libs / cbi / luasrc / cbi.lua
index 275c3f3..b6ccc54 100644 (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
+
 
 
 --[[