Skip to content

Commit f712006

Browse files
committed
fix: cslp generation for variant-resolved entries
1 parent ba3b815 commit f712006

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/entry-editable.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,27 @@ function getTag(content: object, prefix: string, tagsAsObject: boolean, locale:
115115
}
116116

117117
function getTagsValue(dataValue: string, tagsAsObject: boolean, appliedVariants: { _applied_variants: { [key: string]: any }, shouldApplyVariant: boolean, metaKey: string }): any {
118-
if (appliedVariants.shouldApplyVariant && appliedVariants._applied_variants && appliedVariants._applied_variants[appliedVariants.metaKey]) {
118+
if (appliedVariants.shouldApplyVariant && appliedVariants._applied_variants) {
119+
const isFieldVariantised = appliedVariants._applied_variants[appliedVariants.metaKey];
120+
if(isFieldVariantised) {
119121
const variant = appliedVariants._applied_variants[appliedVariants.metaKey]
120122
// Adding v2 prefix to the cslp tag. New cslp tags are in v2 format. ex: v2:content_type_uid.entry_uid.locale.title
121123
const newDataValueArray = ('v2:' + dataValue).split('.');
122124
newDataValueArray[1] = newDataValueArray[1] + '_' + variant;
123125
dataValue = newDataValueArray.join('.');
126+
}
127+
else {
128+
const variantisedFieldPaths = Object.keys(appliedVariants._applied_variants).sort((a, b) => {
129+
return b.length - a.length;
130+
});
131+
const variantisedParentPath = variantisedFieldPaths.find(path => appliedVariants.metaKey.startsWith(path));
132+
if(variantisedParentPath) {
133+
const variant = appliedVariants._applied_variants[variantisedParentPath];
134+
const newDataValueArray = ('v2:' + dataValue).split('.');
135+
newDataValueArray[1] = newDataValueArray[1] + '_' + variant;
136+
dataValue = newDataValueArray.join('.');
137+
}
138+
}
124139
}
125140
if (tagsAsObject) {
126141
return { "data-cslp": dataValue };

0 commit comments

Comments
 (0)