Skip to content

Commit 1548662

Browse files
committed
fix remove handle focus event
1 parent 95dfca1 commit 1548662

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

src/visualBuilder/generators/generateOverlay.tsx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ export function addFocusOverlay(
2323
focusOverlayWrapper: HTMLDivElement,
2424
disabled?: boolean
2525
): void {
26+
VisualBuilder.VisualBuilderGlobalState.value.focusFieldValue = (
27+
targetElement as HTMLElement
28+
)?.innerText;
2629
const targetElementDimension = targetElement.getBoundingClientRect();
2730
if (
2831
targetElementDimension.width === 0 ||
@@ -124,6 +127,19 @@ export function hideFocusOverlay(elements: HideOverlayParams): void {
124127
visualBuilderContainer,
125128
eventType: VisualBuilderPostMessageEvents.UPDATE_FIELD,
126129
});
130+
} else {
131+
const previousSelectedEditableDOM =
132+
VisualBuilder.VisualBuilderGlobalState.value
133+
.previousSelectedEditableDOM;
134+
const previousText =
135+
VisualBuilder.VisualBuilderGlobalState.value.focusFieldValue;
136+
if (
137+
previousSelectedEditableDOM &&
138+
"innerText" in previousSelectedEditableDOM &&
139+
previousText != null
140+
) {
141+
previousSelectedEditableDOM.innerText = previousText;
142+
}
127143
}
128144

129145
cleanIndividualFieldResidual({

src/visualBuilder/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ interface VisualBuilderGlobalStateImpl {
4747
previousSelectedEditableDOM: HTMLElement | Element | null;
4848
previousHoveredTargetDOM: Element | null;
4949
previousEmptyBlockParents: Element[] | [];
50+
focusFieldValue: string | null;
5051
audienceMode: boolean;
5152
locale: string;
5253
variant: string | null;
@@ -63,6 +64,7 @@ export class VisualBuilder {
6364
previousSelectedEditableDOM: null,
6465
previousHoveredTargetDOM: null,
6566
previousEmptyBlockParents: [],
67+
focusFieldValue: null,
6668
audienceMode: false,
6769
locale: Config.get().stackDetails.masterLocale || "en-us",
6870
variant: null,
@@ -336,6 +338,7 @@ export class VisualBuilder {
336338
previousSelectedEditableDOM: null,
337339
previousHoveredTargetDOM: null,
338340
previousEmptyBlockParents: [],
341+
focusFieldValue: null,
339342
audienceMode: false,
340343
locale: "en-us",
341344
variant: null,

0 commit comments

Comments
 (0)