X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fluci2%2Fui.git;a=blobdiff_plain;f=luci2%2Fhtdocs%2Fluci2%2Fluci2.js;h=e401c7c41b701b96d86ead02edcbff0a7ab245d0;hp=a074b44a89dc40d760664c6692fa1b03e244181b;hb=cc66f6160f8e44d07bf92b9321144fdc0c1cf473;hpb=19990b36ae3f7ca9135934e7ecc92b6aa172480f diff --git a/luci2/htdocs/luci2/luci2.js b/luci2/htdocs/luci2/luci2.js index a074b44..e401c7c 100644 --- a/luci2/htdocs/luci2/luci2.js +++ b/luci2/htdocs/luci2/luci2.js @@ -1429,7 +1429,7 @@ function LuCI2() startHeartbeat: function() { this._hearbeatInterval = window.setInterval(function() { - _luci2.session.isAlive(function(alive) { + _luci2.session.isAlive().then(function(alive) { if (!alive) { _luci2.session.stopHeartbeat(); @@ -1443,7 +1443,10 @@ function LuCI2() stopHeartbeat: function() { if (typeof(this._hearbeatInterval) != 'undefined') + { window.clearInterval(this._hearbeatInterval); + delete this._hearbeatInterval; + } } }; @@ -1759,6 +1762,7 @@ function LuCI2() _luci2.session.isAlive().then(function(access) { if (access) { + _luci2.session.startHeartbeat(); _luci2._login_deferred.resolve(); } else @@ -1853,6 +1857,13 @@ function LuCI2() return _luci2._login_deferred; }, + cryptPassword: _luci2.rpc.declare({ + object: 'luci2.ui', + method: 'crypt', + params: [ 'data' ], + expect: { crypt: '' } + }), + _acl_merge_scope: function(acl_scope, scope) { @@ -2973,7 +2984,7 @@ function LuCI2() }; - var AbstractValue = AbstractWidget.extend({ + this.cbi.AbstractValue = AbstractWidget.extend({ init: function(name, options) { this.name = name; @@ -3239,11 +3250,11 @@ function LuCI2() { if (typeof(d[i]) == 'string') dep[d[i]] = true; - else if (d[i] instanceof AbstractValue) + else if (d[i] instanceof _luci2.cbi.AbstractValue) dep[d[i].name] = true; } } - else if (d instanceof AbstractValue) + else if (d instanceof _luci2.cbi.AbstractValue) { dep = { }; dep[d.name] = (typeof(v) == 'undefined') ? true : v; @@ -3351,7 +3362,7 @@ function LuCI2() } }); - this.cbi.CheckboxValue = AbstractValue.extend({ + this.cbi.CheckboxValue = this.cbi.AbstractValue.extend({ widget: function(sid) { var o = this.options; @@ -3416,7 +3427,7 @@ function LuCI2() } }); - this.cbi.InputValue = AbstractValue.extend({ + this.cbi.InputValue = this.cbi.AbstractValue.extend({ widget: function(sid) { var i = $('') @@ -3429,7 +3440,7 @@ function LuCI2() } }); - this.cbi.PasswordValue = AbstractValue.extend({ + this.cbi.PasswordValue = this.cbi.AbstractValue.extend({ widget: function(sid) { var i = $('') @@ -3458,7 +3469,7 @@ function LuCI2() } }); - this.cbi.ListValue = AbstractValue.extend({ + this.cbi.ListValue = this.cbi.AbstractValue.extend({ widget: function(sid) { var s = $('') .attr('name', itype + id) .attr('type', itype) - .attr('value', iface.name) - .prop('checked', !!check[iface.name]) + .attr('value', iface['interface']) + .prop('checked', !!check[iface['interface']]) .addClass('cbi-input-' + itype)) .append(badge)) .appendTo(ul); @@ -4100,7 +4111,7 @@ function LuCI2() }); - var AbstractSection = AbstractWidget.extend({ + this.cbi.AbstractSection = AbstractWidget.extend({ id: function() { var s = [ arguments[0], this.map.uci_package, this.uci_type ]; @@ -4150,7 +4161,7 @@ function LuCI2() var w = widget ? new widget(name, options) : null; - if (!(w instanceof AbstractValue)) + if (!(w instanceof _luci2.cbi.AbstractValue)) throw 'Widget must be an instance of AbstractValue'; w.section = this; @@ -4246,7 +4257,7 @@ function LuCI2() } }); - this.cbi.TypedSection = AbstractSection.extend({ + this.cbi.TypedSection = this.cbi.AbstractSection.extend({ init: function(uci_type, options) { this.uci_type = uci_type; @@ -4377,9 +4388,9 @@ function LuCI2() for (var i = 0; i < this.options.teasers.length; i++) { var f = this.options.teasers[i]; - if (f instanceof AbstractValue) + if (f instanceof _luci2.cbi.AbstractValue) tf.push(f); - else if (typeof(f) == 'string' && this.fields[f] instanceof AbstractValue) + else if (typeof(f) == 'string' && this.fields[f] instanceof _luci2.cbi.AbstractValue) tf.push(this.fields[f]); } } @@ -5050,7 +5061,7 @@ function LuCI2() { var w = widget ? new widget(uci_type, options) : null; - if (!(w instanceof AbstractSection)) + if (!(w instanceof _luci2.cbi.AbstractSection)) throw 'Widget must be an instance of AbstractSection'; w.map = this; @@ -5296,11 +5307,11 @@ function LuCI2() for (var k in this.uci.creates[c][s]) { if (k == '.type') - r.type = this.uci.creates[i][k]; + r.type = this.uci.creates[c][s][k]; else if (k == '.create') - r.name = this.uci.creates[i][k]; + r.name = this.uci.creates[c][s][k]; else if (k.charAt(0) != '.') - r.values[k] = this.uci.creates[i][k]; + r.values[k] = this.uci.creates[c][s][k]; } _luci2.uci.add(r.config, r.type, r.name, r.values);