Skip to content

Commit 5ffee44

Browse files
authored
Merge pull request #291 from contentstack/VE-3937
fix remove highlight variant field classes
2 parents 94891b9 + 0b02a1d commit 5ffee44

1 file changed

Lines changed: 29 additions & 13 deletions

File tree

src/visualBuilder/eventManager/useVariantsPostMessageEvent.ts

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ interface VariantFieldsEvent {
1111
};
1212
};
1313
}
14+
interface RemoveVariantFieldsEvent {
15+
data: {
16+
onlyHighlighted?: boolean;
17+
};
18+
}
1419

1520
interface AudienceEvent {
1621
data: {
@@ -51,18 +56,29 @@ function addVariantFieldClass(
5156
});
5257
}
5358

54-
function removeVariantFieldClass(): void {
55-
const variantAndBaseFieldElements = document.querySelectorAll(
56-
".visual-builder__disabled-variant-field, .visual-builder__variant-field, .visual-builder__base-field"
57-
);
58-
variantAndBaseFieldElements.forEach((element) => {
59-
element.classList.remove(
60-
"visual-builder__disabled-variant-field",
61-
"visual-builder__variant-field",
62-
visualBuilderStyles()["visual-builder__variant-field"],
63-
"visual-builder__base-field"
59+
function removeVariantFieldClass(onlyHighlighted: boolean = false): void {
60+
if (onlyHighlighted) {
61+
const variantElements = document.querySelectorAll(
62+
`.${visualBuilderStyles()["visual-builder__variant-field"]}`
6463
);
65-
});
64+
variantElements.forEach((element) => {
65+
element.classList.remove(
66+
visualBuilderStyles()["visual-builder__variant-field"]
67+
);
68+
});
69+
} else {
70+
const variantAndBaseFieldElements = document.querySelectorAll(
71+
".visual-builder__disabled-variant-field, .visual-builder__variant-field, .visual-builder__base-field"
72+
);
73+
variantAndBaseFieldElements.forEach((element) => {
74+
element.classList.remove(
75+
"visual-builder__disabled-variant-field",
76+
"visual-builder__variant-field",
77+
visualBuilderStyles()["visual-builder__variant-field"],
78+
"visual-builder__base-field"
79+
);
80+
});
81+
}
6682
}
6783

6884
function setAudienceMode(mode: boolean): void {
@@ -106,8 +122,8 @@ export function useVariantFieldsPostMessageEvent(): void {
106122
);
107123
visualBuilderPostMessage?.on(
108124
VisualBuilderPostMessageEvents.REMOVE_VARIANT_FIELDS,
109-
() => {
110-
removeVariantFieldClass();
125+
(event: RemoveVariantFieldsEvent) => {
126+
removeVariantFieldClass(event?.data?.onlyHighlighted);
111127
}
112128
);
113129
}

0 commit comments

Comments
 (0)