0

I'm not much of a web programmer, so maybe I'm asking the impossible...but it'd be great if the "Working On" indicator updated for all of my open FogBugz browser tabs if it is changed on any of them. It's mostly just an annoyance, but it can become a real headache in one particular case...

Suppose I have two tabs open:

  1. Tab A, open to Case 12345
  2. Tab B, open to Case 12346

Now suppose I set "Working On" to Case 12345 from Tab A, and then set it to Case 12346 from Tab B. Both tabs display that I am working on the case being viewed, though really it's only true for Tab B (the last tab to be updated). The problem is if I want to go back to working on Case 12345. Normally, I could switch to Tab A, click the drop-down, and select "This Case". But since that tab thinks I'm already working on that case, it doesn't present me that option. So my options are:

  1. Enter the case number by hand (either from Tab A or Tab B)
  2. Reload Tab A so the "Working On" status is updated, allowing me to then select "This Case" from the menu again

Option (1) is annoying because typing out 5+ digits by hand is tedious, and sometimes I don't care to think about what the number actually is. Option (2) is annoying because we run our own server, and sometimes page reloads can take awhile if the server is acting sluggish. Plus, sometimes I run into a bug where if I click the "Working On" dropdown before the page is fully loaded, it loads the "Working On" menu as a new page instead of creating the menu properly.

(FYI, I'm using Firefox 3.6.15)

Fog Creek Case FC2043468

flag

2 Answers

1

Until Fog Creek implements this feature, you can use the following BugMonkey customization:

name:          Automatically Refresh "Working On"
description:   Refreshes the "Working On" menu every 60 seconds
author:        Daniel LeCheminant
version:       1.0.0.0

js:

if($("#Working_On").length) setInterval(refreshWorkingOn, 60000);

... which is enough to keep the "Working on xxx" part up to date.

Unfortunately, the "This Case" entry in the menu won't always get re-displayed properly; to handle that as well, you'd use something like this:

name:          Automatically Refresh "Working On"
description:   Refreshes the "Working On" menu every 60 seconds
author:        Daniel LeCheminant
version:       1.0.0.0

js:

// Refresh the working on menu every 60 seconds
if(!$("#Working_On").length) return;
setInterval(refreshWorkingOn, 60000);

// Make sure the working on popup shows "This Case" when appropriate
if(!window.goBug || $("#bulkBugItems").length) return;
var linkHtml = 
'<nobr><a href="default.asp?pre=preWorkOn&pg=pgEditBug&command=view&ixBug=~ixBug"' +    
'onmouseover="mouseoverCaseId(~ixBug, this);" ' + 
'onmouseout="mouseoutCaseId();" ' +
'onclick="resetWorkingOnMenu(); changeIxWorkingOn(~ixBug); return false;"' +
'></a></nobr>';

setInterval(function(){
   if(!$("#idThisCaseSpan a").length && 
       $("#Working_On").text() != "Working on " + goBug.ixBug) {
      $("#idThisCaseSpan")
      .html(linkHtml.replace(/~ixBug/g, goBug.ixBug))
      .find("a")
      .text("This Case: " + goBug.ixBug + " " + goBug.sTitle);
   }
}, 2000);
link|flag
Perfect! Thanks :) – Kevin K Apr 11 2011 at 21:39
A side note...it seems I can't up-vote or accept answers for this case. Is that normal? – Kevin K Apr 11 2011 at 21:40
(by case, I mean question...) – Kevin K Apr 11 2011 at 21:40
0

We have a handy little Javascript customization that'll tell you if the case you're looking at has changed. It relies on an AJAX call (behind the scenes) to a page called bugData.asp. This page will tell you about the current bug.

There is, unfortunately, no such interface for "Working On", but I've entered a feature request to make one, and, why not, have the page periodically poll the back end to see if your working on has changed. If it has, we would update the link to reflect the current state.

link|flag

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.