summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-01-31 10:19:51 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2014-02-01 01:43:45 +0200
commit6a93c44c9a9130626aba9a581ca333065e0dedfa (patch)
tree5e45a62f447630abb0a73c841b78309415183401 /web
parent33de0e7eba4962744a1c93556d0b6d5b4c50221b (diff)
downloadaconf-6a93c44c9a9130626aba9a581ca333065e0dedfa.tar.bz2
aconf-6a93c44c9a9130626aba9a581ca333065e0dedfa.tar.xz
web client: extract list index adjustment functions
Diffstat (limited to 'web')
-rw-r--r--web/client.js52
1 files changed, 29 insertions, 23 deletions
diff --git a/web/client.js b/web/client.js
index 5dfe9ef..63680a6 100644
--- a/web/client.js
+++ b/web/client.js
@@ -352,6 +352,34 @@ $(function() {
return data.set(name, name);
};
+ function adjustListIndex(oldIndex, newIndex) {
+ var opath = join(path, oldIndex);
+ var npath = join(path, newIndex);
+ _.each(
+ [changed, invalid],
+ function(map) {
+ _.each(
+ _.keys(map),
+ function(p) {
+ if (isSubordinate(
+ p, opath
+ )) {
+ map[npath +
+ p.substring(
+ opath.length
+ )] = map[p];
+ delete map[p];
+ }
+ });
+ }
+ );
+ }
+
+ function adjustListIndices(start, end) {
+ for (var i = start; i < end; i++)
+ adjustListIndex(i + 1, i);
+ }
+
function _delete(name) {
var def = $.Deferred();
var length = data.data.length;
@@ -364,29 +392,7 @@ $(function() {
changed[path] = path;
if (data.meta.type == "list")
- for (var i = name; i < length; i++) {
- var opath = join(path, i + 1);
- var npath = join(path, i);
-
- _.each(
- [changed, invalid],
- function(map) {
- _.each(
- _.keys(map),
- function(p) {
- if (isSubordinate(
- p, opath
- )) {
- map[npath +
- p.substring(
- opath.length
- )] = map[p];
- delete map[p];
- }
- });
- }
- );
- }
+ adjustListIndices(name, length);
}
def.resolve(txnValid);