Skip to content

Commit 57e1fc4

Browse files
fix: only set previous value when noTrigger is true
If no input was received on the contenteditable, but the value updated through preview data, as noTrigger was false, we would revert the field value to the previous one through the else clause.
1 parent 7aecf09 commit 57e1fc4

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

src/visualBuilder/generators/generateOverlay.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,14 @@ export function hideFocusOverlay(elements: HideOverlayParams): void {
120120

121121
if (
122122
!noTrigger &&
123+
// send update when focussed field has received input
123124
VisualBuilder.VisualBuilderGlobalState.value.focusFieldReceivedInput
124125
) {
125126
sendFieldEvent({
126127
visualBuilderContainer,
127128
eventType: VisualBuilderPostMessageEvents.UPDATE_FIELD,
128129
});
129-
} else {
130+
} else if (noTrigger) {
130131
const { previousSelectedEditableDOM, focusFieldValue } =
131132
VisualBuilder.VisualBuilderGlobalState.value || {};
132133
if (

src/visualBuilder/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ export class VisualBuilder {
343343
previousHoveredTargetDOM: null,
344344
previousEmptyBlockParents: [],
345345
focusFieldValue: null,
346+
focusFieldReceivedInput: false,
346347
audienceMode: false,
347348
locale: "en-us",
348349
variant: null,

0 commit comments

Comments
 (0)