diff --git a/app/client/cypress/e2e/Regression/ClientSide/Binding/MultiSelect_Button_Text_spec.js b/app/client/cypress/e2e/Regression/ClientSide/Binding/MultiSelect_Button_Text_spec.js index dc1a1416e0..f33c87a753 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/Binding/MultiSelect_Button_Text_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/Binding/MultiSelect_Button_Text_spec.js @@ -59,7 +59,7 @@ Object.entries(widgetsToTest).forEach(([widgetSelector, testConfig]) => { cy.updateCodeInput(PROPERTY_SELECTOR.text, testConfig.textBindingValue); cy.closePropertyPane(); - cy.get(".rc-select-selector").click({ force: true }); + agHelper.GetNClick(".rc-select-selector", 0, true); cy.wait(1000); cy.get('.rc-select-item-option:contains("Blue")').click({ force: true }); cy.wait(1000); diff --git a/app/client/cypress/e2e/Regression/ClientSide/BugTests/AllWidgets_Reset_Spec.ts b/app/client/cypress/e2e/Regression/ClientSide/BugTests/AllWidgets_Reset_Spec.ts index 3c0249cfc5..07d69580e0 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/BugTests/AllWidgets_Reset_Spec.ts +++ b/app/client/cypress/e2e/Regression/ClientSide/BugTests/AllWidgets_Reset_Spec.ts @@ -280,8 +280,7 @@ function multiTreeSelectAndReset() { } function radiogroupAndReset() { - cy.get("input").last().click({ force: true }); - cy.wait(1000); + _.agHelper.GetNClick("input", 1, true, 1000); _.agHelper.GetNAssertElementText( _.locators._textWidgetInDeployed, "N", @@ -350,8 +349,7 @@ function checkboxGroupAndReset() { } function checkboxAndReset() { - cy.get("input").last().click({ force: true }); - cy.wait(1000); + _.agHelper.GetNClick("input", 0, true, 1000); _.agHelper.GetNAssertElementText( _.locators._textWidgetInDeployed, "false", diff --git a/app/client/cypress/e2e/Regression/ClientSide/ThemingTests/Basic_spec.js b/app/client/cypress/e2e/Regression/ClientSide/ThemingTests/Basic_spec.js index 99d95e50a8..f4211032f9 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/ThemingTests/Basic_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/ThemingTests/Basic_spec.js @@ -141,7 +141,7 @@ describe("App Theming funtionality", function () { //Change the font //Commenting below since expanded by default //cy.contains("Font").click({ force: true }); - cy.get(".rc-select-selection-search-input").then(($elem) => { + _.agHelper.GetNClick(".rc-select-selection-search-input").then(($elem) => { cy.get($elem).click({ force: true }); cy.wait(250); cy.get(".rc-virtual-list-holder div") @@ -200,7 +200,7 @@ describe("App Theming funtionality", function () { // cy.contains("Font") // .click({ force: true }) // .wait(200);//Commenting below since expanded by default - cy.get(".rc-select-selection-search-input").then(($elem) => { + _.agHelper.GetNClick(".rc-select-selection-search-input").then(($elem) => { cy.get($elem).click({ force: true }); cy.wait(250); cy.get(".rc-virtual-list-holder div") diff --git a/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV1/Table_PropertyPane_2_spec.js b/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV1/Table_PropertyPane_2_spec.js index b83f6c5f6a..21fbad3fc3 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV1/Table_PropertyPane_2_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV1/Table_PropertyPane_2_spec.js @@ -52,7 +52,7 @@ describe("Table Widget property pane feature validation", function () { deployMode.DeployApp(locators._widgetInDeployed("tablewidget")); table.WaitUntilTableLoad(0, 0, "v1"); // Change the Search text - cy.get(widgetsPage.searchField).type("Hello"); + cy.get(widgetsPage.searchField).first().type("Hello"); // Verify the search text is changed cy.get(commonlocators.toastmsg).contains("Search Text Changed"); deployMode.NavigateBacktoEditor(); diff --git a/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/TableV2_PropertyPane_1_spec.js b/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/TableV2_PropertyPane_1_spec.js index 9c5c1bd06c..fa0987bc7d 100644 --- a/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/TableV2_PropertyPane_1_spec.js +++ b/app/client/cypress/e2e/Regression/ClientSide/Widgets/TableV2/TableV2_PropertyPane_1_spec.js @@ -82,7 +82,7 @@ describe("Table Widget V2 property pane feature validation", function () { deployMode.DeployApp(locators._widgetInDeployed(draggableWidgets.TABLE)); table.WaitUntilTableLoad(0, 0, "v2"); // Change the Search text - cy.get(widgetsPage.searchField).type("Hello"); + cy.get(widgetsPage.searchField).first().type("Hello"); // Verify the search text is changed agHelper.ValidateToastMessage("Search Text Changed"); deployMode.NavigateBacktoEditor(); diff --git a/app/client/cypress/e2e/Regression/ServerSide/QueryPane/SwitchDatasource_spec.js b/app/client/cypress/e2e/Regression/ServerSide/QueryPane/SwitchDatasource_spec.js index a5dd4e9089..8a3f2e58b9 100644 --- a/app/client/cypress/e2e/Regression/ServerSide/QueryPane/SwitchDatasource_spec.js +++ b/app/client/cypress/e2e/Regression/ServerSide/QueryPane/SwitchDatasource_spec.js @@ -28,11 +28,11 @@ describe("Switch datasource", function () { it("4. By switching datasources execute a query with both the datasources", function () { dataSources.CreateQueryFromActiveTab(dsName_1); - cy.get(".rc-select-show-arrow").click(); + agHelper.GetNClick(".rc-select-show-arrow"); cy.contains(".rc-select-item-option-content", dsName_2).click().wait(1000); cy.runQuery(); // Confirm mongo datasource is not present in the switch datasources dropdown - cy.get(".rc-select-show-arrow").click(); + agHelper.GetNClick(".rc-select-show-arrow"); cy.get(".rc-select-item-option-content").should("not.have", MongoDB); }); diff --git a/app/client/src/ce/components/editorComponents/DSDataFilter/index.tsx b/app/client/src/ce/components/DSDataFilter/index.tsx similarity index 87% rename from app/client/src/ce/components/editorComponents/DSDataFilter/index.tsx rename to app/client/src/ce/components/DSDataFilter/index.tsx index e5c88f4325..3b753b0832 100644 --- a/app/client/src/ce/components/editorComponents/DSDataFilter/index.tsx +++ b/app/client/src/ce/components/DSDataFilter/index.tsx @@ -1,6 +1,4 @@ import React, { useEffect, useState } from "react"; -import { datasourceEnvEnabled } from "@appsmith/selectors/featureFlagsSelectors"; -import { useSelector } from "react-redux"; import styled from "styled-components"; import { Link, Tag, Text, Tooltip } from "design-system"; import { @@ -19,6 +17,7 @@ import { RampFeature, RampSection, } from "utils/ProductRamps/RampsControlList"; +import { useSelector } from "react-redux"; const Container = styled.div` display: flex; @@ -54,12 +53,10 @@ const TooltipLink = styled(Link)` `; type DSDataFilterProps = { - datasourceId: string; updateFilter: ( id: string, name: string, userPermissions: string[], - showFilterPane: boolean, ) => boolean; pluginType: string; pluginName: string; @@ -90,14 +87,9 @@ const environments: Array = [ }, ]; -function DSDataFilter({ - isInsideReconnectModal, - updateFilter, - viewMode, -}: DSDataFilterProps) { +function DSDataFilter({ isInsideReconnectModal, viewMode }: DSDataFilterProps) { const [showFilterPane, setShowFilterPane] = useState(false); - const datasourceEnv: boolean = useSelector(datasourceEnvEnabled); - const showRampSelector = showProductRamps(RAMP_NAME.MULTIPLE_ENV); + const showRampSelector = showProductRamps(RAMP_NAME.MULTIPLE_ENV, true); const canShowRamp = useSelector(showRampSelector); const rampLinkSelector = getRampLink({ @@ -110,7 +102,6 @@ function DSDataFilter({ useEffect(() => { const isRenderAllowed = environments.length > 0 && - datasourceEnv && canShowRamp && !viewMode && !isInsideReconnectModal; @@ -118,16 +109,6 @@ function DSDataFilter({ if (showFilterPane !== isRenderAllowed) setShowFilterPane(isRenderAllowed); // If there are no environments, do nothing if (!environments.length) return; - const defaultSelectedEnvironment = environments[0]; - - const updateSuccess = updateFilter( - defaultSelectedEnvironment.id, - defaultSelectedEnvironment.name, - defaultSelectedEnvironment?.userPermissions || [], - isRenderAllowed, - ); - - if (!updateSuccess) return; }, [environments.length, viewMode, isInsideReconnectModal]); if (!showFilterPane) return null; diff --git a/app/client/src/ce/components/SwitchEnvironment/index.tsx b/app/client/src/ce/components/SwitchEnvironment/index.tsx index d4e0178d35..76b233c636 100644 --- a/app/client/src/ce/components/SwitchEnvironment/index.tsx +++ b/app/client/src/ce/components/SwitchEnvironment/index.tsx @@ -1,6 +1,5 @@ import React, { useEffect, useState } from "react"; import { useSelector } from "react-redux"; -import { datasourceEnvEnabled } from "@appsmith/selectors/featureFlagsSelectors"; import styled from "styled-components"; import { Icon, Link, Option, Select, Text, Tooltip } from "design-system"; import { capitalizeFirstLetter } from "utils/helpers"; @@ -77,8 +76,7 @@ const TooltipLink = styled(Link)` export default function SwitchEnvironment({}: Props) { const [diableSwitchEnvironment, setDiableSwitchEnvironment] = useState(false); // Fetching feature flags from the store and checking if the feature is enabled - const allowedToRender = useSelector(datasourceEnvEnabled); - const showRampSelector = showProductRamps(RAMP_NAME.MULTIPLE_ENV); + const showRampSelector = showProductRamps(RAMP_NAME.MULTIPLE_ENV, true); const canShowRamp = useSelector(showRampSelector); const rampLinkSelector = getRampLink({ section: RampSection.BottomBarEnvSwitcher, @@ -97,7 +95,7 @@ export default function SwitchEnvironment({}: Props) { //this parameter helps us to differentiate between the two. const isDatasourceViewMode = useSelector(isDatasourceInViewMode); - if (!allowedToRender || !canShowRamp) return null; + if (!canShowRamp) return null; const renderEnvOption = (env: EnvironmentType) => { return ( diff --git a/app/client/src/ce/selectors/rampSelectors.tsx b/app/client/src/ce/selectors/rampSelectors.tsx index 834ca7e933..b139729b45 100644 --- a/app/client/src/ce/selectors/rampSelectors.tsx +++ b/app/client/src/ce/selectors/rampSelectors.tsx @@ -7,6 +7,10 @@ import { RAMP_FOR_ROLES, } from "utils/ProductRamps/RampsControlList"; import type { EnvTypes } from "utils/ProductRamps/RampTypes"; +import { + isPermitted, + PERMISSION_TYPE, +} from "@appsmith/utils/permissionHelpers"; const { cloudHosting, pricingUrl } = getAppsmithConfigs(); @@ -27,10 +31,12 @@ export const getRampLink = ({ return `${RAMP_LINK_TO}&feature=${feature}§ion=${section}`; }); -export const showProductRamps = (rampName: string) => +// eslint-disable-next-line @typescript-eslint/no-unused-vars +export const showProductRamps = (rampName: string, useCESelector = false) => createSelector(uiState, (ui) => { function getUserRoleInWorkspace() { const { currentUser } = ui?.users; + const { currentApplication } = ui?.applications; const isSuperUser = currentUser?.isSuperUser; if (isSuperUser) return RAMP_FOR_ROLES.SUPER_USER; const workspaceUsers = ui?.workspaces?.workspaceUsers; @@ -47,6 +53,17 @@ export const showProductRamps = (rampName: string) => } } } + } else if ( + !!currentApplication && + currentApplication.hasOwnProperty("userPermissions") && + !!currentApplication.userPermissions + ) { + return isPermitted( + currentApplication.userPermissions, + PERMISSION_TYPE.MANAGE_APPLICATION, + ) + ? RAMP_FOR_ROLES.DEVELOPER + : RAMP_FOR_ROLES.APP_VIEWER; } } diff --git a/app/client/src/ee/components/DSDataFilter/index.tsx b/app/client/src/ee/components/DSDataFilter/index.tsx index 823b57499d..609cba49da 100644 --- a/app/client/src/ee/components/DSDataFilter/index.tsx +++ b/app/client/src/ee/components/DSDataFilter/index.tsx @@ -1,3 +1,3 @@ -import DSDataFilter from "ce/components/editorComponents/DSDataFilter"; +import DSDataFilter from "ce/components/DSDataFilter"; export default DSDataFilter; diff --git a/app/client/src/pages/AppViewer/index.tsx b/app/client/src/pages/AppViewer/index.tsx index 21bedae9ee..38c7f4d840 100644 --- a/app/client/src/pages/AppViewer/index.tsx +++ b/app/client/src/pages/AppViewer/index.tsx @@ -51,7 +51,6 @@ import { import { useFeatureFlag } from "utils/hooks/useFeatureFlag"; import { RAMP_NAME } from "utils/ProductRamps/RampsControlList"; import { showProductRamps } from "@appsmith/selectors/rampSelectors"; -import { isCEMode } from "@appsmith/utils"; const AppViewerBody = styled.section<{ hasPages: boolean; @@ -112,15 +111,14 @@ function AppViewer(props: Props) { }); const focusRef = useWidgetFocus(); - const showRampSelector = showProductRamps(RAMP_NAME.MULTIPLE_ENV); + const showRampSelector = showProductRamps(RAMP_NAME.MULTIPLE_ENV, true); const canShowRamp = useSelector(showRampSelector); const workspaceId = currentApplicationDetails?.workspaceId || ""; const showBottomBar = useSelector((state: AppState) => { return ( areEnvironmentsFetched(state, workspaceId) && - datasourceEnvEnabled(state) && - (isCEMode() ? canShowRamp : true) + (datasourceEnvEnabled(state) || canShowRamp) ); }); diff --git a/app/client/src/pages/Editor/DataSourceEditor/DBForm.tsx b/app/client/src/pages/Editor/DataSourceEditor/DBForm.tsx index ac69421c02..4f3ef6331a 100644 --- a/app/client/src/pages/Editor/DataSourceEditor/DBForm.tsx +++ b/app/client/src/pages/Editor/DataSourceEditor/DBForm.tsx @@ -41,7 +41,6 @@ interface DatasourceDBEditorProps extends JSONtoFormProps { datasource: Datasource; hiddenHeader?: boolean; datasourceName?: string; - showFilterComponent: boolean; isEnabledForDSViewModeSchema: boolean; isDatasourceValid: boolean; isPluginAllowedToPreviewData: boolean; @@ -52,7 +51,6 @@ type Props = DatasourceDBEditorProps & InjectedFormProps; export const Form = styled.form<{ - showFilterComponent: boolean; viewMode: boolean; }>` display: flex; @@ -61,7 +59,7 @@ export const Form = styled.form<{ !props.viewMode && `height: ${`calc(100% - ${props?.theme.backBanner})`};`} overflow-y: scroll; padding-bottom: 20px; - margin-left: ${(props) => (props.showFilterComponent ? "24px" : "0px")}; + margin-left: ${(props) => (props.viewMode ? "0px" : "24px")}; `; export const ViewModeWrapper = styled.div` @@ -108,7 +106,6 @@ class DatasourceDBEditor extends JSONtoForm { formConfig, messages, pluginType, - showFilterComponent, viewMode, } = this.props; @@ -117,7 +114,6 @@ class DatasourceDBEditor extends JSONtoForm { onSubmit={(e) => { e.preventDefault(); }} - showFilterComponent={showFilterComponent} viewMode={viewMode} > {messages && diff --git a/app/client/src/pages/Editor/DataSourceEditor/RestAPIDatasourceForm.tsx b/app/client/src/pages/Editor/DataSourceEditor/RestAPIDatasourceForm.tsx index ce84ddd434..a3d6c1c5c2 100644 --- a/app/client/src/pages/Editor/DataSourceEditor/RestAPIDatasourceForm.tsx +++ b/app/client/src/pages/Editor/DataSourceEditor/RestAPIDatasourceForm.tsx @@ -70,7 +70,6 @@ interface DatasourceRestApiEditorProps { formMeta: any; messages?: Array; datasourceName: string; - showFilterComponent: boolean; createDatasource: ( data: Datasource, onSuccess?: ReduxAction, @@ -259,7 +258,6 @@ class DatasourceRestAPIEditor extends React.Component { onSubmit={(e) => { e.preventDefault(); }} - showFilterComponent={this.props.showFilterComponent} viewMode={this.props.viewMode} > {this.renderEditor()} diff --git a/app/client/src/pages/Editor/DataSourceEditor/index.tsx b/app/client/src/pages/Editor/DataSourceEditor/index.tsx index bf2bc90719..b5a0cecab9 100644 --- a/app/client/src/pages/Editor/DataSourceEditor/index.tsx +++ b/app/client/src/pages/Editor/DataSourceEditor/index.tsx @@ -161,18 +161,17 @@ export const DSEditorWrapper = styled.div` `; export const CalloutContainer = styled.div<{ - isSideBarPresent: boolean; + viewMode: boolean; }>` - width: 30vw; + width: 30vw; margin-top: 24px; - margin-left ${(props) => (props.isSideBarPresent ? "24px" : "0px")} + margin-left: ${(props) => (!props.viewMode ? "24px" : "0px")}; `; export type DatasourceFilterState = { id: string; name: string; userPermissions: string[]; - showFilterPane: boolean; }; /* @@ -232,7 +231,6 @@ class DatasourceEditorRouter extends React.Component { id: DEFAULT_ENV_ID, name: "", userPermissions: [], - showFilterPane: false, }, unblock: () => { return undefined; @@ -509,12 +507,7 @@ class DatasourceEditorRouter extends React.Component { } } - updateFilter = ( - id: string, - name: string, - userPermissions: string[], - showFilterPane: boolean, - ) => { + updateFilter = (id: string, name: string, userPermissions: string[]) => { if (id.length > 0 && this.state.filterParams.id !== id) { if ( !isEmpty(this.props.formData) && @@ -525,36 +518,18 @@ class DatasourceEditorRouter extends React.Component { showDialog: true, switchFilterBlocked: true, navigation: () => { - this.updateFilterSuccess(id, name, userPermissions, showFilterPane); + this.updateFilterSuccess(id, name, userPermissions); }, }); return false; } else { this.props.resetForm(this.props.formName); } - return this.updateFilterSuccess( - id, - name, - userPermissions, - showFilterPane, - ); + return this.updateFilterSuccess(id, name, userPermissions); } else if ( !isStorageEnvironmentCreated(this.props.formData as Datasource, id) ) { - return this.updateFilterSuccess( - id, - name, - userPermissions, - showFilterPane, - ); - } else if (showFilterPane !== this.state.filterParams.showFilterPane) { - // In case just the viewmode changes but the id remains the same - this.setState({ - filterParams: { - ...this.state.filterParams, - showFilterPane, - }, - }); + return this.updateFilterSuccess(id, name, userPermissions); } return true; }; @@ -563,7 +538,6 @@ class DatasourceEditorRouter extends React.Component { id: string, name: string, userPermissions: string[], - showFilterPane: boolean, ) => { onUpdateFilterSuccess(id); const { datasourceStorages } = this.props.datasource as Datasource; @@ -629,7 +603,6 @@ class DatasourceEditorRouter extends React.Component { id, name, userPermissions, - showFilterPane, }, }); this.blockRoutes(); @@ -675,7 +648,7 @@ class DatasourceEditorRouter extends React.Component { // function to render toast message. renderToast() { - const { datasource } = this.props; + const { datasource, viewMode } = this.props; const environmentId = this.getEnvironmentId() || ""; const path = `datasourceStorages.${environmentId}.toastMessage`; const toastMessage = this.decodeToastMessage( @@ -685,7 +658,7 @@ class DatasourceEditorRouter extends React.Component { ); if (toastMessage.message) return ( - + { pageId={pageId} pluginName={pluginName} pluginPackageName={pluginPackageName} - showFilterComponent={this.state.filterParams.showFilterPane} /> {this.renderSaveDisacardModal()} @@ -768,7 +740,6 @@ class DatasourceEditorRouter extends React.Component { pageId={pageId} pluginType={pluginType} setupConfig={this.setupConfig} - showFilterComponent={this.state.filterParams.showFilterPane} viewMode={viewMode && !isInsideReconnectModal} /> {this.renderSaveDisacardModal()} @@ -886,7 +857,6 @@ class DatasourceEditorRouter extends React.Component { { pluginPackageName={pluginPackageName} pluginType={pluginType as PluginType} setDatasourceViewMode={setDatasourceViewMode} - showFilterComponent={this.state.filterParams.showFilterPane} triggerSave={triggerSave} viewMode={viewMode} /> diff --git a/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx b/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx index a1a676e3ac..3a3baaf64a 100644 --- a/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx +++ b/app/client/src/pages/Editor/SaaSEditor/DatasourceForm.tsx @@ -244,7 +244,6 @@ class DatasourceSaaSEditor extends JSONtoForm { id: "", name: "", userPermissions: [], - showFilterPane: false, }, unblock: () => { return undefined; @@ -330,17 +329,8 @@ class DatasourceSaaSEditor extends JSONtoForm { } } - updateFilter( - id: string, - name: string, - userPermissions: string[], - showFilterPane: boolean, - ) { - if ( - this.state.filterParams.id === id && - this.state.filterParams.showFilterPane === showFilterPane - ) - return false; + updateFilter(id: string, name: string, userPermissions: string[]) { + if (this.state.filterParams.id === id) return false; AnalyticsUtil.logEvent("SWITCH_ENVIRONMENT", { fromEnvId: this.state.filterParams.id, @@ -354,7 +344,6 @@ class DatasourceSaaSEditor extends JSONtoForm { id, name, userPermissions, - showFilterPane, }, }); return true; @@ -555,7 +544,6 @@ class DatasourceSaaSEditor extends JSONtoForm { { onSubmit={(e) => { e.preventDefault(); }} - showFilterComponent={this.state.filterParams.showFilterPane} viewMode={viewMode} > {(!viewMode || createFlow || isInsideReconnectModal) && ( @@ -658,7 +645,6 @@ class DatasourceSaaSEditor extends JSONtoForm { scopeValue={scopeValue} setDatasourceViewMode={setDatasourceViewMode} shouldDisplayAuthMessage={!isGoogleSheetPlugin} - showFilterComponent={this.state.filterParams.showFilterPane} triggerSave={this.props.isDatasourceBeingSavedFromPopup} viewMode={viewMode} /> diff --git a/app/client/src/pages/common/datasourceAuth/index.tsx b/app/client/src/pages/common/datasourceAuth/index.tsx index 9eed4b037d..6424306d4d 100644 --- a/app/client/src/pages/common/datasourceAuth/index.tsx +++ b/app/client/src/pages/common/datasourceAuth/index.tsx @@ -65,7 +65,6 @@ interface Props { triggerSave?: boolean; isFormDirty?: boolean; scopeValue?: string; - showFilterComponent: boolean; onCancel: () => void; } @@ -96,13 +95,11 @@ export const DatasourceButtonType: Record< export const ActionButton = styled(Button)<{ floatLeft: boolean; - showFilterComponent: boolean; }>` &&& { // Pulling button to the left if floatLeft is set as true margin-right: ${(props) => (props.floatLeft ? "auto" : "9px")}; - // If filter component is present, then we need to push the button to the right - margin-left: ${(props) => (props.showFilterComponent ? "24px" : "0px")}; + margin-left: ${(props) => (props.floatLeft ? "16px" : "0px")}; } `; @@ -151,7 +148,6 @@ function DatasourceAuth({ isFormDirty, scopeValue, isInsideReconnectModal, - showFilterComponent, onCancel, }: Props) { const shouldRender = !viewMode || isInsideReconnectModal; @@ -331,7 +327,6 @@ function DatasourceAuth({ key={buttonType} kind="secondary" onClick={handleDatasourceTest} - showFilterComponent={showFilterComponent} size="md" > {createMessage(TEST_BUTTON_TEXT)}