[LON-CAPA-cvs] cvs: loncom /interface lonhtmlcommon.pm

raeburn raeburn at source.lon-capa.org
Mon Jun 3 16:41:06 EDT 2024


raeburn		Mon Jun  3 20:41:06 2024 EDT

  Modified files:              
    /loncom/interface	lonhtmlcommon.pm 
  Log:
  - Bug 5219. Dashes in text pasted into textbox(es) for numericalresponse item(s)
    replaced with standard ascii minus, i.e., - for both modern browsers and older
    browsers without ECMAScript2018. 
  
  
Index: loncom/interface/lonhtmlcommon.pm
diff -u loncom/interface/lonhtmlcommon.pm:1.412 loncom/interface/lonhtmlcommon.pm:1.413
--- loncom/interface/lonhtmlcommon.pm:1.412	Fri May 24 03:10:31 2024
+++ loncom/interface/lonhtmlcommon.pm	Mon Jun  3 20:41:06 2024
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # a pile of common html routines
 #
-# $Id: lonhtmlcommon.pm,v 1.412 2024/05/24 03:10:31 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.413 2024/06/03 20:41:06 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -1850,13 +1850,19 @@
 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);
             });
         });




More information about the LON-CAPA-cvs mailing list