mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
85 lines
3 KiB
HTML
85 lines
3 KiB
HTML
<%+cbi/valueheader%>
|
|
|
|
<%-
|
|
local utl = require "luci.util"
|
|
local nwm = require "luci.model.network".init()
|
|
|
|
local net, iface
|
|
local networks = nwm:get_networks()
|
|
local value = self:formvalue(section)
|
|
|
|
self.cast = nil
|
|
|
|
if not value or value == "-" then
|
|
value = self:cfgvalue(section) or self.default
|
|
end
|
|
|
|
local checked = { }
|
|
for value in utl.imatch(value) do
|
|
checked[value] = true
|
|
end
|
|
-%>
|
|
|
|
<ul style="margin:0; list-style-type:none; text-align:left">
|
|
<% for _, net in ipairs(networks) do
|
|
if (net:name() ~= "loopback") and
|
|
(net:name() ~= self.exclude) and
|
|
(not self.novirtual or not net:is_virtual())
|
|
then %>
|
|
<li style="padding:0.25em 0">
|
|
<input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=
|
|
attr("type", self.widget or "radio") ..
|
|
attr("id", cbid .. "." .. net:name()) ..
|
|
attr("name", cbid) .. attr("value", net:name()) ..
|
|
ifattr(checked[net:name()], "checked", "checked")
|
|
%> />  
|
|
<label<%=attr("for", cbid .. "." .. net:name())%>>
|
|
<span class="ifacebadge"><%=net:name()%>:
|
|
<%
|
|
local empty = true
|
|
for _, iface in ipairs(net:is_bridge() and net:get_interfaces() or { net:get_interface() }) do
|
|
if not iface:is_bridge() then
|
|
empty = false
|
|
%>
|
|
<img<%=attr("title", iface:get_i18n())%> style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" />
|
|
<% end end %>
|
|
<% if empty then %><em><%:(no interfaces attached)%></em><% end %>
|
|
</span>
|
|
</label>
|
|
</li>
|
|
<% end end %>
|
|
|
|
<% if not self.nocreate then %>
|
|
<li style="padding:0.25em 0">
|
|
<input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not value and self.widget ~= "checkbox", "checked", "checked")%> />  
|
|
<%- if not self.widget or self.widget == "checkbox" or self.widget == "radio" then -%>
|
|
<label<%=attr("for", cbid .. "_new")%>></label>
|
|
<%- end -%>
|
|
<div style="padding:0.5em; display:inline">
|
|
<label<%=attr("for", cbid .. "_new")%>><em>
|
|
<%- if self.widget == "checkbox" then -%>
|
|
<%:create:%>
|
|
<%- else -%>
|
|
<%:unspecified -or- create:%>
|
|
<%- end -%> </em></label>
|
|
<input style="display:none" type="password" />
|
|
<input style="width:6em" type="text"<%=attr("name", cbid .. ".newnet")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" />
|
|
</div>
|
|
</li>
|
|
<% elseif self.widget ~= "checkbox" and self.unspecified then %>
|
|
<li style="padding:0.25em 0">
|
|
<input class="cbi-input-<%=self.widget or "radio"%>" data-update="click change"<%=
|
|
attr("type", self.widget or "radio") ..
|
|
attr("id", cbid .. "_uns") ..
|
|
attr("name", cbid) ..
|
|
attr("value", "") ..
|
|
ifattr(not value or #value == 0, "checked", "checked")
|
|
%> />  
|
|
<div style="padding:0.5em; display:inline">
|
|
<label<%=attr("for", cbid .. "_uns")%>><em><%:unspecified%></em></label>
|
|
</div>
|
|
</li>
|
|
<% end %>
|
|
</ul>
|
|
|
|
<%+cbi/valuefooter%>
|