* [PATCH 1/1] toaster: layerdetails Fix back button tab behaviour
2015-09-22 2:45 [PATCH 0/1] Fix back button tab behaviour brian avery
@ 2015-09-22 2:45 ` brian avery
0 siblings, 0 replies; 2+ messages in thread
From: brian avery @ 2015-09-22 2:45 UTC (permalink / raw)
To: bitbake-devel
From: Michael Wood <michael.g.wood@intel.com>
This completes the behaviour fix of the back button in the layerdetails
page as we not only have parameters in our history we also have the hash
to indicate which tab is active. As we pop our history we need to show
the corresponding tab.
[YOCTO #8252]
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
---
lib/toaster/toastergui/static/js/layerdetails.js | 28 +++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
diff --git a/lib/toaster/toastergui/static/js/layerdetails.js b/lib/toaster/toastergui/static/js/layerdetails.js
index 000e803..8817b47 100644
--- a/lib/toaster/toastergui/static/js/layerdetails.js
+++ b/lib/toaster/toastergui/static/js/layerdetails.js
@@ -7,6 +7,9 @@ function layerDetailsPageInit (ctx) {
var layerDepsList = $("#layer-deps-list");
var currentLayerDepSelection;
var addRmLayerBtn = $("#add-remove-layer-btn");
+ var targetTab = $("#targets-tab");
+ var machineTab = $("#machines-tab");
+ var detailsTab = $("#details-tab");
/* setup the dependencies typeahead */
libtoaster.makeTypeahead(layerDepInput, libtoaster.ctx.layersTypeAheadUrl, { include_added: "true" }, function(item){
@@ -15,6 +18,21 @@ function layerDetailsPageInit (ctx) {
layerDepBtn.removeAttr("disabled");
});
+ $(window).on('hashchange', function(e){
+ switch(window.location.hash){
+ case '#machines':
+ machineTab.tab('show');
+ break;
+ case '#recipes':
+ targetTab.tab('show');
+ break;
+ default:
+ detailsTab.tab('show');
+ break;
+ }
+ });
+
+
$(".breadcrumb li:first a").click(function(e){
e.preventDefault();
/* By default this link goes to the project configuration page. However
@@ -143,7 +161,7 @@ function layerDetailsPageInit (ctx) {
addRmLayerBtn.removeClass("btn-danger");
}
- $("#details-tab").on('show', function(){
+ detailsTab.on('show', function(){
if (!ctx.layerVersion.inCurrentPrj)
defaultAddBtnText();
@@ -174,7 +192,7 @@ function layerDetailsPageInit (ctx) {
$("#no-recipes-yet").hide();
}
- $("#targets-tab").removeClass("muted");
+ targetTab.removeClass("muted");
if (window.location.hash === "#recipes"){
/* re run the machinesTabShow to update the text */
targetsTabShow();
@@ -189,7 +207,7 @@ function layerDetailsPageInit (ctx) {
else
$("#no-machines-yet").hide();
- $("#machines-tab").removeClass("muted");
+ machineTab.removeClass("muted");
if (window.location.hash === "#machines"){
/* re run the machinesTabShow to update the text */
machinesTabShow();
@@ -202,7 +220,7 @@ function layerDetailsPageInit (ctx) {
});
- $("#targets-tab").on('show', targetsTabShow);
+ targetTab.on('show', targetsTabShow);
function machinesTabShow(){
if (!ctx.layerVersion.inCurrentPrj) {
@@ -219,7 +237,7 @@ function layerDetailsPageInit (ctx) {
window.location.hash = "machines";
}
- $("#machines-tab").on('show', machinesTabShow);
+ machineTab.on('show', machinesTabShow);
$(".pagesize").change(function(){
var search = libtoaster.parseUrlParams();
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread