Skip to content

Commit

Permalink
Improves chart save and go button (apache#12125)
Browse files Browse the repository at this point in the history
Resolves apache#11748
  • Loading branch information
michael-s-molina authored and villebro committed Jan 7, 2021
1 parent 04d3559 commit 16743c3
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 12 deletions.
26 changes: 15 additions & 11 deletions superset-frontend/src/dashboard/containers/Chart.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,24 +50,28 @@ function mapStateToProps(
) {
const { id } = ownProps;
const chart = chartQueries[id] || {};
const datasource =
(chart && chart.form_data && datasources[chart.form_data.datasource]) || {};
const { colorScheme, colorNamespace } = dashboardState;

// note: this method caches filters if possible to prevent render cascades
const formData = getFormDataWithExtraFilters({
chart,
filters: getAppliedFilterValues(id),
colorScheme,
colorNamespace,
sliceId: id,
});

formData.dashboardId = dashboardInfo.id;

return {
chart,
datasource:
(chart && chart.form_data && datasources[chart.form_data.datasource]) ||
{},
datasource,
slice: sliceEntities.slices[id],
timeout: dashboardInfo.common.conf.SUPERSET_WEBSERVER_TIMEOUT,
filters: getActiveFilters() || EMPTY_FILTERS,
// note: this method caches filters if possible to prevent render cascades
formData: getFormDataWithExtraFilters({
chart,
filters: getAppliedFilterValues(id),
colorScheme,
colorNamespace,
sliceId: id,
}),
formData,
editMode: dashboardState.editMode,
isExpanded: !!dashboardState.expandedSlices[id],
supersetCanExplore: !!dashboardInfo.superset_can_explore,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import {
const propTypes = {
actions: PropTypes.object.isRequired,
datasource_type: PropTypes.string.isRequired,
dashboardId: PropTypes.number,
isDatasourceMetaLoading: PropTypes.bool.isRequired,
chart: chartPropShape.isRequired,
slice: PropTypes.object,
Expand Down Expand Up @@ -338,6 +339,7 @@ class ExploreViewContainer extends React.Component {
actions={this.props.actions}
form_data={this.props.form_data}
sliceName={this.props.sliceName}
dashboardId={this.props.dashboardId}
/>
)}
<div className="col-sm-4 control-pane">
Expand Down Expand Up @@ -378,6 +380,7 @@ function mapStateToProps(state) {
datasource: explore.datasource,
datasource_type: explore.datasource.type,
datasourceId: explore.datasource_id,
dashboardId: explore.form_data ? explore.form_data.dashboardId : undefined,
controls: explore.controls,
can_overwrite: !!explore.can_overwrite,
can_add: !!explore.can_add,
Expand Down
9 changes: 8 additions & 1 deletion superset-frontend/src/explore/components/SaveModal.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ const propTypes = {
alert: PropTypes.string,
slice: PropTypes.object,
datasource: PropTypes.object,
dashboardId: PropTypes.number,
};

// Session storage key for recent dashboard
Expand All @@ -64,6 +65,11 @@ class SaveModal extends React.Component {
);
let recentDashboard = sessionStorage.getItem(SK_DASHBOARD_ID);
recentDashboard = recentDashboard && parseInt(recentDashboard, 10);

if (!recentDashboard && this.props.dashboardId) {
recentDashboard = this.props.dashboardId;
}

if (
recentDashboard !== null &&
dashboardIds.indexOf(recentDashboard) !== -1
Expand Down Expand Up @@ -146,7 +152,8 @@ class SaveModal extends React.Component {
id="btn_modal_save_goto_dash"
buttonSize="sm"
disabled={
!this.state.newSliceName || !this.state.newDashboardName
!this.state.newSliceName ||
(!this.state.saveToDashboardId && !this.state.newDashboardName)
}
onClick={this.saveOrOverwrite.bind(this, true)}
>
Expand Down

0 comments on commit 16743c3

Please sign in to comment.