300c37466d3fa32a80ee5391eaffdc85ae7b6d11
[openwrt-luci.git] /
1 'use strict';
2 'require baseclass';
3 'require form';
4
5 /*
6 class, type, name and id are used to build a reference for the uci config. E.g.
7
8 config foo_bar '3ed2ee077c4941f8ab394106fd95ad9d'
9         option name 'Chonki Boi'
10         ...
11
12 */
13
14 return baseclass.extend({
15
16         class: 'foo',
17         class_i18n: _('FOO'),
18
19         type: 'bar',
20         type_i18n: _('Bar'),
21
22         name: 'Chonki Boi', // to make visual ID in UCI config easy
23         id: '3ed2ee077c4941f8ab394106fd95ad9d', // cat /proc/sys/kernel/random/uuid | tr -d -
24         title: _('Chonki Boi Example Plugin'),
25         description: _('This plugin does nothing. It is just a UI example.'),
26
27         addFormOptions(s) {
28                 let o;
29
30                 o = s.option(form.Flag, 'enabled', _('Enabled'));
31
32                 o = s.option(form.Value, 'foo', _('Foo'));
33                 o.default = 'chonkk value';
34                 o.depends('enabled', '1');
35
36                 o = s.option(form.Value, 'bar', _('Bar'));
37                 o.default = '1000';
38                 o.depends('enabled', '1');
39         },
40
41         configSummary(section) {
42                 return _('I am class %s, type %s, name %s, bar: %d').format(this.class_i18n, this.type_i18n, this.name, section.bar || 1000);
43         }
44 });
git clone https://git.99rst.org/PROJECT