summaryrefslogtreecommitdiff
path: root/luci2/htdocs/luci2/view/status.overview.js
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2014-02-01 18:29:03 +0000
committerJo-Philipp Wich <jow@openwrt.org>2014-02-01 18:29:03 +0000
commitb5dc25c09ca938be6f9d82f461873eb69728481f (patch)
tree525251e72bf8b7ef7c6a2194e49f06c316d5c0d5 /luci2/htdocs/luci2/view/status.overview.js
parent639d2147af1293101ce10b4d67bde91a42da6926 (diff)
downloadluci2-ui-b5dc25c09ca938be6f9d82f461873eb69728481f.tar.gz
luci2: move most RPC proxy function declarations into the views using them to reduce the size of the core luci2.js library
Diffstat (limited to 'luci2/htdocs/luci2/view/status.overview.js')
-rw-r--r--luci2/htdocs/luci2/view/status.overview.js109
1 files changed, 58 insertions, 51 deletions
diff --git a/luci2/htdocs/luci2/view/status.overview.js b/luci2/htdocs/luci2/view/status.overview.js
index 7440f8c..909c4c1 100644
--- a/luci2/htdocs/luci2/view/status.overview.js
+++ b/luci2/htdocs/luci2/view/status.overview.js
@@ -1,10 +1,30 @@
L.ui.view.extend({
title: L.tr('Status'),
- execute: function() {
+
+ getConntrackCount: L.rpc.declare({
+ object: 'luci2.network',
+ method: 'conntrack_count',
+ expect: { '': { count: 0, limit: 0 } }
+ }),
+
+ getDHCPLeases: L.rpc.declare({
+ object: 'luci2.network',
+ method: 'dhcp_leases',
+ expect: { leases: [ ] }
+ }),
+
+ getDHCPv6Leases: L.rpc.declare({
+ object: 'luci2.network',
+ method: 'dhcp6_leases',
+ expect: { leases: [ ] }
+ }),
+
+ renderContents: function() {
+ var self = this;
return $.when(
- L.network.findWanInterfaces().then(function(wans) {
- var wan = wans[0];
- var wan6 = wans[1];
+ L.NetworkModel.refreshStatus().then(function() {
+ var wan = L.NetworkModel.findWAN();
+ var wan6 = L.NetworkModel.findWAN6();
if (!wan && !wan6)
{
@@ -21,57 +41,36 @@ L.ui.view.extend({
width: '146px',
align: 'right',
format: function(v) {
- return new L.ui.devicebadge(v).render();
+ var dev = L.NetworkModel.resolveAlias(v.getDevice());
+ if (dev)
+ return $('<span />')
+ .addClass('badge')
+ .attr('title', dev.description())
+ .append($('<img />').attr('src', dev.icon()))
+ .append(' %s'.format(dev.name()));
+
+ return '';
}
}, {
format: function(v, n) {
- var format_addr = function()
- {
- var rv = [ ];
- if (n > 0)
- {
- for (var i = 0; i < v['ipv6-address'].length; i++)
- rv.push('%s/%d'.format(v['ipv6-address'][i].address, v['ipv6-address'][i].mask));
-
- for (var i = 0; i < v['ipv6-prefix-assignment'].length; i++)
- rv.push('%s1/%d'.format(v['ipv6-prefix-assignment'][i].address, v['ipv6-prefix-assignment'][i].mask));
- }
- else
- {
- for (var i = 0; i < v['ipv4-address'].length; i++)
- rv.push('%s/%d'.format(v['ipv4-address'][i].address, v['ipv4-address'][i].mask));
- }
- return rv.join(', ');
- };
-
- var format_dns = function()
- {
- var rv = [ ];
- for (var i = 0; i < v['dns-server'].length; i++)
- {
- if ((n > 0 && v['dns-server'][i].indexOf(':') > -1) ||
- (n == 0 && v['dns-server'][i].indexOf(':') == -1))
- rv.push(v['dns-server'][i]);
- }
- return rv.join(', ');
- };
-
var s = '<strong>' + L.tr('Type') + ':</strong> %s | ' +
- '<strong>' + L.tr('Connected') + ':</strong> %t<br />' +
- '<strong>' + L.tr('Address') + ':</strong> %s<br />';
+ '<strong>' + L.tr('Connected') + ':</strong> %t<br />';
- s = s.format(v.proto, v.uptime, format_addr());
+ s = s.format(v.getProtocol().description, v.getUptime(),
+ n ? v.getIPv6Addrs(true).join(', ')
+ : v.getIPv4Addrs(true).join(', '));
- for (var i = 0; i < v.route.length; i++)
- if (v.route[i].mask == 0 && v.route[i].nexthop != '::')
- {
- s += '<strong>' + L.tr('Gateway') + ':</strong> %s<br />'.format(v.route[i].nexthop);
- break;
- }
+ var addr = n ? v.getIPv6Addrs() : v.getIPv4Addrs();
+ if (addr.length)
+ s += '<strong>' + L.tr('Address') + ':</strong> %s<br />'.format(addr.join(', '));
+
+ var gw = v.getIPv4Gateway();
+ if (gw)
+ s += '<strong>' + L.tr('Gateway') + ':</strong> %s<br />'.format(gw);
- var dns = format_dns();
- if (dns)
- s += '<strong>' + L.tr('DNS') + ':</strong> %s<br />'.format(dns);
+ var dns = n ? v.getIPv6DNS() : v.getIPv4DNS();
+ if (dns.length)
+ s += '<strong>' + L.tr('DNS') + ':</strong> %s<br />'.format(dns.join(', '));
return s;
}
@@ -86,7 +85,7 @@ L.ui.view.extend({
networkTable.insertInto('#network_status_table');
}),
- L.network.getConntrackCount().then(function(count) {
+ self.getConntrackCount().then(function(count) {
var conntrackTable = new L.ui.table({
caption: L.tr('Connection Tracking'),
columns: [ {
@@ -352,7 +351,7 @@ L.ui.view.extend({
assocTable.rows(assoclist);
assocTable.insertInto('#wifi_assoc_table');
}),
- L.network.getDHCPLeases().then(function(leases) {
+ self.getDHCPLeases().then(function(leases) {
var leaseTable = new L.ui.table({
caption: L.tr('DHCP Leases'),
placeholder: L.tr('There are no active leases.'),
@@ -378,7 +377,7 @@ L.ui.view.extend({
leaseTable.rows(leases);
leaseTable.insertInto('#lease_status_table');
}),
- L.network.getDHCPv6Leases().then(function(leases) {
+ self.getDHCPv6Leases().then(function(leases) {
if (!leases.length)
return;
@@ -407,5 +406,13 @@ L.ui.view.extend({
leaseTable.insertInto('#lease6_status_table');
})
)
+ },
+
+ execute: function()
+ {
+ var self = this;
+ return L.NetworkModel.init().then(function() {
+ self.repeat(self.renderContents, 5000);
+ });
}
});