29500e1c2abb7e6aef114ada4d0242db7b6621a5
[feed/routing.git] / luci-app-olsrd2 / htdocs / luci-static / resources / view / olsrd2 / overview.js
1 'use strict';
2 'require view';
3 'require ui';
4 'require rpc';
5 'require poll';
6
7 var callgetVersion = rpc.declare({
8 object: 'status.olsrd2',
9 method: 'getVersion'
10 });
11 var callgetLan = rpc.declare({
12 object: 'status.olsrd2',
13 method: 'getLan'
14 });
15
16 function createTable(data) {
17 let tableData = [];
18 if ( data && data[0] && data[0].version && data[0].version[0] ) {
19 if ( data[0].version[0].version_text != undefined ) {
20 tableData.push([_('Version'),data[0].version[0].version_text]);
21 }
22 if ( data[0].version[0].version_commit != undefined) {
23 tableData.push([_('GIT commit'),data[0].version[0].version_commit]);
24 }
25 }
26 if ( data && data[1] && data[1].lan && data[1].lan[0] ) {
27 if ( data[1].lan[0].lan != undefined ) {
28 tableData.push([_('LAN IP'),data[1].lan[0].lan]);
29 }
30 if ( data[1].lan[0].domain != undefined) {
31 tableData.push([_('Domain'),data[1].lan[0].domain]);
32 }
33 if ( data[1].lan[0].domain_metric != undefined) {
34 tableData.push([_('Domain metric'),data[1].lan[0].domain_metric]);
35 }
36 if ( data[1].lan[0].domain_metric_out != undefined) {
37 tableData.push([_('Domain metric outgoing'),data[1].lan[0].domain_metric_out]);
38 }
39 if ( data[1].lan[0].domain_metric_out_raw != undefined) {
40 tableData.push([_('domain_metric_out_raw'),data[1].lan[0].domain_metric_out_raw]);
41 }
42 if ( data[1].lan[0].domain_distance != undefined) {
43 tableData.push([_('Domain distance'),data[1].lan[0].domain_distance]);
44 }
45 }
46 return tableData;
47 }
48
49 return view.extend({
50 title: _('Version'),
51 handleSaveApply: null,
52 handleSave: null,
53 handleReset: null,
54
55 render: function() {
56
57 var tr = E('table',{ 'class': 'table'});
58 tr.appendChild(E('tr', { 'class': 'tr cbi-section-table-titles' }, [
59 E('th', { 'class': 'th left' }),
60 E('th', { 'class': 'th left' })
61 ]));
62 poll.add(() => {
63 Promise.all([
64 callgetVersion(),
65 callgetLan()
66 ]).then((results) => {
67 cbi_update_table(tr, createTable(results));
68 })
69 }, 30);
70
71 return tr;
72 }
73
74 });