diff --git a/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx b/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx index 94b67a6fb309..9a8366ba56bb 100644 --- a/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx +++ b/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx @@ -159,9 +159,7 @@ export const SaveDatasetModal: FunctionComponent = ({ exploreChart({ ...EXPLORE_CHART_DEFAULT, datasource: `${datasetToOverwrite.datasetId}__table`, - all_columns: query.results.selected_columns.map( - (d: { name: string; type: string; is_dttm: boolean }) => d.name, - ), + selected_columns: query.results.selected_columns, }); }; @@ -243,8 +241,7 @@ export const SaveDatasetModal: FunctionComponent = ({ metrics: [], groupby: [], time_range: 'No filter', - viz_type: 'table', - all_columns: selectedColumns.map(c => c.name), + selectedColumns, row_limit: 1000, }); }) diff --git a/superset-frontend/src/SqlLab/types.ts b/superset-frontend/src/SqlLab/types.ts index fb3993fe84f6..bc04277054ea 100644 --- a/superset-frontend/src/SqlLab/types.ts +++ b/superset-frontend/src/SqlLab/types.ts @@ -91,7 +91,6 @@ export const EXPLORE_CHART_DEFAULT = { metrics: [], groupby: [], time_range: 'No filter', - viz_type: 'table', }; export interface DatasetOwner { diff --git a/superset/config.py b/superset/config.py index 17c6a55412db..9b09c0a1fa2c 100644 --- a/superset/config.py +++ b/superset/config.py @@ -142,7 +142,7 @@ def _try_json_readsha(filepath: str, length: int) -> Optional[str]: # can be replaced at build time to expose build information. BUILD_NUMBER = None -# default viz used in chart explorer +# default viz used in chart explorer & SQL Lab explore DEFAULT_VIZ_TYPE = "table" # default row limit when requesting chart data diff --git a/superset/views/core.py b/superset/views/core.py index 04d3835f6032..6c308b0624c0 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -837,6 +837,19 @@ def explore( if not viz_type and datasource and datasource.default_endpoint: return redirect(datasource.default_endpoint) + selectedColumns = [] + + if "selectedColumns" in form_data: + selectedColumns = form_data.pop("selectedColumns") + + if "viz_type" not in form_data: + form_data["viz_type"] = app.config["DEFAULT_VIZ_TYPE"] + if app.config["DEFAULT_VIZ_TYPE"] == "table": + all_columns = [] + for x in selectedColumns: + all_columns.append(x["name"]) + form_data["all_columns"] = all_columns + # slc perms slice_add_perm = security_manager.can_access("can_write", "Chart") slice_overwrite_perm = is_owner(slc, g.user) if slc else False