From 48136c226528221403cec8b5b44e3543f6cb4f97 Mon Sep 17 00:00:00 2001 From: Shivam Dave Date: Thu, 27 Aug 2015 10:42:11 -0700 Subject: [PATCH] [Context] Back Arrow Checks the Back Arrow in both checkRoot and navigateToParent, also checks grandparent in both. This allows the back arrow to hide in search when context is unavailable. --- .../browse/res/templates/back-arrow.html | 4 +- .../commonUI/browse/src/BrowseController.js | 44 +++++++++++++------ 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/platform/commonUI/browse/res/templates/back-arrow.html b/platform/commonUI/browse/res/templates/back-arrow.html index c73b4cbdb2..3ed0ec061b 100644 --- a/platform/commonUI/browse/res/templates/back-arrow.html +++ b/platform/commonUI/browse/res/templates/back-arrow.html @@ -23,6 +23,6 @@ { + ng-class="checkRoot(); atRoot ? 'hidden' : ''" + ng-click='backArrow()'>{ diff --git a/platform/commonUI/browse/src/BrowseController.js b/platform/commonUI/browse/src/BrowseController.js index d1ec4d33e0..ca73c8c573 100644 --- a/platform/commonUI/browse/src/BrowseController.js +++ b/platform/commonUI/browse/src/BrowseController.js @@ -134,28 +134,44 @@ define( // is not the root, then user is navigated to // parent function navigateToParent() { - var parent = navigationService.getNavigation().getCapability('context').getParent(), - grandparent; - if (parent.getId() !== ROOT_ID) { - grandparent = parent.getCapability('context').getParent().getId(); - navigateTo(parent); - if (grandparent && grandparent !== ROOT_ID) { - $scope.atRoot = false; - } else { - $scope.atRoot = true; + var context = navigationService.getNavigation().getCapability('context'), + parentContext, + parent, + grandparentId; + + // Checks if the current object has a context + if (context) { + parent = context.getParent(); + parentContext = parent.getCapability('context'); + if ((parent.getId() !== ROOT_ID) && parentContext) { + grandparentId = parentContext.getParent().getId(); + navigateTo(parent); + if (grandparentId && grandparentId !== ROOT_ID) { + $scope.atRoot = false; + } else { + $scope.atRoot = true; + } } - } else { - $scope.atRoot = true; } } function checkRoot() { var context = navigationService.getNavigation().getCapability('context'), - parent; + parentContext, + parent, + grandparent; + + // Checks if the current object has a context if (context) { parent = context.getParent(); - if (parent.getId() !== ROOT_ID) { - $scope.atRoot = false; + parentContext = parent.getCapability('context'); + if ((parent.getId() !== ROOT_ID) && parentContext) { + grandparent = parentContext.getParent(); + if (!grandparent) { + $scope.atRoot = true; + } else { + $scope.atRoot = false; + } } else { $scope.atRoot = true; }