diff options
Diffstat (limited to 'luci2/htdocs/luci2/wireless.js')
-rw-r--r-- | luci2/htdocs/luci2/wireless.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/luci2/htdocs/luci2/wireless.js b/luci2/htdocs/luci2/wireless.js index 1ba6b81..c724f85 100644 --- a/luci2/htdocs/luci2/wireless.js +++ b/luci2/htdocs/luci2/wireless.js @@ -63,6 +63,7 @@ Class.extend({ return L.rpc.flush(); }).then(function(networks) { var rv = { }; + var net_by_devname = { }; var phy_attrs = [ 'country', 'channel', 'frequency', 'frequency_offset', @@ -80,7 +81,7 @@ Class.extend({ rv[networks[i].phy] = { networks: [ ] } ); - var net = { + var net = net_by_devname[networks[i].device] = { device: networks[i].device }; @@ -90,6 +91,17 @@ Class.extend({ for (var j = 0; j < net_attrs.length; j++) net[net_attrs[j]] = networks[i][net_attrs[j]]; + /* copy parent interface properties to wds interfaces */ + if (net.device.match(/^(.+)\.sta\d+$/) && + net_by_devname[RegExp.$1]) + { + var pnet = net_by_devname[RegExp.$1]; + for (var j = 0; j < net_attrs.length; j++) + if (typeof(networks[i][net_attrs[j]]) === 'undefined' || + net_attrs[j] == 'encryption') + net[net_attrs[j]] = pnet[net_attrs[j]]; + } + phy.networks.push(net); } |