diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-09-18 16:20:12 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-09-18 16:20:12 +0300 |
commit | 3f0ee72988ee24c4f701b0152bac537d6dea586a (patch) | |
tree | 7031f62fa645e95357cd590badf3a72ac74c0519 | |
parent | 965eca64c5868702eb4a785fc0bdd7077eb55003 (diff) | |
download | aconf-3f0ee72988ee24c4f701b0152bac537d6dea586a.tar.bz2 aconf-3f0ee72988ee24c4f701b0152bac537d6dea586a.tar.xz |
web client: fix a couple of bugs in detecting changed values
-rw-r--r-- | web/client.js | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/web/client.js b/web/client.js index dc0f735..1493ee6 100644 --- a/web/client.js +++ b/web/client.js @@ -135,7 +135,9 @@ $(function() { function reject(xhr) { def.reject(xhr); } var mpath = join(path, name); - var value = data.get(name); + + var value = data.get(name, true); + if (value == undefined) value = null; var tn = _.isObject(newValue); var npv = tn ? mpath : newValue; @@ -185,18 +187,16 @@ $(function() { changed[mpath] = value; if (!tn && newValue == changed[mpath]) delete changed[mpath]; - else { - data.data[index(name)] = npv; - if (npv == null) - _.each( - _.keys(changed), - function(p) { - if (isRealSubordinate( - p, mpath - )) delete changed[p]; - } - ); - } + + if (npv == null) + _.each( + _.keys(changed), + function(p) { + if (isRealSubordinate(p, mpath)) + delete changed[p]; + } + ); + data.data[index(name)] = npv; if (tn) query(mpath).done(function(data) { if (mpath in invalid && |