--- loncom/interface/lonhtmlcommon.pm 2023/09/11 14:13:31 1.358.2.20 +++ loncom/interface/lonhtmlcommon.pm 2024/07/02 22:03:11 1.358.2.22 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.358.2.20 2023/09/11 14:13:31 raeburn Exp $ +# $Id: lonhtmlcommon.pm,v 1.358.2.22 2024/07/02 22:03:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1268,9 +1268,9 @@ sub htmlareaheaders { ENDEDITOR } $s.=(< - - + + + @@ -1680,7 +1680,7 @@ sub show_return_link { $env{'request.uri'}=~m{^/priv/}) { return 1; } return if ($env{'request.noversionuri'} eq '/adm/supplemental'); - if (($env{'request.noversionuri'} =~ m{^/adm/(viewclasslist|navmaps)($|\?)}) + if (($env{'request.noversionuri'} =~ m{^/adm/viewclasslist($|\?)}) || ($env{'request.noversionuri'} =~ m{^/adm/.*/aboutme($|\?)})) { return if ($env{'form.register'}); @@ -1772,13 +1772,19 @@ sub dash_to_minus_js { document.addEventListener("DOMContentLoaded", (event) => { const numresp = document.querySelectorAll("input.LC_numresponse_text"); if (numresp.length > 0) { - numresp.forEach((el) => { + Array.from(numresp).forEach((el) => { el.addEventListener("paste", (e) => { e.preventDefault(); e.stopPropagation(); let p = (e.clipboardData || window.clipboardData).getData("text"); p.toString(); - p = p.replace(/\p{Dash}/gu, '-'); + var regex; + try + { + regex = new RegExp ("\\p{Dash}", "gu"); + } + catch (e) { regex = new RegExp ("[\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2E3A\\u2E3B\\u2E5D\\u301C\\uFE58\\uFE63\\uFF0D]","g"); } + p = p.replace(regex,'-'); putInText(p); }); }); @@ -3427,7 +3433,10 @@ THIRD sub javascript_jumpto_resource { my $confirm_switch = &mt("Editing requires switching to the resource's home server.")."\n". &mt('Switch server?'); + my $confirm_new_tab = &mt("Editing requires using the resource's home server.")."\n". + &mt('Open a new browser tab?'); &js_escape(\$confirm_switch); + &js_escape(\$confirm_new_tab); return (<&'); - if ($symb) { - $cfile .= '&symb='.&HTML::Entities::encode($symb,'"<>&'); + if ($shownsymb) { + $cfile .= '&symb='.&HTML::Entities::encode($shownsymb,'"<>&'); + if ($resedit) { + $cfile .= '&edit=1'; + } } elsif ($folderpath) { $cfile .= '&folderpath='.&HTML::Entities::encode($folderpath,'"<>&'); } @@ -3480,7 +3509,7 @@ sub jump_to_editres { if ($forcereg) { $cfile .= '&register=1'; } - $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."');"; + $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."','$target');"; } } else { unless ($cfile =~ m{^/priv/}) {