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;