7 var callLeds
= rpc
.declare({
13 return L
.view
.extend({
17 L
.resolveDefault(fs
.list('/www' + L
.resource('view/system/led-trigger')), [])
18 ]).then(function(data
) {
19 var plugins
= data
[1];
22 for (var i
= 0; i
< plugins
.length
; i
++) {
23 var m
= plugins
[i
].name
.match(/^(.+)\.js$/);
25 if (plugins
[i
].type
!= 'file' || m
== null)
28 tasks
.push(L
.require('view.system.led-trigger.' + m
[1]).then(L
.bind(function(name
){
29 return L
.resolveDefault(L
.require('view.system.led-trigger.' + name
)).then(function(form
) {
38 return Promise
.all(tasks
).then(function(plugins
) {
47 render: function(data
) {
48 var m
, s
, o
, triggers
= [];
50 var plugins
= data
[1];
53 for (var i
= 0; i
< leds
[k
].triggers
.length
; i
++)
54 triggers
[i
] = leds
[k
].triggers
[i
];
56 m
= new form
.Map('system',
57 _('<abbr title="Light Emitting Diode">LED</abbr> Configuration'),
58 _('Customizes the behaviour of the device <abbr title="Light Emitting Diode">LED</abbr>s if possible.'));
60 s
= m
.section(form
.GridSection
, 'led', '');
64 s
.addbtntitle
= _('Add LED action');
66 s
.option(form
.Value
, 'name', _('Name'));
68 o
= s
.option(form
.ListValue
, 'sysfs', _('<abbr title="Light Emitting Diode">LED</abbr> Name'));
69 Object
.keys(leds
).sort().forEach(function(name
) {
73 o
= s
.option(form
.ListValue
, 'trigger', _('Trigger'));
74 for (var i
= 0; i
< plugins
.length
; i
++) {
75 var plugin
= plugins
[i
];
77 if ( plugin
.form
.kernel
== false )
78 o
.value(plugin
.name
, plugin
.form
.trigger
);
80 for (var k
= 0; k
< triggers
.length
; k
++)
81 if ( plugin
.name
== triggers
[k
] )
82 o
.value(plugin
.name
, plugin
.form
.trigger
);
85 s
.addModalOptions = function(s
) {
86 for (var i
= 0; i
< plugins
.length
; i
++) {
87 var plugin
= plugins
[i
];
88 plugin
.form
.addFormOptions(s
);