put clipboard retrieval in a routine, hook to DOMContentLoaded
authorDamyan Ivanov <dmn@debian.org>
Mon, 19 Jun 2017 12:35:03 +0000 (12:35 +0000)
committerDamyan Ivanov <dmn@debian.org>
Mon, 19 Jun 2017 12:35:03 +0000 (12:35 +0000)
icedeb.js

index 30f4c3e4739aa495de1e6cb53e7a97c1b1f93bf5..338f292691466a8fdc677b6c63fd172ce849504f 100644 (file)
--- a/icedeb.js
+++ b/icedeb.js
@@ -117,11 +117,11 @@ function link_clicked(e) {
   }
 
   let clip_input = document.getElementById("clipboard");
-  if(clip_input.value == '')
+  if(clip_input.textContent == '')
     get_clipboard_contents();
-  let clip = trim(clip_input.value);
+  let clip = trim(clip_input.textContent);
 
-  if(clip_input.value == '') return;
+  if(clip_input.textContent == '') return;
 
   let url;
 
@@ -161,15 +161,12 @@ function link_clicked(e) {
       }
     });
 
-window.addEventListener('load', (e) => {
-  document.getElementById('button-list-container').addEventListener('click', link_clicked);
+  e.preventDefault();
+  return false;
+}
 
-  document.addEventListener('change', (e) => {
-    if ( !e.target.classList.contains('icedeb-option') )
-      return;
-
-    save_settings();
-  });
+function get_clipboard_contents() {
+  document.getElementById('error').classList.add('hidden');
 
   let clip_input = document.getElementById("clipboard");
   clip_input.focus();
@@ -178,4 +175,20 @@ window.addEventListener('load', (e) => {
     err.textContent = 'Error retrieving clipboard contents';
     err.classList.remove('hidden');
   }
+}
+
+window.addEventListener('DOMContentLoaded', (e) => {
+  document.querySelectorAll('.icedeb-button, #button-list-container a')
+    .forEach(function(el){
+      el.addEventListener('mouseup', link_clicked);
+    });
+
+  document.addEventListener('change', (e) => {
+    if ( !e.target.classList.contains('icedeb-option') )
+      return;
+
+    save_settings();
+  });
+
+  get_clipboard_contents();
 });