DetailsView's third party tabs not refreshed for subtasks

Hi Guys,

I have a web panel in the board’s Details View (location: “atl.gh.issue.details.tab”). When an issue, task, bug, etc … is updated via the edit dialog, the entire details view is reloaded and refreshed, including all third party tabs. However, if a sub-task is edited via the dialog then the reload and refresh is only performed on the Atlassian’s controls. It doesn’t reload the third party tabs. As a matter of fact, it takes a totally different route to the refresh process.

Did you face this issue? If so, how did you get around it? I have found a way but I really don’t like it as I use a lot of “private” functions from the board and even kill an upcoming event.

This is what I have that I wish I could replace with something less brittle to Atlassian’s future changes.

    AJS.$(GH).bind('issueUpdated', function(event, data) {
        var editedIssueModel = GH.GridDataController.getModel().getIssueDataById(data.issueId);
        if (editedIssueModel.parentId) {
            event.stopImmediatePropagation();
            GH.DetailsView.reload();
        }
    });

In their code, Atlassian determines if it’s a sub-task by the presence of a parentId. If it finds that it is indeed a sub-task, it will refresh the DetailsView with a different LoadReason which leads to a different reload mechanism. I kill the event propagation to avoid reloading the data twice but I’m also afraid of side-effects.

Well, it seems that stopping event propagation has side effects so I will have to live with reloading the details view twice.