UNPKG

sitecore-jss-rule-engine-nextjs

Version:

37 lines (29 loc) 1.17 kB
export default function(command:any, ruleContext:any) { //parameters: renderingName, datasourcePath, placeholderName var placeholderName = command.placeholderName; var renderingName = command.renderingName; var datasourcePath = command.datasourcePath; 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((x:any) => x.name == renderingName); if(rendering) { //update personalization for the rendering rendering.datasource = datasourcePath; }else{ //add new personalization var newPersonalization = { name: renderingName, datasource: datasourcePath, add: true }; placeholder.renderings.push(newPersonalization); } }