From 21f0633d6dac02c87787f1822c3929e1ec4b088b Mon Sep 17 00:00:00 2001 From: xiahaoshawn Date: Mon, 6 Jun 2016 15:39:17 +0800 Subject: [PATCH] change as Kun's comments --- .../js/components/summary/summary.config.js | 37 +++++++++++++++++++ .../components/summary/summary.directive.html | 15 +------- .../components/summary/summary.directive.js | 17 +++++---- .../js/layout/project/project.controller.js | 12 +++--- .../js/services/i18n/locale_messages_en-US.js | 1 - .../js/services/i18n/locale_messages_zh-CN.js | 1 - views/ng/project.htm | 2 +- views/ng/sections/header-include.htm | 1 + 8 files changed, 56 insertions(+), 30 deletions(-) create mode 100644 static/ng/resources/js/components/summary/summary.config.js diff --git a/static/ng/resources/js/components/summary/summary.config.js b/static/ng/resources/js/components/summary/summary.config.js new file mode 100644 index 000000000..86be426d5 --- /dev/null +++ b/static/ng/resources/js/components/summary/summary.config.js @@ -0,0 +1,37 @@ +(function() { + + 'use strict'; + + angular + .module('harbor.summary') + .constant('projectStatistics', projectStatistics) + .factory('getStatisticsName', getStatisticsName); + + function projectStatistics() { + return [ + {'name': 'projects', 'payloadName': 'my_project_count'}, + {'name': 'repositories', 'payloadName': 'my_repo_count'}, + {'name': 'public_projects', 'payloadName': 'public_project_count'}, + {'name': 'public_repositories', 'payloadName': 'public_repo_count'}, + {'name': 'total_projects', 'payloadName': 'total_project_count'}, + {'name': 'total_repositories', 'payloadName': 'total_repo_count'}, + ]; + } + + getStatisticsName.$inject = ['projectStatistics']; + + function getStatisticsName(projectStatistics) { + var r = projectStatistics(); + return get; + function get(query) { + + for(var i = 0; i < r.length; i++) { + var StatisticsName = r[i]; + if(query.key === 'payloadName' && StatisticsName.payloadName === query.value + || query.key === 'name' && StatisticsName.name === query.value) { + return StatisticsName; + } + } + } + } +})(); \ No newline at end of file diff --git a/static/ng/resources/js/components/summary/summary.directive.html b/static/ng/resources/js/components/summary/summary.directive.html index 7ee01d521..314651419 100644 --- a/static/ng/resources/js/components/summary/summary.directive.html +++ b/static/ng/resources/js/components/summary/summary.directive.html @@ -1,15 +1,4 @@ -
-
// 'projects' | tr //:
//vm.statProjects['my_project_count']//
-
// 'public_projects' | tr //:
//vm.statProjects['public_project_count']//
-
// 'total_projects' | tr //:
//vm.statProjects['total_project_count']//
-
// 'repositories' | tr //:
//vm.statProjects['my_repo_count']//
-
// 'public_repositories' | tr //:
//vm.statProjects['public_repo_count']//
-
// 'total_repositories' | tr //:
//vm.statProjects['total_repo_count']//
+
+
// vm.getSummaryName(key) | tr //:
//value//
-
-
// 'projects' | tr //:
//vm.statProjects['my_project_count']//
-
// 'public_projects' | tr //:
//vm.statProjects['public_project_count']//
-
// 'repositories' | tr //:
//vm.statProjects['my_repo_count']//
-
// 'public_repositories' | tr //:
//vm.statProjects['public_repo_count']//
-
\ No newline at end of file diff --git a/static/ng/resources/js/components/summary/summary.directive.js b/static/ng/resources/js/components/summary/summary.directive.js index 3bc70fb1c..f22053043 100644 --- a/static/ng/resources/js/components/summary/summary.directive.js +++ b/static/ng/resources/js/components/summary/summary.directive.js @@ -6,10 +6,11 @@ .module('harbor.summary') .directive('projectSummary', projectSummary); - ProjectSummaryController.$inject = ['StatProjectService']; + ProjectSummaryController.$inject = ['StatProjectService', 'getStatisticsName']; - function ProjectSummaryController(StatProjectService) { + function ProjectSummaryController(StatProjectService, getStatisticsName) { var vm = this; + vm.getSummaryName = getSummaryName; StatProjectService() .success(statProjectSuccess) @@ -17,16 +18,16 @@ function statProjectSuccess(data, status) { vm.statProjects = data; - if(vm.statProjects.hasOwnProperty("total_project_count")) { - vm.isAdmin = true; - }else { - vm.isAdmin = false; - } } function statProjectFailed(status) { console.log('Failed stat project:' + status); - } + } + + function getSummaryName(payloadName) { + var statisticsName = getStatisticsName({'key': 'payloadName', 'value': payloadName}); + return statisticsName.name; + } } function projectSummary() { diff --git a/static/ng/resources/js/layout/project/project.controller.js b/static/ng/resources/js/layout/project/project.controller.js index 8eca93747..095b6eb62 100644 --- a/static/ng/resources/js/layout/project/project.controller.js +++ b/static/ng/resources/js/layout/project/project.controller.js @@ -22,6 +22,7 @@ vm.togglePublicity = togglePublicity; vm.user = currentUser.get(); vm.retrieve(); + vm.getProjectRole = getProjectRole; function retrieve() { @@ -31,13 +32,12 @@ } function listProjectSuccess(data, status) { - data.forEach(function(data){ - var currentRole = getRole({'key': 'roleId', 'value': data.role_id}); - data.role_name = currentRole.name; - }); - vm.projects = data || []; - + } + + function getProjectRole(roleId) { + var role = getRole({'key': 'roleId', 'value': roleId}); + return role.name; } function listProjectFailed(e) { diff --git a/static/ng/resources/js/services/i18n/locale_messages_en-US.js b/static/ng/resources/js/services/i18n/locale_messages_en-US.js index b3f8b4344..9609fc1ea 100644 --- a/static/ng/resources/js/services/i18n/locale_messages_en-US.js +++ b/static/ng/resources/js/services/i18n/locale_messages_en-US.js @@ -45,7 +45,6 @@ var locale_messages = { 'comments': 'Comments', 'comment_is_too_long': 'Comment is too long. (maximum 20 characters)', 'forgot_password_description': 'Please input the Email used when you signed up, a reset password Email will be sent to you.', - 'email_does_not_exist': 'Email does not exist', 'reset_password': 'Reset Password', 'summary': 'Summary', 'projects': 'Projects', diff --git a/static/ng/resources/js/services/i18n/locale_messages_zh-CN.js b/static/ng/resources/js/services/i18n/locale_messages_zh-CN.js index ca0d3265b..a319a49b9 100644 --- a/static/ng/resources/js/services/i18n/locale_messages_zh-CN.js +++ b/static/ng/resources/js/services/i18n/locale_messages_zh-CN.js @@ -45,7 +45,6 @@ var locale_messages = { 'comments': '备注', 'comment_is_too_long' : '备注长度超出限制。(最长为20个字符)', 'forgot_password_description': '重置邮件将发送到此邮箱。', - 'email_does_not_exist': '邮箱不存在。', 'reset_password': '重置密码', 'summary': '摘要', 'projects': '项目', diff --git a/views/ng/project.htm b/views/ng/project.htm index b4eb38f51..4d6b82ffa 100644 --- a/views/ng/project.htm +++ b/views/ng/project.htm @@ -36,7 +36,7 @@ //p.Name// //p.repo_count// - //p.role_name// + //vm.getProjectRole(p.role_id)// //p.CreationTime | dateL : 'YYYY-MM-DD HH:mm:ss'// diff --git a/views/ng/sections/header-include.htm b/views/ng/sections/header-include.htm index 4cbb14521..7742a3aa6 100644 --- a/views/ng/sections/header-include.htm +++ b/views/ng/sections/header-include.htm @@ -200,3 +200,4 @@ +