summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/luasrc/view
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2018-07-18 11:36:53 +0200
committerJo-Philipp Wich <jo@mein.io>2018-07-18 12:05:05 +0200
commitbc562294b9a5a2867b8b6e1cb21d9a2d4a2b8b59 (patch)
treeecc1c66bb7041434c72599af13826aec5e6e2b93 /modules/luci-base/luasrc/view
parent7b43e81c9b88df9623cfa22a79627558787378ea (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/luci-base/luasrc/view')
-rw-r--r--modules/luci-base/luasrc/view/cbi/simpleform.htm122
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 5069e9f40..3e10724ec 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>