@alicloud/cloud-charts
Version:

138 lines (137 loc) • 4.51 kB
TypeScript
import { Colors, Types } from './types';
import isEqual from 'lodash/isEqual';
import isEqualWith from 'lodash/isEqualWith';
import merge from 'lodash/merge';
export { isEqual, isEqualWith, merge };
export declare const requestAnimationFrame: ((callback: FrameRequestCallback) => number) & typeof globalThis.requestAnimationFrame;
export declare const propertyMap: {
axis: string[];
};
/**
* 向目标对象拷贝指定的key的值
*
* @param {string[]} keys 判断的key
* @param {Object} target 目标对象
* @param {Object} source 源对象
*
* @return {Object} 目标对象
* */
export declare function propertyAssign(keys: string[], target: Types.LooseObject, source: Types.LooseObject | false): Types.LooseObject;
/**
* 找到对应元素的父元素的大小
*
* @param {element} element Html元素
* @param {number | string} width props中传递的width属性
* @param {number | string} height props中传递的height属性
*
* @return {number[]} 宽和高的数组
* */
export declare function getParentSize(element: HTMLElement, width: number | string, height: number | string): number[];
/**
* 将像素字符串转为数值
*
* @param {string} px 像素字符串
*
* @return {number} 数值
* */
export declare function pxToNumber(px: string): number;
/**
* 从Highcharts格式数据中找到对应index的颜色
*
* @param {array} colors 颜色数组
* @param {array} rawData Highcharts 格式的数据
* @param {number} dataIndex y轴对应的index
* */
export declare function getDataIndexColor(colors: Colors, rawData: any[], dataIndex: number): string | void;
/** 主题关键字 */
/** 颜色映射, 主要针对状态色 */
export declare function mapColors(colors: Colors): string | string[] | Types.ColorAttrCallback;
/**
* 根据状态获得颜色值
*
* @param {string} status 状态字符串
*
* @return {string} 颜色值
* */
export declare function getStatusColor(status: string): any;
/**
* 根据状态获得颜色名称
*
* @param {string} status 状态字符串
*
* @return {string} 颜色名称
* */
export declare function getStatusColorName(status: string): string;
/**
* 判断是否是有效数字
*
* @param v 输入值
*
* @return {boolean} 是否有效数字
* */
export declare function isInvalidNumber(v: any): boolean;
/**
* 数字格式化小数位
*
* @param {number} num 输入数字
* @param {number} decimal 小数位数,默认两位
*
* @return {string|number} 如果不是数字,返回横杠字符串。如果是数字,返回设定小数位的字符串。
* */
export declare function numberDecimal(num: any, decimal?: number): any;
/**
* 数字格式化千分位
*
* @param {number} num 输入数字
* @param {number} char 分隔符,默认为逗号
*
* @return {string|number} 如果不是数字,返回横杠字符串。如果是数字,返回千分位的字符串。
* */
export declare function beautifyNumber(num: any, char?: string): any;
/**
* 空函数
* */
export declare function noop(): void;
/**
* tooltip item 获取原始数据
*
* @param {object} config 图表配置项
* @param {array} rawData 挂载于 this.rawData 上的原始数据
* @param {number} item tooltip格式化函数的当前数据项
*
* @return {object} 寻找得到的原始数据,没有找到则返回空对象。
* */
export declare function getRawData(config: {
dataType?: string;
}, rawData: any[], item: any): any;
/**
* 过滤对象中的key,常用于过滤传递给div的props,防止react invalid attribute warning
*
* @param {object} obj 过滤的对象
* @param {array} keys 过滤的键列表
*
* @return {object} 过滤后的结果
* */
export declare function filterKey(obj: Types.LooseObject, keys: string[]): Types.LooseObject;
/**
* 处理图表库中的默认padding值的通用函数
*
* @param {padding} padding 用户配置的padding值
* @param {object} config 合并了默认配置后的最终配置项
* 以下参数非必选
* @param {number} [defaultTop] 默认top padding
* @param {number} [defaultRight] 默认right padding
* @param {number} [defaultBottom] 默认bottom padding
* @param {number} [defaultLeft] 默认left padding
*
* @return
* */
export interface customFormatterConfig {
unit?: string;
decimal?: number;
grouping?: boolean | string;
}
/**
* 自定义格式化函数,支持 单位、小数位、千分位 处理
* */
export declare function customFormatter(config: customFormatterConfig): (v: any) => string;