diff options
-rw-r--r-- | acf/error.lua | 2 | ||||
-rw-r--r-- | acf/persistence/backends/json.lua | 2 | ||||
-rwxr-xr-x | install-deps.sh | 2 | ||||
-rw-r--r-- | server.lua | 2 | ||||
-rw-r--r-- | web/client.js | 12 |
5 files changed, 13 insertions, 7 deletions
diff --git a/acf/error.lua b/acf/error.lua index c2d3bb2..c3a8d63 100644 --- a/acf/error.lua +++ b/acf/error.lua @@ -10,7 +10,7 @@ local class = object.class local util = require('acf.util') -local json = require('json') +local json = require('cjson') local ErrorTable = class() diff --git a/acf/persistence/backends/json.lua b/acf/persistence/backends/json.lua index b4e5fbf..e0cd66e 100644 --- a/acf/persistence/backends/json.lua +++ b/acf/persistence/backends/json.lua @@ -8,7 +8,7 @@ local Cache = require('acf.persistence.backends.volatile') local util = require('acf.persistence.util') local copy = require('acf.util').copy -local json = require('json') +local json = require('cjson') local posix = require('posix') diff --git a/install-deps.sh b/install-deps.sh index b624503..1e52aa5 100755 --- a/install-deps.sh +++ b/install-deps.sh @@ -3,7 +3,7 @@ # Copyright (c) 2012-2013 Kaarle Ritvanen # See LICENSE file for license details -PACKAGES="lua5.2-augeas lua5.2-crypto lua5.2-json4 lua5.2-posix lua5.2-stringy +PACKAGES="lua5.2-augeas lua5.2-crypto lua5.2-cjson lua5.2-posix lua5.2-stringy uwsgi uwsgi-lua" [ "$1" = -d ] && PACKAGES="$PACKAGES bash curl" @@ -7,7 +7,7 @@ local acf = require('acf') local mnode = acf.model.node local isinstance = acf.object.isinstance -local json = require('json') +local json = require('cjson') local stringy = require('stringy') diff --git a/web/client.js b/web/client.js index da995d2..d364a8d 100644 --- a/web/client.js +++ b/web/client.js @@ -73,10 +73,13 @@ $(function() { return true; } + function isList(meta) { + return _.contains(["list", "set"], meta.type); + } + function isTreeNode(meta) { - return _.contains( - ["collection", "list", "model", "set"], meta.type - ); + return isList(meta) || + _.contains(["collection", "model"], meta.type); } @@ -112,6 +115,9 @@ $(function() { var def = $.Deferred(); objRequest(path).done(function(data) { + if (isTreeNode(data.meta) && !_.size(data.data)) + data.data = isList(data.meta) ? [] : {}; + function index(name) { return _.isArray(data.data) ? name - 1 : name; } |