@alauda-fe/common
Version:
Alauda frontend team common codes.
73 lines (72 loc) • 2.9 kB
TypeScript
import { InjectionToken } from '@angular/core';
import { ScaleBand, ScaleLinear, ScalePoint, ScaleTime } from 'd3';
import { BehaviorSubject, Subject } from 'rxjs';
import { ChartData } from '../view-chart/types';
import { LegendItem } from './common/legend/legend.component';
import { ChartMargin, ChartView, DomainParams, Orientation, SeriesData } from './types';
import { ScaleType } from './utils';
import * as i0 from "@angular/core";
export declare const CHART_COLORS_TOKEN: InjectionToken<string[]>;
interface LegendChangePayload {
legendItem: LegendItem;
legends: LegendItem[];
}
export declare class ContextChartService {
private readonly chartColors;
margin: ChartMargin;
chartView: ChartView;
update$$: Subject<void>;
legendChange$$: Subject<LegendChangePayload>;
legendActivate$$: Subject<string>;
disabledLegend: Set<string>;
showXLabel: boolean;
showYLabel: boolean;
yScaleMin: number;
yScaleMax: number;
xSeriesValue: Array<string | number | Date>;
ySeriesValue: number[];
_scaleType: ScaleType;
barOptions: {
isBand: boolean;
orientation: Orientation | string;
type: string;
};
chartData: ChartData[];
chartData$: BehaviorSubject<ChartData[]>;
seriesData$: BehaviorSubject<SeriesData[]>;
triggerInitData$: BehaviorSubject<ChartData[]>;
ySeriesDomain: number[];
xSeriesDomain: unknown[];
cacheDomainParams: DomainParams;
cacheXScale: ScaleLinear<number, number> | ScaleTime<number, number> | ScalePoint<string>;
cacheYScale: ScaleLinear<number, number>;
noData: boolean;
cacheScale: ScaleLinear<number, number>;
noData$: import("rxjs").Observable<boolean>;
get scaleType(): ScaleType;
set scaleType(type: ScaleType);
get x(): ScaleLinear<number, number, never> | ScaleTime<number, number, never> | ScalePoint<string>;
get y(): ScaleLinear<number, number, never>;
get innerDomain(): string[];
get colors(): string[];
get horizontal(): boolean;
constructor(chartColors: string[]);
initContext(): void;
setChartData(data: ChartData[]): void;
barInnerScale: (barPadding?: number) => ScaleBand<string>;
calculateY: () => ScaleLinear<number, number, never>;
updateChartView(width?: number, height?: number, margin?: ChartMargin): void;
getChartDefaultColor: (index: number) => string;
private calculationYDomain;
calculationYAxisMax(): void;
private getYSeriesItemDomain;
private getXScale;
private adoptCache;
selectedLegend(payload: LegendChangePayload): void;
selectedAllLegend(): void;
unselectAllLegend(legends: string[]): void;
deactivateLegend(payload: LegendChangePayload): void;
static ɵfac: i0.ɵɵFactoryDeclaration<ContextChartService, [{ optional: true; }]>;
static ɵprov: i0.ɵɵInjectableDeclaration<ContextChartService>;
}
export {};