ng-chartist
Version:
Chartist component for Angular
80 lines (76 loc) • 3.11 kB
TypeScript
import * as i0 from '@angular/core';
import { OnInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges } from '@angular/core';
import { BarChartData, BarChartOptions, ResponsiveOptions, LineChartData, LineChartOptions, PieChartData, PieChartOptions, BarChart, LineChart, PieChart } from 'chartist';
type ChartTypes = BarChart | LineChart | PieChart;
interface BarChartConfiguration {
type: "Bar";
data: BarChartData;
options?: BarChartOptions;
responsiveOptions?: ResponsiveOptions<BarChartOptions>;
}
interface LineChartConfiguration {
type: "Line";
data: LineChartData;
options?: LineChartOptions;
responsiveOptions?: ResponsiveOptions<LineChartOptions>;
}
interface PieChartConfiguration {
type: "Pie";
data: PieChartData;
options?: PieChartOptions;
responsiveOptions?: ResponsiveOptions<PieChartOptions>;
}
type Configuration = BarChartConfiguration | LineChartConfiguration | PieChartConfiguration;
/**
* Represents chart events.
*/
interface ChartEvent {
[eventName: string]: (data: unknown) => void;
}
/**
* Angular component which renders Chartist chart.
*
* See Chartist {@link https://gionkunz.github.io/chartist-js/api-documentation.html API documentation} and
* {@link https://gionkunz.github.io/chartist-js/examples.html examples} for more information.
* ### Example
```html
<x-chartist
[configuration]="configuration"
[events]="events"
></x-chartist>
```
*/
declare class ChartistComponent implements OnInit, OnChanges, OnDestroy {
private elementRef;
configuration: Configuration;
/**
* Events object where keys are Chartist event names and values are event handler functions.
*
* Supported events are: draw, optionsChanged, data, animationBegin, animationEnd, created.
*
* Event handler function will receive a data argument which contains event data.
*/
events: ChartEvent;
/**
* Event emitted after Chartist chart has been initialized.
*
* Event handler function will receive chart instance argument.
*/
initialized: EventEmitter<ChartTypes>;
chart: ChartTypes;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
renderChart(): void;
update(changes: SimpleChanges): void;
bindEvents(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<ChartistComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ChartistComponent, "x-chartist", never, { "configuration": { "alias": "configuration"; "required": false; }; "events": { "alias": "events"; "required": false; }; }, { "initialized": "initialized"; }, never, never, true, never>;
}
declare class ChartistModule {
static ɵfac: i0.ɵɵFactoryDeclaration<ChartistModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<ChartistModule, never, [typeof ChartistComponent], [typeof ChartistComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<ChartistModule>;
}
export { ChartistComponent, ChartistModule };
export type { BarChartConfiguration, ChartEvent, Configuration, LineChartConfiguration, PieChartConfiguration };