luci-mod-system: leds.js: fix crash when no usb devices or ports are present

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2019-07-25 08:48:56 +02:00
parent bd441898fa
commit fd35e9a226

View file

@ -72,7 +72,9 @@ return L.view.extend({
trigger = s.option(form.ListValue, 'trigger', _('Trigger'));
Object.keys(triggers).sort().forEach(function(t) { trigger.value(t, t.replace(/-/g, '')) });
if (usb.devices && usb.devices.length)
trigger.value('usbdev');
if (usb.ports && usb.ports.length)
trigger.value('usbport');
o = s.option(form.Value, 'delayon', _('On-State Delay'));
@ -100,6 +102,7 @@ return L.view.extend({
o.value('tx', _('Transmit'));
o.value('rx', _('Receive'));
if (usb.devices && usb.devices.length) {
o = s.option(form.ListValue, '_usb_dev', _('USB Device'));
o.depends('trigger', 'usbdev');
o.rmempty = true;
@ -110,10 +113,12 @@ return L.view.extend({
uci.unset('system', section_id, 'dev');
}
o.value('');
(usb.devices || []).forEach(function(usbdev) {
usb.devices.forEach(function(usbdev) {
o.value(usbdev.id, '%s (%s - %s)'.format(usbdev.id, usbdev.vendor || '?', usbdev.product || '?'));
});
}
if (usb.ports && usb.ports.length) {
o = s.option(form.MultiValue, 'port', _('USB Ports'));
o.depends('trigger', 'usbport');
o.rmempty = true;
@ -132,10 +137,11 @@ return L.view.extend({
return ports;
};
(usb.ports || []).forEach(function(usbport) {
usb.ports.forEach(function(usbport) {
o.value('usb%d-port%d'.format(usbport.hub, usbport.port),
'Hub %d, Port %d'.format(usbport.hub, usbport.port));
});
}
o = s.option(form.Value, 'port_mask', _('Switch Port Mask'));
o.depends('trigger', 'switch0');