@whitesev/utils
Version:
一个常用的工具库
78 lines (73 loc) • 2.56 kB
TypeScript
export interface UtilsGMMenuClickCallBackData {
/** 菜单键名 */
key: string;
/** 是否启用 */
enable: boolean;
/** 点击前的enable值 */
oldEnable: boolean;
/** 触发的事件 */
event: MouseEvent | KeyboardEvent;
/** 将enable值写入本地的回调,设置参数false就不保存到本地 */
storeValue(enable: boolean): void;
}
export interface UtilsGMMenuOption {
/** 菜单的本地键key,不可重复,会覆盖 */
key: string;
/** 菜单的文本 */
text: string;
/** (可选)菜单的开启状态,默认为false */
enable?: boolean;
/** (可选)使用条件:TamperMonkey版本>5.0,如果id和已注册的菜单id相同,可修改当前已注册菜单的options */
id?: number;
/** (可选)An optional access key. Please see the description below. Either options or accessKey can be specified. */
accessKey?: string;
/** (可选)自动关闭菜单,可不设置 */
autoClose?: boolean;
/** 使用条件:TamperMonkey版本>5.0,使用菜单项的鼠标悬浮上的工具提示*/
title?: string;
/** (可选)点击菜单后自动刷新网页,默认为true */
autoReload?: boolean;
/** 菜单的显示文本,未设置的话则自动根据enable在前面加上图标 */
showText(text: string, enable: boolean): string;
/** 点击菜单的回调 */
callback(data: UtilsGMMenuClickCallBackData): void;
/** 是否允许菜单进行存储值,默认true允许 */
isStoreValue?: boolean;
}
export interface UtilsGMMenuHandledOption extends UtilsGMMenuOption {
/**
* 删除该菜单
*/
deleteMenu(): void;
}
export interface UtilsGMMenuOptionData {
/**
* 菜单id
*/
id?: number;
/**
* 菜单配置
*/
data: UtilsGMMenuOption;
/**
* 处理后的菜单配置
* 对autoReload进行处理,如果未赋值,按默认的true赋值
* 对isStoreValue进行处理,如果未赋值,按默认的true赋值
* 新增一个deleteMenu
*/
handleData?: UtilsGMMenuHandledOption;
}
export interface UtilsGMMenuConstructorOptions {
/** (可选)配置*/
data?: UtilsGMMenuOption[];
/** (可选)全局菜单点击菜单后自动刷新网页,默认为true */
autoReload?: boolean;
/** 油猴函数 @grant GM_getValue */
GM_getValue: any;
/** 油猴函数 @grant GM_setValue */
GM_setValue: any;
/** 油猴函数 @grant GM_registerMenuCommand */
GM_registerMenuCommand: any;
/** 油猴函数 @grant GM_unregisterMenuCommand */
GM_unregisterMenuCommand: any;
}