diff --git a/static/ng/resources/js/components/details/retrieve-projects.directive.js b/static/ng/resources/js/components/details/retrieve-projects.directive.js index a32fdab91..d2b1b7dbd 100644 --- a/static/ng/resources/js/components/details/retrieve-projects.directive.js +++ b/static/ng/resources/js/components/details/retrieve-projects.directive.js @@ -6,17 +6,19 @@ .module('harbor.details') .directive('retrieveProjects', retrieveProjects); - RetrieveProjectsController.$inject = ['$scope', 'nameFilter', '$filter', 'CurrentProjectMemberService', 'ListProjectService', '$routeParams', '$location']; + RetrieveProjectsController.$inject = ['$scope', 'nameFilter', '$filter', 'CurrentProjectMemberService', 'ListProjectService', '$routeParams', '$route', '$location']; - function RetrieveProjectsController($scope, nameFilter, $filter, CurrentProjectMemberService, ListProjectService, $routeParams, $location) { + function RetrieveProjectsController($scope, nameFilter, $filter, CurrentProjectMemberService, ListProjectService, $routeParams, $route, $location) { var vm = this; - + vm.projectName = ''; - vm.isPublic = 0; - vm.publicity = false; + if($route.current.params.is_public) { + vm.isPublic = $route.current.params.is_public === 'true' ? 1 : 0; + vm.publicity = (vm.isPublic === 1) ? true : false; + } + vm.retrieve = retrieve; - vm.retrieve(); vm.checkProjectMember = checkProjectMember; @@ -31,8 +33,9 @@ vm.selectItem = selectItem; $scope.$watch('vm.publicity', function(current, origin) { - vm.isPublic = current ? 1 : 0; - vm.projectType = (vm.isPublic == 1) ? 'public_projects' : 'my_projects'; + vm.publicity = current ? 1 : 0; + vm.isPublic = vm.publicity ? 1 : 0; + vm.projectType = (vm.isPublic === 1) ? 'public_projects' : 'my_projects'; vm.retrieve(); }); @@ -44,12 +47,15 @@ function getProjectSuccess(data, status) { vm.projects = data; - if(vm.projects == null) { + + if(!angular.isDefined(vm.projects)) { + vm.isPublic = 1; vm.publicity = 1; - console.log('vm.projects is null, load public projects.'); + vm.projectType = 'public_projects'; + console.log('vm.projects is undefined, load public projects.'); } - vm.selectedProject = vm.projects[0]; + vm.selectedProject = vm.projects[0]; if($routeParams.project_id){ angular.forEach(vm.projects, function(value, index) { @@ -109,7 +115,6 @@ 'publicity': '=', 'isProjectMember': '=' }, - link: link, replace: true, controller: RetrieveProjectsController, bindToController: true, @@ -118,9 +123,6 @@ return directive; - function link(scope, element, attrs, ctrl) { - - } } })(); \ No newline at end of file diff --git a/static/ng/resources/js/components/project/add-project.directive.html b/static/ng/resources/js/components/project/add-project.directive.html index 8c4f43217..83686659e 100644 --- a/static/ng/resources/js/components/project/add-project.directive.html +++ b/static/ng/resources/js/components/project/add-project.directive.html @@ -12,7 +12,7 @@
-  // 'public_projects' | tr // +  // 'public' | tr //
diff --git a/static/ng/resources/js/services/i18n/locale_messages.js b/static/ng/resources/js/services/i18n/locale_messages.js index 6f21ca6a1..1ddfc87b2 100644 --- a/static/ng/resources/js/services/i18n/locale_messages.js +++ b/static/ng/resources/js/services/i18n/locale_messages.js @@ -200,6 +200,10 @@ var global_messages = { 'zh-CN': '项目' }, 'public_projects': { + 'en-US': 'Public Projects', + 'zh-CN': '公开项目' + }, + 'public': { 'en-US': 'Public', 'zh-CN': '公开' }, diff --git a/static/ng/resources/js/services/project/services.get-project-by-id.js b/static/ng/resources/js/services/project/services.get-project-by-id.js new file mode 100644 index 000000000..31ca41cf0 --- /dev/null +++ b/static/ng/resources/js/services/project/services.get-project-by-id.js @@ -0,0 +1,22 @@ +(function() { + + 'use strict'; + + angular + .module('harbor.services.project') + .factory('GetProjectById', GetProjectById); + + GetProjectById.$inject = ['$http']; + + function GetProjectById($http) { + + return getProject; + + function getProject(id) { + return $http + .get('/api/projects/' + id); + } + + } + +})(); \ No newline at end of file diff --git a/views/ng/project.htm b/views/ng/project.htm index 5c38da3c3..abc5b3ac8 100644 --- a/views/ng/project.htm +++ b/views/ng/project.htm @@ -30,7 +30,7 @@ - //p.Name// + //p.Name// N/A N/A //p.CreationTime | dateL : 'YYYY-MM-DD HH:mm:ss'//