summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-09-16 14:53:56 +0300
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-09-16 14:53:56 +0300
commit15e6b65310f1ca84ae0ba6320067bdb7216ebb54 (patch)
tree2bd1bbc4e09c536c07dc6b941c3f921b70c60a2a /web
parent6869b61309e3f2d6a66abf5175eea8ea56cc785d (diff)
downloadaconf-15e6b65310f1ca84ae0ba6320067bdb7216ebb54.tar.bz2
aconf-15e6b65310f1ca84ae0ba6320067bdb7216ebb54.tar.xz
web client: mark originally empty field valid when erroneous value cleared
Diffstat (limited to 'web')
-rw-r--r--web/client.js43
1 files changed, 21 insertions, 22 deletions
diff --git a/web/client.js b/web/client.js
index c856788..8722899 100644
--- a/web/client.js
+++ b/web/client.js
@@ -131,6 +131,26 @@ $(function() {
var tn = _.isObject(newValue);
var npv = tn ? mpath : newValue;
+ function resolve() {
+ if (mpath in invalid &&
+ invalid[mpath][1] == def) {
+
+ var del = invalid[mpath][0] == null;
+ delete invalid[mpath];
+
+ if (del)
+ _.each(
+ _.keys(invalid),
+ function(p) {
+ if (isRealSubordinate(p, mpath))
+ delete invalid[p];
+ }
+ );
+ }
+
+ def.resolve(isValid());
+ }
+
function validate() {
var options;
if (newValue != null)
@@ -147,7 +167,7 @@ $(function() {
data.meta.fields, {name: name}
).required)
def.reject("Required value not set");
- else def.resolve();
+ else resolve();
return;
}
@@ -169,27 +189,6 @@ $(function() {
);
}
- function resolve() {
- if (mpath in invalid &&
- invalid[mpath][1] == def) {
-
- var del = invalid[mpath][0] == null;
- delete invalid[mpath];
-
- if (del)
- _.each(
- _.keys(invalid),
- function(p) {
- if (isRealSubordinate(
- p, mpath
- )) delete invalid[p];
- }
- );
- }
-
- def.resolve(isValid());
- }
-
if (tn) query(mpath).done(function(data) {
if (mpath in invalid &&
data.meta.type == "model")