From 7979d707c856fd9fc9039fef87b4c7d567b16c1a Mon Sep 17 00:00:00 2001 From: kunw Date: Mon, 5 Sep 2016 18:09:05 +0800 Subject: [PATCH 1/2] Update for loading requests when retrieving project details. --- .../details/retrieve-projects.directive.js | 3 ++- .../js/components/log/list-log.directive.html | 2 ++ .../js/components/log/list-log.directive.js | 25 ++++++++++--------- .../list-project-member.directive.js | 14 ++++++++--- .../replication/list-replication.directive.js | 22 ++++++++-------- .../repository/list-repository.directive.js | 10 +++++--- .../js/layout/details/details.controller.js | 6 +++++ .../js/services/i18n/locale_messages_en-US.js | 1 + .../js/services/i18n/locale_messages_zh-CN.js | 1 + 9 files changed, 53 insertions(+), 31 deletions(-) diff --git a/static/resources/js/components/details/retrieve-projects.directive.js b/static/resources/js/components/details/retrieve-projects.directive.js index baeb6a389..4b36c63f3 100644 --- a/static/resources/js/components/details/retrieve-projects.directive.js +++ b/static/resources/js/components/details/retrieve-projects.directive.js @@ -102,12 +102,13 @@ function selectItem(item) { vm.selectedProject = item; $location.search('project_id', vm.selectedProject.project_id); - vm.checkProjectMember(vm.selectedProject.project_id); + $scope.$emit('projectChanged', true); } $scope.$on('$locationChangeSuccess', function(e) { vm.projectId = getParameterByName('project_id', $location.absUrl()); vm.isOpen = false; + vm.checkProjectMember(vm.selectedProject.project_id); }); function checkProjectMember(projectId) { diff --git a/static/resources/js/components/log/list-log.directive.html b/static/resources/js/components/log/list-log.directive.html index 86b253a53..8cb2225da 100644 --- a/static/resources/js/components/log/list-log.directive.html +++ b/static/resources/js/components/log/list-log.directive.html @@ -20,6 +20,8 @@ + +
diff --git a/static/resources/js/components/log/list-log.directive.js b/static/resources/js/components/log/list-log.directive.js index 04fb3fcd3..29861de1e 100644 --- a/static/resources/js/components/log/list-log.directive.js +++ b/static/resources/js/components/log/list-log.directive.js @@ -62,18 +62,19 @@ } }); - $scope.$on('$locationChangeSuccess', function() { - - vm.projectId = getParameterByName('project_id', $location.absUrl()); - vm.queryParams = { - 'beginTimestamp' : vm.beginTimestamp, - 'endTimestamp' : vm.endTimestamp, - 'keywords' : vm.keywords, - 'projectId': vm.projectId, - 'username' : vm.username - }; - vm.username = ''; - retrieve(vm.queryParams, vm.page, vm.pageSize); + $scope.$on('retrieveData', function(e, val) { + if(val) { + vm.projectId = getParameterByName('project_id', $location.absUrl()); + vm.queryParams = { + 'beginTimestamp' : vm.beginTimestamp, + 'endTimestamp' : vm.endTimestamp, + 'keywords' : vm.keywords, + 'projectId': vm.projectId, + 'username' : vm.username + }; + vm.username = ''; + retrieve(vm.queryParams, vm.page, vm.pageSize); + } }); function search(e) { 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 efcd9d900..728bda413 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 @@ -36,14 +36,19 @@ vm.deleteProjectMember = deleteProjectMember; vm.retrieve = retrieve; vm.username = ''; + vm.hasRetrieved = false; vm.projectId = getParameterByName('project_id', $location.absUrl()); vm.retrieve(); - $scope.$on('$locationChangeSuccess', function() { - vm.projectId = getParameterByName('project_id', $location.absUrl()); - vm.username = ''; - vm.retrieve(); + $scope.$on('retrieveData', function(e, val) { + if(val) { + console.log('received retrieve data:' + val); + vm.projectId = getParameterByName('project_id', $location.absUrl()); + vm.username = ''; + vm.retrieve(); + vm.hasRetrieved = false; + } }); function search(e) { @@ -87,6 +92,7 @@ function getProjectMemberComplete(response) { vm.user = currentUser.get(); vm.projectMembers = response.data || []; + vm.hasRetrieved = true; } function getProjectMemberFailed(response) { diff --git a/static/resources/js/components/replication/list-replication.directive.js b/static/resources/js/components/replication/list-replication.directive.js index eae2df2d3..2079e5278 100644 --- a/static/resources/js/components/replication/list-replication.directive.js +++ b/static/resources/js/components/replication/list-replication.directive.js @@ -44,9 +44,11 @@ vm.sectionHeight = {'min-height': '1260px'}; - $scope.$on('$locationChangeSuccess', function() { - vm.projectId = getParameterByName('project_id', $location.absUrl()); - vm.retrievePolicy(); + $scope.$on('retrieveData', function(e, val) { + if(val) { + vm.projectId = getParameterByName('project_id', $location.absUrl()); + vm.retrievePolicy(); + } }); vm.addReplication = addReplication; @@ -66,7 +68,7 @@ vm.page = 1; $scope.$watch('vm.page', function(current) { - if(current !== 1) { + if(vm.lastPolicyId !== -1 && current) { vm.page = current; console.log('replication job: vm.page:' + current); vm.retrieveJob(vm.lastPolicyId, vm.page, vm.pageSize); @@ -192,7 +194,11 @@ function deleteReplicationPolicyFailed(data, status) { $scope.$emit('modalTitle', $filter('tr')('error')); - $scope.$emit('modalMessage', $filter('tr')('failed_to_delete_replication_policy')); + if(status === 412) { + $scope.$emit('modalMessage', $filter('tr')('failed_to_delete_replication_enabled')); + }else{ + $scope.$emit('modalMessage', $filter('tr')('failed_to_delete_replication_policy')); + } $scope.$emit('raiseError', true); console.log('Failed to delete replication policy.'); } @@ -347,11 +353,7 @@ if(current) { if(current.length > 0) { element.find('#upon-pane table>tbody>tr').on('click', trClickHandler); - if(ctrl.lastPolicyId === -1) { - element.find('#upon-pane table>tbody>tr:eq(0)').trigger('click'); - }else{ - element.find('#upon-pane table>tbody>tr').filter('[policy_id="' + ctrl.lastPolicyId + '"]').trigger('click'); - } + element.find('#upon-pane table>tbody>tr:eq(0)').trigger('click'); }else{ element .find('#upon-pane table>tbody>tr') diff --git a/static/resources/js/components/repository/list-repository.directive.js b/static/resources/js/components/repository/list-repository.directive.js index f9f33e6aa..c0abafd81 100644 --- a/static/resources/js/components/repository/list-repository.directive.js +++ b/static/resources/js/components/repository/list-repository.directive.js @@ -49,10 +49,12 @@ vm.projectId = getParameterByName('project_id', $location.absUrl()); - $scope.$on('$locationChangeSuccess', function() { - vm.projectId = getParameterByName('project_id', $location.absUrl()); - vm.filterInput = ''; - vm.retrieve(); + $scope.$on('retrieveData', function(e, val) { + if(val) { + vm.projectId = getParameterByName('project_id', $location.absUrl()); + vm.filterInput = ''; + vm.retrieve(); + } }); diff --git a/static/resources/js/layout/details/details.controller.js b/static/resources/js/layout/details/details.controller.js index 1cd8c355d..ce3ae9cc2 100644 --- a/static/resources/js/layout/details/details.controller.js +++ b/static/resources/js/layout/details/details.controller.js @@ -68,6 +68,12 @@ } }); + $scope.$on('projectChanged', function(e, val) { + if(val) { + $scope.$broadcast('retrieveData', true); + } + }); + function togglePublicity(e) { vm.publicity = e.publicity; } diff --git a/static/resources/js/services/i18n/locale_messages_en-US.js b/static/resources/js/services/i18n/locale_messages_en-US.js index f434c3f07..633e646ca 100644 --- a/static/resources/js/services/i18n/locale_messages_en-US.js +++ b/static/resources/js/services/i18n/locale_messages_en-US.js @@ -253,6 +253,7 @@ var locale_messages = { 'failed_to_get_replication_policy': 'Failed to get replication policy.', 'failed_to_update_replication_policy': 'Failed to update replication policy.', 'failed_to_delete_replication_policy': 'Failed to delete replication policy.', + 'failed_to_delete_replication_enabled': 'Policy is enabled, can not be deleted.', 'failed_to_delete_destination': 'Failed to delete destination.', 'failed_to_create_destination': 'Failed to create destination.', 'failed_to_update_destination': 'Failed to update destination.', diff --git a/static/resources/js/services/i18n/locale_messages_zh-CN.js b/static/resources/js/services/i18n/locale_messages_zh-CN.js index 4a03a0735..b55f42a66 100644 --- a/static/resources/js/services/i18n/locale_messages_zh-CN.js +++ b/static/resources/js/services/i18n/locale_messages_zh-CN.js @@ -252,6 +252,7 @@ var locale_messages = { 'failed_to_get_destination_policies': '获取目标关联策略数据失败。', 'failed_to_get_replication_policy': '获取复制策略失败。', 'failed_to_update_replication_policy': '修改复制策略失败。', + 'failed_to_delete_replication_enabled': '无法删除正在使用的复制策略。', 'failed_to_delete_replication_policy': '删除复制策略失败。', 'failed_to_delete_destination': '删除目标失败。', 'failed_to_create_destination': '创建目标失败。', From 341c8b6c532717266f624b9fc9e4d6d1b866e606 Mon Sep 17 00:00:00 2001 From: kunw Date: Tue, 6 Sep 2016 13:08:35 +0800 Subject: [PATCH 2/2] remove unused variables. --- .../components/project-member/list-project-member.directive.js | 3 --- 1 file changed, 3 deletions(-) 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 728bda413..b9ee3fccd 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 @@ -36,7 +36,6 @@ vm.deleteProjectMember = deleteProjectMember; vm.retrieve = retrieve; vm.username = ''; - vm.hasRetrieved = false; vm.projectId = getParameterByName('project_id', $location.absUrl()); vm.retrieve(); @@ -47,7 +46,6 @@ vm.projectId = getParameterByName('project_id', $location.absUrl()); vm.username = ''; vm.retrieve(); - vm.hasRetrieved = false; } }); @@ -92,7 +90,6 @@ function getProjectMemberComplete(response) { vm.user = currentUser.get(); vm.projectMembers = response.data || []; - vm.hasRetrieved = true; } function getProjectMemberFailed(response) {