Browse Source
Merge pull request #3015 from Budibase/options-text-columns
Allow options picker to be used on text columns
master
Rory Powell
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
13 additions and
5 deletions
-
packages/builder/src/components/design/PropertiesPanel/PropertyControls/FormFieldSelect.svelte
-
packages/client/src/components/app/forms/Field.svelte
|
|
|
@ -20,12 +20,20 @@ |
|
|
|
$: schema = getSchemaForDatasource($currentAsset, datasource, true).schema |
|
|
|
$: options = getOptions(schema, type) |
|
|
|
|
|
|
|
const getOptions = (schema, fieldType) => { |
|
|
|
const getOptions = (schema, type) => { |
|
|
|
let entries = Object.entries(schema ?? {}) |
|
|
|
if (fieldType) { |
|
|
|
fieldType = fieldType.split("/")[1] |
|
|
|
entries = entries.filter(entry => entry[1].type === fieldType) |
|
|
|
|
|
|
|
let types = [] |
|
|
|
if (type === "field/options") { |
|
|
|
// allow options to be used on both options and string fields |
|
|
|
types = [type, "field/string"] |
|
|
|
} else { |
|
|
|
types = [type] |
|
|
|
} |
|
|
|
|
|
|
|
types = types.map(type => type.split("/")[1]) |
|
|
|
entries = entries.filter(entry => types.includes(entry[1].type)) |
|
|
|
|
|
|
|
return entries.map(entry => entry[0]) |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
@ -67,7 +67,7 @@ |
|
|
|
<Placeholder |
|
|
|
text="Add the Field setting to start using your component" |
|
|
|
/> |
|
|
|
{:else if fieldSchema?.type && fieldSchema?.type !== type} |
|
|
|
{:else if fieldSchema?.type && fieldSchema?.type !== type && type !== "options"} |
|
|
|
<Placeholder |
|
|
|
text="This Field setting is the wrong data type for this component" |
|
|
|
/> |
|
|
|
|