diff options
Diffstat (limited to 'libs/cbi')
-rw-r--r-- | libs/cbi/luasrc/cbi.lua | 12 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/delegator.htm | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/libs/cbi/luasrc/cbi.lua b/libs/cbi/luasrc/cbi.lua index f3c481cf84..3a687e5aa5 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 523eebcda5..95fd270f8b 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 < 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 %> |