sitecore-jss-rule-engine-nextjs
Version:
35 lines (27 loc) • 1.07 kB
text/typescript
export default function(command:any, ruleContext:any) {
//parameters: renderingName, datasourcePath, placeholderName
var placeholderName = command.placeholderName;
var renderingName = command.renderingName;
ruleContext.personalization = ruleContext.personalization ? ruleContext.personalization : {
placeholders: []
};
var placeholder = ruleContext.personalization.placeholders[placeholderName];
var placeholder = placeholder ? placeholder : {
name: placeholderName,
renderings: []
};
ruleContext.personalization.placeholders[placeholderName] = placeholder;
var rendering = placeholder.renderings.find((i:any) => i.name == renderingName);
if(rendering)
{
//update personalization for the rendering
rendering.hide = true;
}else{
//add new personalization
var newPersonalization = {
name: renderingName,
hide: true
};
placeholder.renderings.push(newPersonalization);
}
}