Project

General

Profile

Patch #13900

Updated by Jean-Baptiste Barth almost 11 years ago

Redmine tabs (in Settings or Administration for instance) are all loaded at once when the page is loaded. When changing tab, the URL is not updated, hence it breaks navigation in some minor ways, which I find annoying on a daily basis.. : 
 * if the user reloads the page he's sent back to the default tab, not the one he was viewing 
 * previous/next buttons behave counterintuitively : only the default tab remains in the history, and once you leave a tab, you never go back to it without having to re-click on the tab 

 The simplest solution to that is to use the History API introduced a couple years ago in most browsers, so that URL is updated whenever a click on a new tab occurs. Basically it boils down to this: <pre><code class="javascript"> 
 /* better handling of history in redmine tabs */ 
 $(function() { 
   $(".tabs a").on("click", function() { 
     //only trigger history API if supported 
     if ("replaceState" (("replaceState" in window.history) window.history)) { 
       //replace current URL with the "href" attribute of the current link 
       window.history.replaceState(null, history.replaceState(null, document.title, this.href); 
     } 
   }) 
 }) 
 </code></pre> 

 Any opinion on that is welcome. If none I'll add it in the next few days, I think I'll integrate it directly in the @showTab()@ function.

Back