diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-10-30 17:57:49 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-10-30 17:57:49 +0000 |
commit | fc5b9e27f0bdc9483f88f368bf3a3090c63bbd39 (patch) | |
tree | 82ea8402c37502ca475a5cfaa5484b1dd2254c82 | |
parent | 95886d45851f34baf0d66a31f217661f21a81f88 (diff) |
libs/web: use imatch() in model related widgets, support multivalues in netlist widget
-rw-r--r-- | libs/web/luasrc/view/cbi/firewall_zonelist.htm | 6 | ||||
-rw-r--r-- | libs/web/luasrc/view/cbi/network_ifacelist.htm | 17 | ||||
-rw-r--r-- | libs/web/luasrc/view/cbi/network_netlist.htm | 15 |
3 files changed, 27 insertions, 11 deletions
diff --git a/libs/web/luasrc/view/cbi/firewall_zonelist.htm b/libs/web/luasrc/view/cbi/firewall_zonelist.htm index 4f4106b87a..891c70e77a 100644 --- a/libs/web/luasrc/view/cbi/firewall_zonelist.htm +++ b/libs/web/luasrc/view/cbi/firewall_zonelist.htm @@ -15,8 +15,8 @@ $Id$ <%- local utl = require "luci.util" - local fwm = require "luci.model.firewall" - local nwm = require "luci.model.network" + local fwm = require "luci.model.firewall".init() + local nwm = require "luci.model.network".init() local zone, net, iface local zones = fwm:get_zones() @@ -33,7 +33,7 @@ $Id$ checked[value] = true end elseif value then - checked[value] = true + checked[value] = true end -%> diff --git a/libs/web/luasrc/view/cbi/network_ifacelist.htm b/libs/web/luasrc/view/cbi/network_ifacelist.htm index 53a50e962f..a69bd3284e 100644 --- a/libs/web/luasrc/view/cbi/network_ifacelist.htm +++ b/libs/web/luasrc/view/cbi/network_ifacelist.htm @@ -14,16 +14,16 @@ $Id$ <%+cbi/valueheader%> <%- - local net = require "luci.model.network" + local utl = require "luci.util" + local net = require "luci.model.network".init() local iface local ifaces = net:get_interfaces() - local value = (self:formvalue(section) or self.default or "") + local value = (self:formvalue(section) or self.default) local checked = { } - if value and #value > 0 then - if type(value) == "table" then value = table.concat(value, " ") end - for value in value:gmatch("%S+") do + if value then + for value in utl.imatch(value) do checked[value] = true end else @@ -42,7 +42,12 @@ $Id$ local link = iface:adminlink() if not self.nobridges or not iface:is_bridge() then %> <li> - <input class="cbi-input-<%=self.widget or "radio"%>" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%=attr("type", self.widget or "radio") .. attr("id", cbid .. "." .. iface:name()) .. attr("name", cbid) .. attr("value", iface:name()) .. ifattr(checked[iface:name()], "checked", "checked")%> /> + <input class="cbi-input-<%=self.widget or "radio"%>" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)"<%= + attr("type", self.widget or "radio") .. + attr("id", cbid .. "." .. iface:name()) .. + attr("name", cbid) .. attr("value", iface:name()) .. + ifattr(checked[iface:name()], "checked", "checked") + %> /> <label<%=attr("for", cbid .. "." .. iface:name())%>> <% if link then -%><a href="<%=link%>"><% end -%> <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" /> diff --git a/libs/web/luasrc/view/cbi/network_netlist.htm b/libs/web/luasrc/view/cbi/network_netlist.htm index f5a6ce4436..2d464cc878 100644 --- a/libs/web/luasrc/view/cbi/network_netlist.htm +++ b/libs/web/luasrc/view/cbi/network_netlist.htm @@ -14,7 +14,8 @@ $Id$ <%+cbi/valueheader%> <%- - local nwm = require "luci.model.network" + local utl = require "luci.util" + local nwm = require "luci.model.network".init() local net, iface local networks = nwm:get_networks() @@ -23,13 +24,23 @@ $Id$ 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" then %> <li style="padding:0.25em 0"> - <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")%> /> + <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(checked[net:name()], "checked", "checked") + %> /> <label<%=attr("for", cbid .. "." .. net:name())%>> <span style="background-color:#FFFFFF; border:1px solid #CCCCCC; padding:2px"><%=net:name()%>: <% |