3 var m
= new L
.cbi
.Map('system', {
4 caption
: L
.tr('LED Configuration'),
5 description
: L
.tr('Customizes the behaviour of the device LEDs if possible.'),
8 L
.system
.listLEDs().then(function(leds
) {
9 delete m
.sections
[0].fields
.sysfs
.choices
;
10 delete m
.sections
[0].fields
.trigger
.choices
;
12 for (var i
= 0; i
< leds
.length
; i
++)
13 m
.sections
[0].fields
.sysfs
.value(leds
[i
].name
);
15 for (var i
= 0; i
< leds
[0].triggers
.length
; i
++)
16 m
.sections
[0].fields
.trigger
.value(leds
[0].triggers
[i
]);
18 L
.system
.listUSBDevices().then(function(devs
) {
19 delete m
.sections
[0].fields
._usb_dev
.choices
;
21 for (var i
= 0; i
< devs
.length
; i
++)
22 m
.sections
[0].fields
._usb_dev
.value(devs
[i
].name
,
23 '%04x:%04x (%s - %s)'.format(devs
[i
].vendor_id
, devs
[i
].product_id
,
24 devs
[i
].vendor_name
|| '?', devs
[i
].product_name
|| '?'));
26 L
.network
.listDeviceNames().then(function(devices
) {
27 delete m
.sections
[0].fields
._net_dev
.choices
;
28 for (var i
= 0; i
< devices
.length
; i
++)
29 m
.sections
[0].fields
._net_dev
.value(devices
[i
]);
35 var s
= m
.section(L
.cbi
.TypedSection
, 'led', {
36 caption
: L
.tr('LED Definitions'),
37 teasers
: [ 'name', 'sysfs', 'default', 'trigger', '_net_dev', 'mode', '_usb_dev', 'delayon', 'delayoff' ],
40 add_caption
: L
.tr('Add new LED defintion'),
41 remove_caption
: L
.tr('Remove LED definition'),
42 readonly
: !this.options
.acls
.leds
45 s
.option(L
.cbi
.InputValue
, 'name', {
49 s
.option(L
.cbi
.ListValue
, 'sysfs', {
50 caption
: L
.tr('LED Name')
53 s
.option(L
.cbi
.ListValue
, 'default', {
54 caption
: L
.tr('Default state'),
56 }).value('0', L
.trc('LED state', 'off')).value('1', L
.trc('LED state', 'on'));
58 s
.option(L
.cbi
.ListValue
, 'trigger', {
59 caption
: L
.tr('Trigger')
63 s
.option(L
.cbi
.InputValue
, 'delayon', {
64 caption
: L
.trc('LED timer trigger', 'On-State Delay'),
65 description
: L
.trc('LED timer trigger', 'Time in milliseconds the LED stays on'),
67 }).depends('trigger', 'timer');
69 s
.option(L
.cbi
.InputValue
, 'delayoff', {
70 caption
: L
.trc('LED timer trigger', 'Off-State Delay'),
71 description
: L
.trc('LED timer trigger', 'Time in milliseconds the LED stays off'),
73 }).depends('trigger', 'timer');
76 s
.option(L
.cbi
.ListValue
, '_net_dev', {
77 caption
: L
.trc('LED netdev trigger', 'Device'),
80 }).depends('trigger', 'netdev');
82 s
.option(L
.cbi
.MultiValue
, 'mode', {
83 caption
: L
.trc('LED netdev trigger', 'Trigger Mode')
84 }).depends('trigger', 'netdev')
85 .value('link', L
.trc('LED netdev trigger mode', 'Link On'))
86 .value('tx', L
.trc('LED netdev trigger mode', 'Transmit'))
87 .value('rx', L
.trc('LED netdev trigger mode', 'Receive'));
90 s
.option(L
.cbi
.ListValue
, '_usb_dev', {
91 caption
: L
.trc('LED usbdev trigger', 'Device'),
94 }).depends('trigger', 'usbdev');
96 return m
.insertInto('#map');