summaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-11-14 10:30:30 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-11-14 14:58:29 +0200
commit10ff45ea9148729a76c72831993de079ca27bc27 (patch)
tree40cc9bc83974f8e68d5f9e9b655cba76edaf6ef9 /web
parent0f85950e95f983981a4b706b400a719c1e5af9e8 (diff)
downloadaconf-10ff45ea9148729a76c72831993de079ca27bc27.tar.bz2
aconf-10ff45ea9148729a76c72831993de079ca27bc27.tar.xz
field conditions: multiple alternative values
Diffstat (limited to 'web')
-rw-r--r--web/client.js18
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);
});
}