-
-
+
+
Description is required.
@@ -33,7 +33,7 @@
\ No newline at end of file
diff --git a/static/ng/resources/js/components/replication/create-policy.directive.js b/static/ng/resources/js/components/replication/create-policy.directive.js
index a6e24b176..84e6a2035 100644
--- a/static/ng/resources/js/components/replication/create-policy.directive.js
+++ b/static/ng/resources/js/components/replication/create-policy.directive.js
@@ -8,6 +8,12 @@
function CreatePolicyController() {
var vm = this;
+ vm.enabled = true;
+ vm.save = save;
+
+ function save(policy) {
+ console.log(angular.toJson(policy));
+ }
}
function createPolicy() {
diff --git a/static/ng/resources/js/components/replication/list-replication.directive.html b/static/ng/resources/js/components/replication/list-replication.directive.html
index edba4d2b9..115c051cc 100644
--- a/static/ng/resources/js/components/replication/list-replication.directive.html
+++ b/static/ng/resources/js/components/replication/list-replication.directive.html
@@ -45,7 +45,7 @@
diff --git a/static/ng/resources/js/components/system-management/create-destination.directive.js b/static/ng/resources/js/components/system-management/create-destination.directive.js
index c95488dd2..7b98ada52 100644
--- a/static/ng/resources/js/components/system-management/create-destination.directive.js
+++ b/static/ng/resources/js/components/system-management/create-destination.directive.js
@@ -6,10 +6,30 @@
.module('harbor.system.management')
.directive('createDestination', createDestination);
- CreateDestinationController.$inject = [];
+ CreateDestinationController.$inject = ['CreateDestinationService'];
- function CreateDestinationController() {
+ function CreateDestinationController(CreateDestinationService) {
var vm = this;
+ vm.save = save;
+
+ function save(destination) {
+ if(destination) {
+ console.log('destination:' + angular.toJson(destination));
+ CreateDestinationService(destination.name, destination.endpoint,
+ destination.username, destination.password)
+ .success(createDestinationSuccess)
+ .error(createDestinationFailed);
+ }
+ }
+
+ function createDestinationSuccess(data, status) {
+ alert('Successful created destination.');
+ }
+
+ function createDestinationFailed(data, status) {
+ console.log('Failed create destination:' + data);
+ }
+
}
function createDestination() {
diff --git a/static/ng/resources/js/components/system-management/destination.directive.html b/static/ng/resources/js/components/system-management/destination.directive.html
index ecb0e2e5f..408a582ca 100644
--- a/static/ng/resources/js/components/system-management/destination.directive.html
+++ b/static/ng/resources/js/components/system-management/destination.directive.html
@@ -25,7 +25,7 @@
//r.name// |
- //r.endpoint// |
+ //r.url// |
//r.creation_time// |
|
diff --git a/static/ng/resources/js/components/system-management/destination.directive.js b/static/ng/resources/js/components/system-management/destination.directive.js
index dc2faf829..8e93d63d6 100644
--- a/static/ng/resources/js/components/system-management/destination.directive.js
+++ b/static/ng/resources/js/components/system-management/destination.directive.js
@@ -11,12 +11,29 @@
function DestinationController(ListDestinationService) {
var vm = this;
- ListDestinationService()
- .then(function(data) {
- vm.destinations = data;
- }, function() {
-
- });
+ vm.retrieve = retrieve;
+ vm.search = search;
+ vm.retrieve();
+
+ function retrieve() {
+ ListDestinationService()
+ .success(listDestinationSuccess)
+ .error(listDestinationFailed);
+ }
+
+ function search() {
+ vm.retrieve();
+ }
+
+ function listDestinationSuccess(data, status) {
+ vm.destinations = data;
+ }
+
+ function listDestinationFailed(data, status) {
+ console.log('Failed list destination:' + data);
+ }
+
+
}
function destination() {
diff --git a/static/ng/resources/js/services/destination/services.create-destination.js b/static/ng/resources/js/services/destination/services.create-destination.js
index c043f07a9..571a4fb40 100644
--- a/static/ng/resources/js/services/destination/services.create-destination.js
+++ b/static/ng/resources/js/services/destination/services.create-destination.js
@@ -6,12 +6,18 @@
.module('harbor.services.destination')
.factory('CreateDestinationService', CreateDestinationService);
- CreateDestinationService.$inject = ['$http', '$q', '$timeout'];
+ CreateDestinationService.$inject = ['$http'];
- function CreateDestinationService($http, $q, $timeout) {
+ function CreateDestinationService($http) {
return createDestination;
- function createDestination() {
-
+ function createDestination(name, endpoint, username, password) {
+ return $http
+ .post('/api/targets', {
+ 'name': name,
+ 'url': endpoint,
+ 'username': username,
+ 'password': password
+ });
}
}
diff --git a/static/ng/resources/js/services/destination/services.list-destination.js b/static/ng/resources/js/services/destination/services.list-destination.js
index 4f1c661a5..bdc2925b1 100644
--- a/static/ng/resources/js/services/destination/services.list-destination.js
+++ b/static/ng/resources/js/services/destination/services.list-destination.js
@@ -6,38 +6,17 @@
.module('harbor.services.destination')
.factory('ListDestinationService', ListDestinationService);
- ListDestinationService.$inject = ['$http', '$q', '$timeout'];
+ ListDestinationService.$inject = ['$http'];
- function ListDestinationService($http, $q, $timeout) {
-
- var mockData = [
- {
- 'id' : 1,
- 'name': 'Target01',
- 'endpoint': 'http://10.117.170.69',
- 'creation_time': '2016-06-01 16:54:32'
- },
- {
- 'id' : 2,
- 'name': 'Target02',
- 'endpoint': 'http://10.117.171.41',
- 'creation_time': '2016-06-01 15:35:22'
- },
- {
- 'id' : 3,
- 'name': 'Target03',
- 'endpoint': 'http://10.117.171.63',
- 'creation_time': '2016-06-01 14:22:21'
- }
- ];
-
+ function ListDestinationService($http) {
return listDestination;
- function listDestination() {
- var q = $q.defer();
- $timeout(function() {
- q.resolve(mockData);
- });
- return q.promise;
+ function listDestination(name) {
+ return $http
+ .get('/api/targets', {
+ 'params': {
+ 'name': name
+ }
+ });
}
}
diff --git a/static/ng/resources/js/services/replication-job/services.list-replication-job.js b/static/ng/resources/js/services/replication-job/services.list-replication-job.js
index d99a09881..79b5de1b6 100644
--- a/static/ng/resources/js/services/replication-job/services.list-replication-job.js
+++ b/static/ng/resources/js/services/replication-job/services.list-replication-job.js
@@ -6,62 +6,20 @@
.module('harbor.services.replication.job')
.factory('ListReplicationJobService', ListReplicationJobService);
- ListReplicationJobService.$inject = ['$http', '$q', '$timeout'];
+ ListReplicationJobService.$inject = ['$http'];
- function ListReplicationJobService($http, $q, $timeout) {
- var mockData = [
- {
- 'policy_id': 2,
- 'job_id': 1,
- 'name': 'Replicate Ubuntu:14.04',
- 'operation': 'copy',
- 'start_time': '2016-05-27 14:05:22',
- 'status': 'failed'
- },
- {
- 'policy_id': 1,
- 'job_id': 2,
- 'name': 'Replicate MySQL:5.6',
- 'operation': 'copy',
- 'start_time': '2016-05-27 15:15:22',
- 'status': 'success'
- },
- {
- 'policy_id': 1,
- 'job_id': 3,
- 'name': 'Replicate Alpine:1.1',
- 'operation': 'copy',
- 'start_time': '2016-05-27 13:15:22',
- 'status': 'success'
- },
- {
- 'policy_id': 2,
- 'job_id': 4,
- 'name': 'Replicate Alpine:1.1',
- 'operation': 'copy',
- 'start_time': '2016-05-27 13:15:22',
- 'status': 'success'
- }
- ];
+ function ListReplicationJobService($http) {
+
return listReplicationJob;
-
-
- function listReplicationJob(policyId) {
- console.log('policyId=' + policyId);
- var defer = $q.defer();
- $timeout(function() {
- var result = [];
- for(var i = 0; i < mockData.length; i++) {
- var item = mockData[i];
- if(item['policy_id'] == policyId) {
- result.push(item);
+ function listReplicationJob(policyId, name) {
+ return $http
+ .get('/api/jobs/replication/', {
+ 'params': {
+ 'policy_id': policyId,
+ 'name': name
}
- }
- defer.resolve(result);
- });
- return defer.promise;
+ });
}
}
-
})();
\ No newline at end of file
diff --git a/static/ng/resources/js/services/replication-policy/services.create-replication-policy.js b/static/ng/resources/js/services/replication-policy/services.create-replication-policy.js
new file mode 100644
index 000000000..3f89a2d89
--- /dev/null
+++ b/static/ng/resources/js/services/replication-policy/services.create-replication-policy.js
@@ -0,0 +1,28 @@
+(function() {
+
+ 'use strict';
+
+ angular
+ .module('harbor.services.replication.policy')
+ .factory('CreateReplicationPolicyService', CreateReplicationPolicyService);
+
+ CreateReplicationPolicyService.$inject = ['$http'];
+
+ function CreateReplicationPolicyService($http) {
+ return createReplicaitonPolicy;
+
+ function createReplicationPolicy(policy) {
+ return $http
+ .post('/api/policies/replication', {
+ 'project_id': policy.projectId,
+ 'target_id': policy.targetId,
+ 'name': policy.name,
+ 'enabled': policy.enabled,
+ 'description': policy.description,
+ 'cron_str': policy.cronStr,
+ 'start_time': policy.startTime
+ })
+ }
+ }
+
+})();
\ No newline at end of file
diff --git a/static/ng/resources/js/services/replication-policy/services.list-replication-policy.js b/static/ng/resources/js/services/replication-policy/services.list-replication-policy.js
index 0d7800d06..fa7061914 100644
--- a/static/ng/resources/js/services/replication-policy/services.list-replication-policy.js
+++ b/static/ng/resources/js/services/replication-policy/services.list-replication-policy.js
@@ -6,66 +6,20 @@
.module('harbor.services.replication.policy')
.factory('ListReplicationPolicyService', ListReplicationPolicyService);
- ListReplicationPolicyService.$inject = ['$http', '$q', '$timeout'];
+ ListReplicationPolicyService.$inject = ['$http'];
- function ListReplicationPolicyService($http, $q, $timeout) {
-
- var mockData = [
- {
- 'policy_id': 1,
- 'name': 'test01',
- 'description': 'Sync image for current.',
- 'destination': '10.117.170.69',
- 'start_time': '2015-05-26 22:30:30',
- 'status': 'NORMAL',
- 'activation': true
- },
- {
- 'policy_id': 2,
- 'name': 'test02',
- 'description': 'Sync image for current.',
- 'destination': '10.117.170.69',
- 'start_time': '2015-05-27 20:00:00',
- 'status': 'WARNING',
- 'activation': true
- },
- {
- 'policy_id': 3,
- 'name': 'test03',
- 'description': 'Sync image for current.',
- 'destination': '10.117.170.69',
- 'start_time': '2015-05-27 20:00:00',
- 'status': 'WARNING',
- 'activation': true
- },
- {
- 'policy_id': 4,
- 'name': 'test04',
- 'description': 'Sync image for current.',
- 'destination': '10.117.170.69',
- 'start_time': '2015-05-27 20:00:00',
- 'status': 'WARNING',
- 'activation': true
- },
- {
- 'policy_id': 5,
- 'name': 'test05',
- 'description': 'Sync image for current.',
- 'destination': '10.117.170.69',
- 'start_time': '2015-05-27 20:00:00',
- 'status': 'WARNING',
- 'activation': true
- }
- ];
-
+ function ListReplicationPolicyService($http) {
+
return listReplicationPolicy;
- function listReplicationPolicy(policyName) {
- var defer = $q.defer();
- $timeout(function() {
- defer.resolve(mockData);
- });
- return defer.promise;
+ function listReplicationPolicy(projectId, name) {
+ return $http
+ .get('/api/policies/replication', {
+ 'params': {
+ 'project_id': projectId,
+ 'name': name
+ }
+ });
}
}