123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- /**
- * @description 编辑区域,入口文件
- * @author wangfupeng
- */
- import { DomElement } from '../utils/dom-core';
- import Editor from '../editor/index';
- import { NodeListType } from './getChildrenJSON';
- /** 按键函数 */
- declare type KeyBoardHandler = (event: KeyboardEvent) => unknown;
- /** 普通事件回调 */
- declare type EventHandler = (event?: Event) => unknown;
- declare type TextEventHooks = {
- onBlurEvents: EventHandler[];
- changeEvents: (() => void)[];
- dropEvents: ((event: DragEvent) => unknown)[];
- clickEvents: EventHandler[];
- keydownEvents: KeyBoardHandler[];
- keyupEvents: KeyBoardHandler[];
- /** tab 键(keyCode === )Up 时 */
- tabUpEvents: KeyBoardHandler[];
- /** tab 键(keyCode === 9)Down 时 */
- tabDownEvents: KeyBoardHandler[];
- /** enter 键(keyCode === 13)up 时 */
- enterUpEvents: KeyBoardHandler[];
- /** enter 键(keyCode === 13)down 时 */
- enterDownEvents: KeyBoardHandler[];
- /** 删除键(keyCode === 8)up 时 */
- deleteUpEvents: KeyBoardHandler[];
- /** 删除键(keyCode === 8)down 时 */
- deleteDownEvents: KeyBoardHandler[];
- /** 粘贴事件 */
- pasteEvents: ((e: ClipboardEvent) => void)[];
- /** 点击链接事件 */
- linkClickEvents: ((e: DomElement) => void)[];
- /** 点击代码事件 */
- codeClickEvents: ((e: DomElement) => void)[];
- /** 编辑区域滑动事件 */
- textScrollEvents: EventHandler[];
- /** 菜单栏被点击 */
- toolbarClickEvents: EventHandler[];
- /** 图片被点击事件 */
- imgClickEvents: ((e: DomElement) => void)[];
- /** 图片拖拽MouseDown */
- imgDragBarMouseDownEvents: (() => void)[];
- /** 表格点击 */
- tableClickEvents: (($dom: DomElement, e: MouseEvent) => void)[];
- /** 每个菜单被点击时,按理说这个不属于 txt 的,先暂时在这放着吧 */
- menuClickEvents: (() => void)[];
- /** droplist 菜单悬浮事件。暂时放这里 */
- dropListMenuHoverEvents: (() => void)[];
- /** 点击分割线时 */
- splitLineEvents: ((e: DomElement) => void)[];
- /** 视频点击事件 */
- videoClickEvents: ((e: DomElement) => void)[];
- };
- declare class Text {
- editor: Editor;
- eventHooks: TextEventHooks;
- constructor(editor: Editor);
- /**
- * 初始化
- */
- init(): void;
- /**
- * 切换placeholder
- */
- togglePlaceholder(): void;
- /**
- * 清空内容
- */
- clear(): void;
- /**
- * 设置/获取 html
- * @param val html 字符串
- */
- html(val?: string): void | string;
- /**
- * 将json设置成html至编辑器
- * @param nodeList json格式
- */
- setJSON(nodeList: NodeListType): void;
- /**
- * 获取 json 格式的数据
- */
- getJSON(): NodeListType;
- /**
- * 设置 字符串内容
- * @param val text 字符串
- */
- text(val: string): void;
- /**
- * 获取 字符串内容
- */
- text(): string;
- /**
- * 追加 html 内容
- * @param html html 字符串
- */
- append(html: string): void;
- /**
- * 每一步操作,都实时保存选区范围
- */
- private _saveRange;
- /**
- * 绑定事件,事件会触发钩子函数
- */
- private _bindEventHooks;
- }
- export default Text;
|