From ad4a950b5646abef823357274298014292af091f Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Mon, 6 Mar 2017 15:14:08 -0800 Subject: [PATCH] Fixes filters emitted from table viz (#2335) --- .../explorev2/components/ChartContainer.jsx | 4 ++++ superset/assets/visualizations/table.js | 23 ++++++++++--------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/superset/assets/javascripts/explorev2/components/ChartContainer.jsx b/superset/assets/javascripts/explorev2/components/ChartContainer.jsx index 9c912da5bd1d1..736d9d39bcf21 100644 --- a/superset/assets/javascripts/explorev2/components/ChartContainer.jsx +++ b/superset/assets/javascripts/explorev2/components/ChartContainer.jsx @@ -110,6 +110,10 @@ class ChartContainer extends React.PureComponent { {} ), + addFilter: () => {}, + + removeFilter: () => {}, + done: () => {}, clearError: () => { // no need to do anything here since Alert is closable diff --git a/superset/assets/visualizations/table.js b/superset/assets/visualizations/table.js index dbb3cfc3684ab..6e5392b1f587d 100644 --- a/superset/assets/visualizations/table.js +++ b/superset/assets/visualizations/table.js @@ -68,18 +68,24 @@ function tableVis(slice, payload) { .enter() .append('tr') .selectAll('td') - .data((row) => data.columns.map((c) => { - let val = row[c]; + .data(row => data.columns.map(c => { + const val = row[c]; + let html; + const isMetric = metrics.indexOf(c) >= 0; if (c === 'timestamp') { - val = timestampFormatter(val); + html = timestampFormatter(val); } if (typeof(val) === 'string') { - val = `${val}`; + html = `${val}`; + } + if (isMetric) { + html = slice.d3format(c, val); } return { col: c, val, - isMetric: metrics.indexOf(c) >= 0, + html, + isMetric, }; })) .enter() @@ -118,12 +124,7 @@ function tableVis(slice, payload) { .style('cursor', function (d) { return (!d.isMetric) ? 'pointer' : ''; }) - .html((d) => { - if (d.isMetric) { - return slice.d3format(d.col, d.val); - } - return d.val; - }); + .html(d => d.html ? d.html : d.val); const height = slice.height(); let paging = false; let pageLength;