diff --git a/app/assets/javascripts/protocols/steps.js.erb b/app/assets/javascripts/protocols/steps.js.erb index 9dbb8b598..997b3a86b 100644 --- a/app/assets/javascripts/protocols/steps.js.erb +++ b/app/assets/javascripts/protocols/steps.js.erb @@ -80,6 +80,7 @@ function applyCancelCallBack() { setTimeout(function() { initStepsComments(); + openLinksInNewTab(); }, 1000); }) @@ -111,6 +112,7 @@ function applyEditCallBack() { $("#new-step-main-tab a").on("shown.bs.tab", function() { $("#step_name").focus(); }); + openLinksInNewTab(); }); } @@ -181,6 +183,7 @@ function formCallback($form) { setTimeout(function() { initStepsComments(); + openLinksInNewTab(); }, 1000); return true; }); diff --git a/app/assets/javascripts/sitewide/quill_links.js b/app/assets/javascripts/sitewide/quill_links.js index 870275010..c1bd7ffc7 100644 --- a/app/assets/javascripts/sitewide/quill_links.js +++ b/app/assets/javascripts/sitewide/quill_links.js @@ -1,5 +1,6 @@ //= require quill + // Globally overwrite links handling in Quill rich text editor var Link = Quill.import('formats/link'); Link.sanitize = function(url) { @@ -8,3 +9,15 @@ Link.sanitize = function(url) { } return 'http://' + url; }; + +function openLinksInNewTab() { + _.each($('.ql-editor a'), function(el) { + if ($(el).attr('target') !== '_blank') { + $(el).attr('target', '_blank'); + } + }); +} + +$(document).ready(function(){ + openLinksInNewTab(); +});