From 1a29784200f108f184c3822e91bc3edd3be27336 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:36:00 +0300 Subject: [PATCH] refactor: add type heading to menu items --- lib/services/menu.service.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/services/menu.service.ts b/lib/services/menu.service.ts index 18e47196..5cb2947a 100644 --- a/lib/services/menu.service.ts +++ b/lib/services/menu.service.ts @@ -104,7 +104,7 @@ export class MenuService { // check if previous itemsĀ§ can be enabled let prevItem = this.flatItems[idx -= 1]; - while(prevItem && (!prevItem.metadata || !prevItem.items)) { + while(prevItem && (!prevItem.metadata || prevItem.metadata.type === 'heading' || !prevItem.items)) { prevItem.ready = true; prevItem = this.flatItems[idx -= 1]; } @@ -171,7 +171,7 @@ export class MenuService { // We only need to go up the chain for operations that // might have multiple tags. For headers/subheaders // we need to siply early terminate. - if (!currentItem.metadata) { + if (!currentItem.metadata || currentItem.metadata.type === 'heading') { break; } } @@ -291,7 +291,10 @@ export class MenuService { let item = { name: heading.title, id: id, - items: null + items: null, + metadata: { + type: 'heading' + } }; item.items = this.getMarkdownSubheaders(item, heading); @@ -309,7 +312,10 @@ export class MenuService { let subItem = { name: heading.title, id: id, - parent: parent + parent: parent, + metadata: { + type: 'heading' + } }; res.push(subItem); });