1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <%-
- if type(self.hidden) == "table" then
- for k, v in pairs(self.hidden) do
- -%>
- <input type="hidden" id="<%=k%>" name="<%=k%>" value="<%=pcdata(v)%>" />
- <%-
- end
- end
- %>
- <% if self.tabs then %>
- <%+cbi/tabcontainer%>
- <% else %>
- <% self:render_children(section, scope or {}) %>
- <% end %>
- <% if self.error and self.error[section] then -%>
- <div class="cbi-section-error" data-index="<%=#self.children + 1%>">
- <ul><% for _, e in ipairs(self.error[section]) do -%>
- <li>
- <%- if e == "invalid" then -%>
- <%:One or more fields contain invalid values!%>
- <%- elseif e == "missing" then -%>
- <%:One or more required fields have no value!%>
- <%- else -%>
- <%=pcdata(e)%>
- <%- end -%>
- </li>
- <%- end %></ul>
- </div>
- <%- end %>
- <% if self.optionals[section] and #self.optionals[section] > 0 or self.dynamic then %>
- <div class="cbi-optionals" data-index="<%=#self.children + 1%>">
- <%
- if self.dynamic then
- local keys, vals, name, opt = { }, { }
- for name, opt in pairs(self.optionals[section]) do
- keys[#keys+1] = name
- vals[#vals+1] = opt.title
- end
- %>
- <input type="text" id="cbi.opt.<%=self.config%>.<%=section%>" name="cbi.opt.<%=self.config%>.<%=section%>" data-type="uciname" data-optional="true"<%=
- ifattr(#keys > 0, "data-choices", luci.util.json_encode({keys, vals}))
- %> />
- <% else %>
- <select id="cbi.opt.<%=self.config%>.<%=section%>" name="cbi.opt.<%=self.config%>.<%=section%>" data-optionals="true">
- <option><%: -- Additional Field -- %></option>
- <% for key, val in pairs(self.optionals[section]) do -%>
- <option id="cbi-<%=self.config.."-"..section.."-"..val.option%>" value="<%=val.option%>" data-index="<%=val.index%>" data-depends="<%=pcdata(val:deplist2json(section))%>"><%=striptags(val.title)%></option>
- <%- end %>
- </select>
- <% end %>
- <input type="submit" class="cbi-button cbi-button-fieldadd" value="<%:Add%>" />
- </div>
- <% end %>
|