/*
 * Copyright (C) 2018 Robert Bosch GmbH Copyright (C) 2018 Robert Bosch Manufacturing Solutions GmbH, Germany. All rights reserved.
 */

import { Type } from '@angular/core';
import { ThemePalette } from '@angular/material/core';
import { Observable } from 'rxjs';
import { ClosableOverlayComponentModel } from './closable-overlay-component.model';

export class SidebarNavItem {
  id?: string;
  title: string;
  url?: string;
  queryParams?: { [key: string]: string };
  position?: number;
  items?: SidebarNavItem[];
  icon?: string;
  /**
   * SVG Icon has to be registered using MatIconRegistry before it can be used here
   */
  svgIcon?: string;
  iconFont?: string;
  iconContext?: string;
  iconBadgeText?: Observable<string | number>;
  iconBadgeColor?: Observable<ThemePalette>;
  active?: boolean;
  expanded?: boolean;
  cb?: () => void;
  routerLinkActiveOptions?: {
    exact: boolean;
  };
  overlay?: { component: Type<ClosableOverlayComponentModel<any>>; config: any };
}
