Files
mtdb_movie/common/resources/client/text-editor/insert-link-into-text-editor.ts
maher 703f50a09d
Some checks failed
Build / run (push) Has been cancelled
first commit
2025-10-29 11:42:25 +01:00

33 lines
784 B
TypeScript
Executable File

import {Editor} from '@tiptap/react';
interface Props {
href: string;
target?: string;
text?: string;
}
export function insertLinkIntoTextEditor(
editor: Editor,
{text, target, href}: Props
) {
// no selection, insert new link with specified text
if (editor.state.selection.empty && text) {
editor.commands.insertContent(
`<a href="${href}" target="${target}">${text}</a>`
);
} else if (!editor.state.selection.empty) {
// no href provided, remove link from selection
if (!href) {
editor.chain().focus().extendMarkRange('link').unsetLink().run();
} else {
// add link to selection
editor
.chain()
.focus()
.extendMarkRange('link')
.setLink({href: href, target})
.run();
}
}
}