'require form';
return view.extend({
- render: function() {
+ render() {
let m, s, o;
m = new form.Map('keepalived');
'require tools.widgets as widgets';
return view.extend({
- load: function() {
+ load() {
return Promise.all([
uci.load('keepalived'),
]);
},
- renderIPAddress: function(m) {
- var s, o;
+ renderIPAddress(m) {
+ let s, o;
s = m.section(form.GridSection, 'ipaddress', _('IP Addresses'),
_('Addresses would be referenced into Static and Virtual IP Address of VRRP instances'));
o.optional = true;
},
- renderStaticIPAddress: function(m) {
- var s, o;
- var ipaddress;
-
- ipaddress = uci.sections('keepalived', 'ipaddress');
+ renderStaticIPAddress(m) {
+ let s, o;
+ let ipaddress = uci.sections('keepalived', 'ipaddress');
if (ipaddress == '') {
ui.addNotification(null, E('p', _('IP Addresses must be configured for Static IP List')));
}
o = s.option(form.DynamicList, 'address', _('IP Address'),
_('List of IP Addresses'));
- for (var i = 0; i < ipaddress.length; i++) {
+ for (let i = 0; i < ipaddress.length; i++) {
o.value(ipaddress[i]['name']);
}
o.optional = true;
},
- render: function() {
- var m;
+ render() {
+ let m;
m = new form.Map('keepalived');
var isReadonlyView = !L.hasViewPermission() || null;
return view.extend({
- load: function() {
+ load() {
return L.resolveDefault(fs.read('/etc/keepalived.user'), '');
},
- handleSave: function(ev) {
- var value = (document.querySelector('textarea').value || '').trim().replace(/\r\n/g, '\n') + '\n';
+ handleSave(ev) {
+ const value = (document.querySelector('textarea').value || '').trim().replace(/\r\n/g, '\n') + '\n';
return fs.write('/etc/keepalived.user', value).then(function(rc) {
document.querySelector('textarea').value = value;
});
},
- render: function(keepalived) {
+ render(keepalived) {
return E([
E('h2', _('Keepalived.user')),
E('p', { 'class': 'cbi-section-descr' }, _('This is the /etc/keepalived.user file in which custom commands can be defined.')),
});
return view.extend({
- load: function() {
+ load() {
return Promise.all([
uci.load('keepalived'),
]);
},
- render: function() {
- var table =
+ render() {
+ const table =
E('table', { 'class': 'table lases' }, [
E('tr', { 'class': 'tr table-titles' }, [
E('th', { 'class': 'th' }, _('Name')),
poll.add(function() {
return callKeepalivedStatus().then(function(instancesInfo) {
- var targets = Array.isArray(instancesInfo.status) ? instancesInfo.status : [];
- var instances = uci.sections('keepalived', 'vrrp_instance');
+ const targets = Array.isArray(instancesInfo.status) ? instancesInfo.status : [];
+ const instances = uci.sections('keepalived', 'vrrp_instance');
cbi_update_table(table,
targets.map(function(target) {
- var state;
- var state_initial;
- var instance_state = target.data.state;
+ let state;
+ let state_initial;
+ const instance_state = target.data.state;
if (instance_state === 2) {
state = 'MASTER';
if (instances != '') {
for (var i = 0; i < instances.length; i++) {
if (instances[i]['name'] == target.data.iname) {
- state = state;
state_initial = instances[i]['state'];
break;
}
expect: { '': {} }
}),
- load: function() {
+ load() {
return Promise.all([
this.callHostHints(),
]);
},
- render: function(data) {
- var hosts = data[0];
+ render([hosts]) {
let m, s, o;
m = new form.Map('keepalived');
o.optional = false;
o.rmempty = false;
o.datatype = 'ipaddr';
- for(var mac in hosts) {
+ for(let mac in hosts) {
if (hosts[mac]['ipaddrs'] == 'undefined') {
continue;
}
- for(var i = 0; i < hosts[mac]['ipaddrs'].length; i++) {
+ for(let i = 0; i < hosts[mac]['ipaddrs'].length; i++) {
o.value(hosts[mac]['ipaddrs'][i]);
}
}
'require tools.widgets as widgets';
return view.extend({
- load: function() {
+ load() {
return Promise.all([
uci.load('keepalived'),
]);
},
- renderRoute: function(m) {
- var s, o;
+ renderRoute(m) {
+ let s, o;
s = m.section(form.GridSection, 'route', _('Routes'),
_('Routes would be referenced into Static and Virtual Routes of VRRP instances'));
o.placeholder = 'name';
},
- renderStaticRoutes: function(m) {
- var s, o;
- var route;
+ renderStaticRoutes(m) {
+ let s, o;
+ let route;
route = uci.sections('keepalived', 'route');
if (route == '') {
o = s.option(form.DynamicList, 'route', _('Route'),
_('List of Route Object'));
- for (var i = 0; i < route.length; i++) {
+ for (let i = 0; i < route.length; i++) {
o.value(route[i]['name']);
}
o.optional = true;
},
- render: function() {
- var m;
+ render() {
+ let m;
m = new form.Map('keepalived');
'require uci';
return view.extend({
- load: function() {
+ load() {
return Promise.all([
uci.load('keepalived'),
]);
},
- renderTrackScript: function(m) {
- var s, o;
- var vrrp_scripts;
+ renderTrackScript(m) {
+ let s, o;
+ let vrrp_scripts;
vrrp_scripts = uci.sections('keepalived', 'vrrp_script');
if (vrrp_scripts == '') {
o.value('noreverse', _('No Reverse'));
},
- renderVRRPScript: function(m) {
- var s, o;
+ renderVRRPScript(m) {
+ let s, o;
s = m.section(form.GridSection, 'vrrp_script', _('VRRP Script'),
_('Adds a script to be executed periodically.') + ' ' +
o.datatype = 'uinteger';
},
- render: function() {
- var m;
+ render() {
+ let m;
m = new form.Map('keepalived');
'require uci';
return view.extend({
- load: function() {
+ load() {
return Promise.all([
uci.load('keepalived'),
]);
},
- renderVirtualServer: function(m) {
- var s, o;
- var real_servers;
+ renderVirtualServer(m) {
+ let s, o;
+ let real_servers;
s = m.section(form.GridSection, 'virtual_server', _('Virtual Server'),
_('A virtual server is a service configured to listen ' +
o.modalonly = true;
},
- renderRealServer: function(m) {
- var s, o;
- var urls;
+ renderRealServer(m) {
+ let s, o;
+ let urls;
s = m.section(form.GridSection, 'real_server', _('Real Servers'),
_('Real Server to redirect all request'));
urls = uci.sections('keepalived', 'url');
o = s.option(form.DynamicList, 'url', _('URLs'));
if (urls != '') {
- for (var i = 0; i < urls.length; i++) {
+ for (let i = 0; i < urls.length; i++) {
o.value(urls[i].name);
}
}
o.datatype = 'uinteger';
},
- render: function() {
- var m;
+ render() {
+ let m;
m = new form.Map('keepalived');
'require uci';
return view.extend({
- render: function() {
+ render() {
let m, s, o;
m = new form.Map('keepalived');
'require form';
return view.extend({
- render: function() {
+ render() {
let m, s, o;
m = new form.Map('keepalived');
'require tools.widgets as widgets';
return view.extend({
- load: function() {
+ load() {
return Promise.all([
network.getDevices(),
uci.load('keepalived'),
]);
},
- renderGeneralTab: function(s) {
- var o, ipaddress;
+ renderGeneralTab(s) {
+ let o, ipaddress;
o = s.taboption('general',form.Value, 'name', _('Name'));
o.rmempty = false;
_('Addresses add|del on change to MASTER, to BACKUP.') + ' ' +
_('With the same entries on other machines, the opposite transition will be occurring.'));
if (ipaddress != '') {
- for (var i = 0; i < ipaddress.length; i++) {
+ for (let i = 0; i < ipaddress.length; i++) {
o.value(ipaddress[i]['name']);
}
}
o.optional = false;
},
- renderPeerTab: function(s, netDevs) {
- var o;
+ renderPeerTab(s, netDevs) {
+ let o;
o = s.taboption('peer', form.ListValue, 'unicast_src_ip', _('Unicast Source IP'),
_('Default IP for binding vrrpd is the primary IP on interface'));
o.datatype = 'ipaddr';
o.optional = true;
o.modalonly = true;
- for (var i = 0; i < netDevs.length; i++) {
- var addrs = netDevs[i].getIPAddrs();
- for (var j = 0; j < addrs.length; j++) {
+ for (let i = 0; i < netDevs.length; i++) {
+ let addrs = netDevs[i].getIPAddrs();
+ for (let j = 0; j < addrs.length; j++) {
o.value(addrs[j].split('/')[0]);
}
}
- var peers = uci.sections('keepalived', 'peer');
+ let peers = uci.sections('keepalived', 'peer');
o = s.taboption('peer', form.DynamicList, 'unicast_peer', _('Peer'),
_('Do not send VRRP adverts over VRRP multicast group.') + ' ' +
_('Instead it sends adverts to the following list of ip addresses using unicast design fashion'));
if (peers != '') {
- for (var i = 0; i < peers.length; i++) {
+ for (let i = 0; i < peers.length; i++) {
o.value(peers[i]['name']);
}
}
o.depends({ 'auth_type' : 'PASS' });
},
- renderGARPTab: function(s) {
- var o;
+ renderGARPTab(s) {
+ let o;
o = s.taboption('garp', form.ListValue, 'garp_master_delay', _('GARP Delay'),
_('Gratuitous Master Delay in seconds'));
o.value('60');
},
- renderAdvancedTab: function(s) {
- var o;
+ renderAdvancedTab(s) {
+ let o;
o = s.taboption('advanced', form.Value, 'use_vmac', _('Use VMAC'),
_('Use VRRP Virtual MAC'));
o.modalonly = true;
},
- renderTrackingTab: function(s) {
- var o;
- var ipaddress, routes, interfaces, scripts;
+ renderTrackingTab(s) {
+ let o;
+ let ipaddress, routes, interfaces, scripts;
ipaddress = uci.sections('keepalived', 'ipaddress');
routes = uci.sections('keepalived', 'route');
_('To decrease the number of packets sent in adverts, you can exclude most IPs from adverts.'));
o.modalonly = true;
if (ipaddress != '') {
- for (var i = 0; i < ipaddress.length; i++) {
+ for (let i = 0; i < ipaddress.length; i++) {
o.value(ipaddress[i]['name']);
}
}
_('Routes add|del when changing to MASTER, to BACKUP'));
o.modalonly = true;
if (routes != '') {
- for (var i = 0; i < routes.length; i++) {
+ for (let i = 0; i < routes.length; i++) {
o.value(routes[i]['name']);
}
}
_('Go to FAULT state if any of these go down'));
o.modalonly = true;
if (interfaces != '') {
- for (var i = 0; i < interfaces.length; i++) {
+ for (let i = 0; i < interfaces.length; i++) {
o.value(interfaces[i]['name']);
}
}
_('Go to FAULT state if any of these go down, if unweighted'));
o.modalonly = true;
if (scripts != '') {
- for (var i = 0; i < scripts.length; i++) {
+ for (let i = 0; i < scripts.length; i++) {
o.value(scripts[i]['name']);
}
}
},
- render: function(data) {
- var netDevs = data[0];
- let m, s, o;
+ render([netDevs]) {
+ let m, s;
m = new form.Map('keepalived');
s.addremove = true;
s.nodescriptions = true;
- o = s.tab('general', _('General'));
- o = s.tab('peer', _('Peer'));
- o = s.tab('tracking', _('Tracking'));
- o = s.tab('garp', _('GARP'));
- o = s.tab('advanced', _('Advanced'));
+ s.tab('general', _('General'));
+ s.tab('peer', _('Peer'));
+ s.tab('tracking', _('Tracking'));
+ s.tab('garp', _('GARP'));
+ s.tab('advanced', _('Advanced'));
this.renderGeneralTab(s);
this.renderPeerTab(s, netDevs);
'require uci';
return view.extend({
- load: function() {
+ load() {
return Promise.all([
uci.load('keepalived'),
]);
},
- render: function(data) {
+ render(data) {
let m, s, o;
- var instances;
-
- instances = uci.sections('keepalived', 'vrrp_instance');
+ let instances = uci.sections('keepalived', 'vrrp_instance');
if (instances == '' || instances.length < 1) {
ui.addNotification(null, E('p', _('Instances must be configured for VRRP Groups')));
}
o = s.option(form.DynamicList, 'group', _('Instance Group'));
o.rmempty = false;
o.optional = false;
- for (var i = 0; i < instances.length; i++) {
+ for (let i = 0; i < instances.length; i++) {
o.value(instances[i]['name']);
}
return baseclass.extend({
title: _('Keepalived Instances'),
- load: function() {
+ load() {
return Promise.all([
callKeepalivedStatus(),
uci.load('keepalived'),
]);
},
- render: function(data) {
- var targets = (data[0].status) ? data[0].status : [];
- var instances = uci.sections('keepalived', 'vrrp_instance');
+ render(data) {
+ const targets = (data[0].status) ? data[0].status : [];
+ const instances = uci.sections('keepalived', 'vrrp_instance');
- var table =
+ const table =
E('table', { 'class': 'table lases' }, [
E('tr', { 'class': 'tr table-titles' }, [
E('th', { 'class': 'th' }, _('Name')),
cbi_update_table(table,
targets.map(function(target) {
- var state;
- var state_initial;
- var instance_state = target.data.state;
+ let state;
+ let state_initial;
+ const instance_state = target.data.state;
if (instance_state === 2) {
state = 'MASTER';
}
if (instances != '') {
- for (var i = 0; i < instances.length; i++) {
+ for (let i = 0; i < instances.length; i++) {
if (instances[i]['name'] == target.data.iname) {
- state = state;
state_initial = instances[i]['state'];
break;
}