@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
62 lines (61 loc) • 3.17 kB
TypeScript
/// <reference types="hoist-non-react-statics" />
/// <reference types="jspdf" />
import React from 'react';
import PropTypes from 'prop-types';
import BasicComponent from '../../components/Base/BasicComponent';
import { IThemeContext } from '../../context/theme';
import ThemeService from '../../services/theme/registerTheme';
import { EThemeTypes } from '../../constants';
import VariableWrapper, { TValue } from './VariableWrapper';
import Store from './store';
export * from './constants';
export * from './transform';
export * from './OperationBar';
export { calcVariableMap, replaceVariable } from './VariableWrapper';
export interface IBaseDashboardProps {
className?: string;
theme?: EThemeTypes;
isEditing?: boolean;
screenRatio?: number;
loading?: boolean;
backgroundColor?: string;
fullscreen?: string;
getPopupContainer?: () => HTMLElement;
getModalContainer?: () => HTMLElement;
onToggleFullscreen?: (isFullscreen: boolean) => void;
variableMap?: IKeyValues<TValue>;
replaceVariable?: (target: string, variables?: IKeyValues<TValue>) => void;
}
export default class BaseDashboard extends BasicComponent<IBaseDashboardProps, any> {
static VariableWrapper: typeof VariableWrapper;
static OperationBar: React.ComponentClass<import("./OperationBar").IOperationBarProps, any> & import("hoist-non-react-statics").NonReactStatics<(React.ComponentClass<import("./OperationBar").IOperationBarProps, any> & typeof import("./OperationBar").OperationBar) | (React.FunctionComponent<import("./OperationBar").IOperationBarProps> & typeof import("./OperationBar").OperationBar), {}>;
static Panel: React.ComponentClass<import("./Panel").IPanelProps, any> & import("hoist-non-react-statics").NonReactStatics<(React.ComponentClass<import("./Panel").IPanelProps, any> & typeof import("./Panel").Panel) | (React.FunctionComponent<import("./Panel").IPanelProps> & typeof import("./Panel").Panel), {}>;
uid: string;
themeService: ThemeService;
static childContextTypes: {
baseDashboardStore: PropTypes.Requireable<object>;
toggleFullscreen: PropTypes.Requireable<(...args: any[]) => any>;
getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
getModalContainer: PropTypes.Requireable<(...args: any[]) => any>;
getDashboardCanvas: PropTypes.Requireable<(...args: any[]) => any>;
getDashboardPDF: PropTypes.Requireable<(...args: any[]) => any>;
themeService: PropTypes.Requireable<object>;
};
getChildContext(): {
baseDashboardStore: Store;
toggleFullscreen: () => void;
getPopupContainer: () => any;
getModalContainer: () => any;
getDashboardCanvas: () => Promise<HTMLCanvasElement>;
getDashboardPDF: () => Promise<import("jspdf").jsPDF>;
themeService: ThemeService;
};
get themeContext(): IThemeContext;
store: Store;
updateIsFullscreen(): void;
toggleFullscreen(): void;
replaceVariable(target: string, variables?: IKeyValues<TValue>): string;
componentDidMount(): void;
componentWillUnmount(): void;
render(): React.JSX.Element;
}