From c0040f3cd6a3aba9a19da876b5dccb80f6e9afa6 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 26 Nov 2017 19:30:19 -0500 Subject: [PATCH] Add caseSensitive option for combofields, use for `source=*` (closes #4558) --- data/presets/fields.json | 1 + data/presets/fields/source.json | 1 + data/presets/schema/field.json | 5 +++++ modules/ui/fields/combo.js | 2 ++ 4 files changed, 9 insertions(+) diff --git a/data/presets/fields.json b/data/presets/fields.json index 5c086d479..fff751e4e 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -1738,6 +1738,7 @@ "universal": true, "label": "Sources", "snake_case": false, + "caseSensitive": true, "options": [ "survey", "local knowledge", diff --git a/data/presets/fields/source.json b/data/presets/fields/source.json index b4411e47e..0d953e6e4 100644 --- a/data/presets/fields/source.json +++ b/data/presets/fields/source.json @@ -5,6 +5,7 @@ "universal": true, "label": "Sources", "snake_case": false, + "caseSensitive": true, "options": [ "survey", "local knowledge", diff --git a/data/presets/schema/field.json b/data/presets/schema/field.json index 504bdc442..df4ef642d 100644 --- a/data/presets/schema/field.json +++ b/data/presets/schema/field.json @@ -115,6 +115,11 @@ "description": "If true, replace spaces with underscores in the tag value (combo type fields)", "type": "boolean", "default": true + }, + "caseSensitive": { + "description": "If true, allow case sensitive field values (combo type fields)", + "type": "boolean", + "default": false } }, "additionalProperties": false diff --git a/modules/ui/fields/combo.js b/modules/ui/fields/combo.js index df1dc9dc4..875fc6393 100644 --- a/modules/ui/fields/combo.js +++ b/modules/ui/fields/combo.js @@ -37,8 +37,10 @@ export function uiFieldCombo(field, context) { optstrings = field.strings && field.strings.options, optarray = field.options, snake_case = (field.snake_case || (field.snake_case === undefined)), + caseSensitive = field.caseSensitive, combobox = d3_combobox() .container(context.container()) + .caseSensitive(caseSensitive) .minItems(isMulti || isSemi ? 1 : 2), comboData = [], multiData = [],