UNPKG

yanyan-ui

Version:

适用于vue3的前端xy组件库

392 lines (377 loc) 12.6 kB
import type {formatDateNum, MessageTypes, dataType, deepLookupData} from './types/tools' import type {MessageBoxState} from "element-plus"; import type {VNode } from "vue" import type { animationItem, animationCriticalItem, rangeTargetID, framesConfig, animationRangeItem, TimingType, animationItemSet, numberAnimationType } from "./types/animationType/pageAnimation" /** * 安装插件到Vue应用中 * @param app Vue应用实例 */ export declare const install: (app: import("vue").App<any>) => void; /**工具类集合*/ export declare const Tools: { /** * 转换时间格式 * @param format 时间格式 * @param date 时间 formatDate对象 | Date对象 | 时间戳 * @returns 返回一个字符串,格式为对应的时间格式 * @example Tools.convertTimeFormat('YYYY-MM-DD HH:mm:ss',new Date()) * */ convertTimeFormat(format: string, date: formatDateNum | Date | number):string; /** * 根据模板直接转换日期格式 * @param date 日期字符串年月日之间必须有任意非数字分隔符 * @param targetFormat 目标的日期格式 * @returns 返回一个字符串,格式为targetFormat的日期格式 * @example Tools.convertDateFormatByTemplate('2021-01-01','YYYY年MM月DD日') * */ convertDateFormatByTemplate(date: string, targetFormat: string):string; /** * 数组分类函数 * @param array 需要分类的数组 * @param rules 分类规则 * @returns 返回一个对象,包含分类后的数组 */ groupBy(array: object[], rules: string | Function):object | { true: [], false: [] }; /** * 深拷贝 * @param data 需要拷贝的元素 * @returns 深拷贝后的元素 */ deepCopy(data:any):any; /** * 更具key数组去重 * @param array 需要去重的数组 * @param key 去重的key * @returns {Array<any>} */ accordingToKeyUnique(array: Array<any>, key?: string):Array<any>; /** * 防抖函数 * @param fn 需要防抖的函数 * @param delay 防抖时间 */ debounce(fn: Function, delay: number):Function; /** * base64转file * @param urlData base64数据 * @param fileName 文件名 * @returns {File}返回一个file对象 */ // @ts-ignore base64ToFile(urlData: string, fileName: string):File; /** * file转base64 * @param file file对象 * @param callBack 回调函数 */ fileToBase64(file:File,callBack:(baseStr:any)=>void):void; /** * 显示消息框 * @param type 消息类型(success / info / warning / error) * @param message 消息内容 * @param offset 消息框距离窗口顶部的偏移量 * @param duration 显示时间, 毫秒。设为 0 则不会自动关闭 * @param grouping 合并内容相同的消息,不支持 VNode 类型的消息 * @param dangerouslyUseHTMLString 是否将 message 属性作为 HTML 片段处理 */ showMsg( type: MessageTypes, message: string | VNode, offset: number = 60, duration: number = 3000, grouping: boolean = true, dangerouslyUseHTMLString?: boolean ): void; /** * 显示确认框 * @param message 消息内容 * @param callback 若不使用 Promise,可以使用此参数指定 MessageBox 关闭后的回调 * @param title 消息标题 * @param type 消息类型(success / info / warning / error) * @param cancel 在外部自定义捕获异常时的回调 * @param distinguishCancelAndClose 是否将取消(点击取消按钮)与关闭(点击关闭按钮或遮罩层、按下 Esc 键)进行区分 * @param showCancelButton 是否显示取消按钮 * @param showConfirmButton 是否显示确定按钮 * @param confirmButtonText 确定按钮的文本内容 * @param cancelButtonText 取消按钮的文本内容 */ showConfirm( message: string, callback: Function, title?: string, type?: MessageBoxState["type"], cancel?: Function, distinguishCancelAndClose: boolean = false, showCancelButton: boolean = true, showConfirmButton: boolean = true, confirmButtonText: string = "确定", cancelButtonText: string = "取消" ): void; /** * 消息提示框 * @param message 消息内容 * @param showClose MessageBox 是否显示右上角关闭按钮 * @param title 消息标题 * @param type 消息类型(success / info / warning / error) * @param distinguishCancelAndClose 是否将取消(点击取消按钮)与关闭(点击关闭按钮或遮罩层、按下 Esc 键)进行区分 * @param showCancelButton 是否显示取消按钮 * @param showConfirmButton 是否显示确定按钮 * @param confirmButtonText 确定按钮的文本内容 * @param cancelButtonText 取消按钮的文本内容 * @param callback 若不使用 Promise,可以使用此参数指定 MessageBox 关闭后的回调 * @param cancel 在外部自定义捕获异常时的回调 */ showAlert( message: string, showClose: boolean = true, title: string = "提示", type: MessageBoxState["type"] = "error", distinguishCancelAndClose: boolean = false, showCancelButton: boolean = false, showConfirmButton: boolean = false, confirmButtonText: string = "确定", cancelButtonText: string = "取消", callback: Function, cancel?: Function, ):void; /** * 获取数据类型 * @param sourceData 源数据 */ getType(sourceData: T): dataType; /** * 列表各项添加深度和位置信息 * @param targetList 目标列表 * @param indentStep 深度步进值 * @param initialIndentValue 初始深度值 * @param currentPos 第一项位置的初始值 * @returns 处理后的列表和下一个位置 */ calculateItemDepth( targetList: object[], indentStep?: number = 1, initialIndentValue?: number = 0, currentPos?: number = 0 ):{ nextPos: number; updatedList: { [p: string]: any; indentValue: number; children?: any[]; listPosition: number }[] } /** * 深度搜索 * @param dataList 目标数组 * @param findRules 查找规则 * @returns返回一个数组,包含查找到的元素 */ deepLookup (dataList: Array<deepLookupData>, findRules: (item:deepLookupData)=>Boolean): deepLookupData[]; /** * 节流函数 * @param fn 需要节流的函数 * @param delay 节流时间 */ throttle(fn:Function, delay:number):Function; /** * 复制文本 * @param text 文本 * @param ifShowMsg 是否显示消息 * @returns {Promise<{code:number,message:string}>}返回一个Promise对象 code=200成功,code=100失败 */ copyText(text:string,ifShowMsg?:Boolean): Promise<{code:number,message:string}> /** * 改变颜色 * @param colorValue 16进制颜色值 或 rgb() 或 rgba() * @param degree 改变的程度,负数加深颜色/透明度变小;正数颜色变浅/透明度变大 * @param originally 返回结果和原本类型一致,false时输出16进制颜色值 * @returns 返回改变后的颜色值 */ changeColor(colorValue: string, degree: number, originally: boolean = true):string; /** * 区间随机整数 * @param min 最小值 * @param max 最大值 * @returns {number}返回一个随机整数 */ randomInterval(min,max): number; /** * 设置 CSS 变量的值 * @param cssVarName CSS 变量名 * @param value CSS 变量值 * */ setCssVar(cssVarName: string, value: string):void /** * 获取 CSS 变量的值 * @param cssVarName CSS 变量名 * @returns {string}返回 CSS 变量值 * */ getCssVar(cssVarName: string):string }; /**动画类集合*/ export declare const AnimationUtils: { /** * 动画监听器-执行动画 * @param observerId 需要进行监听交叉操作的元素ID * @param elementIDList 所有需要操作的元素id * @param currentPlatingElement 当前页面的id和根元素id(app) * @param animationList 需要操作的元素的配置 * @param animationCriticalList 需要操作的元素的临界值配置 */ animationObserver( observerId: string, elementIDList: string[], currentPlatingElement: rangeTargetID, animationList: animationItem[], animationCriticalList?: animationCriticalItem[] ): void; /** * 生成animationList的config * @param animationList 动画配置列表 -- 均匀变化 * @param framesConfigs 动画帧配置列表 * @param animationRange 动画帧范围 * @return 完善后的动画配置列表 */ setAnimationListConfig( animationList: animationItemSet[], framesConfigs: framesConfig, animationRange: animationRangeItem ): animationItem[]; /** * svg动画 * @param time 动画时间 * @param timingFunction 动画时间函数 * @param lineClassName 类名 * @param color 颜色 * @param strokeWidth 线宽 * @param strokeLinecap 线头样式 * @param fill 填充 */ svgAnimation( time: number = 2, timingFunction:TimingType='ease', lineClassName: string = ".svgLine", color: string = "#000", strokeWidth: string = "5", strokeLinecap: string = "round", fill: string = "none" ):void; /** * 数字动画函数 * @param duration 动画持续时间 ms * @param from 起始值 * @param to 结束值 * @param callback 回调函数 * @param animationType 动画类型 */ numberAnimate( duration: number, from: number, to: number, callback: (value: number) => void, animationType?: numberAnimationType ): void }; /**表示图形的总类-用于自定义图形时继承此类。*/ export declare class Graph{ protected _color: string; private _startX: number; private _startY: number; private _endX: number; private _endY: number; protected _ctx: CanvasRenderingContext2D; private readonly _vasWidth: number; private readonly _vasHeight: number; protected _dpi: number; /** * 构造函数 - 创建一个图形。 * @param color - 图形的颜色。 * @param startX - 起始的 X 坐标。 * @param startY - 起始的 Y 坐标。 * @param ctx - 绘图上下文。 * @param width - 画布的宽度。 * @param height - 画布的高度。 * @param dpi - DPI 缩放系数。 */ constructor( color:string, startX:number, startY:number, ctx:CanvasRenderingContext2D, width:number, height:number, dpi:number ); /** * 设置终止的 X 坐标。 * @param value - 新的终止 X 坐标。 */ endX(value:number):void; /** * 设置终止的 Y 坐标。 * @param value - 新的终止 Y 坐标。 */ endY(value:number):void; //最小X坐标 minX:number; //最大X坐标 maxX:number; //最小Y坐标 minY:number; //最大Y坐标 maxY:number; } /**绘制对象.*/ // DrawGraph.d.ts export declare class DrawGraph { /** * 构造函数 - 创建一个绘图对象。 * @param canvas - 画布元素。 * @param ctx - 画布上下文。 */ constructor( canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D ); /** * 初始化绘图 * @param width - 画布宽度 * @param height - 画布高度 * @param canvasBG - 画布背景颜色 * @param graphColor - 图形颜色 */ init(width: number, height: number, canvasBG: string, graphColor: string): void; /** * 修改画布背景颜色 * @param canvasBG - 画布背景颜色 * */ changeCanvasBG(canvasBG:string):void /** * 销毁绘图 */ destruction(): void; /** * 设置自定义图形 * @param customShape - 自定义图形 */ setShape(customShape: Object): void; /** * 设置当前图形 * @param currentGraph - 当前图形 */ setCurrentGraph(currentGraph: string): void; /** * 改变填充颜色 * @param graphColor - 填充颜色 */ changeGraphColor(graphColor: string): void; /** * 下载canvas * */ downloadCanvas():void }