From e2cf967195db5d00491df4df2459546d1ee65e1c Mon Sep 17 00:00:00 2001
From: kunw <kunw@vmware.com>
Date: Tue, 5 Jul 2016 16:12:20 +0800
Subject: [PATCH] update for checking member when switching sub tabs in
 details.

---
 .../details/retrieve-projects.directive.js           | 12 +++++-------
 .../js/components/log/list-log.directive.js          |  9 ++++++++-
 .../project-member/list-project-member.directive.js  | 10 ++++++----
 views/repository.htm                                 |  4 ++--
 4 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/static/resources/js/components/details/retrieve-projects.directive.js b/static/resources/js/components/details/retrieve-projects.directive.js
index 8ed1d9a53..7b2aab4ef 100644
--- a/static/resources/js/components/details/retrieve-projects.directive.js
+++ b/static/resources/js/components/details/retrieve-projects.directive.js
@@ -34,6 +34,10 @@
       vm.publicity = current ? true : false;
       vm.isPublic =  vm.publicity ? 1 : 0;
       vm.projectType = (vm.isPublic === 1) ? 'public_projects' : 'my_projects';
+      if(vm.publicity) {
+        vm.isProjectMember = false;
+        vm.target = 'repository';
+      }
       vm.retrieve();      
     });
        
@@ -91,7 +95,6 @@
   
     $scope.$on('$locationChangeSuccess', function(e) {
       var projectId = getParameterByName('project_id', $location.absUrl());
-      vm.checkProjectMember(projectId);
       vm.isOpen = false;   
     });
     
@@ -107,12 +110,7 @@
     }
     
     function getCurrentProjectMemberFailed(data, status) {
-      vm.isProjectMember = false;
-      
-//      $scope.$emit('modalTitle', $filter('tr')('error'));
-//      $scope.$emit('modalMessage', $filter('tr')('failed_to_get_project_member'));
-//      $scope.$emit('raiseError', true);
-      
+      vm.isProjectMember = false;           
       console.log('Current user has no member for the project:' + status +  ', location.url:' + $location.url());
     }
     
diff --git a/static/resources/js/components/log/list-log.directive.js b/static/resources/js/components/log/list-log.directive.js
index 567f035c6..0ee54fb34 100644
--- a/static/resources/js/components/log/list-log.directive.js
+++ b/static/resources/js/components/log/list-log.directive.js
@@ -40,6 +40,11 @@
     retrieve(vm.queryParams);
   
     $scope.$on('$locationChangeSuccess', function() {
+      
+      if(vm.publicity) {
+        vm.target = 'repositories';
+      }
+      
       vm.projectId = getParameterByName('project_id', $location.absUrl());
       vm.queryParams = {
         'beginTimestamp' : vm.beginTimestamp,
@@ -128,7 +133,9 @@
       restrict: 'E',
       templateUrl: '/static/resources/js/components/log/list-log.directive.html',
       scope: {
-        'sectionHeight': '='
+        'sectionHeight': '=',
+        'target': '=',
+        'publicity': '='
       },
       controller: ListLogController,
       controllerAs: 'vm',
diff --git a/static/resources/js/components/project-member/list-project-member.directive.js b/static/resources/js/components/project-member/list-project-member.directive.js
index 77415f6dc..39fa262e6 100644
--- a/static/resources/js/components/project-member/list-project-member.directive.js
+++ b/static/resources/js/components/project-member/list-project-member.directive.js
@@ -78,10 +78,11 @@
     function getProjectMemberFailed(response) {
       console.log('Failed to get project members:' + response);
       vm.projectMembers = [];
+      vm.target = 'repositories'; 
+//      $scope.$emit('modalTitle', $filter('tr')('error'));
+//      $scope.$emit('modalMessage', $filter('tr')('failed_to_get_project_member'));
+//      $scope.$emit('raiseError', true);
       
-      $scope.$emit('modalTitle', $filter('tr')('error'));
-      $scope.$emit('modalMessage', $filter('tr')('failed_to_get_project_member'));
-      $scope.$emit('raiseError', true);
             
       $location.url('repositories').search('project_id', vm.projectId);
     }
@@ -93,7 +94,8 @@
       'restrict': 'E',
       'templateUrl': '/static/resources/js/components/project-member/list-project-member.directive.html',
       'scope': {
-        'sectionHeight': '='
+        'sectionHeight': '=',
+        'target': '='
       },
       'controller': ListProjectMemberController,
       'controllerAs': 'vm',
diff --git a/views/repository.htm b/views/repository.htm
index 7e5f45fe6..7496d97e8 100644
--- a/views/repository.htm
+++ b/views/repository.htm
@@ -22,8 +22,8 @@
               <input type="hidden" id="HarborRegUrl" value="{{.HarborRegUrl}}">
               <list-repository ng-if="vm.target === 'repositories'"  section-height="vm.sectionHeight"></list-repository>
               <list-replication ng-if="vm.target === 'replication'" section-height="vm.sectionHeight"></list-replication>
-              <list-project-member ng-if="vm.target === 'users'" section-height="vm.sectionHeight"></list-project-member>
-              <list-log ng-if="vm.target === 'logs'" section-height="vm.sectionHeight"></list-log>
+              <list-project-member ng-if="vm.target === 'users'" section-height="vm.sectionHeight" target="vm.target"></list-project-member>
+              <list-log ng-if="vm.target === 'logs'" section-height="vm.sectionHeight" target="vm.target" publicity="vm.publicity"></list-log>
             </div>
           </div>
         </div>