diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-11-14 10:30:30 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-11-14 14:58:29 +0200 |
commit | 10ff45ea9148729a76c72831993de079ca27bc27 (patch) | |
tree | 40cc9bc83974f8e68d5f9e9b655cba76edaf6ef9 /web | |
parent | 0f85950e95f983981a4b706b400a719c1e5af9e8 (diff) | |
download | aconf-10ff45ea9148729a76c72831993de079ca27bc27.tar.bz2 aconf-10ff45ea9148729a76c72831993de079ca27bc27.tar.xz |
field conditions: multiple alternative values
Diffstat (limited to 'web')
-rw-r--r-- | web/client.js | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/web/client.js b/web/client.js index f12c2e8..452e895 100644 --- a/web/client.js +++ b/web/client.js @@ -234,9 +234,10 @@ $(function() { data.meta.fields, function(field) { if (field.condition && field.condition[name] && - field.condition[ - name - ] != newValue) + !_.contains( + field.condition[name], + newValue + )) ignore( join(path, field.name) ); @@ -675,10 +676,11 @@ $(function() { var f = self.fields[field.name]; var visible = _.every(_.map( field.condition, - function(value, key) { - return self.fields[ - key - ].widget.get() == value; + function(values, key) { + return _.contains( + values, + self.fields[key].widget.get() + ); } )); if (visible) { @@ -690,7 +692,7 @@ $(function() { change(); validate = true; - _.each(field.condition, function(value, key) { + _.each(field.condition, function(values, key) { self.fields[key].widget.onChange(change); }); } |