Skip to content

Commit

Permalink
[fix] edit chart title cause JS error (apache#6438)
Browse files Browse the repository at this point in the history
(cherry picked from commit 3e4742f)
  • Loading branch information
Grace Guo committed Nov 27, 2018
1 parent 245a1ec commit de17642
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 18 deletions.
29 changes: 14 additions & 15 deletions superset/assets/src/chart/Chart.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,8 @@ class Chart extends React.PureComponent {
}
})
.catch((error) => {
console.warn(error); // eslint-disable-line
this.props.actions.chartRenderingFailed(error, this.props.chartId);
this.error(error);
});

Logger.append(LOG_ACTIONS_RENDER_CHART, {
slice_id: chartId,
has_err: true,
error_details: error.toString(),
start_offset: this.renderStartTime,
duration: Logger.getTimestamp() - this.renderStartTime,
});
}

addFilter(col, vals, merge = true, refresh = true) {
Expand All @@ -170,6 +161,15 @@ class Chart extends React.PureComponent {
}

error(e) {
Logger.append(LOG_ACTIONS_RENDER_CHART, {
slice_id: this.props.chartId,
has_err: true,
error_details: e.toString(),
start_offset: this.renderStartTime,
duration: Logger.getTimestamp() - this.renderStartTime,
});

console.warn(e); // eslint-disable-line
this.props.actions.chartRenderingFailed(e, this.props.chartId);
}

Expand Down Expand Up @@ -203,7 +203,7 @@ class Chart extends React.PureComponent {
// check that we have the render function and data
if (hasVisPromise && ['success', 'rendered'].indexOf(chartStatus) > -1) {
const { vizType, formData, queryResponse, setControlValue, chartId } = this.props;
const renderStart = Logger.getTimestamp();
this.renderStartTime = Logger.getTimestamp();

try {
// Executing user-defined data mutator function
Expand All @@ -220,12 +220,11 @@ class Chart extends React.PureComponent {
Logger.append(LOG_ACTIONS_RENDER_CHART, {
slice_id: chartId,
viz_type: vizType,
start_offset: renderStart,
duration: Logger.getTimestamp() - renderStart,
start_offset: this.renderStartTime,
duration: Logger.getTimestamp() - this.renderStartTime,
});
} catch (e) {
console.warn(e); // eslint-disable-line
this.props.actions.chartRenderingFailed(e, chartId);
this.error(e);
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion superset/assets/src/dashboard/actions/datasources.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export function fetchDatasourceMetadata(key) {
return SupersetClient.get({
endpoint: `/superset/fetch_datasource_metadata?datasourceKey=${key}`,
})
.then(data => dispatch(data, key))
.then(data => dispatch(setDatasource(data, key)))
.catch(response =>
getClientErrorObject(response).then(({ error }) =>
dispatch(fetchDatasourceFailed(error, key)),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ class ExploreChartHeader extends React.PureComponent {
action: isNewSlice ? 'saveas' : 'overwrite',
};
this.props.actions.saveSlice(this.props.form_data, params)
.then((data) => {
.then((json) => {
const { data } = json;
if (isNewSlice) {
this.props.actions.createNewSlice(
data.can_add, data.can_download, data.can_overwrite,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import * as exploreActions from '../actions/exploreActions';
import * as saveModalActions from '../actions/saveModalActions';
import * as chartActions from '../../chart/chartAction';
import { isFeatureEnabledCreator } from '../../featureFlags';
import { fetchDatasourceMetadata } from '../../dashboard/actions/datasources';
import { Logger, ActionLog, EXPLORE_EVENT_NAMES, LOG_ACTIONS_MOUNT_EXPLORER } from '../../logger';

const propTypes = {
Expand Down Expand Up @@ -82,7 +83,7 @@ class ExploreViewContainer extends React.Component {
(this.props.controls.datasource == null ||
nextProps.controls.datasource.value !== this.props.controls.datasource.value)
) {
this.props.actions.fetchDatasourceMetadata(nextProps.form_data.datasource, true);
fetchDatasourceMetadata(nextProps.form_data.datasource, true);
}

const changedControlKeys = this.findChangedControlKeys(this.props.controls, nextProps.controls);
Expand Down

0 comments on commit de17642

Please sign in to comment.