diff --git a/superset/assets/javascripts/components/MetricOption.jsx b/superset/assets/javascripts/components/MetricOption.jsx index f0994142569b..d952b06aec6e 100644 --- a/superset/assets/javascripts/components/MetricOption.jsx +++ b/superset/assets/javascripts/components/MetricOption.jsx @@ -6,17 +6,18 @@ import InfoTooltipWithTrigger from './InfoTooltipWithTrigger'; const propTypes = { metric: PropTypes.object.isRequired, showFormula: PropTypes.bool, + url: PropTypes.string, }; const defaultProps = { showFormula: true, }; -export default function MetricOption({ metric, showFormula }) { +export default function MetricOption({ metric, showFormula, url }) { + const verbose = metric.verbose_name || metric.metric_name; + const link = url ? {verbose} : verbose; return (
- - {metric.verbose_name || metric.metric_name} - + {link} {metric.description && { let leftCell; + const context = Object.assign({}, fd, { metric }); + const url = fd.url ? Mustache.render(fd.url, context) : null; + if (!payload.data.is_group_by) { - leftCell = ; + leftCell = ; } else { - leftCell = metric; + leftCell = url ? {metric} : metric; } const row = { metric: leftCell }; fd.column_collection.forEach((c) => {