UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

123 lines (122 loc) 3.04 kB
import type { ReactNode } from 'react'; import { IChartStyleOption } from '../../base-pandora-visualization/services/chart-style/charts/base'; import { ITimeRange } from '../../services/search-condition'; import { IKeyValues } from '../../models/base'; import { EThemeTypes } from '../../constants'; export declare const CHART_VERSION = "0.1.0"; export declare enum EOperationBarState { SHOW = "show", HIDE = "hide" } export declare enum TypeOfChart { Spl = "spl", VisualizationGui = "visualization-gui" } export interface ISettings { operationBarState: EOperationBarState; screenScale: number[]; layoutCols: number; layoutRowHeight: number; layoutMargin: [number, number]; } export declare enum EVariableType { TIME_INTERVAL = "timeinterval", QUERY_VALUE = "queryvalue", CONSTANTS = "constants", SERVER = "server" } interface IVariableTypeValue { [EVariableType.TIME_INTERVAL]: { num: number; unit: string; }; [EVariableType.QUERY_VALUE]: string[]; [EVariableType.CONSTANTS]: string[]; [EVariableType.SERVER]: string[]; } interface IVariableTypeOption { [EVariableType.TIME_INTERVAL]: void; [EVariableType.QUERY_VALUE]: { spl: string; field: string; multi: boolean; autoUpdate: boolean; }; [EVariableType.CONSTANTS]: { presets: string[]; multi: boolean; }; [EVariableType.SERVER]: { mode: 'host' | 'ip'; multi: boolean; }; } export interface IVariable<T extends EVariableType = any> { id: string; name: string; displayName?: string; type: EVariableType; value?: IVariableTypeValue[T]; option: IVariableTypeOption[T]; prefix?: string; suffix?: string; valuePrefix?: string; valueSuffix?: string; delimiter?: string; } export interface IDashboard { id?: string; title: string; description: string; refresh: number; time: ITimeRange; charts: IChart[]; variables?: IVariable[]; createTime?: number; updateTime?: number; version?: number; theme?: EThemeTypes; app?: string; options?: { settings?: ISettings; [key: string]: any; }; } export interface IReport { id?: string; name: string; chart: IChart; time: ITimeRange; } export interface ILayout { width: number; height: number; top: number; left: number; } export interface ITitle { name: string; color?: string; show?: boolean; } export interface IChart { id?: string; type?: TypeOfChart; isNew?: boolean; title?: ITitle; layout: ILayout; style: IChartStyleOption; action?: IKeyValues; line: { time?: ITimeRange; } & IKeyValues<any>; description?: string; version?: string; variables?: ReactNode; } export declare const defaultSettings: ISettings; export declare const defaultDashboard: IDashboard; export declare const variableTypeMapping: { [key in EVariableType]: string; }; export {};