diff --git a/superset/assets/src/explore/components/controls/AdhocFilterControl.jsx b/superset/assets/src/explore/components/controls/AdhocFilterControl.jsx index ca0d501c09..b51704d4b6 100644 --- a/superset/assets/src/explore/components/controls/AdhocFilterControl.jsx +++ b/superset/assets/src/explore/components/controls/AdhocFilterControl.jsx @@ -155,17 +155,17 @@ export default class AdhocFilterControl extends React.Component { )), ].filter(option => option); - return options.map((option) => { + return options.reduce((results, option) => { if (option.saved_metric_name) { - return { ...option, filterOptionName: option.saved_metric_name }; + results.push({ ...option, filterOptionName: option.saved_metric_name }); } else if (option.column_name) { - return { ...option, filterOptionName: '_col_' + option.column_name }; + results.push({ ...option, filterOptionName: '_col_' + option.column_name }); } else if (option instanceof AdhocMetric) { - return { ...option, filterOptionName: '_adhocmetric_' + option.label }; + results.push({ ...option, filterOptionName: '_adhocmetric_' + option.label }); } - return null; - }).sort((a, b) => ( - (a.saved_metric_name || a.column_name || a.label || '').localeCompare(( + return results; + }, []).sort((a, b) => ( + (a.saved_metric_name || a.column_name || a.label).localeCompare(( b.saved_metric_name || b.column_name || b.label )) )); diff --git a/superset/assets/src/explore/components/controls/MetricsControl.jsx b/superset/assets/src/explore/components/controls/MetricsControl.jsx index d195cdb1ae..e93f6c1879 100644 --- a/superset/assets/src/explore/components/controls/MetricsControl.jsx +++ b/superset/assets/src/explore/components/controls/MetricsControl.jsx @@ -193,17 +193,16 @@ export default class MetricsControl extends React.PureComponent { ...props.savedMetrics, ]; - return options.map((option) => { + return options.reduce((results, option) => { if (option.metric_name) { - return { ...option, optionName: option.metric_name }; + results.push({ ...option, optionName: option.metric_name }); } else if (option.column_name) { - return { ...option, optionName: '_col_' + option.column_name }; + results.push({ ...option, optionName: '_col_' + option.column_name }); } else if (option.aggregate_name) { - return { ...option, optionName: '_aggregate_' + option.aggregate_name }; + results.push({ ...option, optionName: '_aggregate_' + option.aggregate_name }); } - notify.error(`provided invalid option to MetricsControl, ${option}`); - return null; - }); + return results; + }, []); } isAutoGeneratedMetric(savedMetric) {