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..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
@@ -40,10 +40,13 @@
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();
+ }
});
function search(e) {
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': '创建目标失败。',