Skip to content

Commit f6939b1

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 7146855 commit f6939b1

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
@@ -68,6 +68,7 @@ interface VisualBuilderGlobalStateImpl {
6868
variant: string | null;
6969
focusElementObserver: MutationObserver | null;
7070
referenceParentMap: Record<string, string>;
71+
isFocussed: boolean;
7172
}
7273

7374
let threadsPayload: IThreadDTO[] = [];
@@ -90,6 +91,7 @@ export class VisualBuilder {
9091
variant: null,
9192
focusElementObserver: null,
9293
referenceParentMap: {},
94+
isFocussed: false,
9395
});
9496

9597
private handlePositionChange(editableElement: HTMLElement) {
@@ -425,6 +427,7 @@ export class VisualBuilder {
425427
variant: null,
426428
focusElementObserver: null,
427429
referenceParentMap: {},
430+
isFocussed: false,
428431
};
429432

430433
// 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
@@ -372,16 +372,19 @@ const throttledMouseHover = throttle(async (params: HandleMouseHoverParams) => {
372372
fieldPath,
373373
fieldMetadata,
374374
});
375-
showHoverToolbar({
375+
const isFocussed= VisualBuilder.VisualBuilderGlobalState.value.isFocussed;
376+
if(!isFocussed) {
377+
showHoverToolbar({
376378
event: params.event,
377379
overlayWrapper: params.overlayWrapper,
378380
visualBuilderContainer: params.visualBuilderContainer,
379381
previousSelectedEditableDOM:
380382
VisualBuilder.VisualBuilderGlobalState.value
381383
.previousSelectedEditableDOM,
382-
focusedToolbar: params.focusedToolbar,
383-
resizeObserver: params.resizeObserver,
384-
});
384+
focusedToolbar: params.focusedToolbar,
385+
resizeObserver: params.resizeObserver,
386+
});
387+
}
385388
}
386389

387390
if (

0 commit comments

Comments
 (0)