JIRA Issue Description Quickview

By XXVi Last update Jul 20, 2008 — Installed 351 times.

Archived Comments (locked)

in
Subscribe to Archived Comments 2 posts, 2 voices



Jesse Andrews Admin

The following is an archive of comments made before threaded discussions was implemented (November 16th, 2008)

 
t-rane User

Very nice. I have an enhanced version (addition of 'last comment') in rough form if you would like: // ==UserScript== // @name JIRA Issue Description Quickview // @namespace mailto:ch_xxvi@yahoo.com.hk // @description Quick preview of descriptions in Issue Navigator // @include *//jira.*/IssueNavigator.jspa* // @version 1.5 // ==/UserScript== var QuickviewLengthLimit = 500 var QuickviewKeepDuration = 200 divBg = document.createElement('div'); divBg.style.backgroundColor = '#000000'; divBg.style.opacity = 0.4; divBg.style.position = 'fixed'; divBg.style.left = '0px'; divBg.style.top = '0px'; divBg.style.zIndex = '200'; divBg.style.display = 'none'; divBg.addEventListener('mouseover', function(){keepDscp()}, false); divBg.addEventListener('mouseout', function(){hideDscp(false)}, false); divBg.addEventListener('mousedown', function(){hideDscp(true)}, false); document.body.appendChild(divBg); divDscp = document.createElement('div'); divDscp.style.backgroundColor = '#FFFFF0'; divDscp.style.fontSize = '10pt'; divDscp.style.border = '2px solid #999900'; divDscp.style.padding = '8px'; divDscp.style.position = 'fixed'; divDscp.style.left = '20px'; divDscp.style.height = '200px'; divDscp.style.width = '90%'; divDscp.style.overflow = 'scroll'; divDscp.style.overflowX = 'hidden'; divDscp.style.top = '20px'; divDscp.style.zIndex = '210'; divDscp.style.display = 'none'; divDscp.addEventListener('mouseover', function(){keepDscp()}, false); divDscp.addEventListener('mouseout', function(){hideDscp(false)}, false); document.body.appendChild(divDscp); var lastThreadId; function popDscp(sumLink) { sureToHide = false; clearTimeout(lastThreadId); dscpContent = sumLink.getAttribute('description'); dscpContent = sumLink.description; if (dscpContent==null) { lastThreadId = setTimeout( function(){ divBg.style.display = 'none'; divDscp.innerHTML = 'Loading description...'; divDscp.style.display = ''; xmlHttp = new XMLHttpRequest(); xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState==4) { cacheText = xmlHttp.responseText; dscpContent = ""; var items = new Array( new Array('
', '
', 'Description:') , // description new Array('
', '
', 'Last comment:') // comments ); for (i=0 ; i< items.length ; i++) { preciding = items[i][0]; closing = items[i][1]; startPos = cacheText.lastIndexOf(preciding); dscpContent += '
' + '' + items[i][2] + '
'; if (startPos > 0) { cacheText = cacheText.substr(startPos + preciding.length); endPos = cacheText.indexOf(closing); dscpContent += cacheText.substr(0,endPos); sumLink.description = dscpContent; } else { if (!sureToHide) { dscpContent += '( No Text Descriptions )'; } } dscpContent += '
'; } sumLink.description = dscpContent; popDscp(sumLink); } else if (xmlHttp.status!=200) { divDscp.innerHTML = 'Fail to load'; } } xmlHttp.open('GET', sumLink.href, true); xmlHttp.send(null); }, 200); } else { divDscp.innerHTML = '

'+sumLink.innerHTML+'


'+dscpContent; divDscp.style.display = ''; divBg.style.width = window.innerWidth; divBg.style.height = divDscp.offsetTop*2+divDscp.clientHeight; divBg.style.display = ''; } } function hideDscp(flagInstant) { sureToHide = true; xmlHttp.abort(); clearTimeout(lastThreadId); lastThreadId = setTimeout( function(){ if (sureToHide) { divDscp.style.display = 'none'; divBg.style.display = 'none'; } }, flagInstant? 0:QuickviewKeepDuration); } function keepDscp() { sureToHide = false; } issueTable = document.getElementById('issuetable'); for (i=1; i<issuetable>
Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel