UNPKG

@future-grid/fgp-graph

Version:

fgp-graph is a chart lib based on Dygraphs

88 lines (87 loc) 2.52 kB
import Dygraph from "dygraphs"; import { ViewConfig, ViewOptions } from "./metadata/configurations"; import { EventHandlers } from './metadata/graphoptions'; import { GraphOperator } from "./widgets/GraphRenderer"; export default class FgpGraph { graphContainer: HTMLElement; body: HTMLElement; graph: Dygraph; private rangeBarGraph; viewConfigs: Array<ViewConfig>; private parentDom; syncLegend: boolean; intervalLabelsArea: HTMLElement; children: Array<FgpGraph>; currentDateWindow: number[]; id: string; operator: GraphOperator; eventListeners?: EventHandlers; private graphDateWindow; private readonly syncViews; /** *Creates an instance of FgpGraph. * @param {HTMLElement} dom * graph container * @param {Array<ViewConfig>} viewConfigs * graph configuration * @memberof FgpGraph */ constructor(dom: HTMLElement, viewConfigs: Array<ViewConfig>, eventHandlers?: EventHandlers, syncViews?: boolean); /** *update datewindow for children graphs * @param datewindow * @param currentView * @private * @memberof FgpGraph */ private dateWindowHandler; /** * func for switching view * @param view */ changeView: (view: string) => void; /** * init graph with configuration * * @private * @memberof FgpGraph */ initGraph: (ready?: ((g: FgpGraph) => void) | undefined, needSync?: boolean | undefined) => false | undefined; /** *update currrent graph datewindow * @param datewindow * @memberof FgpGraph */ updateDatewinow: (datewindow: [number, number]) => void; updateDatewinowInside: (datewindow: [number, number], forceReload?: boolean | undefined) => void; /** *bind children graphs * @param graphs * children graphs * @memberof FgpGraph */ setChildren: (graphs: FgpGraph[]) => void; /** * highlight line on graph * @param series * name of lines * @param duration * unhighlight after <duration> seconds 0 means highlight forever * * @memberof FgpGraph */ highlightSeries: (series: string[], duration: number, type?: string | undefined) => void; /** * reload data for graph. base on series not changed! */ reloadData: () => void; /** * do it later * @param config */ updateConfig: (config: ViewOptions) => string; /** * clear graph */ clear: () => void; }