From 662a07500ea006519e8a6c9e1e31c25db3331ff0 Mon Sep 17 00:00:00 2001 From: Tom Robinson <tlrobinson@gmail.com> Date: Mon, 8 Oct 2018 21:31:49 -0700 Subject: [PATCH] Enable search for currency setting --- .../components/database/ColumnItem.jsx | 6 +++--- .../settings/ChartSettingSelect.jsx | 19 ++++++++++++------- .../visualizations/lib/settings/column.js | 2 ++ 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx b/frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx index c62ee280508..17692281770 100644 --- a/frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx +++ b/frontend/src/metabase/admin/datamodel/components/database/ColumnItem.jsx @@ -249,14 +249,14 @@ export class SpecialTypeAndTargetPicker extends Component { className, )} triggerClasses={this.props.triggerClasses} - placeholder={t`Select a currency type`} - onChange={({ target }) => this.onCurrencyTypeChange(target.value)} - searchProp="name" value={ (field.settings && field.settings.currency) || getGlobalSettingsForColumn(field).currency || "USD" } + onChange={({ target }) => this.onCurrencyTypeChange(target.value)} + placeholder={t`Select a currency type`} + searchProp="name" searchCaseSensitive={false} > {Object.values(currency).map(c => ( diff --git a/frontend/src/metabase/visualizations/components/settings/ChartSettingSelect.jsx b/frontend/src/metabase/visualizations/components/settings/ChartSettingSelect.jsx index 88510b0ee98..ac6e8522396 100644 --- a/frontend/src/metabase/visualizations/components/settings/ChartSettingSelect.jsx +++ b/frontend/src/metabase/visualizations/components/settings/ChartSettingSelect.jsx @@ -1,6 +1,6 @@ import React from "react"; -import Select from "metabase/components/Select.jsx"; +import Select, { Option } from "metabase/components/Select.jsx"; import _ from "underscore"; import cx from "classnames"; @@ -13,6 +13,7 @@ const ChartSettingSelect = ({ className, placeholder, placeholderNoOptions, + ...props }) => ( <Select className={cx(className, "block flex-full", { @@ -20,14 +21,18 @@ const ChartSettingSelect = ({ options.length === 0 || (options.length === 1 && options[0].value === value), })} - value={_.findWhere(options, { value })} - options={options} - optionNameFn={o => o.name} - optionValueFn={o => o.value} - onChange={onChange} + value={value} + onChange={e => onChange(e.target.value)} placeholder={options.length === 0 ? placeholderNoOptions : placeholder} isInitiallyOpen={isInitiallyOpen} - /> + {...props} + > + {options.map(option => ( + <Option key={option.value} name={option.name} value={option.value}> + {option.name} + </Option> + ))} + </Select> ); export default ChartSettingSelect; diff --git a/frontend/src/metabase/visualizations/lib/settings/column.js b/frontend/src/metabase/visualizations/lib/settings/column.js index 4133d9527ed..4c487d5020d 100644 --- a/frontend/src/metabase/visualizations/lib/settings/column.js +++ b/frontend/src/metabase/visualizations/lib/settings/column.js @@ -295,6 +295,8 @@ export const NUMBER_COLUMN_SETTINGS = { name: currency.name, value: currency.code, })), + searchProp: "name", + searchCaseSensitive: false, }, default: "USD", getHidden: (column: Column, settings: ColumnSettings) => -- GitLab