@obliczeniowo/elementary
Version:
Library made in Angular version 20
88 lines (82 loc) • 3.44 kB
TypeScript
import * as i0 from '@angular/core';
import { Renderer2, EventEmitter, ElementRef } from '@angular/core';
import * as i2 from '@angular/common';
import { DatePipe } from '@angular/common';
import { DrawingContextInterface } from '@obliczeniowo/elementary/drawing';
type DaypartsData = {
date: Date;
[key: string]: any;
};
type HourData = {
data: DaypartsData[];
value: number;
};
type DaypartsStatistic = {
[day: number]: {
[hours: number]: HourData;
};
};
declare class DaypartsStatistics {
protected dc: DrawingContextInterface;
protected statistics: DaypartsStatistic;
protected datePipe: DatePipe;
protected events: {
clicked: (value: HourData) => void;
mouseover?: (value: HourData) => void;
};
protected max: number;
protected fontSize: number;
protected ray: number;
protected textOffset: number;
constructor(dc: DrawingContextInterface, statistics: DaypartsStatistic, datePipe: DatePipe, events: {
clicked: (value: HourData) => void;
mouseover?: (value: HourData) => void;
});
getWidth(): number;
getHeight(): number;
updateMax(max: number): void;
setStatistics(statistics: DaypartsStatistic): void;
draw(dc?: DrawingContextInterface): void;
protected setMax(): void;
}
declare class DaypartsStatisticsComponent {
protected datePipe: DatePipe;
protected renderer: Renderer2;
/**
* Do not use this one together with statistics
*/
data: i0.InputSignal<DaypartsData[]>;
/**
* Under DaypartsData you can put any kind of key: value fields and now here you can specify field
* name to make it representable on diagram
*/
valueKey: i0.InputSignal<string | undefined>;
/**
* Do not use this one together with data
*/
set statistics(statistics: DaypartsStatistic);
translations: i0.InputSignal<{
[en: string]: string;
}>;
clicked: EventEmitter<any>;
svg: ElementRef<SVGSVGElement>;
protected dc: DrawingContextInterface;
protected _statistics: DaypartsStatistic;
protected max: number;
protected _daypartsStatistics?: DaypartsStatistics;
protected current?: HourData;
constructor(datePipe: DatePipe, renderer: Renderer2);
ngAfterViewInit(): void;
protected draw(): void;
protected transform(): void;
protected setMax(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DaypartsStatisticsComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DaypartsStatisticsComponent, "obl-dayparts-statistics", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "valueKey": { "alias": "valueKey"; "required": false; "isSignal": true; }; "statistics": { "alias": "statistics"; "required": false; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, false, never>;
}
declare class DaypartsStatisticsModule {
static ɵfac: i0.ɵɵFactoryDeclaration<DaypartsStatisticsModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<DaypartsStatisticsModule, [typeof DaypartsStatisticsComponent], [typeof i2.CommonModule], [typeof DaypartsStatisticsComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<DaypartsStatisticsModule>;
}
export { DaypartsStatistics, DaypartsStatisticsComponent, DaypartsStatisticsModule };
export type { DaypartsData, DaypartsStatistic, HourData };