diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-10-27 21:42:40 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-10-27 21:42:40 +0000 |
commit | bec91e4cafbe830e96cb9a3b3199d5c75da3c011 (patch) | |
tree | ee4415f27930042a03ac29268fe7549b0d15fa5c /libs | |
parent | 839e150ea931b2989ea3cf9b4b86bcc17360decc (diff) |
libs/cbi: fixes for widget templates
Diffstat (limited to 'libs')
-rw-r--r-- | libs/cbi/luasrc/view/cbi/firewall_zonelist.htm | 44 | ||||
-rw-r--r-- | libs/cbi/luasrc/view/cbi/network_netlist.htm | 35 |
2 files changed, 52 insertions, 27 deletions
diff --git a/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm b/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm index 199d9ac9a..94186954d 100644 --- a/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm +++ b/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm @@ -20,38 +20,60 @@ $Id$ local zone, net, iface local zones = fwm:get_zones() - local value = self:cfgvalue(section) or self.default + local value = self:formvalue(section) + if not value or value == "-" then value = self:cfgvalue(section) or self.default end + local selected = false + local checked = { } - if value and #value == 0 then value = nil end + if value and #value == 0 then + value = nil + elseif type(value) == "table" then + for _, value in ipairs(value) do + checked[value] = true + end + elseif value then + checked[value] = true + end -%> -<ul style="margin:0; list-style-type:none"> +<ul style="margin:0; list-style-type:none; text-align:left"> <% for _, zone in utl.spairs(zones, function(a,b) return (zones[a]:name() < zones[b]:name()) end) do - selected = selected or (value == zone:name()) + if zone:name() ~= self.exclude then + selected = selected or (value == zone:name()) %> <li style="padding:0.5em"> - <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio"<%=attr("id", cbid .. "." .. zone:name()) .. attr("name", cbid) .. attr("value", zone:name()) .. ifattr(value == zone:name(), "checked", "checked")%> /> + <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "." .. zone:name()) .. attr("name", cbid) .. attr("value", zone:name()) .. ifattr(checked[zone:name()], "checked", "checked")%> /> <label<%=attr("for", cbid .. "." .. zone:name())%> style="background-color:<%=zone:get_color()%>; padding:0.5em"> <strong><%=zone:name()%>:</strong> <% local empty = true for _, net in ipairs(zone:get_networks()) do net = nwm:get_network(net) + if net then + %> + + <%- if net:name() == self.network then -%> + <span style="background-color:#FFFFFF; border:1px solid #000000; padding:2px; font-weight:bold"><%=net:name()%>: + <%- else -%> + <span style="background-color:#FFFFFF; border:1px solid #CCCCCC; padding:2px"><%=net:name()%>: + <%- end -%> + <% for _, iface in ipairs(net and net:get_interfaces() or {}) do if not iface:is_bridgeport() then empty = false - %> - <img title="<%=iface:get_type_i18n()%>" style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" /> - <% if iface:name() == self.iface then %><strong><%=iface:shortname()%></strong><% else %><%=iface:shortname()%><% end %> - <% end end end %> + %> + <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 %> + </span> + <% end end %> <% if empty then %><em><%:a_s_ipt_zone_empty (no interfaces attached)%></em><% end %> </label> </li> - <% end %> + <% end end %> - <% if not self.nocreate then %> + <% if self.widget ~= "checkbox" and not self.nocreate then %> <li style="padding:0.5em"> <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio"<%=attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not selected, "checked", "checked")%> /> <div style="background-color:<%=fwm.zone.get_color()%>; padding:0.5em; display:inline"> diff --git a/libs/cbi/luasrc/view/cbi/network_netlist.htm b/libs/cbi/luasrc/view/cbi/network_netlist.htm index df6e24d5a..3622b6fd7 100644 --- a/libs/cbi/luasrc/view/cbi/network_netlist.htm +++ b/libs/cbi/luasrc/view/cbi/network_netlist.htm @@ -19,37 +19,40 @@ $Id$ local net, iface local networks = nwm:get_networks() - local value = self:cfgvalue(section) or self.default + local value = self:formvalue(section) - if value and #value == 0 then value = nil end + if not value or value == "-" then + value = self:cfgvalue(section) or self.default + end -%> -<ul style="margin:0; list-style-type:none"> +<ul style="margin:0; list-style-type:none; text-align:left"> <% for _, net in utl.spairs(networks, function(a,b) return (networks[a]:name() < networks[b]:name()) end) do if net:name() ~= "loopback" then %> <li style="padding:0.25em 0"> - <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio"<%=attr("id", cbid .. "." .. net:name()) .. attr("name", cbid) .. attr("value", net:name()) .. ifattr(value == net:name(), "checked", "checked")%> /> + <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "." .. net:name()) .. attr("name", cbid) .. attr("value", net:name()) .. ifattr(value == net:name(), "checked", "checked")%> /> <label<%=attr("for", cbid .. "." .. net:name())%>> - <strong><%=net:name()%>:</strong> - <% - local empty = true - for _, iface in ipairs(net:get_interfaces()) do if not iface:is_bridgeport() then - empty = false - %> - <img title="<%=iface:get_type_i18n()%>" style="width:16px; height:16px; vertical-align:middle" src="<%=resource%>/icons/<%=iface:type()%><%=iface:is_up() and "" or "_disabled"%>.png" /> - <% if iface:name() == self.iface then %><strong><%=iface:shortname()%></strong><% else %><%=iface:shortname()%><% end %> - <% end end %> - <% if empty then %><em><%:a_s_ipt_zone_empty (no interfaces attached)%></em><% end %> + <span style="background-color:#FFFFFF; border:1px solid #CCCCCC; padding:2px"><%=net:name()%>: + <% + local empty = true + for _, iface in ipairs(net:get_interfaces()) 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><%:a_s_ipt_zone_empty (no interfaces attached)%></em><% end %> + </span> </label> </li> <% end end %> - <% if not self.nocreate then %> + <% if self.widget ~= "checkbox" and not self.nocreate then %> <li style="padding:0.25em 0"> <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio"<%=attr("id", cbid .. "_new") .. attr("name", cbid) .. attr("value", "-") .. ifattr(not value, "checked", "checked")%> /> <div style="padding:0.5em; display:inline"> <label<%=attr("for", cbid .. "_new")%>><em><%:a_s_ipt_zone_unspec_create unspecified -or- create:%> </em></label> - <input style="width:6em" type="text"<%=attr("name", cbid .. ".newiface")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" /> + <input style="width:6em" type="text"<%=attr("name", cbid .. ".newnet")%> onfocus="document.getElementById('<%=cbid%>_new').checked=true" /> </div> </li> <% end %> |