fejn-kline
Version:
kline chart
412 lines (411 loc) • 9.5 kB
TypeScript
import type { ComponentPublicInstance, PropType } from 'vue';
import { config } from '../utils';
export type Data = config.KLineData | config.TvKlineData;
export type Ref = ComponentPublicInstance<any> | null;
export type LoadMore<T> = (ts: number | null, cb: (list: T[]) => void) => void;
export type MenuEmit = {
selectInterval: [interval: config.Interval, first: boolean];
editInterval: [intervals: config.Interval[]];
showIndicator: [];
selectGraph: [graph: number];
set: [];
screenshot: [];
fullScreen: [fullScreen: boolean];
};
export type PlusClickParams = {
clientX: number;
clientY: number;
pageX: number;
pageY: number;
screenX: number;
screenY: number;
symbol: string | null;
price: number;
};
export type Emit = {
/** 加号点击监听函数 */
plusClick: [plusParams: PlusClickParams];
};
export declare const propTypes: {
/** 支持的图表类型 */
types: {
type: PropType<config.KlineType[]>;
default: () => config.KlineType[];
};
/** 图表类型 */
type: {
type: PropType<config.KlineType>;
default: string;
};
/** TradingView 包路径 */
libraryPath: {
type: StringConstructor;
default: string;
};
/** TradingView 自定义 css 路径 */
customCssUrl: {
type: StringConstructor;
default: string;
};
/** 缓存 key */
storeKey: {
type: StringConstructor;
default: string;
};
/** 交易所名称 */
exchange: {
type: StringConstructor;
default: string;
};
/** 水印 */
watermark: {
type: PropType<HTMLElement | string>;
defatult: string;
};
/** 主题 */
theme: {
type: PropType<config.Theme>;
default: string;
};
/** 语言 */
lang: {
type: PropType<`${config.Lang}`>;
default: config.Lang;
};
/** 默认展示 ma 指标 */
showMa: {
type: BooleanConstructor;
default: boolean;
};
/** 默认展示成交量指标 */
showVol: {
type: BooleanConstructor;
default: boolean;
};
/** 时间周期 */
interval: {
type: PropType<config.Interval>;
default: config.Interval;
};
/** 支持的时间周期列表 */
intervals: {
type: PropType<config.Interval[]>;
default: () => config.Interval[];
};
/** 菜单已选时间区间 */
selectedIntervals: {
type: PropType<config.Interval[]>;
default: () => config.Interval[];
};
/** 图形 */
graph: {
type: NumberConstructor;
default: number;
};
/** 全屏 */
fullscreen: {
type: BooleanConstructor;
default: boolean;
};
/** 交易对 */
symbol: {
type: StringConstructor;
default: string;
};
/** 价格精度 */
pricePrecision: {
type: NumberConstructor;
default: number;
};
/** 数量精度 */
quantityPrecision: {
type: NumberConstructor;
default: number;
};
/** 数据加载中 */
loading: {
type: PropType<boolean>;
default: boolean;
};
/** loading 颜色 */
loadingColor: {
type: StringConstructor;
default: string;
};
/** 默认请求条数 */
limitSize: {
type: NumberConstructor;
default: number;
};
};
/** 菜单属性 */
export declare const menuProps: {
type: {
type: PropType<config.KlineType>;
default: string;
};
theme: {
type: PropType<config.Theme>;
default: string;
};
lang: {
type: PropType<`${config.Lang}`>;
default: config.Lang;
};
interval: {
type: PropType<config.Interval>;
default: config.Interval;
};
intervals: {
type: PropType<config.Interval[]>;
default: () => config.Interval[];
};
selectedIntervals: {
type: PropType<config.Interval[]>;
default: () => config.Interval[];
};
graph: {
type: NumberConstructor;
default: number;
};
fullscreen: {
type: BooleanConstructor;
default: boolean;
};
loading: {
type: PropType<boolean>;
default: boolean;
};
};
/** 定义 tvProps */
export declare const tvProps: {
libraryPath: {
type: StringConstructor;
default: string;
};
customCssUrl: {
type: StringConstructor;
default: string;
};
storeKey: {
type: StringConstructor;
default: string;
};
exchange: {
type: StringConstructor;
default: string;
};
watermark: {
type: PropType<HTMLElement | string>;
defatult: string;
};
theme: {
type: PropType<config.Theme>;
default: string;
};
lang: {
type: PropType<`${config.Lang}`>;
default: config.Lang;
};
showMa: {
type: BooleanConstructor;
default: boolean;
};
showVol: {
type: BooleanConstructor;
default: boolean;
};
interval: {
type: PropType<config.Interval>;
default: config.Interval;
};
graph: {
type: NumberConstructor;
default: number;
};
symbol: {
type: StringConstructor;
default: string;
};
pricePrecision: {
type: NumberConstructor;
default: number;
};
quantityPrecision: {
type: NumberConstructor;
default: number;
};
loading: {
type: PropType<boolean>;
default: boolean;
};
loadingColor: {
type: StringConstructor;
default: string;
};
limitSize: {
type: NumberConstructor;
default: number;
};
list: {
type: PropType<config.TvKlineData[]>;
default: () => never[];
};
latestData: {
type: PropType<config.TvKlineData | null>;
default: () => null;
};
loadMore: {
type: PropType<LoadMore<config.TvKlineData>>;
default: () => void;
};
};
/** 定义 simpleProps */
export declare const simpleProps: {
storeKey: {
type: StringConstructor;
default: string;
};
watermark: {
type: PropType<HTMLElement | string>;
defatult: string;
};
theme: {
type: PropType<config.Theme>;
default: string;
};
lang: {
type: PropType<`${config.Lang}`>;
default: config.Lang;
};
showMa: {
type: BooleanConstructor;
default: boolean;
};
showVol: {
type: BooleanConstructor;
default: boolean;
};
graph: {
type: NumberConstructor;
default: number;
};
pricePrecision: {
type: NumberConstructor;
default: number;
};
quantityPrecision: {
type: NumberConstructor;
default: number;
};
loading: {
type: PropType<boolean>;
default: boolean;
};
loadingColor: {
type: StringConstructor;
default: string;
};
limitSize: {
type: NumberConstructor;
default: number;
};
list: {
type: PropType<config.KLineData[]>;
default: () => never[];
};
latestData: {
type: PropType<config.KLineData | null>;
default: () => null;
};
loadMore: {
type: PropType<LoadMore<config.KLineData>>;
default: () => void;
};
};
export declare const Kline: {
types: {
type: PropType<config.KlineType[]>;
default: () => config.KlineType[];
};
type: {
type: PropType<config.KlineType>;
default: string;
};
libraryPath: {
type: StringConstructor;
default: string;
};
customCssUrl: {
type: StringConstructor;
default: string;
};
storeKey: {
type: StringConstructor;
default: string;
};
exchange: {
type: StringConstructor;
default: string;
};
watermark: {
type: PropType<HTMLElement | string>;
defatult: string;
};
theme: {
type: PropType<config.Theme>;
default: string;
};
lang: {
type: PropType<`${config.Lang}`>;
default: config.Lang;
};
showMa: {
type: BooleanConstructor;
default: boolean;
};
showVol: {
type: BooleanConstructor;
default: boolean;
};
intervals: {
type: PropType<config.Interval[]>;
default: () => config.Interval[];
};
symbol: {
type: StringConstructor;
default: string;
};
pricePrecision: {
type: NumberConstructor;
default: number;
};
quantityPrecision: {
type: NumberConstructor;
default: number;
};
loading: {
type: PropType<boolean>;
default: boolean;
};
loadingColor: {
type: StringConstructor;
default: string;
};
limitSize: {
type: NumberConstructor;
default: number;
};
list: {
type: PropType<config.TvKlineData[] & config.KLineData[]>;
default: () => never[];
};
latestData: {
type: PropType<(config.TvKlineData & config.KLineData) | null>;
default: () => null;
};
loadMore: {
type: PropType<LoadMore<config.TvKlineData & config.KLineData>>;
default: () => void;
};
};