X-Git-Url: https://git.ktnx.net/?p=icedeb.git;a=blobdiff_plain;f=icedeb.js;h=2d2a10e24d61824a54f91d3a1afec5df45b90695;hp=30f4c3e4739aa495de1e6cb53e7a97c1b1f93bf5;hb=b5e5c86b11624752ed6b30c92b6791b563b239ee;hpb=35a72bd219624257632d7bfafb586ba9b32d067f diff --git a/icedeb.js b/icedeb.js index 30f4c3e..2d2a10e 100644 --- a/icedeb.js +++ b/icedeb.js @@ -117,8 +117,6 @@ function link_clicked(e) { } let clip_input = document.getElementById("clipboard"); - if(clip_input.value == '') - get_clipboard_contents(); let clip = trim(clip_input.value); if(clip_input.value == '') return; @@ -139,17 +137,16 @@ function link_clicked(e) { url = 'https://lists.debian.org/msgid-search/' + clip; break; case 'ddpo': - url = 'https://qa.debian.org/developer.php'; - if (clip != '') - url += '?login=' + clip; + url = 'https://qa.debian.org/developer.php?login=' + clip; + break; + case 'dmd': + url = 'https://udd.debian.org/dmd.cgi?email1=' + clip; break; case 'buildd': url = 'https://buildd.debian.org/' + clip; break; case 'security': - url = 'https://security-tracker.debian.org/'; - if (clip != '') - url += 'tracker/' + clip; + url = 'https://security-tracker.debian.org/tracker/' + clip; break; } @@ -161,8 +158,26 @@ function link_clicked(e) { } }); -window.addEventListener('load', (e) => { - document.getElementById('button-list-container').addEventListener('click', link_clicked); + e.preventDefault(); + return false; +} + +function get_clipboard_contents() { + let clip_pot = document.getElementById('clip-pot'); + let clip_input = document.getElementById("clipboard"); + clip_pot.focus(); + if (document.execCommand("Paste")) { + clip_input.value = clip_pot.textContent.trim(); + clip_input.focus(); + clip_input.setSelectionRange(0, clip_input.value.length) + } +} + +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') ) @@ -171,11 +186,7 @@ window.addEventListener('load', (e) => { save_settings(); }); - let clip_input = document.getElementById("clipboard"); - clip_input.focus(); - if (!document.execCommand("paste")) { - let err = document.getElementById('error'); - err.textContent = 'Error retrieving clipboard contents'; - err.classList.remove('hidden'); - } + window.requestAnimationFrame(()=>{ + window.requestAnimationFrame(get_clipboard_contents); + }); });