diff options
author | Jo-Philipp Wich <jo@mein.io> | 2019-09-18 08:16:41 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2019-09-18 08:17:58 +0200 |
commit | 982b08f45d400f63cab38daf6a99b5b690794d24 (patch) | |
tree | 6c20d3a523853632fe0c9b21771fd35a73dbd79e /modules/luci-mod-system | |
parent | 7dd6fde57e827f4544ae03c553283c9b37f2f4f6 (diff) |
luci-mod-system: system.js: simplify btn actions, use feature flags
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'modules/luci-mod-system')
-rw-r--r-- | modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js | 60 |
1 files changed, 26 insertions, 34 deletions
diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js index 1ed8f64d8..ac6586af4 100644 --- a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js +++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/system.js @@ -47,33 +47,27 @@ callTimezone = rpc.declare({ CBILocalTime = form.DummyValue.extend({ renderWidget: function(section_id, option_id, cfgvalue) { return E([], [ - E('span', { 'id': 'localtime' }, - new Date(cfgvalue * 1000).toLocaleString()), + E('span', {}, [ + E('input', { + 'id': 'localtime', + 'type': 'text', + 'readonly': true, + 'value': new Date(cfgvalue * 1000).toLocaleString() + }) + ]), ' ', E('button', { 'class': 'cbi-button cbi-button-apply', - 'click': function() { - this.blur(); - this.classList.add('spinning'); - this.disabled = true; - callSetLocaltime(Math.floor(Date.now() / 1000)).then(L.bind(function() { - this.classList.remove('spinning'); - this.disabled = false; - }, this)); - } + 'click': L.ui.createHandlerFn(this, function() { + return callSetLocaltime(Math.floor(Date.now() / 1000)); + }) }, _('Sync with browser')), ' ', this.ntpd_support ? E('button', { 'class': 'cbi-button cbi-button-apply', - 'click': function() { - this.blur(); - this.classList.add('spinning'); - this.disabled = true; - callInitAction('sysntpd', 'restart').then(L.bind(function() { - this.classList.remove('spinning'); - this.disabled = false; - }, this)); - } + 'click': L.ui.createHandlerFn(this, function() { + return callInitAction('sysntpd', 'restart'); + }) }, _('Sync with NTP-Server')) : '' ]); }, @@ -83,7 +77,6 @@ return L.view.extend({ load: function() { return Promise.all([ callInitList('sysntpd'), - callInitList('zram'), callTimezone(), callGetLocaltime(), uci.load('luci'), @@ -92,11 +85,10 @@ return L.view.extend({ }, render: function(rpc_replies) { - var ntpd_support = rpc_replies[0], - zram_support = rpc_replies[1], - timezones = rpc_replies[2], - localtime = rpc_replies[3], - ntp_setup, ntp_enabled, m, s, o; + var ntpd_enabled = rpc_replies[0], + timezones = rpc_replies[1], + localtime = rpc_replies[2], + m, s, o; m = new form.Map('system', _('System'), @@ -119,7 +111,7 @@ return L.view.extend({ o = s.taboption('general', CBILocalTime, '_systime', _('Local Time')); o.cfgvalue = function() { return localtime }; - o.ntpd_support = ntpd_support; + o.ntpd_support = ntpd_enabled; o = s.taboption('general', form.Value, 'hostname', _('Hostname')); o.datatype = 'hostname'; @@ -184,7 +176,7 @@ return L.view.extend({ * Zram Properties */ - if (zram_support != null) { + if (L.hasSystemFeature('zram')) { s.tab('zram', _('ZRam Settings')); o = s.taboption('zram', form.Value, 'zram_size_mb', _('ZRam Size'), _('Size of the ZRam device in megabytes')); @@ -234,7 +226,7 @@ return L.view.extend({ * NTP */ - if (ntpd_support != null) { + if (L.hasSystemFeature('sysntpd')) { var default_servers = [ '0.openwrt.pool.ntp.org', '1.openwrt.pool.ntp.org', '2.openwrt.pool.ntp.org', '3.openwrt.pool.ntp.org' @@ -245,14 +237,14 @@ return L.view.extend({ o.ucisection = 'ntp'; o.default = o.disabled; o.write = function(section_id, value) { - ntpd_support = +value; + ntpd_enabled = +value; - if (ntpd_support && !uci.get('system', 'ntp')) { + if (ntpd_enabled && !uci.get('system', 'ntp')) { uci.add('system', 'timeserver', 'ntp'); uci.set('system', 'ntp', 'server', default_servers); } - if (!ntpd_support) + if (!ntpd_enabled) uci.set('system', 'ntp', 'enabled', 0); else uci.unset('system', 'ntp', 'enabled'); @@ -260,7 +252,7 @@ return L.view.extend({ return callInitAction('sysntpd', 'enable'); }; o.load = function(section_id) { - return (ntpd_support == 1 && + return (ntpd_enabled == 1 && uci.get('system', 'ntp') != null && uci.get('system', 'ntp', 'enabled') != 0) ? '1' : '0'; }; @@ -284,7 +276,7 @@ return L.view.extend({ return m.render().then(function(mapEl) { L.Poll.add(function() { return callGetLocaltime().then(function(t) { - mapEl.querySelector('#localtime').innerHTML = new Date(t * 1000).toLocaleString(); + mapEl.querySelector('#localtime').value = new Date(t * 1000).toLocaleString(); }); }); |