diff --git a/dashboard/menu/menu.component.html b/dashboard/menu/menu.component.html index fbc71e1e..7ce22cb9 100644 --- a/dashboard/menu/menu.component.html +++ b/dashboard/menu/menu.component.html @@ -39,7 +39,7 @@ -
-
No menu items found
+
+
+
Featured menu items can't have any sub menu items
@@ -118,8 +122,14 @@
+
+
Featured
+ + +
+ [options]="getTypeOptions(menuItemForm.get('isFeatured').value)" [tooltip]="false">
diff --git a/dashboard/menu/menu.component.ts b/dashboard/menu/menu.component.ts index cdedb37e..b18bec0e 100644 --- a/dashboard/menu/menu.component.ts +++ b/dashboard/menu/menu.component.ts @@ -132,11 +132,15 @@ export class MenuComponent implements OnInit { ); } - getTypeOptions() { + getTypeOptions(isFeatured: boolean = false) { if(this.isChild) { return this.typeOptions; } else { - return this.typeOptions.concat(this.rootOnlyTypeOptions); + if(isFeatured) { + return this.typeOptions; + } else { + return this.typeOptions.concat(this.rootOnlyTypeOptions); + } } } @@ -247,6 +251,7 @@ export class MenuComponent implements OnInit { route: this._fb.control(""), url: this._fb.control(""), isEnabled: this._fb.control(""), + isFeatured: this._fb.control(false), parentItemId: this._fb.control(isChild ? this.activeRootMenuId : null) }); this.isChild = isChild; @@ -261,6 +266,7 @@ export class MenuComponent implements OnInit { type: this._fb.control(menuItem['type'],Validators.required), route: this._fb.control(menuItem.route, (menuItem['type'] == "internal") ? [Validators.required] : []), url: this._fb.control(menuItem.url, (menuItem['type'] == "external") ? [Validators.required, StringUtils.urlValidator()] : []), + isFeatured: this._fb.control(menuItem.isFeatured), parentItemId: this._fb.control(menuItem['parentItemId']) }); this.isChild = isChild; diff --git a/sharedComponents/menu.ts b/sharedComponents/menu.ts index 6e646186..7cf36b96 100644 --- a/sharedComponents/menu.ts +++ b/sharedComponents/menu.ts @@ -15,6 +15,7 @@ export class MenuItem { icon: string; open: boolean; customClass: string = null; + isFeatured: boolean; constructor(id: string, title: string, url: string, route: string, needsAuthorization: boolean, entitiesRequired: string[], routeRequired: string[], params, icon=null, fragment = null, customClass = null, routeActive = null) { this._id = id;