From ff33cb45e0e729efd74c021217b8bb2103c8672d Mon Sep 17 00:00:00 2001 From: aignatov-bio Date: Thu, 24 Sep 2020 13:29:20 +0200 Subject: [PATCH 1/2] Improve smart annotation in TinyMCE fields --- app/assets/javascripts/my_modules/protocols.js | 8 ++++++-- app/assets/javascripts/sitewide/atwho_res.js | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/my_modules/protocols.js b/app/assets/javascripts/my_modules/protocols.js index 96e97bbd1..5edc8cdab 100644 --- a/app/assets/javascripts/my_modules/protocols.js +++ b/app/assets/javascripts/my_modules/protocols.js @@ -11,9 +11,11 @@ var selectedRow = null; function initEditMyModuleDescription() { var viewObject = $('#my_module_description_view'); - viewObject.on('click', function() { + viewObject.on('click', function(e) { + if ($(e.target).hasClass('record-info-link')) return; TinyMCE.init('#my_module_description_textarea'); }).on('click', 'a', function(e) { + if ($(this).hasClass('record-info-link')) return; e.stopPropagation(); }); TinyMCE.initIfHasDraft(viewObject); @@ -21,9 +23,11 @@ function initEditMyModuleDescription() { function initEditProtocolDescription() { var viewObject = $('#protocol_description_view'); - viewObject.on('click', function() { + viewObject.on('click', function(e) { + if ($(e.target).hasClass('record-info-link')) return; TinyMCE.init('#protocol_description_textarea', refreshProtocolStatusBar); }).on('click', 'a', function(e) { + if ($(this).hasClass('record-info-link')) return; e.stopPropagation(); }); TinyMCE.initIfHasDraft(viewObject); diff --git a/app/assets/javascripts/sitewide/atwho_res.js b/app/assets/javascripts/sitewide/atwho_res.js index 3308842d2..ea340879a 100644 --- a/app/assets/javascripts/sitewide/atwho_res.js +++ b/app/assets/javascripts/sitewide/atwho_res.js @@ -86,7 +86,7 @@ var SmartAnnotation = (function() { }, tplEval: function(_tpl, items) { var $items = $(items.name); - $items.find('li').data('item-data', []); // Emulate at.js insertContentFor method + $items.find('li').data('item-data', {'atwho-at': at}); // Emulate at.js insertContentFor method return $items; }, highlighter: function(li, query) { @@ -183,7 +183,7 @@ var SmartAnnotation = (function() { }, tplEval: function(_tpl, items) { var $items = $(items.name); - $items.find('li').data('item-data', []); // Emulate at.js insertContentFor method + $items.find('li').data('item-data', {'atwho-at': '@'}); // Emulate at.js insertContentFor method return $items; }, highlighter: function(li, query) { From 4f7814cff4c0fcd01a26a204190bfea0f955ebc2 Mon Sep 17 00:00:00 2001 From: aignatov-bio Date: Thu, 24 Sep 2020 13:32:43 +0200 Subject: [PATCH 2/2] Fix markup --- app/assets/javascripts/sitewide/atwho_res.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/sitewide/atwho_res.js b/app/assets/javascripts/sitewide/atwho_res.js index ea340879a..327720b26 100644 --- a/app/assets/javascripts/sitewide/atwho_res.js +++ b/app/assets/javascripts/sitewide/atwho_res.js @@ -86,7 +86,7 @@ var SmartAnnotation = (function() { }, tplEval: function(_tpl, items) { var $items = $(items.name); - $items.find('li').data('item-data', {'atwho-at': at}); // Emulate at.js insertContentFor method + $items.find('li').data('item-data', { 'atwho-at': at }); // Emulate at.js insertContentFor method return $items; }, highlighter: function(li, query) { @@ -183,7 +183,7 @@ var SmartAnnotation = (function() { }, tplEval: function(_tpl, items) { var $items = $(items.name); - $items.find('li').data('item-data', {'atwho-at': '@'}); // Emulate at.js insertContentFor method + $items.find('li').data('item-data', { 'atwho-at': '@' }); // Emulate at.js insertContentFor method return $items; }, highlighter: function(li, query) {