From ba6f9903982c5ed30a380b80cf7bd74c8843afa6 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 31 Jan 2014 21:46:46 +0000 Subject: [PATCH] luci2: change LuCI2.cbi.NetworkList to use LuCI2.NetworkModel class --- luci2/htdocs/luci2/luci2.js | 97 +++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 65 deletions(-) diff --git a/luci2/htdocs/luci2/luci2.js b/luci2/htdocs/luci2/luci2.js index fc3c3fc..f094b00 100644 --- a/luci2/htdocs/luci2/luci2.js +++ b/luci2/htdocs/luci2/luci2.js @@ -5933,49 +5933,14 @@ function LuCI2() this.cbi.NetworkList = this.cbi.AbstractValue.extend({ load: function(sid) { - var self = this; - - if (!self.interfaces) - { - self.interfaces = [ ]; - return _luci2.network.getNetworkStatus().then(function(ifaces) { - self.interfaces = ifaces; - self = null; - }); - } - - return undefined; + return _luci2.NetworkModel.init(); }, _device_icon: function(dev) { - var type = 'ethernet'; - var desc = _luci2.tr('Ethernet device'); - - if (dev.type == 'IP tunnel') - { - type = 'tunnel'; - desc = _luci2.tr('Tunnel interface'); - } - else if (dev['bridge-members']) - { - type = 'bridge'; - desc = _luci2.tr('Bridge'); - } - else if (dev.wireless) - { - type = 'wifi'; - desc = _luci2.tr('Wireless Network'); - } - else if (dev.device.indexOf('.') > 0) - { - type = 'vlan'; - desc = _luci2.tr('VLAN interface'); - } - return $('') - .attr('src', _luci2.globals.resource + '/icons/' + type + (dev.up ? '' : '_disabled') + '.png') - .attr('title', '%s (%s)'.format(desc, dev.device)); + .attr('src', dev.icon()) + .attr('title', '%s (%s)'.format(dev.description(), dev.name() || '?')); }, widget: function(sid) @@ -5995,34 +5960,36 @@ function LuCI2() for (var i = 0; i < value.length; i++) check[value[i]] = true; - if (this.interfaces) + var interfaces = _luci2.NetworkModel.getInterfaces(); + + for (var i = 0; i < interfaces.length; i++) { - for (var i = 0; i < this.interfaces.length; i++) - { - var iface = this.interfaces[i]; - var badge = $('') - .addClass('badge') - .text('%s: '.format(iface['interface'])); - - if (iface.device && iface.device.subdevices) - for (var j = 0; j < iface.device.subdevices.length; j++) - badge.append(this._device_icon(iface.device.subdevices[j])); - else if (iface.device) - badge.append(this._device_icon(iface.device)); - else - badge.append($('').text(_luci2.tr('(No devices attached)'))); + var iface = interfaces[i]; + var badge = $('') + .addClass('badge') + .text('%s: '.format(iface.name())); - $('
  • ') - .append($('
  • ') + .append($('