From f15bebd330e522d8ff5bd14cfc894f4ac0be888d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 21 Dec 2024 17:48:27 +0200 Subject: [PATCH] chore(client/ts): port services/image --- src/public/app/services/{image.js => image.ts} | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) rename src/public/app/services/{image.js => image.ts} (66%) diff --git a/src/public/app/services/image.js b/src/public/app/services/image.ts similarity index 66% rename from src/public/app/services/image.js rename to src/public/app/services/image.ts index f732e843c..deedc7c0e 100644 --- a/src/public/app/services/image.js +++ b/src/public/app/services/image.ts @@ -1,6 +1,7 @@ +import { t } from "./i18n.js"; import toastService from "./toast.js"; -function copyImageReferenceToClipboard($imageWrapper) { +function copyImageReferenceToClipboard($imageWrapper: JQuery) { try { $imageWrapper.attr('contenteditable', 'true'); selectImage($imageWrapper.get(0)); @@ -14,17 +15,21 @@ function copyImageReferenceToClipboard($imageWrapper) { } } finally { - window.getSelection().removeAllRanges(); + window.getSelection()?.removeAllRanges(); $imageWrapper.removeAttr('contenteditable'); } } -function selectImage(element) { +function selectImage(element: HTMLElement | undefined) { + if (!element) { + return; + } + const selection = window.getSelection(); const range = document.createRange(); range.selectNodeContents(element); - selection.removeAllRanges(); - selection.addRange(range); + selection?.removeAllRanges(); + selection?.addRange(range); } export default {