Fixed dashboard filters carrying over to explore slice (#3461)

This commit is contained in:
Jeff Niu 2017-09-14 09:44:00 -07:00 committed by Maxime Beauchemin
parent fdee06bbf2
commit 745784fc97
2 changed files with 24 additions and 13 deletions

View File

@ -19,7 +19,7 @@ function SliceCell({ expandedSlices, removeSlice, slice }) {
<span>{slice.slice_name}</span>
</div>
<div className="col-md-12 chart-controls">
<div className="pull-right">
<div id={'controls_' + slice.slice_id} className="pull-right">
<a title="Move chart" data-toggle="tooltip">
<i className="fa fa-arrows drag" />
</a>
@ -42,10 +42,20 @@ function SliceCell({ expandedSlices, removeSlice, slice }) {
>
<i className="fa fa-pencil" />
</a>
<a href={getExploreUrl(slice.form_data, 'csv')} title="Export CSV" data-toggle="tooltip">
<a
className="exportCSV"
href={getExploreUrl(slice.form_data, 'csv')}
title="Export CSV"
data-toggle="tooltip"
>
<i className="fa fa-table" />
</a>
<a href={getExploreUrl(slice.form_data)} title="Explore chart" data-toggle="tooltip">
<a
className="exploreChart"
href={getExploreUrl(slice.form_data)}
title="Explore chart"
data-toggle="tooltip"
>
<i className="fa fa-share" />
</a>
<a

View File

@ -58,6 +58,7 @@ const px = function (state) {
}
const Slice = function (data, datasource, controller) {
const token = $('#token_' + data.slice_id);
const controls = $('#controls_' + data.slice_id);
const containerId = 'con_' + data.slice_id;
const selector = '#' + containerId;
const container = $(selector);
@ -80,16 +81,11 @@ const px = function (state) {
};
return Mustache.render(s, context);
},
jsonEndpoint() {
return this.endpoint('json');
jsonEndpoint(data) {
return this.endpoint(data, 'json');
},
endpoint(endpointType = 'json') {
const formDataExtra = Object.assign({}, formData);
const flts = controller.effectiveExtraFilters(sliceId);
if (flts) {
formDataExtra.extra_filters = flts;
}
let endpoint = getExploreUrl(formDataExtra, endpointType, this.force);
endpoint(data, endpointType = 'json') {
let endpoint = getExploreUrl(data, endpointType, this.force);
if (endpoint.charAt(0) !== '/') {
// Known issue for IE <= 11:
// https://connect.microsoft.com/IE/feedbackdetail/view/1002846/pathname-incorrect-for-out-of-document-elements
@ -207,11 +203,16 @@ const px = function (state) {
} else {
this.force = force;
}
const formDataExtra = Object.assign({}, formData);
const extraFilters = controller.effectiveExtraFilters(sliceId);
formDataExtra.filters = formDataExtra.filters.concat(extraFilters);
controls.find('a.exploreChart').attr('href', getExploreUrl(formDataExtra));
controls.find('a.exportCSV').attr('href', getExploreUrl(formDataExtra, 'csv'));
token.find('img.loading').show();
container.fadeTo(0.5, 0.25);
container.css('height', this.height());
$.ajax({
url: this.jsonEndpoint(),
url: this.jsonEndpoint(formDataExtra),
timeout: timeout * 1000,
success: (queryResponse) => {
try {