import { Type } from '@angular/core'; import { WidgetComponent } from './WidgetComponent'; import { WidgetEditComponent } from './WidgetEditComponent'; import { WidgetConfiguration } from './WidgetConfiguration'; /** * Definition of the widget to register - the object we need to create in order to register it into the dashboards widget service. * Should contain all necessary properties to instantiate a widget (components, configuration, etc.). */ export interface Widget { /** * The type of the widget. Should be unique. */ type: string; /** * Category for widget grouping. Currently not supported. */ category?: string; /** * Widget description. Currently not displayed. */ description?: string; /** * The component that represents the widget's view. */ component: Type; /** * The component that represents the widget's configuration view. */ editComponent: Type; /** * The configuration of the widget. */ configuration: WidgetConfiguration; }