mirror of
https://github.com/apache/superset.git
synced 2024-09-16 02:29:39 -04:00
parent
f4ce831a10
commit
a6ac2c1245
@ -50,24 +50,28 @@ function mapStateToProps(
|
|||||||
) {
|
) {
|
||||||
const { id } = ownProps;
|
const { id } = ownProps;
|
||||||
const chart = chartQueries[id] || {};
|
const chart = chartQueries[id] || {};
|
||||||
|
const datasource =
|
||||||
|
(chart && chart.form_data && datasources[chart.form_data.datasource]) || {};
|
||||||
const { colorScheme, colorNamespace } = dashboardState;
|
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 {
|
return {
|
||||||
chart,
|
chart,
|
||||||
datasource:
|
datasource,
|
||||||
(chart && chart.form_data && datasources[chart.form_data.datasource]) ||
|
|
||||||
{},
|
|
||||||
slice: sliceEntities.slices[id],
|
slice: sliceEntities.slices[id],
|
||||||
timeout: dashboardInfo.common.conf.SUPERSET_WEBSERVER_TIMEOUT,
|
timeout: dashboardInfo.common.conf.SUPERSET_WEBSERVER_TIMEOUT,
|
||||||
filters: getActiveFilters() || EMPTY_FILTERS,
|
filters: getActiveFilters() || EMPTY_FILTERS,
|
||||||
// note: this method caches filters if possible to prevent render cascades
|
formData,
|
||||||
formData: getFormDataWithExtraFilters({
|
|
||||||
chart,
|
|
||||||
filters: getAppliedFilterValues(id),
|
|
||||||
colorScheme,
|
|
||||||
colorNamespace,
|
|
||||||
sliceId: id,
|
|
||||||
}),
|
|
||||||
editMode: dashboardState.editMode,
|
editMode: dashboardState.editMode,
|
||||||
isExpanded: !!dashboardState.expandedSlices[id],
|
isExpanded: !!dashboardState.expandedSlices[id],
|
||||||
supersetCanExplore: !!dashboardInfo.superset_can_explore,
|
supersetCanExplore: !!dashboardInfo.superset_can_explore,
|
||||||
|
@ -47,6 +47,7 @@ import {
|
|||||||
const propTypes = {
|
const propTypes = {
|
||||||
actions: PropTypes.object.isRequired,
|
actions: PropTypes.object.isRequired,
|
||||||
datasource_type: PropTypes.string.isRequired,
|
datasource_type: PropTypes.string.isRequired,
|
||||||
|
dashboardId: PropTypes.number,
|
||||||
isDatasourceMetaLoading: PropTypes.bool.isRequired,
|
isDatasourceMetaLoading: PropTypes.bool.isRequired,
|
||||||
chart: chartPropShape.isRequired,
|
chart: chartPropShape.isRequired,
|
||||||
slice: PropTypes.object,
|
slice: PropTypes.object,
|
||||||
@ -413,6 +414,7 @@ class ExploreViewContainer extends React.Component {
|
|||||||
actions={this.props.actions}
|
actions={this.props.actions}
|
||||||
form_data={this.props.form_data}
|
form_data={this.props.form_data}
|
||||||
sliceName={this.props.sliceName}
|
sliceName={this.props.sliceName}
|
||||||
|
dashboardId={this.props.dashboardId}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<div
|
<div
|
||||||
@ -508,6 +510,7 @@ function mapStateToProps(state) {
|
|||||||
datasource: explore.datasource,
|
datasource: explore.datasource,
|
||||||
datasource_type: explore.datasource.type,
|
datasource_type: explore.datasource.type,
|
||||||
datasourceId: explore.datasource_id,
|
datasourceId: explore.datasource_id,
|
||||||
|
dashboardId: explore.form_data ? explore.form_data.dashboardId : undefined,
|
||||||
controls: explore.controls,
|
controls: explore.controls,
|
||||||
can_overwrite: !!explore.can_overwrite,
|
can_overwrite: !!explore.can_overwrite,
|
||||||
can_add: !!explore.can_add,
|
can_add: !!explore.can_add,
|
||||||
|
@ -38,6 +38,7 @@ const propTypes = {
|
|||||||
alert: PropTypes.string,
|
alert: PropTypes.string,
|
||||||
slice: PropTypes.object,
|
slice: PropTypes.object,
|
||||||
datasource: PropTypes.object,
|
datasource: PropTypes.object,
|
||||||
|
dashboardId: PropTypes.number,
|
||||||
};
|
};
|
||||||
|
|
||||||
// Session storage key for recent dashboard
|
// Session storage key for recent dashboard
|
||||||
@ -64,6 +65,11 @@ class SaveModal extends React.Component {
|
|||||||
);
|
);
|
||||||
let recentDashboard = sessionStorage.getItem(SK_DASHBOARD_ID);
|
let recentDashboard = sessionStorage.getItem(SK_DASHBOARD_ID);
|
||||||
recentDashboard = recentDashboard && parseInt(recentDashboard, 10);
|
recentDashboard = recentDashboard && parseInt(recentDashboard, 10);
|
||||||
|
|
||||||
|
if (!recentDashboard && this.props.dashboardId) {
|
||||||
|
recentDashboard = this.props.dashboardId;
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
recentDashboard !== null &&
|
recentDashboard !== null &&
|
||||||
dashboardIds.indexOf(recentDashboard) !== -1
|
dashboardIds.indexOf(recentDashboard) !== -1
|
||||||
@ -146,7 +152,8 @@ class SaveModal extends React.Component {
|
|||||||
id="btn_modal_save_goto_dash"
|
id="btn_modal_save_goto_dash"
|
||||||
buttonSize="sm"
|
buttonSize="sm"
|
||||||
disabled={
|
disabled={
|
||||||
!this.state.newSliceName || !this.state.newDashboardName
|
!this.state.newSliceName ||
|
||||||
|
(!this.state.saveToDashboardId && !this.state.newDashboardName)
|
||||||
}
|
}
|
||||||
onClick={this.saveOrOverwrite.bind(this, true)}
|
onClick={this.saveOrOverwrite.bind(this, true)}
|
||||||
>
|
>
|
||||||
|
Loading…
Reference in New Issue
Block a user