luci-app-cloudflared: simplify service status render
Instead of using poll use the o.cfgvalue to render a status. Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
This commit is contained in:
parent
b8a4328fcf
commit
a5dfb9604c
1 changed files with 10 additions and 26 deletions
|
@ -5,9 +5,7 @@
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
'require form';
|
'require form';
|
||||||
'require poll';
|
|
||||||
'require rpc';
|
'require rpc';
|
||||||
'require uci';
|
|
||||||
'require view';
|
'require view';
|
||||||
|
|
||||||
var callServiceList = rpc.declare({
|
var callServiceList = rpc.declare({
|
||||||
|
@ -27,26 +25,15 @@ function getServiceStatus() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function renderStatus(isRunning) {
|
|
||||||
var spanTemp = '<label class="cbi-value-title">Status</label><div class="cbi-value-field"><em><span style="color:%s">%s</span></em></div>';
|
|
||||||
var renderHTML;
|
|
||||||
if (isRunning) {
|
|
||||||
renderHTML = String.format(spanTemp, 'green', _('Running'));
|
|
||||||
} else {
|
|
||||||
renderHTML = String.format(spanTemp, 'red', _('Not Running'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return renderHTML;
|
|
||||||
}
|
|
||||||
|
|
||||||
return view.extend({
|
return view.extend({
|
||||||
load: function () {
|
load: function () {
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
uci.load('cloudflared')
|
getServiceStatus()
|
||||||
]);
|
]);
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function (data) {
|
render: function (data) {
|
||||||
|
let isRunning = data[0];
|
||||||
var m, s, o;
|
var m, s, o;
|
||||||
|
|
||||||
m = new form.Map('cloudflared', _('Cloudflare Zero Trust Tunnel'),
|
m = new form.Map('cloudflared', _('Cloudflare Zero Trust Tunnel'),
|
||||||
|
@ -59,18 +46,15 @@ return view.extend({
|
||||||
|
|
||||||
s = m.section(form.NamedSection, 'config', 'cloudflared');
|
s = m.section(form.NamedSection, 'config', 'cloudflared');
|
||||||
|
|
||||||
o = s.option(form.DummyValue, 'service_status', _('Status'));
|
o = s.option(form.DummyValue, '_status', _('Status'));
|
||||||
o.load = function () {
|
o.rawhtml = true;
|
||||||
poll.add(function () {
|
o.cfgvalue = function(section_id) {
|
||||||
return L.resolveDefault(getServiceStatus()).then(function (res) {
|
var span = '<b><span style="color:%s">%s</span></b>';
|
||||||
var view = document.getElementById('cbi-cloudflared-config-service_status');
|
var renderHTML = isRunning ?
|
||||||
if (view) {
|
String.format(span, 'green', _('Running')) :
|
||||||
view.innerHTML = renderStatus(res);
|
String.format(span, 'red', _('Not Running'));
|
||||||
}
|
return renderHTML;
|
||||||
});
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
o.value = _('Collecting data...');
|
|
||||||
|
|
||||||
o = s.option(form.Flag, 'enabled', _('Enable'));
|
o = s.option(form.Flag, 'enabled', _('Enable'));
|
||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
|
|
Loading…
Reference in a new issue