From 57e4d4d115e720cb2d30b00fd477a9d99a69a637 Mon Sep 17 00:00:00 2001 From: Ashok Kumar M <35134347+marks0351@users.noreply.github.com> Date: Wed, 18 Aug 2021 10:39:08 +0530 Subject: [PATCH] Fix: show property pane only when respective widget is present on the dom. --- app/client/src/selectors/propertyPaneSelectors.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/client/src/selectors/propertyPaneSelectors.tsx b/app/client/src/selectors/propertyPaneSelectors.tsx index e4f4f9c6fdb2..187498b99bd8 100644 --- a/app/client/src/selectors/propertyPaneSelectors.tsx +++ b/app/client/src/selectors/propertyPaneSelectors.tsx @@ -11,6 +11,7 @@ import { CanvasWidgetsReduxState } from "reducers/entityReducers/canvasWidgetsRe import { getSelectedWidget, getSelectedWidgets } from "./ui"; import { EVALUATION_PATH } from "utils/DynamicBindingUtils"; import { DataTreeEntity } from "entities/DataTree/dataTreeFactory"; +import { generateClassName } from "utils/generators"; export type WidgetProperties = WidgetProps & { [EVALUATION_PATH]?: DataTreeEntity; @@ -163,6 +164,9 @@ export const getIsPropertyPaneVisible = createSelector( lastSelectedWidget, widgets, ) => { + const el = document.getElementsByClassName( + generateClassName(pane.widgetId), + )[0]; const isWidgetSelected = pane.widgetId ? lastSelectedWidget === pane.widgetId || widgets.includes(pane.widgetId) : false; @@ -172,6 +176,7 @@ export const getIsPropertyPaneVisible = createSelector( !multipleWidgetsSelected && !isResizingorDragging && pane.isVisible && + el && pane.widgetId ); },