Browse Source

use normal combobox for filtering array columns

gh-pages
Peter Clement 5 years ago
parent
commit
3ce5b96b0c
  1. 2
      packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte
  2. 18
      packages/server/src/api/controllers/row/internalSearch.js

2
packages/builder/src/components/design/PropertiesPanel/PropertyControls/FilterEditor/FilterDrawer.svelte

@ -136,7 +136,7 @@
/> />
{:else if ["string", "longform", "number"].includes(filter.type)} {:else if ["string", "longform", "number"].includes(filter.type)}
<Input disabled={filter.noValue} bind:value={filter.value} /> <Input disabled={filter.noValue} bind:value={filter.value} />
{:else if filter.type === "options"} {:else if filter.type === "options" || filter.type === "array"}
<Combobox <Combobox
disabled={filter.noValue} disabled={filter.noValue}
options={getFieldOptions(filter.field)} options={getFieldOptions(filter.field)}

18
packages/server/src/api/controllers/row/internalSearch.js

@ -229,14 +229,7 @@ class QueryBuilder {
if (!value) { if (!value) {
return null return null
} }
let opts = [] return `${key}.${value}:${builder.preprocess(value, allPreProcessingOpts)}`
value.forEach(val =>
opts.push(
`${key}.${val}:${builder.preprocess(val, allPreProcessingOpts)}`
)
)
const joined = opts.join(" AND ")
return joined
}) })
} }
@ -245,14 +238,7 @@ class QueryBuilder {
if (!value) { if (!value) {
return null return null
} }
let opts = [] return `!${key}.${value}:${builder.preprocess(value, allPreProcessingOpts)}`
value.forEach(val =>
opts.push(
`!${key}.${val}:${builder.preprocess(val, allPreProcessingOpts)}`
)
)
const joined = opts.join(" AND ")
return joined
}) })
} }

Loading…
Cancel
Save