import { ChangeDetectorRef, Injector, OnDestroy, OnInit } from '@angular/core'; import { ChartData } from 'chart.js'; import { ChartComponent } from '../chart/chart.component'; import { CoreBaseComponent } from '../common/base.component'; import { LegendEntryData } from '../legend/legend-entry/legend-entry.component'; import { LegendPosition } from './legend-position'; import * as i0 from "@angular/core"; /** * * @smeDoc {@label Doughnut Chart @id sme-doughnut-chart-component} * * @overview * @file {@filepath ./examples/doughnut-chart-overview.md} * * @example {@label Doughnut Chart @id doughnut-chart} * @file {@filename component.html @filepath ./examples/doughnut-chart-example.component.html} * @file {@filename component.ts @filepath ./examples/doughnut-chart-example.component.ts} * * @example {@label Capacity Doughnut Chart @id capacity-doughnut-chart} * @file {@filename component.html @filepath ./examples/capacity-doughnut-chart-example.component.html} * @file {@filename component.ts @filepath ./examples/doughnut-chart-example.component.ts} */ export interface DoughnutChartData { /** * The label for the data segment */ label: string; /** * The value of the data segment */ value: number; /** * The display value to show in legends and tool tips * example: value = 80 but displayValue = "80%" * If not specified, value field will be used for labeling */ displayValue?: string; /** * The color to use for the data segment */ color: string; /** * True to show legend */ showLegend?: boolean; } export declare class DoughnutChartComponent extends CoreBaseComponent implements OnInit, OnDestroy { private changeDetectorRef; /** * The source name to use for logging */ protected get logSourceName(): string; /** * Whether or not to use a generated legend * If legendData is specified, a legend will be shown regardless of showLegend value */ showLegend: boolean; /** * The legend data to put into the legend * If legend is not specified, it will automatically be generated */ legendData: LegendEntryData[]; /** * List of data to be shown on the chart */ doughnutChartData: DoughnutChartData[]; /** * Title shown for the chart */ chartTitle: string; /** * Whether to display the chart title * Defaults to true */ showTitle: boolean; /** * Text in the center of the doughnut chart */ centerChartText: string; /** * Subtext in the center of the doughnut chart */ centerChartSubtext: string; /** * Text that can be provided to give additional optional information about the doughnut chart */ tooltipTitle: string; /** * Sets the width of the chart. Can be any valid css width value. Defaults to 180px */ width: string; /** * A string explaining the how often the chart refreshes, if applicable * Expect strings like "3 minutes" and "30 seconds" * Used for aria-label of chart in sentence "Chart refreshes every " */ refreshIntervalString?: string; /** * A string explaining the current state of the chart, if applicable * Expect strings like "Critical State" and "Warning State" * Used for aria-label of chart to describe state */ stateString?: string; /** * The position of the legend relative to the chart. */ legendPosition?: LegendPosition.Bindable; chart: ChartComponent; options: any; data: ChartData; legendIsGenerated: boolean; constructor(changeDetectorRef: ChangeDetectorRef, injector: Injector); private validateLegendPosition; ngOnInit(): void; updateChartData(): void; /** * refreshed the chart data */ refresh(): void; ngOnDestroy(): void; /** * Creates the idBag used by this component to store unique element ids. * id values will be assigned be the @see BaseComponent super class. */ protected createIdBag(): MsftSme.StringMap; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }