treewide: import utility classes explicitly
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit 3c4bc228a1
)
This commit is contained in:
parent
28489b12eb
commit
c2f30fbe4d
45 changed files with 177 additions and 108 deletions
|
@ -1,4 +1,6 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require uci';
|
||||
'require form';
|
||||
|
@ -81,7 +83,7 @@ function lookupProto(x) {
|
|||
return [ -1, x, x ];
|
||||
}
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
fmt: function(fmtstr, args, values) {
|
||||
var repl = [],
|
||||
wrap = false,
|
||||
|
@ -112,7 +114,7 @@ return L.Class.extend({
|
|||
};
|
||||
|
||||
var isset = function(val) {
|
||||
if (L.isObject(val) && !L.dom.elem(val)) {
|
||||
if (L.isObject(val) && !dom.elem(val)) {
|
||||
for (var k in val)
|
||||
if (val.hasOwnProperty(k))
|
||||
return true;
|
||||
|
@ -128,7 +130,7 @@ return L.Class.extend({
|
|||
};
|
||||
|
||||
var parse = function(tokens, text) {
|
||||
if (L.dom.elem(text)) {
|
||||
if (dom.elem(text)) {
|
||||
tokens.push('<span data-fmt-placeholder="%d"></span>'.format(values.length));
|
||||
values.push(text);
|
||||
}
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return L.resolveDefault(fs.read('/etc/firewall.user'), '');
|
||||
},
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
'require uci';
|
||||
|
@ -84,7 +85,7 @@ function rule_target_txt(s) {
|
|||
});
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
callHostHints: rpc.declare({
|
||||
object: 'luci-rpc',
|
||||
method: 'getHostHints',
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
'require uci';
|
||||
|
@ -136,7 +137,7 @@ function rule_target_txt(s, ctHelpers) {
|
|||
}
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
callHostHints: rpc.declare({
|
||||
object: 'luci-rpc',
|
||||
method: 'getHostHints',
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
'require uci';
|
||||
|
@ -90,7 +91,7 @@ function rule_target_txt(s) {
|
|||
}
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
callHostHints: rpc.declare({
|
||||
object: 'luci-rpc',
|
||||
method: 'getHostHints',
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require rpc';
|
||||
'require uci';
|
||||
'require form';
|
||||
|
@ -7,7 +8,7 @@
|
|||
'require tools.firewall as fwtool';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
callConntrackHelpers: rpc.declare({
|
||||
object: 'luci',
|
||||
method: 'getConntrackHelpers',
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require form';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
L.resolveDefault(fs.stat('/sbin/block'), null),
|
||||
|
|
|
@ -63,7 +63,7 @@ Chart.defaults.global.tooltipTemplate = function(tip) {
|
|||
|
||||
function kpi(id, val1, val2, val3)
|
||||
{
|
||||
var e = L.dom.elem(id) ? id : document.getElementById(id);
|
||||
var e = dom.elem(id) ? id : document.getElementById(id);
|
||||
|
||||
if (val1 && val2 && val3)
|
||||
e.innerHTML = _('%s, %s and %s').format(val1, val2, val3);
|
||||
|
@ -96,8 +96,8 @@ function pie(id, data)
|
|||
}
|
||||
}
|
||||
|
||||
var node = L.dom.elem(id) ? id : document.getElementById(id),
|
||||
key = L.dom.elem(id) ? id.id : id,
|
||||
var node = dom.elem(id) ? id : document.getElementById(id),
|
||||
key = dom.elem(id) ? id.id : id,
|
||||
ctx = node.getContext('2d');
|
||||
|
||||
if (chartRegistry.hasOwnProperty(key))
|
||||
|
@ -279,7 +279,7 @@ function renderHostDetail(tooltip)
|
|||
|
||||
var rxData = [], txData = [];
|
||||
|
||||
L.dom.content(tooltip, [
|
||||
dom.content(tooltip, [
|
||||
E('div', { 'class': 'head' }, [
|
||||
E('div', { 'class': 'pie' }, [
|
||||
E('label', _('Download')),
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require form';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
L.resolveDefault(fs.stat('/sbin/block'), null),
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require form';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
render: function() {
|
||||
var m, s, o;
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require uci';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return uci.load('ttyd');
|
||||
},
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require rpc';
|
||||
'require uci';
|
||||
'require form';
|
||||
|
@ -123,7 +126,7 @@ function validateServerSpec(sid, s) {
|
|||
return true;
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
callHostHints(),
|
||||
|
@ -439,7 +442,7 @@ return L.view.extend({
|
|||
|
||||
var node = ipopt.map.findElement('id', ipopt.cbid(section_id));
|
||||
if (node)
|
||||
L.dom.callClassMethod(node, 'setValue', hosts[mac].ipv4);
|
||||
dom.callClassMethod(node, 'setValue', hosts[mac].ipv4);
|
||||
}, this, ipopt, section_id));
|
||||
|
||||
return node;
|
||||
|
@ -486,7 +489,7 @@ return L.view.extend({
|
|||
o = s.taboption('leases', CBILease6Status, '__status6__');
|
||||
|
||||
return m.render().then(function(mapEl) {
|
||||
L.Poll.add(function() {
|
||||
poll.add(function() {
|
||||
return callDHCPLeases().then(function(leaseinfo) {
|
||||
var leases = Array.isArray(leaseinfo.dhcp_leases) ? leaseinfo.dhcp_leases : [],
|
||||
leases6 = Array.isArray(leaseinfo.dhcp6_leases) ? leaseinfo.dhcp6_leases : [];
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require fs';
|
||||
'require ui';
|
||||
'require uci';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
handleCommand: function(exec, args) {
|
||||
var buttons = document.querySelectorAll('.diag-action > .cbi-button');
|
||||
|
||||
|
@ -14,7 +16,7 @@ return L.view.extend({
|
|||
var out = document.querySelector('.command-output');
|
||||
out.style.display = '';
|
||||
|
||||
L.dom.content(out, [ res.stdout || '', res.stderr || '' ]);
|
||||
dom.content(out, [ res.stdout || '', res.stderr || '' ]);
|
||||
}).catch(function(err) {
|
||||
ui.addNotification(null, E('p', [ err ]))
|
||||
}).finally(function() {
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require rpc';
|
||||
'require form';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
callHostHints: rpc.declare({
|
||||
object: 'luci-rpc',
|
||||
method: 'getHostHints',
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require fs';
|
||||
'require ui';
|
||||
'require uci';
|
||||
|
@ -109,7 +112,7 @@ function render_status(node, ifc, with_device) {
|
|||
function render_modal_status(node, ifc) {
|
||||
var dev = ifc ? (ifc.getDevice() || ifc.getL3Device() || ifc.getL3Device()) : null;
|
||||
|
||||
L.dom.content(node, [
|
||||
dom.content(node, [
|
||||
E('img', {
|
||||
'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', (dev && dev.isUp()) ? '' : '_disabled'),
|
||||
'title': dev ? dev.getTypeI18n() : _('Not present')
|
||||
|
@ -140,7 +143,7 @@ function render_ifacebox_status(node, ifc) {
|
|||
c.push(E('small', {}, ifc.isAlias() ? _('Alias of "%s"').format(ifc.isAlias())
|
||||
: (dev ? dev.getName() : E('em', _('Not present')))));
|
||||
|
||||
L.dom.content(node, c);
|
||||
dom.content(node, c);
|
||||
|
||||
return firewall.getZoneByNetwork(ifc.getName()).then(L.bind(function(zone) {
|
||||
this.style.backgroundColor = zone ? zone.getColor() : '#EEEEEE';
|
||||
|
@ -185,7 +188,7 @@ function iface_updown(up, id, ev, force) {
|
|||
'class': 'cbi-button cbi-button-negative important',
|
||||
'click': function(ev) {
|
||||
dsc.setAttribute('disconnect', '');
|
||||
L.dom.content(dsc, E('em', _('Interface is shutting down...')));
|
||||
dom.content(dsc, E('em', _('Interface is shutting down...')));
|
||||
|
||||
ui.hideModal();
|
||||
}
|
||||
|
@ -195,13 +198,13 @@ function iface_updown(up, id, ev, force) {
|
|||
}
|
||||
else {
|
||||
dsc.setAttribute('disconnect', '');
|
||||
L.dom.content(dsc, E('em', _('Interface is shutting down...')));
|
||||
dom.content(dsc, E('em', _('Interface is shutting down...')));
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
dsc.setAttribute(up ? 'reconnect' : 'disconnect', force ? 'force' : '');
|
||||
L.dom.content(dsc, E('em', up ? _('Interface is reconnecting...') : _('Interface is shutting down...')));
|
||||
dom.content(dsc, E('em', up ? _('Interface is reconnecting...') : _('Interface is shutting down...')));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -224,7 +227,7 @@ function get_netmask(s, use_cfgvalue) {
|
|||
return mask;
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
poll_status: function(map, networks) {
|
||||
var resolveZone = null;
|
||||
|
||||
|
@ -245,10 +248,10 @@ return L.view.extend({
|
|||
dynamic = ifc ? ifc.isDynamic() : false;
|
||||
|
||||
if (dsc.hasAttribute('reconnect')) {
|
||||
L.dom.content(dsc, E('em', _('Interface is starting...')));
|
||||
dom.content(dsc, E('em', _('Interface is starting...')));
|
||||
}
|
||||
else if (dsc.hasAttribute('disconnect')) {
|
||||
L.dom.content(dsc, E('em', _('Interface is stopping...')));
|
||||
dom.content(dsc, E('em', _('Interface is stopping...')));
|
||||
}
|
||||
else if (ifc.getProtocol() || uci.get('network', ifc.getName()) == null) {
|
||||
render_status(dsc, ifc, false);
|
||||
|
@ -258,18 +261,18 @@ return L.view.extend({
|
|||
if (e) e.disabled = true;
|
||||
|
||||
var link = L.url('admin/system/opkg') + '?query=luci-proto';
|
||||
L.dom.content(dsc, [
|
||||
dom.content(dsc, [
|
||||
E('em', _('Unsupported protocol type.')), E('br'),
|
||||
E('a', { href: link }, _('Install protocol extensions...'))
|
||||
]);
|
||||
}
|
||||
else {
|
||||
L.dom.content(dsc, E('em', _('Interface not present or not connected yet.')));
|
||||
dom.content(dsc, E('em', _('Interface not present or not connected yet.')));
|
||||
}
|
||||
|
||||
if (stat) {
|
||||
var dev = ifc.getDevice();
|
||||
L.dom.content(stat, [
|
||||
dom.content(stat, [
|
||||
E('img', {
|
||||
'src': L.resource('icons/%s%s.png').format(dev ? dev.getType() : 'ethernet', (dev && dev.isUp()) ? '' : '_disabled'),
|
||||
'title': dev ? dev.getTypeI18n() : _('Not present')
|
||||
|
@ -336,7 +339,7 @@ return L.view.extend({
|
|||
disabled = net ? !net.isUp() : true,
|
||||
dynamic = net ? net.isDynamic() : false;
|
||||
|
||||
L.dom.content(tdEl.lastChild, [
|
||||
dom.content(tdEl.lastChild, [
|
||||
E('button', {
|
||||
'class': 'cbi-button cbi-button-neutral reconnect',
|
||||
'click': iface_updown.bind(this, true, section_id),
|
||||
|
@ -965,7 +968,7 @@ return L.view.extend({
|
|||
|
||||
|
||||
return m.render().then(L.bind(function(m, nodes) {
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var section_ids = m.children[0].cfgsections(),
|
||||
tasks = [];
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require form';
|
||||
'require network';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return network.getDevices();
|
||||
},
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
'require uci';
|
||||
|
@ -67,13 +70,13 @@ function render_port_status(node, portstate) {
|
|||
return null;
|
||||
|
||||
if (!portstate || !portstate.link)
|
||||
L.dom.content(node, [
|
||||
dom.content(node, [
|
||||
E('img', { src: L.resource('icons/port_down.png') }),
|
||||
E('br'),
|
||||
_('no link')
|
||||
]);
|
||||
else
|
||||
L.dom.content(node, [
|
||||
dom.content(node, [
|
||||
E('img', { src: L.resource('icons/port_up.png') }),
|
||||
E('br'),
|
||||
'%d'.format(portstate.speed) + _('baseT'),
|
||||
|
@ -112,7 +115,7 @@ var callSwconfigPortState = rpc.declare({
|
|||
expect: { result: [] }
|
||||
});
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return network.getSwitchTopologies().then(function(topologies) {
|
||||
var tasks = [];
|
||||
|
@ -363,7 +366,7 @@ return L.view.extend({
|
|||
});
|
||||
}
|
||||
|
||||
L.Poll.add(L.bind(update_port_status, m, topologies));
|
||||
poll.add(L.bind(update_port_status, m, topologies));
|
||||
|
||||
return m.render();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require fs';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
|
@ -167,7 +170,7 @@ function render_modal_status(node, radioNet) {
|
|||
if (node == null)
|
||||
node = E('span', { 'class': 'ifacebadge large', 'data-network': radioNet.getName() }, [ E('small'), E('span') ]);
|
||||
|
||||
L.dom.content(node.firstElementChild, render_signal_badge(
|
||||
dom.content(node.firstElementChild, render_signal_badge(
|
||||
disabled ? -1 : radioNet.getSignalPercent(),
|
||||
radioNet.getSignal(), noise, true, radioNet.getMode()));
|
||||
|
||||
|
@ -185,7 +188,7 @@ function render_modal_status(node, radioNet) {
|
|||
], [ ' | ', E('br'), E('br'), E('br'), E('br'), E('br'), ' | ', E('br'), ' | ' ]);
|
||||
|
||||
if (!is_assoc)
|
||||
L.dom.append(node.lastElementChild, E('em', disabled ? _('Wireless is disabled') : _('Wireless is not associated')));
|
||||
dom.append(node.lastElementChild, E('em', disabled ? _('Wireless is disabled') : _('Wireless is not associated')));
|
||||
|
||||
return node;
|
||||
}
|
||||
|
@ -216,7 +219,7 @@ function radio_restart(id, ev) {
|
|||
btn.disabled = true;
|
||||
|
||||
dsc.setAttribute('restart', '');
|
||||
L.dom.content(dsc, E('em', _('Device is restarting…')));
|
||||
dom.content(dsc, E('em', _('Device is restarting…')));
|
||||
}
|
||||
|
||||
function network_updown(id, map, ev) {
|
||||
|
@ -432,7 +435,7 @@ var CBIWifiFrequencyValue = form.Value.extend({
|
|||
renderWidget: function(section_id, option_index, cfgvalue) {
|
||||
var elem = E('div');
|
||||
|
||||
L.dom.content(elem, [
|
||||
dom.content(elem, [
|
||||
E('label', { 'style': 'float:left; margin-right:3px' }, [
|
||||
_('Mode'), E('br'),
|
||||
E('select', {
|
||||
|
@ -520,7 +523,7 @@ var CBIWifiTxPowerValue = form.ListValue.extend({
|
|||
var widget = form.ListValue.prototype.renderWidget.apply(this, [section_id, option_index, cfgvalue]);
|
||||
widget.firstElementChild.style.width = 'auto';
|
||||
|
||||
L.dom.append(widget, E('span', [
|
||||
dom.append(widget, E('span', [
|
||||
' - ', _('Current power'), ': ',
|
||||
E('span', [ this.powerval != null ? '%d dBm'.format(this.powerval) : E('em', _('unknown')) ]),
|
||||
this.poweroff ? ' + %d dB offset = %s dBm'.format(this.poweroff, this.powerval != null ? this.powerval + this.poweroff : '?') : ''
|
||||
|
@ -564,7 +567,7 @@ var CBIWifiCountryValue = form.Value.extend({
|
|||
}
|
||||
});
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
poll_status: function(map, data) {
|
||||
var rows = map.querySelectorAll('.cbi-section-table-row[data-sid]');
|
||||
|
||||
|
@ -578,16 +581,16 @@ return L.view.extend({
|
|||
busy = btns[0].classList.contains('spinning') || btns[1].classList.contains('spinning') || btns[2].classList.contains('spinning');
|
||||
|
||||
if (radioDev) {
|
||||
L.dom.content(badge, render_radio_badge(radioDev));
|
||||
L.dom.content(stat, render_radio_status(radioDev, data[2].filter(function(n) { return n.getWifiDeviceName() == radioDev.getName() })));
|
||||
dom.content(badge, render_radio_badge(radioDev));
|
||||
dom.content(stat, render_radio_status(radioDev, data[2].filter(function(n) { return n.getWifiDeviceName() == radioDev.getName() })));
|
||||
}
|
||||
else {
|
||||
L.dom.content(badge, render_network_badge(radioNet));
|
||||
L.dom.content(stat, render_network_status(radioNet));
|
||||
dom.content(badge, render_network_badge(radioNet));
|
||||
dom.content(stat, render_network_status(radioNet));
|
||||
}
|
||||
|
||||
if (stat.hasAttribute('restart'))
|
||||
L.dom.content(stat, E('em', _('Device is restarting…')));
|
||||
dom.content(stat, E('em', _('Device is restarting…')));
|
||||
|
||||
btns[0].disabled = busy;
|
||||
btns[1].disabled = busy;
|
||||
|
@ -645,7 +648,7 @@ return L.view.extend({
|
|||
row.push(E('button', {
|
||||
'class': 'cbi-button cbi-button-remove',
|
||||
'click': L.bind(function(net, mac, ev) {
|
||||
L.dom.parent(ev.currentTarget, '.tr').style.opacity = 0.5;
|
||||
dom.parent(ev.currentTarget, '.tr').style.opacity = 0.5;
|
||||
ev.currentTarget.classList.add('spinning');
|
||||
ev.currentTarget.disabled = true;
|
||||
ev.currentTarget.blur();
|
||||
|
@ -1652,8 +1655,8 @@ return L.view.extend({
|
|||
|
||||
this.pollFn = L.bind(this.handleScanRefresh, this, radioDev, {}, table, stop);
|
||||
|
||||
L.Poll.add(this.pollFn);
|
||||
L.Poll.start();
|
||||
poll.add(this.pollFn);
|
||||
poll.start();
|
||||
};
|
||||
|
||||
s.handleScanRefresh = function(radioDev, scanCache, table, stop) {
|
||||
|
@ -1719,12 +1722,12 @@ return L.view.extend({
|
|||
var btn = ev.currentTarget;
|
||||
|
||||
if (btn.getAttribute('data-state') == 'stop') {
|
||||
L.Poll.remove(this.pollFn);
|
||||
poll.remove(this.pollFn);
|
||||
btn.firstChild.data = _('Start refresh');
|
||||
btn.setAttribute('data-state', 'start');
|
||||
}
|
||||
else {
|
||||
L.Poll.add(this.pollFn);
|
||||
poll.add(this.pollFn);
|
||||
btn.firstChild.data = _('Stop refresh');
|
||||
btn.setAttribute('data-state', 'stop');
|
||||
btn.classList.add('spinning');
|
||||
|
@ -1733,14 +1736,14 @@ return L.view.extend({
|
|||
};
|
||||
|
||||
s.handleScanAbort = function(ev) {
|
||||
var md = L.dom.parent(ev.target, 'div[aria-modal="true"]');
|
||||
var md = dom.parent(ev.target, 'div[aria-modal="true"]');
|
||||
if (md) {
|
||||
md.style.maxWidth = '';
|
||||
md.style.maxHeight = '';
|
||||
}
|
||||
|
||||
ui.hideModal();
|
||||
L.Poll.remove(this.pollFn);
|
||||
poll.remove(this.pollFn);
|
||||
|
||||
this.pollFn = null;
|
||||
};
|
||||
|
@ -1960,7 +1963,7 @@ return L.view.extend({
|
|||
};
|
||||
|
||||
return m.render().then(L.bind(function(m, nodes) {
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var section_ids = m.children[0].cfgsections(),
|
||||
tasks = [ network.getHostHints(), network.getWifiDevices() ];
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require request';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
'require network';
|
||||
|
@ -20,7 +24,7 @@ function rate(n, br) {
|
|||
return [ '%1024.2mbit/s'.format(n * 8), br ? E('br') : ' ', '(%1024.2mB/s)'.format(n) ]
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
this.loadSVG(L.resource('bandwidth.svg')),
|
||||
|
@ -95,7 +99,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
pollData: function() {
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var tasks = [];
|
||||
|
||||
for (var i = 0; i < graphPolls.length; i++) {
|
||||
|
@ -227,7 +231,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
loadSVG: function(src) {
|
||||
return L.Request.get(src).then(function(response) {
|
||||
return request.get(src).then(function(response) {
|
||||
if (!response.ok)
|
||||
throw new Error(response.statusText);
|
||||
|
||||
|
@ -289,13 +293,13 @@ return L.view.extend({
|
|||
|
||||
tab.querySelector('#scale').firstChild.data = _('(%d minute window, %d second interval)').format(info.timeframe, info.interval);
|
||||
|
||||
L.dom.content(tab.querySelector('#rx_bw_cur'), rate(info.line_current[0], true));
|
||||
L.dom.content(tab.querySelector('#rx_bw_avg'), rate(info.line_average[0], true));
|
||||
L.dom.content(tab.querySelector('#rx_bw_peak'), rate(info.line_peak[0], true));
|
||||
dom.content(tab.querySelector('#rx_bw_cur'), rate(info.line_current[0], true));
|
||||
dom.content(tab.querySelector('#rx_bw_avg'), rate(info.line_average[0], true));
|
||||
dom.content(tab.querySelector('#rx_bw_peak'), rate(info.line_peak[0], true));
|
||||
|
||||
L.dom.content(tab.querySelector('#tx_bw_cur'), rate(info.line_current[1], true));
|
||||
L.dom.content(tab.querySelector('#tx_bw_avg'), rate(info.line_average[1], true));
|
||||
L.dom.content(tab.querySelector('#tx_bw_peak'), rate(info.line_peak[1], true));
|
||||
dom.content(tab.querySelector('#tx_bw_cur'), rate(info.line_current[1], true));
|
||||
dom.content(tab.querySelector('#tx_bw_avg'), rate(info.line_average[1], true));
|
||||
dom.content(tab.querySelector('#tx_bw_peak'), rate(info.line_peak[1], true));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require poll';
|
||||
'require request';
|
||||
'require rpc';
|
||||
|
||||
var callLuciRealtimeStats = rpc.declare({
|
||||
|
@ -30,7 +33,7 @@ var recheck_lookup_queue = {};
|
|||
|
||||
Math.log2 = Math.log2 || function(x) { return Math.log(x) * Math.LOG2E; };
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
this.loadSVG(L.resource('connections.svg'))
|
||||
|
@ -177,7 +180,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
pollData: function() {
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var tasks = [
|
||||
L.resolveDefault(callLuciConntrackList(), [])
|
||||
];
|
||||
|
@ -300,7 +303,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
loadSVG: function(src) {
|
||||
return L.Request.get(src).then(function(response) {
|
||||
return request.get(src).then(function(response) {
|
||||
if (!response.ok)
|
||||
throw new Error(response.statusText);
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return fs.exec_direct('/bin/dmesg', [ '-r' ]).catch(function(err) {
|
||||
ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message)));
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require fs';
|
||||
'require rpc';
|
||||
|
||||
|
@ -12,7 +13,7 @@ var callSystemInfo = rpc.declare({
|
|||
method: 'info'
|
||||
});
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
title: _('System'),
|
||||
|
||||
load: function() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require rpc';
|
||||
|
||||
var callSystemInfo = rpc.declare({
|
||||
|
@ -19,7 +20,7 @@ function progressbar(value, max, byte) {
|
|||
}, E('div', { 'style': 'width:%.2f%%'.format(pc) }));
|
||||
}
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
title: _('Memory'),
|
||||
|
||||
load: function() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require fs';
|
||||
'require network';
|
||||
|
||||
|
@ -58,7 +59,7 @@ function renderbox(ifc, ipv6) {
|
|||
]);
|
||||
}
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
title: _('Network'),
|
||||
|
||||
load: function() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require rpc';
|
||||
'require network';
|
||||
|
||||
|
@ -8,7 +9,7 @@ var callLuciDHCPLeases = rpc.declare({
|
|||
expect: { '': {} }
|
||||
});
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
title: '',
|
||||
|
||||
load: function() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require rpc';
|
||||
|
||||
var callLuciDSLStatus = rpc.declare({
|
||||
|
@ -40,7 +41,7 @@ function renderbox(dsl) {
|
|||
]);
|
||||
}
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
title: _('DSL'),
|
||||
|
||||
load: function() {
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
'use strict';
|
||||
'require baseclass';
|
||||
'require dom';
|
||||
'require network';
|
||||
|
||||
function renderbox(radio, networks) {
|
||||
|
@ -73,11 +75,11 @@ function wifirate(rt) {
|
|||
return s;
|
||||
}
|
||||
|
||||
return L.Class.extend({
|
||||
return baseclass.extend({
|
||||
title: _('Wireless'),
|
||||
|
||||
handleDelClient: function(wifinet, mac, ev) {
|
||||
L.dom.parent(ev.currentTarget, '.tr').style.opacity = 0.5;
|
||||
dom.parent(ev.currentTarget, '.tr').style.opacity = 0.5;
|
||||
ev.currentTarget.classList.add('spinning');
|
||||
ev.currentTarget.disabled = true;
|
||||
ev.currentTarget.blur();
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require poll';
|
||||
'require fs';
|
||||
'require network';
|
||||
|
||||
|
@ -35,7 +38,7 @@ function startPolling(includes, containers) {
|
|||
containers[i].parentNode.style.display = '';
|
||||
containers[i].parentNode.classList.add('fade-in');
|
||||
|
||||
L.dom.content(containers[i], content);
|
||||
dom.content(containers[i], content);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,11 +51,11 @@ function startPolling(includes, containers) {
|
|||
};
|
||||
|
||||
return step().then(function() {
|
||||
L.Poll.add(step);
|
||||
poll.add(step);
|
||||
});
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return L.resolveDefault(fs.list('/www' + L.resource('view/status/include')), []).then(function(entries) {
|
||||
return Promise.all(entries.filter(function(e) {
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require poll';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
var table_names = [ 'Filter', 'NAT', 'Mangle', 'Raw' ];
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return L.resolveDefault(fs.stat('/usr/sbin/ip6tables'));
|
||||
},
|
||||
|
@ -215,7 +217,7 @@ return L.view.extend({
|
|||
if (has_ip6tables)
|
||||
cmds.push('/usr/sbin/ip6tables');
|
||||
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var tasks = [];
|
||||
|
||||
for (var i = 0; i < cmds.length; i++) {
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require poll';
|
||||
'require request';
|
||||
'require rpc';
|
||||
|
||||
var callLuciRealtimeStats = rpc.declare({
|
||||
|
@ -13,7 +16,7 @@ var graphPolls = [],
|
|||
|
||||
Math.log2 = Math.log2 || function(x) { return Math.log(x) * Math.LOG2E; };
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
this.loadSVG(L.resource('load.svg'))
|
||||
|
@ -86,7 +89,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
pollData: function() {
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var tasks = [];
|
||||
|
||||
for (var i = 0; i < graphPolls.length; i++) {
|
||||
|
@ -205,7 +208,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
loadSVG: function(src) {
|
||||
return L.Request.get(src).then(function(response) {
|
||||
return request.get(src).then(function(response) {
|
||||
if (!response.ok)
|
||||
throw new Error(response.statusText);
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
|
@ -9,7 +10,7 @@ var callLuciProcessList = rpc.declare({
|
|||
expect: { result: [] }
|
||||
});
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return callLuciProcessList();
|
||||
},
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require rpc';
|
||||
'require validation';
|
||||
|
@ -25,7 +26,7 @@ function applyMask(addr, mask, v6) {
|
|||
v6 ? '%x:%x:%x:%x:%x:%x:%x:%x' : '%d.%d.%d.%d', words);
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
callNetworkInterfaceDump(),
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return fs.exec_direct('/sbin/logread', [ '-e', '^' ]).catch(function(err) {
|
||||
ui.addNotification(null, E('p', {}, _('Unable to load log data: ' + err.message)));
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require poll';
|
||||
'require request';
|
||||
'require ui';
|
||||
'require rpc';
|
||||
'require network';
|
||||
|
@ -15,7 +18,7 @@ var graphPolls = [],
|
|||
|
||||
Math.log2 = Math.log2 || function(x) { return Math.log(x) * Math.LOG2E; };
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
this.loadSVG(L.resource('wireless.svg')),
|
||||
|
@ -102,7 +105,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
pollData: function() {
|
||||
L.Poll.add(L.bind(function() {
|
||||
poll.add(L.bind(function() {
|
||||
var tasks = [];
|
||||
|
||||
for (var i = 0; i < graphPolls.length; i++) {
|
||||
|
@ -221,7 +224,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
loadSVG: function(src) {
|
||||
return L.Request.get(src).then(function(response) {
|
||||
return request.get(src).then(function(response) {
|
||||
if (!response.ok)
|
||||
throw new Error(response.statusText);
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ function renderBadge(icon, title) {
|
|||
</div>
|
||||
|
||||
<script type="text/javascript">L.require('view.status.index').catch(function(err) {
|
||||
L.dom.content(document.querySelector('#view'), null);
|
||||
dom.content(document.querySelector('#view'), null);
|
||||
L.error(err);
|
||||
});</script>
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return L.resolveDefault(fs.read('/etc/crontabs/root'), '');
|
||||
},
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require form';
|
||||
'require tools.widgets as widgets';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
render: function() {
|
||||
var m, s, o;
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require form';
|
||||
'require rpc';
|
||||
'require fs';
|
||||
|
@ -60,7 +62,7 @@ function findStorageSize(procmtd, procpart) {
|
|||
|
||||
var mapdata = { actions: {}, config: {} };
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
var tasks = [
|
||||
L.resolveDefault(fs.stat('/lib/upgrade/platform.sh'), {}),
|
||||
|
@ -166,7 +168,7 @@ return L.view.extend({
|
|||
},
|
||||
|
||||
handleBlock: function(hostname, ev) {
|
||||
var mtdblock = L.dom.parent(ev.target, '.cbi-section').querySelector('[data-name="mtdselect"] select').value;
|
||||
var mtdblock = dom.parent(ev.target, '.cbi-section').querySelector('[data-name="mtdselect"] select').value;
|
||||
var form = E('form', {
|
||||
'method': 'post',
|
||||
'action': L.env.cgi_base + '/cgi-download',
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require uci';
|
||||
'require rpc';
|
||||
'require form';
|
||||
|
@ -18,7 +19,7 @@ callUSB = rpc.declare({
|
|||
expect: { '': {} }
|
||||
});
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
callLeds(),
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
'require uci';
|
||||
|
@ -69,7 +70,7 @@ function device_textvalue(devices, section_id) {
|
|||
}
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
handleDetect: function(m, ev) {
|
||||
return callBlockDetect()
|
||||
.then(L.bind(uci.unload, uci, 'fstab'))
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require dom';
|
||||
'require ui';
|
||||
'require form';
|
||||
'require rpc';
|
||||
|
@ -17,7 +19,7 @@ var callSetPassword = rpc.declare({
|
|||
expect: { result: false }
|
||||
});
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
checkPassword: function(section_id, value) {
|
||||
var strength = document.querySelector('.cbi-value-description'),
|
||||
strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g"),
|
||||
|
@ -67,7 +69,7 @@ return L.view.extend({
|
|||
handleSave: function() {
|
||||
var map = document.querySelector('.cbi-map');
|
||||
|
||||
return L.dom.callClassMethod(map, 'save').then(function() {
|
||||
return dom.callClassMethod(map, 'save').then(function() {
|
||||
if (formData.password.pw1 == null || formData.password.pw1.length == 0)
|
||||
return;
|
||||
|
||||
|
@ -85,7 +87,7 @@ return L.view.extend({
|
|||
formData.password.pw1 = null;
|
||||
formData.password.pw2 = null;
|
||||
|
||||
L.dom.callClassMethod(map, 'render');
|
||||
dom.callClassMethod(map, 'render');
|
||||
});
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
'require uci';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return uci.changes();
|
||||
},
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
|
@ -213,7 +214,7 @@ function handleWindowDragDropIgnore(ev) {
|
|||
ev.preventDefault()
|
||||
}
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return fs.lines('/etc/dropbear/authorized_keys').then(function(lines) {
|
||||
return lines.filter(function(line) {
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require rpc';
|
||||
'require fs';
|
||||
'require ui';
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
callInitList: rpc.declare({
|
||||
object: 'luci',
|
||||
method: 'getInitList',
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
'use strict';
|
||||
'require view';
|
||||
'require poll';
|
||||
'require ui';
|
||||
'require uci';
|
||||
'require rpc';
|
||||
|
@ -74,7 +76,7 @@ CBILocalTime = form.DummyValue.extend({
|
|||
},
|
||||
});
|
||||
|
||||
return L.view.extend({
|
||||
return view.extend({
|
||||
load: function() {
|
||||
return Promise.all([
|
||||
callInitList('sysntpd'),
|
||||
|
@ -277,7 +279,7 @@ return L.view.extend({
|
|||
}
|
||||
|
||||
return m.render().then(function(mapEl) {
|
||||
L.Poll.add(function() {
|
||||
poll.add(function() {
|
||||
return callGetLocaltime().then(function(t) {
|
||||
mapEl.querySelector('#localtime').value = new Date(t * 1000).toLocaleString();
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue