UNPKG

word-marker

Version:

The library used to tag web page text, which can store tag information.

158 lines (157 loc) 4.31 kB
import * as WM from './type'; export declare const defaultAttribute = "data-mark-id"; /** * 获取随机字符串 * @param num * @returns */ export declare const getUUID: (num: number) => string; export declare const isText: (val: any) => boolean; /** * 节流函数 * @param fn * @param lazy */ export declare const throttle: (fn: () => void, lazy?: number) => () => void; /** * 获取canvas的Y轴偏移量 * @param canvas * @returns */ export declare const getCanvasTranslateY: (canvas: HTMLCanvasElement) => number; /** * 获取当前文本元素的祖先元素信息用于定位 * @param ele * @param parentEle * @returns */ export declare const getParentInfo: (ele: Text, parentEle: HTMLElement) => string; /** * 获取父级元素下的所有文本 * @param ele * @param parentEle * @returns */ export declare const getParentText: (ele: Text, parentEle: HTMLElement) => string; /** * 创建canvas * @param parentEle * @returns */ export declare const createCanvas: (parentEle: HTMLElement, lazyLoad: boolean, zIndex?: number) => HTMLCanvasElement; /** * 刷新标记 * @param ctx * @param messages * @param container * @param options */ export declare const refreshMark: (ctx: CanvasRenderingContext2D, messages: WM.Message[], options: WM.WordMarkOptions) => void; /** * 删除标记 * @param ctx * @param data * @param messages * @param id * @param options */ export declare const deleteMark: (ctx: CanvasRenderingContext2D, data: WM.MarkData[], messages: WM.Message[], id: string, options: WM.WordMarkOptions) => void; export declare const getActualRects: (ctx: CanvasRenderingContext2D, container: HTMLElement, range: Range, callback?: ((range: WM.Range) => void) | undefined) => WM.Range[]; /** * 高亮标记 * @param ctx * @param data * @param messages * @param container * @param options */ export declare const render: (ctx: CanvasRenderingContext2D, data: WM.MarkData, messages: WM.Message[], container: HTMLElement, options: WM.WordMarkOptions) => void; /** * 获取元素的属性值 * @param el * @param attribute * @returns */ export declare const getAttribute: (el?: HTMLElement | null, attribute?: string) => string; /** * 删除元素的属性 * @param el * @param attribute * @returns */ export declare const removeAttribute: (el?: HTMLElement | null, attribute?: string) => void; /** * 设置元素的属性值 * @param el * @param attribute * @returns */ export declare const setAttribute: (el?: HTMLElement | null, attribute?: string, value?: string) => void; /** * 自动标记数据 * @param ele * @param text */ export declare function selectText(ele: HTMLElement, text: string): void; /** * 获取锚点元素 * @param ele * @param text * @returns */ export declare function getAnchorNode(ele: HTMLElement, text: string): { firstNode: { index: number; node: ChildNode; }; endNode: { index: number; node: ChildNode; }; } | undefined; /** * 处理标记数据的 attribute * @param data * @param attribute * @returns */ export declare const handleAttribute: (data: WM.MarkData, attribute?: string) => void; /** * 获取标记数据 * @param container * @param selection * @param options * @returns */ export declare const getMarkData: (container: HTMLElement, selection: Selection) => { id: string; startEle: Text; startOffset: number; startText: string; startBrother: string; startParentText: string; endEle: Text; endOffset: number; endText: string; endBrother: string; endParentText: string; text: string; message: string; single: boolean; } | undefined; /** * 对存储的数据进行处理 * @param container * @param data * @param options */ export declare const initHandler: (container: HTMLElement, data: WM.MarkData[], options: WM.WordMarkOptions) => void; /** * 初始化 * @param canvas * @param data * @param messages * @param container * @param options */ export declare const init: (canvas: HTMLCanvasElement, data: WM.MarkData[], messages: WM.Message[], container: HTMLElement, options: WM.WordMarkOptions) => void;