diff --git a/app/client/src/pages/Editor/PropertyPane/ConnectDataCTA.tsx b/app/client/src/pages/Editor/PropertyPane/ConnectDataCTA.tsx index a031f02c6f..5d420fbfad 100644 --- a/app/client/src/pages/Editor/PropertyPane/ConnectDataCTA.tsx +++ b/app/client/src/pages/Editor/PropertyPane/ConnectDataCTA.tsx @@ -19,6 +19,7 @@ import { } from "actions/globalSearchActions"; import AnalyticsUtil from "utils/AnalyticsUtil"; import { getTypographyByKey } from "constants/DefaultTheme"; +import { WidgetTypes } from "constants/WidgetConstants"; const StyledDiv = styled.div` color: ${(props) => props.theme.colors.propertyPane.ctaTextColor}; @@ -48,6 +49,17 @@ const StyledDiv = styled.div` } `; +// Widgets where we do not want to show the CTA +export const excludeList = [ + WidgetTypes.CONTAINER_WIDGET, + WidgetTypes.TABS_WIDGET, + WidgetTypes.FORM_WIDGET, + WidgetTypes.MODAL_WIDGET, + WidgetTypes.DIVIDER_WIDGET, + WidgetTypes.FILE_PICKER_WIDGET, + WidgetTypes.BUTTON_WIDGET, +]; + export const actionsExist = (state: AppState): boolean => !!state.entities.actions.length; diff --git a/app/client/src/pages/Editor/PropertyPane/index.tsx b/app/client/src/pages/Editor/PropertyPane/index.tsx index 6d24cf5cd6..e462883519 100644 --- a/app/client/src/pages/Editor/PropertyPane/index.tsx +++ b/app/client/src/pages/Editor/PropertyPane/index.tsx @@ -1,4 +1,4 @@ -import React, { Component, useCallback } from "react"; +import React, { Component, useCallback, useMemo } from "react"; import { connect, useDispatch, useSelector } from "react-redux"; import { AppState } from "reducers"; import { @@ -37,7 +37,7 @@ import { getProppanePreference } from "selectors/usersSelectors"; import { PropertyPanePositionConfig } from "reducers/uiReducers/usersReducer"; import { get } from "lodash"; import { Layers } from "constants/Layers"; -import ConnectDataCTA, { actionsExist } from "./ConnectDataCTA"; +import ConnectDataCTA, { actionsExist, excludeList } from "./ConnectDataCTA"; import PropertyPaneConnections from "./PropertyPaneConnections"; const PropertyPaneWrapper = styled(PaneWrapper)<{ @@ -105,6 +105,13 @@ function PropertyPaneView( const { hidePropertyPane, theme, ...panel } = props; const widgetProperties: any = useSelector(getWidgetPropsForPropertyPane); const doActionsExist = useSelector(actionsExist); + const hideConnectDataCTA = useMemo(() => { + if (widgetProperties) { + return excludeList.includes(widgetProperties.type); + } + + return true; + }, [widgetProperties?.type]); const dispatch = useDispatch(); const handleDelete = useCallback(() => { @@ -170,7 +177,7 @@ function PropertyPaneView( widgetType={widgetProperties?.type} /> - {!doActionsExist && } + {!doActionsExist && !hideConnectDataCTA && }