diff --git a/app/client/src/ce/actions/environmentAction.ts b/app/client/src/ce/actions/environmentAction.ts index 9736308933..ff48d6d747 100644 --- a/app/client/src/ce/actions/environmentAction.ts +++ b/app/client/src/ce/actions/environmentAction.ts @@ -6,3 +6,12 @@ export const setCurrentEditingEnvironmentID = (currentEditingId: string) => ({ type: "", payload: { currentEditingId }, }); + +// Redux action to fetch environments +export const fetchingEnvironmentConfigs = ( + workspaceId: string, + fetchDatasourceMeta = false, +) => ({ + type: "", + payload: { workspaceId, fetchDatasourceMeta }, +}); diff --git a/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx b/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx index c3acd055ec..2f77f60571 100644 --- a/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx +++ b/app/client/src/ce/pages/Applications/CreateNewAppsOption.tsx @@ -61,6 +61,7 @@ import { TEMP_DATASOURCE_ID } from "constants/Datasource"; import { fetchMockDatasources } from "actions/datasourceActions"; import DatasourceForm from "pages/Editor/SaaSEditor/DatasourceForm"; import type { Datasource } from "entities/Datasource"; +import { fetchingEnvironmentConfigs } from "@appsmith/actions/environmentAction"; const SectionWrapper = styled.div` display: flex; @@ -242,6 +243,9 @@ const CreateNewAppsOption = ({ if (isEnabledForStartWithData) { dispatch(fetchPlugins()); dispatch(fetchMockDatasources()); + if (application?.workspaceId) { + dispatch(fetchingEnvironmentConfigs(application?.workspaceId, true)); + } setUseType(START_WITH_TYPE.DATA); } } else { diff --git a/app/client/src/sagas/DatasourcesSagas.ts b/app/client/src/sagas/DatasourcesSagas.ts index 052863c0ca..91b0ff22c1 100644 --- a/app/client/src/sagas/DatasourcesSagas.ts +++ b/app/client/src/sagas/DatasourcesSagas.ts @@ -1157,6 +1157,9 @@ function* changeDatasourceSaga( const { datasource, shouldNotRedirect } = actionPayload.payload; const { id } = datasource; const draft: Record = yield select(getDatasourceDraft, id); + const currentApplicationIdForCreateNewApp: string | undefined = yield select( + getCurrentApplicationIdForCreateNewApp, + ); const pageId: string = yield select(getCurrentPageId); let data; if (isEmpty(draft)) { @@ -1173,7 +1176,8 @@ function* changeDatasourceSaga( ), ); // on reconnect modal, it shouldn't be redirected to datasource edit page - if (shouldNotRedirect) return; + // on create new app onboarding flow, it shouldn't redirect either + if (shouldNotRedirect || currentApplicationIdForCreateNewApp) return; // this redirects to the same route, so checking first. const datasourcePath = trimQueryString( datasourcesEditorIdURL({