@obliczeniowo/elementary
Version:
Library made in Angular version 20
145 lines (139 loc) • 5.57 kB
TypeScript
import * as i0 from '@angular/core';
import { EventEmitter, TemplateRef } from '@angular/core';
import { Observable } from 'rxjs';
import { HtmlColor } from '@obliczeniowo/elementary/classes';
import * as i4 from '@angular/common';
import * as i5 from '@obliczeniowo/elementary/loading';
import * as i6 from '@obliczeniowo/elementary/year-picker';
interface DayStatistic<T extends {} = {
[key: string]: any;
}> {
date: Date;
count: number;
data?: T;
x?: number;
y?: number;
}
interface DaySettings {
size: number;
margin: number;
colors: HtmlColor[];
colorsStats?: {
[key: number]: HtmlColor;
};
getExtData?: (statistic: DayStatistic) => Observable<any>;
}
declare class DailyStatisticComponent {
protected loading: boolean;
selected: boolean;
/** day statistic day */
statistics: i0.InputSignal<DayStatistic<{
[key: string]: any;
}>>;
/** */
settings: i0.InputSignal<DaySettings>;
get x(): number;
get y(): number;
clicked: EventEmitter<DayStatistic<{
[key: string]: any;
}>>;
onClick(): Promise<void>;
hovered: EventEmitter<DayStatistic<{
[key: string]: any;
}> | undefined>;
hover(): void;
leave(): void;
constructor();
protected setCurrentColor(): void;
protected currentColor: HtmlColor;
get width(): number;
get height(): number;
size: i0.Signal<number>;
static ɵfac: i0.ɵɵFactoryDeclaration<DailyStatisticComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DailyStatisticComponent, "obl-daily-statistic", never, { "selected": { "alias": "selected"; "required": false; }; "statistics": { "alias": "statistics"; "required": true; "isSignal": true; }; "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, { "clicked": "clicked"; "hovered": "hovered"; }, never, never, false, never>;
}
interface DailyStatisticsSettings<ext extends {} = {
[key: string]: any;
}> extends DaySettings {
start: Date;
end: Date;
colors: HtmlColor[];
yearSwitcher?: boolean;
minYear?: number;
maxYear?: number;
get: (start: Date, end: Date) => Observable<DayStatistic<ext>[]>;
/** for legend translation text */
text?: {
less: string;
more: string;
};
}
declare class DailyStatisticsComponent {
readonly locale: string;
protected statistics: DayStatistic<any>[];
protected _settings: DailyStatisticsSettings;
protected max: number;
protected daysHeaders: Date[];
protected monthHeaders: {
date: Date;
x: number;
}[];
protected selected?: DayStatistic;
protected hovered?: DayStatistic;
protected total?: number;
protected selectedIndex?: number;
protected default: {
min: number;
max: number;
};
protected totalRef: TemplateRef<any>;
protected selectedRef: TemplateRef<any>;
/** settings for all view components */
set settings(value: DailyStatisticsSettings);
private _weakDayOffset;
/**
* Set weak day offset to for example start weak not from Sunday but from Monday you should set it to 6
*
* Do not use values less then 0
*/
set weakDayOffset(value: number);
get weakDayOffset(): number;
get settings(): DailyStatisticsSettings;
get margin(): number;
get height(): number;
get width(): number;
get size(): number;
get fontSize(): number;
clicked: EventEmitter<DayStatistic<{
[key: string]: any;
}>>;
selectionChanged: EventEmitter<DayStatistic<{
[key: string]: any;
}> | undefined>;
constructor(locale: string);
protected changed(year: number): void;
protected onClicked(statistic: DayStatistic, index: number): void;
protected onHovered(statistics: DayStatistic | undefined): void;
protected setColors(statistics: DayStatistic[]): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DailyStatisticsComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DailyStatisticsComponent, "obl-daily-statistics", never, { "settings": { "alias": "settings"; "required": false; }; "weakDayOffset": { "alias": "weakDayOffset"; "required": false; }; }, { "clicked": "clicked"; "selectionChanged": "selectionChanged"; }, ["totalRef", "selectedRef"], never, false, never>;
}
interface LegendSettings extends DaySettings {
text?: {
less: string;
more: string;
};
}
declare class DailyLegendComponent {
settings: i0.InputSignal<LegendSettings>;
sort: (p: any, c: any) => number;
static ɵfac: i0.ɵɵFactoryDeclaration<DailyLegendComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DailyLegendComponent, "obl-daily-legend", never, { "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
}
declare class DailyStatisticsModule {
static ɵfac: i0.ɵɵFactoryDeclaration<DailyStatisticsModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<DailyStatisticsModule, [typeof DailyStatisticsComponent, typeof DailyStatisticComponent, typeof DailyLegendComponent], [typeof i4.CommonModule, typeof i5.LoadingModule, typeof i6.YearPickerModule], [typeof DailyStatisticsComponent, typeof DailyStatisticComponent, typeof DailyLegendComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<DailyStatisticsModule>;
}
export { DailyLegendComponent, DailyStatisticComponent, DailyStatisticsComponent, DailyStatisticsModule };
export type { DailyStatisticsSettings, DaySettings, DayStatistic, LegendSettings };