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({
|
return baseclass.extend({
|
||||||
trigger: _('USB (kernel: usbport)'),
|
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,
|
kernel: true,
|
||||||
addFormOptions(s){
|
addFormOptions(s){
|
||||||
var o;
|
var o;
|
||||||
|
|
|
@ -4,18 +4,9 @@
|
||||||
|
|
||||||
return baseclass.extend({
|
return baseclass.extend({
|
||||||
trigger: _('Always on (kernel: default-on)'),
|
trigger: _('Always on (kernel: default-on)'),
|
||||||
|
description: _('The LED is always in default state on.'),
|
||||||
kernel: true,
|
kernel: true,
|
||||||
addFormOptions(s){
|
addFormOptions(s){
|
||||||
var o;
|
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({
|
return baseclass.extend({
|
||||||
trigger: _('Heartbeat interval (kernel: heartbeat)'),
|
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,
|
kernel: true,
|
||||||
addFormOptions(s){
|
addFormOptions(s){
|
||||||
var o;
|
var o;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
return baseclass.extend({
|
return baseclass.extend({
|
||||||
trigger: _("Network device activity (kernel: netdev)"),
|
trigger: _("Network device activity (kernel: netdev)"),
|
||||||
|
description: _('The LED flashes with link status and activity on the configured interface.'),
|
||||||
kernel: true,
|
kernel: true,
|
||||||
addFormOptions(s){
|
addFormOptions(s){
|
||||||
var o;
|
var o;
|
||||||
|
|
|
@ -3,8 +3,19 @@
|
||||||
|
|
||||||
return baseclass.extend({
|
return baseclass.extend({
|
||||||
trigger: _('Always off (kernel: none)'),
|
trigger: _('Always off (kernel: none)'),
|
||||||
|
description: _('The LED is always in default state off.'),
|
||||||
kernel: true,
|
kernel: true,
|
||||||
addFormOptions(s){
|
addFormOptions(s){
|
||||||
var o;
|
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({
|
return baseclass.extend({
|
||||||
trigger: _('Custom flash interval (kernel: timer)'),
|
trigger: _('Custom flash interval (kernel: timer)'),
|
||||||
|
description: _('The LED blinks with the configured on/off frequency'),
|
||||||
kernel: true,
|
kernel: true,
|
||||||
addFormOptions(s){
|
addFormOptions(s){
|
||||||
var o;
|
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.modalonly = true;
|
||||||
o.depends('trigger', 'timer');
|
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.modalonly = true;
|
||||||
o.depends('trigger', 'timer');
|
o.depends('trigger', 'timer');
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,6 +63,7 @@ return view.extend({
|
||||||
s.addremove = true;
|
s.addremove = true;
|
||||||
s.sortable = true;
|
s.sortable = true;
|
||||||
s.addbtntitle = _('Add LED action');
|
s.addbtntitle = _('Add LED action');
|
||||||
|
s.nodescriptions = true;
|
||||||
|
|
||||||
s.option(form.Value, 'name', _('Name'));
|
s.option(form.Value, 'name', _('Name'));
|
||||||
|
|
||||||
|
@ -75,13 +76,31 @@ return view.extend({
|
||||||
for (var i = 0; i < plugins.length; i++) {
|
for (var i = 0; i < plugins.length; i++) {
|
||||||
var plugin = plugins[i];
|
var plugin = plugins[i];
|
||||||
|
|
||||||
if ( plugin.form.kernel == false )
|
if ( plugin.form.kernel == false ) {
|
||||||
o.value(plugin.name, plugin.form.trigger);
|
o.value(plugin.name, plugin.form.trigger);
|
||||||
else
|
}
|
||||||
for (var k = 0; k < triggers.length; k++)
|
else {
|
||||||
if ( plugin.name == triggers[k] )
|
if (triggers.indexOf(plugin.name) >= 0)
|
||||||
o.value(plugin.name, plugin.form.trigger);
|
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) {
|
s.addModalOptions = function(s) {
|
||||||
for (var i = 0; i < plugins.length; i++) {
|
for (var i = 0; i < plugins.length; i++) {
|
||||||
|
|
Loading…
Reference in a new issue