about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2019-04-03 17:54:54 +0200
committerEugen Rochko <eugen@zeonfederated.com>2019-04-03 17:54:54 +0200
commitd07b0c038f1c4f495deda89c3b130f2fa02e0087 (patch)
treebb7b546393c69d6e620f81a6b4af52d8c925310a
parentf984f2ea4e99eea3d99bd0ea6d1ee8b9a47ca4f5 (diff)
Hopefully fix input text selection quirks on iOS (#10463)
Fix #10448 (hopefully)
-rw-r--r--app/javascript/packs/public.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js
index 4ab27c769..6a8cf9c2f 100644
--- a/app/javascript/packs/public.js
+++ b/app/javascript/packs/public.js
@@ -192,14 +192,20 @@ function main() {
   });
 
   delegate(document, '.input-copy input', 'click', ({ target }) => {
+    target.focus();
     target.select();
+    target.setSelectionRange(0, target.value.length);
   });
 
   delegate(document, '.input-copy button', 'click', ({ target }) => {
     const input = target.parentNode.querySelector('.input-copy__wrapper input');
 
+    const oldReadOnly = input.readonly;
+
+    input.readonly = false;
     input.focus();
     input.select();
+    input.setSelectionRange(0, input.value.length);
 
     try {
       if (document.execCommand('copy')) {
@@ -213,6 +219,8 @@ function main() {
     } catch (err) {
       console.error(err);
     }
+
+    input.readonly = oldReadOnly;
   });
 }