luci-base: widgets.js: support alias interfaces in CBIDeviceSelect
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
parent
7179d2e6dd
commit
d19e97bcb0
1 changed files with 35 additions and 2 deletions
|
@ -420,8 +420,12 @@ var CBIDeviceSelect = form.ListValue.extend({
|
||||||
__name__: 'CBI.DeviceSelect',
|
__name__: 'CBI.DeviceSelect',
|
||||||
|
|
||||||
load: function(section_id) {
|
load: function(section_id) {
|
||||||
return network.getDevices().then(L.bind(function(devices) {
|
return Promise.all([
|
||||||
this.devices = devices;
|
network.getDevices(),
|
||||||
|
this.noaliases ? null : network.getNetworks()
|
||||||
|
]).then(L.bind(function(data) {
|
||||||
|
this.devices = data[0];
|
||||||
|
this.networks = data[1];
|
||||||
|
|
||||||
return this.super('load', section_id);
|
return this.super('load', section_id);
|
||||||
}, this));
|
}, this));
|
||||||
|
@ -483,6 +487,35 @@ var CBIDeviceSelect = form.ListValue.extend({
|
||||||
order.push(name);
|
order.push(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.networks != null) {
|
||||||
|
for (var i = 0; i < this.networks.length; i++) {
|
||||||
|
var net = this.networks[i],
|
||||||
|
device = network.instantiateDevice('@%s'.format(net.getName()), net),
|
||||||
|
name = device.getName();
|
||||||
|
|
||||||
|
if (name == '@loopback' || name == this.exclude || !this.filter(section_id, name))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (this.noinactive && net.isUp() == false)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
var item = E([
|
||||||
|
E('img', {
|
||||||
|
'title': device.getI18n(),
|
||||||
|
'src': L.resource('icons/alias%s.png'.format(net.isUp() ? '' : '_disabled'))
|
||||||
|
}),
|
||||||
|
E('span', { 'class': 'hide-open' }, [ name ]),
|
||||||
|
E('span', { 'class': 'hide-close'}, [ device.getI18n() ])
|
||||||
|
]);
|
||||||
|
|
||||||
|
if (checked[name])
|
||||||
|
values.push(name);
|
||||||
|
|
||||||
|
choices[name] = item;
|
||||||
|
order.push(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.nocreate) {
|
if (!this.nocreate) {
|
||||||
var keys = Object.keys(checked).sort();
|
var keys = Object.keys(checked).sort();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue