mirror of
https://github.com/apache/superset.git
synced 2024-09-06 22:07:34 -04:00
parent
f4ce831a10
commit
a6ac2c1245
@ -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,
|
||||
|
@ -47,6 +47,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,
|
||||
@ -413,6 +414,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
|
||||
@ -508,6 +510,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,
|
||||
|
@ -38,6 +38,7 @@ const propTypes = {
|
||||
alert: PropTypes.string,
|
||||
slice: PropTypes.object,
|
||||
datasource: PropTypes.object,
|
||||
dashboardId: PropTypes.number,
|
||||
};
|
||||
|
||||
// Session storage key for recent dashboard
|
||||
@ -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
|
||||
@ -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)}
|
||||
>
|
||||
|
Loading…
Reference in New Issue
Block a user