overview.js 2.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
'use strict';
'require view';
'require ui';
'require rpc';
'require poll';

var callgetVersion = rpc.declare({
	object: 'status.olsrd2',
	method: 'getVersion'
});
var callgetLan = rpc.declare({
	object: 'status.olsrd2',
	method: 'getLan'
});

function createTable(data) {
    let tableData = [];
18 19 20
	if ( data && data.version && data.version[0] ) {
		if ( data.version[0].version_text != undefined ) {
			tableData.push([_('OLSRd2 Version'),data.version[0].version_text]);
21
		}
22 23
		if ( data.version[0].version_commit != undefined) {
			tableData.push([_('OLSRd2 GIT commit'),data.version[0].version_commit]);
24 25
		}
	}
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
	tableData.push(['']);
    return tableData;
}

function createTableDomain(data) {
    let tableData = [];
	if ( data && data.lan && data.lan[0] ) {
		data.lan.forEach(row => {
			tableData.push([
				row.lan,
				row.domain,
				row.domain_metric,
				row.domain_metric_out,
				row.domain_metric_out_raw,
				row.domain_distance
			])
		});
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
	}
    return tableData;
}

return view.extend({
	title: _('Version'),
	handleSaveApply: null,
	handleSave: null,
	handleReset: null,

	render: function() {

		var tr = E('table',{ 'class': 'table'});
		tr.appendChild(E('tr', { 'class': 'tr cbi-section-table-titles' }, [
			E('th', { 'class': 'th left' }),
			E('th', { 'class': 'th left' })
		]));
60 61 62 63 64 65 66 67 68
		var trd = E('table', { 'class': 'table' });
		trd.appendChild(E('trd', { 'class': 'tr cbi-section-table-titles' }, [
			E('th', { 'class': 'th left' }, [ 'LAN IP' ]),
			E('th', { 'class': 'th left' }, [ 'Domain' ]),
			E('th', { 'class': 'th left' }, [ 'Domain Metric' ]),
			E('th', { 'class': 'th left' }, [ 'Domain Metric out' ]),
			E('th', { 'class': 'th left' }, [ 'Domain Metric out' ]),
			E('th', { 'class': 'th left' }, [ 'Domain distance' ])
		]));
69 70 71 72 73
        poll.add(() => {
            Promise.all([
				callgetVersion(),
				callgetLan()
            ]).then((results) => {
74 75
                cbi_update_table(tr, createTable(results[0]));
                cbi_update_table(trd, createTableDomain(results[1]));
76 77 78
            })
        }, 30);

79
		return [tr,trd];
80 81 82
	}

});