summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-09-18 16:20:12 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-09-18 16:20:12 +0300
commit3f0ee72988ee24c4f701b0152bac537d6dea586a (patch)
tree7031f62fa645e95357cd590badf3a72ac74c0519 /web
parent965eca64c5868702eb4a785fc0bdd7077eb55003 (diff)
downloadaconf-3f0ee72988ee24c4f701b0152bac537d6dea586a.tar.bz2
aconf-3f0ee72988ee24c4f701b0152bac537d6dea586a.tar.xz
web client: fix a couple of bugs in detecting changed values
Diffstat (limited to 'web')
-rw-r--r--web/client.js26
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 &&