diff --git a/src/editor/core/contextmenu/ContextMenu.ts b/src/editor/core/contextmenu/ContextMenu.ts index 68bef9a..d57d6b7 100644 --- a/src/editor/core/contextmenu/ContextMenu.ts +++ b/src/editor/core/contextmenu/ContextMenu.ts @@ -8,6 +8,7 @@ import { Position } from '../position/Position' import { RangeManager } from '../range/RangeManager' import { controlMenus } from './menus/controlMenus' import { globalMenus } from './menus/globalMenus' +import { hyperlinkMenus } from './menus/hyperlinkMenus' import { imageMenus } from './menus/imageMenus' import { tableMenus } from './menus/tableMenus' @@ -40,7 +41,8 @@ export class ContextMenu { ...globalMenus, ...tableMenus, ...imageMenus, - ...controlMenus + ...controlMenus, + ...hyperlinkMenus ] this.contextMenuContainerList = [] this.contextMenuRelationShip = new Map() diff --git a/src/editor/core/contextmenu/menus/hyperlinkMenus.ts b/src/editor/core/contextmenu/menus/hyperlinkMenus.ts new file mode 100644 index 0000000..fdfd53c --- /dev/null +++ b/src/editor/core/contextmenu/menus/hyperlinkMenus.ts @@ -0,0 +1,33 @@ +import { ElementType } from '../../../dataset/enum/Element' +import { IRegisterContextMenu } from '../../../interface/contextmenu/ContextMenu' +import { Command } from '../../command/Command' + +export const hyperlinkMenus: IRegisterContextMenu[] = [ + { + name: '删除链接', + when: (payload) => { + return payload.startElement?.type === ElementType.HYPERLINK + }, + callback: (command: Command) => { + console.log('command: ', command) + } + }, + { + name: '取消链接', + when: (payload) => { + return payload.startElement?.type === ElementType.HYPERLINK + }, + callback: (command: Command) => { + console.log('command: ', command) + } + }, + { + name: '打开链接', + when: (payload) => { + return payload.startElement?.type === ElementType.HYPERLINK + }, + callback: (command: Command) => { + console.log('command: ', command) + } + } +] \ No newline at end of file