export class MenuItem { id:string = ""; // for root menu in order to close the dropdown when clicked title: string = ""; url:string = ""; // external url route:string = ""; // internal url - using angular routing and components needsAuthorization:boolean = false; // needs admin rights - mainly for user menu at this point entitiesRequired:string[] = []; // openaire entities used in page "publication, dataset, organization, software, project, datasource" routeRequired:string[] = []; // the routes that if aren't enable the menu item doesn't make sense params:any = {}; constructor(id:string, title:string, url:string, route:string, needsAuthorization:boolean, entitiesRequired:string[],routeRequired:string[], params){ this.id = id; this.title = title; this.url = url; this.route = route; this.needsAuthorization = needsAuthorization; this.entitiesRequired = entitiesRequired; this.routeRequired = routeRequired; this.params = params; } } export class RootMenuItem { rootItem:MenuItem; items:MenuItem[]=[]; }