diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-04-05 19:14:58 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2014-04-06 10:32:14 +0300 |
commit | c2122faa6c795fde62c6be67e820f9f47d7bedc2 (patch) | |
tree | 416762af22a61d2f43a3b8b92e8d1e153f0d902e /web/transaction.js | |
parent | 61f11eae595d454c8e21262a770dc56ab0754bbb (diff) | |
download | aconf-c2122faa6c795fde62c6be67e820f9f47d7bedc2.tar.bz2 aconf-c2122faa6c795fde62c6be67e820f9f47d7bedc2.tar.xz |
web client: preserve removability of invalid members on reload
Diffstat (limited to 'web/transaction.js')
-rw-r--r-- | web/transaction.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/web/transaction.js b/web/transaction.js index 26a8c35..8c91ff6 100644 --- a/web/transaction.js +++ b/web/transaction.js @@ -69,6 +69,9 @@ define( if (type.isTreeNode(data.meta) && !_.size(data.data)) data.data = type.isList(data.meta) ? [] : {}; + if (!_.isArray(data.meta.removable)) + data.meta.removable = []; + function index(name) { return _.isArray(data.data) ? name - 1 : name; } @@ -76,6 +79,8 @@ define( function ensureKeyPresence(name) { var key = index(name); if (!(key in data.data)) data.data[key] = null; + if (data.data[key] == null) + data.meta.removable.push(name); } function findSubordinateKeys(objmap, path) { |