From 8857a1753ba94c490211b06531995b6ad88506a6 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Thu, 6 Feb 2014 13:12:50 +0200 Subject: web client: type module --- web/client.js | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) (limited to 'web/client.js') diff --git a/web/client.js b/web/client.js index 7aacb1b..81ef869 100644 --- a/web/client.js +++ b/web/client.js @@ -21,13 +21,14 @@ require( [ "acf2/path", "acf2/statusbar", + "acf2/type", "jquery", "underscore", "jquery-bbq", "jquery-blockui", "jquery-ui/sortable" ], - function(pth, statusBar, $, _) { + function(pth, statusBar, type, $, _) { $("#login").submit(function() { $.ajax("/login", { @@ -36,19 +37,6 @@ require( username: $("#username").val(), password: $("#password").val() }) }).done(function(data, status, xhr) { - - function isList(meta) { - return _.contains(["list", "set"], meta.type); - } - - function isCollection(meta) { - return meta.type == "collection" || isList(meta); - } - - function isTreeNode(meta) { - return meta.type == "model" || isCollection(meta); - } - var txnMgr = (function(token, saveRequired) { var txn, changed, invalid; @@ -106,8 +94,8 @@ require( var def = $.Deferred(); objRequest(path).done(function(data) { - if (isTreeNode(data.meta) && !_.size(data.data)) - data.data = isList(data.meta) ? [] : {}; + if (type.isTreeNode(data.meta) && !_.size(data.data)) + data.data = type.isList(data.meta) ? [] : {}; function index(name) { return _.isArray(data.data) ? name - 1 : name; @@ -277,7 +265,7 @@ require( field.condition ) && !(mmpath in invalid) && - (isCollection( + (type.isCollection( field ) || data.get( field.name @@ -290,7 +278,7 @@ require( } }); - else if (isCollection(data.meta) && + else if (type.isCollection(data.meta) && data.meta.required) invalid[mpath] = [mpath]; } @@ -352,7 +340,7 @@ require( var length = data.data.length; data.set(name, null).done(function(txnValid) { - if (isTreeNode(data.meta) && + if (type.isTreeNode(data.meta) && data.meta.type != "set") { delete changed[pth.join(path, name)]; @@ -390,7 +378,7 @@ require( objRequest(path, {type: "POST", data: { index: newIndex, - data: isTreeNode(data.meta.members) ? + data: type.isTreeNode(data.meta.members) ? pth.join(path, oldIndex) : value }}).done(function() { @@ -1045,7 +1033,7 @@ require( data.set( name, - isTreeNode(meta.members) ? {} : null + type.isTreeNode(meta.members) ? {} : null ).done(function(txnValid) { if (_.isObject(meta.removable)) meta.removable = []; @@ -1264,7 +1252,7 @@ require( }, widget: function(meta) { - if (!isTreeNode(meta)) + if (!type.isTreeNode(meta)) return this.super(Tabular, "widget", meta); if (!this.header) return Horizontal; this.header = false; @@ -1275,7 +1263,7 @@ require( var Stacked = Vertical.extend({ widget: function(meta) { - return isTreeNode(meta) ? + return type.isTreeNode(meta) ? Vertical : this.super(Stacked, "widget", meta); } }); @@ -1345,7 +1333,7 @@ require( _.each(data.meta.fields, function(field) { if (!field.visible) return; - if (!isTreeNode(field)) extraFields = true; + if (!type.isTreeNode(field)) extraFields = true; else if (data.data[field.name]) tnFields.push(field); }); -- cgit v1.2.3