luci/applications/luci-app-apinger/htdocs/luci-static/resources/view/apinger/overview.js
Jaymin Patel 6c151fcddb luci-app-apinger: Add LuCI for Apinger
LuCI Support for Apinger

Signed-off-by: Jaymin Patel <jem.patel@gmail.com>
2022-08-01 02:24:52 +05:30

66 lines
1.5 KiB
JavaScript

'use strict';
'require view';
'require rpc';
'require form';
'require poll';
var callApingerStatus = rpc.declare({
object: 'apinger',
method: 'status',
expect: { },
});
return view.extend({
render: function() {
var table =
E('table', { 'class': 'table lases' }, [
E('tr', { 'class': 'tr table-titles' }, [
E('th', { 'class': 'th' }, _('Interface')),
E('th', { 'class': 'th' }, _('Target')),
E('th', { 'class': 'th' }, _('Source IP')),
E('th', { 'class': 'th' }, _('Address')),
E('th', { 'class': 'th' }, _('Sent')),
E('th', { 'class': 'th' }, _('Received')),
E('th', { 'class': 'th' }, _('Latency')),
E('th', { 'class': 'th' }, _('Loss')),
E('th', { 'class': 'th' }, _('Active Alarms')),
E('th', { 'class': 'th' }, _('Time')),
E([])
])
]);
poll.add(function() {
return callApingerStatus().then(function(targetInfo) {
var targets = Array.isArray(targetInfo.targets) ? targetInfo.targets : [];
cbi_update_table(table,
targets.map(function(target) {
return [
target.interface,
target.target,
target.srcip,
target.address,
target.sent,
target.received,
target.latency,
target.loss,
target.alarm,
new Date(target.timestamp * 1000),
];
}),
E('em', _('There are no active targets'))
);
});
});
return E([
E('h3', _('Apinger Targets')),
E('br'),
table
]);
},
handleSave: null,
handleSaveApply:null,
handleReset: null
});