From e80af41f3795c8799db64147de043964359baf1f Mon Sep 17 00:00:00 2001 From: Anna No Date: Mon, 30 Oct 2023 22:38:31 +0700 Subject: [PATCH] EZQMS-327: move inline comments to platform popups (#3909) Signed-off-by: Anna No --- .../src/components/CollaboratorEditor.svelte | 10 +++++++++- .../text-editor/src/components/extension/nodeUuid.ts | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/text-editor/src/components/CollaboratorEditor.svelte b/packages/text-editor/src/components/CollaboratorEditor.svelte index cfd55b08da..c8d28e0e70 100644 --- a/packages/text-editor/src/components/CollaboratorEditor.svelte +++ b/packages/text-editor/src/components/CollaboratorEditor.svelte @@ -48,7 +48,7 @@ import { InlinePopupExtension } from './extension/inlinePopup' import { InlineStyleToolbarExtension } from './extension/inlineStyleToolbar' import { FileAttachFunction, ImageExtension } from './extension/imageExt' - import { NodeUuidExtension } from './extension/nodeUuid' + import { NodeUuidExtension, nodeElementQuerySelector } from './extension/nodeUuid' import ImageStyleToolbar from './ImageStyleToolbar.svelte' import StyleButton from './StyleButton.svelte' import TextEditorStyleToolbar from './TextEditorStyleToolbar.svelte' @@ -123,6 +123,14 @@ } } + export function getNodeElement (uuid: string): Element | null { + if (!editor || !uuid) { + return null + } + + return editor.view.dom.querySelector(nodeElementQuerySelector(uuid)) + } + export function selectNode (uuid: string) { if (!editor) { return diff --git a/packages/text-editor/src/components/extension/nodeUuid.ts b/packages/text-editor/src/components/extension/nodeUuid.ts index a1e5f4e791..ef81a8a867 100644 --- a/packages/text-editor/src/components/extension/nodeUuid.ts +++ b/packages/text-editor/src/components/extension/nodeUuid.ts @@ -4,6 +4,8 @@ import { EditorState, Plugin, PluginKey } from 'prosemirror-state' const NAME = 'node-uuid' +export const nodeElementQuerySelector = (nodeUuid: string): string => `span[${NAME}='${nodeUuid}']` + export interface NodeUuidOptions { HTMLAttributes: Record onNodeSelected?: (uuid: string | null) => void