From de5206d92641ba5404691fd761efedd8ac81630a Mon Sep 17 00:00:00 2001
From: Martynas Bagdonas <martbgd@gmail.com>
Date: Mon, 9 Nov 2020 14:49:07 +0200
Subject: [PATCH] Hack in TinyMCE to support selection and links

---
 resource/tinymce/noteview.html | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/resource/tinymce/noteview.html b/resource/tinymce/noteview.html
index 50b0960d20..4a9c987cb7 100644
--- a/resource/tinymce/noteview.html
+++ b/resource/tinymce/noteview.html
@@ -16,14 +16,28 @@
 		menubar: false,
 		resize: false,
 		statusbar: false,
-		
+		// Hack in text selection. More info: https://stackoverflow.com/a/52272322
+		readonly: 1,
+		setup: function (editor) {
+			editor.on('SwitchMode', function hack() {
+				if (editor.readonly) {
+					editor.readonly = 1;
+				}
+			});
+		},
 		init_instance_callback: function (ed) {
 			ed.setMode('readonly');
 			
 			setLocale(ed);
 			zoteroInit(ed);
-			
+
 			ed.getContainer().classList.add('readonly');
+			ed.dom.doc.addEventListener('click', (event) => {
+				if (event.target.nodeName === 'A') {
+					zoteroHandleEvent({ type: 'ZoteroLinkClick', value: event.target.href });
+					event.preventDefault();
+				}
+			}, true);
 		},
 		
 		// More restrictive version of default set, with JS/etc. removed