* initial changes * redesign the sidebar + nav drawer * changes to sidebar items * finish up sidebar redesign * support new sidebar in resources * general fixes * integrate in ui * support api reference * refactor * integrate in user guide * docs: fix build errors * fix user guide build * more refactoring * added banner * added bottom logo + icon * fix up sidebar * fix up paddings * fix shadow bottom * docs: add table of content (#8445) * add toc types * implement toc functionality * finished toc redesign * redesigned table of content * mobile fixes * truncate text in toc * mobile fixes * merge fixes * implement redesign * add hide sidebar * add menu action item * finish up hide sidebar design * implement redesign in resources * integrate in api reference * integrate changes in ui * fixes to api reference scrolling * fix build error * fix build errors * fixes * fixes to sidebar * general fixes * fix active category not closing * fix long titles
32 lines
705 B
JavaScript
32 lines
705 B
JavaScript
/** @type {Partial<import("@/types").SidebarItem[]>} */
|
|
const commonOptions = {
|
|
loaded: true,
|
|
isPathHref: true,
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param {import("@/types").SidebarItem[]} sidebar
|
|
* @param {boolean} nested
|
|
* @returns {import("@/types").SidebarItem[]}
|
|
*/
|
|
export function sidebarAttachHrefCommonOptions(sidebar, nested = false) {
|
|
return sidebar.map((item) => {
|
|
if (item.type === "separator") {
|
|
return item
|
|
}
|
|
|
|
const updatedItem = {
|
|
...commonOptions,
|
|
...item,
|
|
children: sidebarAttachHrefCommonOptions(item.children || [], true),
|
|
}
|
|
|
|
if (updatedItem.type !== "category" && !nested) {
|
|
updatedItem.childrenSameLevel = true
|
|
}
|
|
|
|
return updatedItem
|
|
})
|
|
}
|