diff options
author | Jo-Philipp Wich <jo@mein.io> | 2018-07-18 11:36:53 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2018-07-18 12:05:05 +0200 |
commit | bc562294b9a5a2867b8b6e1cb21d9a2d4a2b8b59 (patch) | |
tree | ecc1c66bb7041434c72599af13826aec5e6e2b93 /modules | |
parent | 7b43e81c9b88df9623cfa22a79627558787378ea (diff) |
luci-base: rework simpleform template
- Ensure that pressing enter in the form triggers the submit action and
not a cbi skip or cancel
- Hide page actions when empty
- Cleanup code
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/luci-base/luasrc/view/cbi/simpleform.htm | 122 |
1 files changed, 72 insertions, 50 deletions
diff --git a/modules/luci-base/luasrc/view/cbi/simpleform.htm b/modules/luci-base/luasrc/view/cbi/simpleform.htm index 5069e9f407..3e10724ec5 100644 --- a/modules/luci-base/luasrc/view/cbi/simpleform.htm +++ b/modules/luci-base/luasrc/view/cbi/simpleform.htm @@ -1,55 +1,77 @@ -<% if not self.embedded then %> -<form method="post" enctype="multipart/form-data" action="<%=REQUEST_URI%>"> - <div> - <input type="hidden" name="token" value="<%=token%>" /> - <input type="hidden" name="cbi.submit" value="1" /> - </div> -<% end %> - <div class="cbi-map" id="cbi-<%=self.config%>"> - <% if self.title and #self.title > 0 then %><h2 name="content"><%=self.title%></h2><% end %> - <% if self.description and #self.description > 0 then %><div class="cbi-map-descr"><%=self.description%></div><% end %> - <% self:render_children() %> - </div> -<%- if self.message then %> - <div><%=self.message%></div> -<%- end %> -<%- if self.errmessage then %> - <div class="error"><%=self.errmessage%></div> -<%- end %> -<% if not self.embedded then %> - <div class="cbi-page-actions"> -<%- - if type(self.hidden) == "table" then - for k, v in pairs(self.hidden) do --%> - <input type="hidden" id="<%=k%>" name="<%=k%>" value="<%=pcdata(v)%>" /> -<%- +<% + if not self.embedded then + %><form method="post" enctype="multipart/form-data" action="<%=REQUEST_URI%>"> + <input type="hidden" name="token" value="<%=token%>" /> + <input type="hidden" name="cbi.submit" value="1" /><% + end + + %><div class="cbi-map" id="cbi-<%=self.config%>"><% + + if self.title and #self.title > 0 then + %><h2 name="content"><%=self.title%></h2><% + end + + if self.description and #self.description > 0 then + %><div class="cbi-map-descr"><%=self.description%></div><% + end + + self:render_children() + + %></div><% + + if self.message then + %><div class="alert-message notice"><%=self.message%></div><% + end + + if self.errmessage then + %><div class="alert-message warning"><%=self.errmessage%></div><% + end + + if not self.embedded then + if type(self.hidden) == "table" then + local k, v + for k, v in pairs(self.hidden) do + %><input type="hidden" id="<%=k%>" name="<%=k%>" value="<%=pcdata(v)%>" /><% + end end + + local display_back = (redirect) + local display_cancel = (self.cancel ~= false and self.on_cancel) + local display_skip = (self.flow and self.flow.skip) + local display_submit = (self.submit ~= false) + local display_reset = (self.reset ~= false) + + if display_back or display_cancel or display_skip or display_submit or display_reset then + %><div class="cbi-page-actions"><% + + if display_back then + %><input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" /> <% + end + + if display_cancel then + local label = pcdata(self.cancel or translate("Cancel")) + %><input class="cbi-button cbi-button-link" type="button" value="<%=label%>" onclick="cbi_submit(this, 'cbi.cancel')" /> <% + end + + if display_skip then + %><input class="cbi-button cbi-button-neutral" type="button" value="<%:Skip%>" onclick="cbi_submit(this, 'cbi.skip')" /> <% + end + + if display_submit then + local label = pcdata(self.submit or translate("Submit")) + %><input class="cbi-button cbi-button-save" type="submit" value="<%=label%>" /> <% + end + + if display_reset then + local label = pcdata(self.reset or translate("Reset")) + %><input class="cbi-button cbi-button-reset" type="reset" value="<%=label%>" /> <% + end + + %></div><% + end + + %></form><% end %> -<% if redirect then %> - <input class="cbi-button cbi-button-link" type="button" value="<%:Back to Overview%>" onclick="location.href='<%=pcdata(redirect)%>'" /> -<% end %> -<%- if self.cancel ~= false and self.on_cancel then %> - <input class="cbi-button cbi-button-link" type="submit" name="cbi.cancel" value=" - <%- if not self.cancel then -%><%-:Cancel-%><%-else-%><%=self.cancel%><%end-%> - " /> -<% end %> -<%- if self.flow and self.flow.skip then %> - <input class="cbi-button cbi-button-skip" type="submit" name="cbi.skip" value="<%:Skip%>" /> -<% end %> -<%- if self.submit ~= false then %> - <input class="cbi-button cbi-button-save" type="submit" value=" - <%- if not self.submit then -%><%-:Submit-%><%-else-%><%=self.submit%><%end-%> - " /> -<% end %> -<%- if self.reset ~= false then %> - <input class="cbi-button cbi-button-reset" type="reset" value=" - <%- if not self.reset then -%><%-:Reset-%><%-else-%><%=self.reset%><%end-%> - " /> -<% end %> - </div> -</form> -<% end %> <script type="text/javascript">cbi_init();</script> |