diff --git a/platform/commonUI/browse/bundle.json b/platform/commonUI/browse/bundle.json index 7355a6b69c..bf2f03122b 100644 --- a/platform/commonUI/browse/bundle.json +++ b/platform/commonUI/browse/bundle.json @@ -21,7 +21,7 @@ { "key": "BrowseObjectController", "implementation": "BrowseObjectController.js", - "depends": [ "$scope", "$location", "$route" ] + "depends": [ "$scope", "$location", "$route", "$window" ] }, { "key": "CreateMenuController", diff --git a/platform/commonUI/browse/src/BrowseObjectController.js b/platform/commonUI/browse/src/BrowseObjectController.js index 22a8902a40..3f450e9352 100644 --- a/platform/commonUI/browse/src/BrowseObjectController.js +++ b/platform/commonUI/browse/src/BrowseObjectController.js @@ -31,7 +31,7 @@ define( * object (the right-hand side of Browse mode.) * @constructor */ - function BrowseObjectController($scope, $location, $route) { + function BrowseObjectController($scope, $location, $route, $window) { function setViewForDomainObject(domainObject) { var locationViewKey = $location.search().view; @@ -64,7 +64,15 @@ define( } } - $scope.ngModel.leftPane = true; + // If there is a defined opener, assume that the window was opened + // by choosing 'Open in a new tab' + if ($window.opener) { + // The desired default for this is to have a closed left pane + $scope.ngModel.leftPane = false; + } else { + // Otherwise, start the application with an open left pane + $scope.ngModel.leftPane = true; + } $scope.$watch('domainObject', setViewForDomainObject); $scope.$watch('representation.selected.key', updateQueryParam); diff --git a/platform/commonUI/browse/test/BrowseObjectControllerSpec.js b/platform/commonUI/browse/test/BrowseObjectControllerSpec.js index 1ae7c2528b..f20b858e2d 100644 --- a/platform/commonUI/browse/test/BrowseObjectControllerSpec.js +++ b/platform/commonUI/browse/test/BrowseObjectControllerSpec.js @@ -31,6 +31,7 @@ define( var mockScope, mockLocation, mockRoute, + mockWindow, mockUnlisten, controller; @@ -50,6 +51,7 @@ define( ); mockScope.ngModel = {}; mockRoute = { current: { params: {} } }; + mockWindow = {}; mockLocation = jasmine.createSpyObj( "$location", [ "path", "search" ] @@ -61,7 +63,8 @@ define( controller = new BrowseObjectController( mockScope, mockLocation, - mockRoute + mockRoute, + mockWindow ); });