UNPKG

generator-portals-clientside

Version:

Generates a SharePoint clientside project skeleton. Brought to you by Skyline's Portals & Collaboration Team.

32 lines (29 loc) 1.01 kB
exports.render = function(firstLevels, menuType) { return ` <div class='ms-dialogHidden menu-custom menu-${menuType}'> ${renderLinks(firstLevels, 1)} </div> ` } var renderLinks = function(links, level) { return ` <ul class='menu-items level-${level}'> ${links.map(l => renderLink(l, level)).join("")} </ul> ` } var renderLink = function(link, level) { var target = link.OpenInNewWindow ? "target='_blank'" : ""; var hasChildren = link.children && link.children.length; var childrenHtml = hasChildren ? renderLinks(link.children, level + 1) : ""; var cssClass = `menu-item level-${level}` + (hasChildren ? " has-children" : ""); var menuItem = link.LinkUrl ? `<a class='menu-item-text' href='${link.LinkUrl}' ${target}>${link.Title}</a>` : `<span class='menu-item-text'>${link.Title}</span>` return ` <li class='${cssClass}'> ${menuItem} ${childrenHtml} </li> ` }