Skip to content

Commit 61e553f

Browse files
csAyushDubeycsAdityaPachauri
authored andcommitted
Merge pull request #461 from contentstack/VE-6600-Hover-Toolbar-Support
Fix: HoverToolbar to not render when focussed
1 parent 8bc32bf commit 61e553f

4 files changed

Lines changed: 12 additions & 4 deletions

File tree

src/visualBuilder/generators/generateOverlay.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ interface HideOverlayParams
216216
}
217217

218218
export function hideOverlay(params: HideOverlayParams): void {
219+
VisualBuilder.VisualBuilderGlobalState.value.isFocussed = false;
219220
const focusElementObserver =
220221
VisualBuilder.VisualBuilderGlobalState.value.focusElementObserver;
221222
if (focusElementObserver) {

src/visualBuilder/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ interface VisualBuilderGlobalStateImpl {
6969
variant: string | null;
7070
focusElementObserver: MutationObserver | null;
7171
referenceParentMap: Record<string, string>;
72+
isFocussed: boolean;
7273
}
7374

7475
let threadsPayload: IThreadDTO[] = [];
@@ -91,6 +92,7 @@ export class VisualBuilder {
9192
variant: null,
9293
focusElementObserver: null,
9394
referenceParentMap: {},
95+
isFocussed: false,
9496
});
9597

9698
private handlePositionChange(editableElement: HTMLElement) {
@@ -427,6 +429,7 @@ export class VisualBuilder {
427429
variant: null,
428430
focusElementObserver: null,
429431
referenceParentMap: {},
432+
isFocussed: false,
430433
};
431434

432435
// Remove DOM elements

src/visualBuilder/listeners/mouseClick.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@ function addOverlayAndToolbar(
271271
editableElement: Element,
272272
isVariant: boolean
273273
) {
274+
VisualBuilder.VisualBuilderGlobalState.value.isFocussed = true;
274275
addOverlay({
275276
overlayWrapper: params.overlayWrapper,
276277
resizeObserver: params.resizeObserver,

src/visualBuilder/listeners/mouseHover.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -371,16 +371,19 @@ const throttledMouseHover = throttle(async (params: HandleMouseHoverParams) => {
371371
fieldPath,
372372
fieldMetadata,
373373
});
374-
showHoverToolbar({
374+
const isFocussed= VisualBuilder.VisualBuilderGlobalState.value.isFocussed;
375+
if(!isFocussed) {
376+
showHoverToolbar({
375377
event: params.event,
376378
overlayWrapper: params.overlayWrapper,
377379
visualBuilderContainer: params.visualBuilderContainer,
378380
previousSelectedEditableDOM:
379381
VisualBuilder.VisualBuilderGlobalState.value
380382
.previousSelectedEditableDOM,
381-
focusedToolbar: params.focusedToolbar,
382-
resizeObserver: params.resizeObserver,
383-
});
383+
focusedToolbar: params.focusedToolbar,
384+
resizeObserver: params.resizeObserver,
385+
});
386+
}
384387
}
385388

386389
if (

0 commit comments

Comments
 (0)