Merge pull request #5328 from TDT-AG/pr/20210903-luci-mod-system
luci-mod-system: add led-trigger description
This commit is contained in:
commit
b710c4a843
7 changed files with 47 additions and 17 deletions
|
@ -12,6 +12,7 @@ var callUSB = rpc.declare({
|
|||
|
||||
return baseclass.extend({
|
||||
trigger: _('USB (kernel: usbport)'),
|
||||
description: _('This LED trigger can be used for signalling to the user a presence of USB device in a given port.'),
|
||||
kernel: true,
|
||||
addFormOptions(s){
|
||||
var o;
|
||||
|
|
|
@ -4,18 +4,9 @@
|
|||
|
||||
return baseclass.extend({
|
||||
trigger: _('Always on (kernel: default-on)'),
|
||||
description: _('The LED is always in default state on.'),
|
||||
kernel: true,
|
||||
addFormOptions(s){
|
||||
var o;
|
||||
|
||||
o = s.option(form.Flag, 'default', _('Default state'));
|
||||
o.rmempty = false;
|
||||
o.depends('trigger', 'default-on');
|
||||
o.textvalue = function(section_id) {
|
||||
var cval = this.cfgvalue(section_id);
|
||||
if (cval == null)
|
||||
cval = this.default;
|
||||
return (cval == this.enabled) ? _('On') : _('Off');
|
||||
};
|
||||
}
|
||||
});
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
return baseclass.extend({
|
||||
trigger: _('Heartbeat interval (kernel: heartbeat)'),
|
||||
description: _('The LED flashes to simulate actual heart beat.') +
|
||||
_('The frequency is in direct proportion to 1-minute average CPU load.'),
|
||||
kernel: true,
|
||||
addFormOptions(s){
|
||||
var o;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
return baseclass.extend({
|
||||
trigger: _("Network device activity (kernel: netdev)"),
|
||||
description: _('The LED flashes with link status and activity on the configured interface.'),
|
||||
kernel: true,
|
||||
addFormOptions(s){
|
||||
var o;
|
||||
|
|
|
@ -3,8 +3,19 @@
|
|||
|
||||
return baseclass.extend({
|
||||
trigger: _('Always off (kernel: none)'),
|
||||
description: _('The LED is always in default state off.'),
|
||||
kernel: true,
|
||||
addFormOptions(s){
|
||||
var o;
|
||||
|
||||
o = s.option(form.Flag, 'default', _('Default state'));
|
||||
o.rmempty = false;
|
||||
o.depends('trigger', 'none');
|
||||
o.textvalue = function(section_id) {
|
||||
var cval = this.cfgvalue(section_id);
|
||||
if (cval == null)
|
||||
cval = this.default;
|
||||
return (cval == this.enabled) ? _('On') : _('Off');
|
||||
};
|
||||
}
|
||||
});
|
||||
|
|
|
@ -4,15 +4,20 @@
|
|||
|
||||
return baseclass.extend({
|
||||
trigger: _('Custom flash interval (kernel: timer)'),
|
||||
description: _('The LED blinks with the configured on/off frequency'),
|
||||
kernel: true,
|
||||
addFormOptions(s){
|
||||
var o;
|
||||
|
||||
o = s.option(form.Value, 'delayon', _('On-State Delay'));
|
||||
o = s.option(form.Value, 'delayon', _('On-State Delay'),
|
||||
_('How long (in milliseconds) the LED should be on')
|
||||
);
|
||||
o.modalonly = true;
|
||||
o.depends('trigger', 'timer');
|
||||
|
||||
o = s.option(form.Value, 'delayoff', _('Off-State Delay'));
|
||||
o = s.option(form.Value, 'delayoff', _('Off-State Delay'),
|
||||
_('How long (in milliseconds) the LED should be off')
|
||||
);
|
||||
o.modalonly = true;
|
||||
o.depends('trigger', 'timer');
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ return view.extend({
|
|||
s.addremove = true;
|
||||
s.sortable = true;
|
||||
s.addbtntitle = _('Add LED action');
|
||||
s.nodescriptions = true;
|
||||
|
||||
s.option(form.Value, 'name', _('Name'));
|
||||
|
||||
|
@ -75,13 +76,31 @@ return view.extend({
|
|||
for (var i = 0; i < plugins.length; i++) {
|
||||
var plugin = plugins[i];
|
||||
|
||||
if ( plugin.form.kernel == false )
|
||||
if ( plugin.form.kernel == false ) {
|
||||
o.value(plugin.name, plugin.form.trigger);
|
||||
else
|
||||
for (var k = 0; k < triggers.length; k++)
|
||||
if ( plugin.name == triggers[k] )
|
||||
o.value(plugin.name, plugin.form.trigger);
|
||||
}
|
||||
else {
|
||||
if (triggers.indexOf(plugin.name) >= 0)
|
||||
o.value(plugin.name, plugin.form.trigger);
|
||||
}
|
||||
}
|
||||
o.onchange = function(ev, section, value) {
|
||||
for (var i = 0; i < plugins.length; i++) {
|
||||
var plugin = plugins[i];
|
||||
if ( plugin.name === value )
|
||||
this.map.findElement('id', 'cbid.system.%s.trigger'.format(section))
|
||||
.nextElementSibling.innerHTML = plugin.form.description || '';
|
||||
}
|
||||
}
|
||||
o.load = function(section_id) {
|
||||
var trigger = uci.get('system', section_id, 'trigger');
|
||||
for (var i = 0; i < plugins.length; i++) {
|
||||
var plugin = plugins[i];
|
||||
if ( plugin.name === trigger)
|
||||
this.description = plugin.form.description || '';
|
||||
}
|
||||
return trigger;
|
||||
};
|
||||
|
||||
s.addModalOptions = function(s) {
|
||||
for (var i = 0; i < plugins.length; i++) {
|
||||
|
|
Loading…
Reference in a new issue