diff --git a/app/client/src/pages/Editor/DataSourceEditor/hooks.ts b/app/client/src/pages/Editor/DataSourceEditor/hooks.ts index 0fb97c8752..92dbc646e9 100644 --- a/app/client/src/pages/Editor/DataSourceEditor/hooks.ts +++ b/app/client/src/pages/Editor/DataSourceEditor/hooks.ts @@ -123,6 +123,10 @@ export const useShowPageGenerationOnHeader = ( const isGoogleSheetPlugin = isGoogleSheetPluginDS(plugin?.packageName); + const releaseDragDropBuildingBlocks = useFeatureFlag( + FEATURE_FLAG.release_drag_drop_building_blocks_enabled, + ); + const isPluginAllowedToPreviewData = DATASOURCES_ALLOWED_FOR_PREVIEW_MODE.includes(plugin?.name || "") || (plugin?.name === PluginName.MONGO && @@ -151,5 +155,9 @@ export const useShowPageGenerationOnHeader = ( !isPluginAllowedToPreviewData && !!generateCRUDSupportedPlugin[(datasource as Datasource).pluginId]; - return supportTemplateGeneration && canGeneratePage; + return ( + !releaseDragDropBuildingBlocks && // only show generate page button if dragging of building blocks is not enabled (product decision) + supportTemplateGeneration && + canGeneratePage + ); }; diff --git a/app/client/src/pages/Editor/DatasourceInfo/HideGeneratePageButton.test.tsx b/app/client/src/pages/Editor/DatasourceInfo/HideGeneratePageButton.test.tsx index a2b3878aa2..38b4c33738 100644 --- a/app/client/src/pages/Editor/DatasourceInfo/HideGeneratePageButton.test.tsx +++ b/app/client/src/pages/Editor/DatasourceInfo/HideGeneratePageButton.test.tsx @@ -160,6 +160,36 @@ describe("GoogleSheetSchema Component", () => { }); }); +describe("DSFormHeader Component", () => { + it("1. should not render the 'generate page' button when release_drag_drop_building_blocks_enabled is enabled", () => { + (useFeatureFlag as jest.Mock).mockReturnValue(true); + const mockHistoryPush = jest.fn(); + const mockHistoryReplace = jest.fn(); + const mockHistoryLocation = { + pathname: "/", + search: "", + hash: "", + state: {}, + }; + + jest.spyOn(reactRouter, "useHistory").mockReturnValue({ + push: mockHistoryPush, + replace: mockHistoryReplace, + location: mockHistoryLocation, + }); + + jest.spyOn(reactRouter, "useLocation").mockReturnValue(mockHistoryLocation); + + renderDSFormHeader(); + + // Check that the "generate page" button is not rendered + const generatePageButton = screen.queryByText( + createMessage(DATASOURCE_GENERATE_PAGE_BUTTON), + ); + expect(generatePageButton).not.toBeInTheDocument(); + }); +}); + const mockDatasource: Datasource = { id: "667941878b418b52eb273895", userPermissions: [