summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/cbi/luasrc/cbi.lua12
-rw-r--r--libs/cbi/luasrc/view/cbi/delegator.htm2
2 files changed, 12 insertions, 2 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua
index f3c481cf8..3a687e5aa 100644
--- a/libs/cbi/luasrc/cbi.lua
+++ b/libs/cbi/luasrc/cbi.lua
@@ -286,6 +286,11 @@ function Template.render(self)
luci.template.render(self.template, {self=self})
end
+function Template.parse(self, readinput)
+ self.readinput = (readinput ~= false)
+ return Map.formvalue(self, "cbi.submit") and FORM_DONE or FORM_NODATA
+end
+
--[[
Map - A map describing a configuration file
@@ -499,6 +504,7 @@ function Delegator.__init__(self, ...)
self.defaultpath = {}
self.pageaction = false
self.readinput = true
+ self.allow_reset = false
self.allow_back = false
self.allow_finish = false
self.template = "cbi/delegator"
@@ -573,8 +579,10 @@ function Delegator.parse(self, ...)
newcurrent = self:get_next(self.current)
end
end
-
- if not newcurrent or not self:get(newcurrent) then
+
+ if not Map.formvalue(self, "cbi.submit") then
+ return FORM_NODATA
+ elseif not newcurrent or not self:get(newcurrent) then
return FORM_DONE
else
self.current = newcurrent
diff --git a/libs/cbi/luasrc/view/cbi/delegator.htm b/libs/cbi/luasrc/view/cbi/delegator.htm
index 523eebcda..95fd270f8 100644
--- a/libs/cbi/luasrc/view/cbi/delegator.htm
+++ b/libs/cbi/luasrc/view/cbi/delegator.htm
@@ -20,7 +20,9 @@ $Id$
<% if self.allow_back and self:get_prev(self.current) then %>
<input class="cbi-button cbi-button-back" type="submit" name="cbi.delg.back" value="<%:cbi_back &lt; Back%>" />
<% end %>
+<% if self.allow_reset then %>
<input class="cbi-button cbi-button-reset" type="reset" value="<%:reset%>" />
+<% end %>
<% if self.allow_finish and not self:get_next(self.current) then %>
<input class="cbi-button cbi-button-finish" type="submit" value="<%:cbi_finish Finish%>" />
<% elseif self:get_next(self.current) then %>