diff --git a/app/docker/components/datatables/services-datatable/servicesDatatable.html b/app/docker/components/datatables/services-datatable/servicesDatatable.html
index 3b39ba144..71e830cd4 100644
--- a/app/docker/components/datatables/services-datatable/servicesDatatable.html
+++ b/app/docker/components/datatables/services-datatable/servicesDatatable.html
@@ -114,7 +114,7 @@
-
+
{{ p.PublishedPort }}:{{ p.TargetPort }}
-
diff --git a/app/docker/components/datatables/services-datatable/servicesDatatable.js b/app/docker/components/datatables/services-datatable/servicesDatatable.js
index 93c127267..e87726251 100644
--- a/app/docker/components/datatables/services-datatable/servicesDatatable.js
+++ b/app/docker/components/datatables/services-datatable/servicesDatatable.js
@@ -12,7 +12,7 @@ angular.module('portainer.docker').component('servicesDatatable', {
showOwnershipColumn: '<',
removeAction: '<',
scaleAction: '<',
- swarmManagerIp: '<',
+ publicUrl: '<',
forceUpdateAction: '<',
showForceUpdateButton: '<'
}
diff --git a/app/docker/helpers/nodeHelper.js b/app/docker/helpers/nodeHelper.js
index 3e79915fe..ba02dfdd1 100644
--- a/app/docker/helpers/nodeHelper.js
+++ b/app/docker/helpers/nodeHelper.js
@@ -9,16 +9,6 @@ angular.module('portainer.docker')
Labels: node.Spec.Labels,
Availability: node.Spec.Availability
};
- },
- getManagerIP: function(nodes) {
- var managerIp;
- for (var n in nodes) {
- if (undefined === nodes[n].ManagerStatus || nodes[n].ManagerStatus.Reachability !== 'reachable') {
- continue;
- }
- managerIp = nodes[n].ManagerStatus.Addr.split(':')[0];
- }
- return managerIp;
}
};
}]);
diff --git a/app/docker/views/services/services.html b/app/docker/views/services/services.html
index 67b7c0548..e732bbbc1 100644
--- a/app/docker/views/services/services.html
+++ b/app/docker/views/services/services.html
@@ -17,7 +17,7 @@
remove-action="removeAction"
scale-action="scaleAction"
force-update-action="forceUpdateAction"
- swarm-manager-ip="swarmManagerIP"
+ public-url="state.publicURL"
show-force-update-button="applicationState.endpoint.apiVersion >= 1.25"
>
diff --git a/app/docker/views/services/servicesController.js b/app/docker/views/services/servicesController.js
index 43cd0f2b1..e109260de 100644
--- a/app/docker/views/services/servicesController.js
+++ b/app/docker/views/services/servicesController.js
@@ -1,6 +1,10 @@
angular.module('portainer.docker')
-.controller('ServicesController', ['$q', '$scope', '$state', 'Service', 'ServiceService', 'ServiceHelper', 'Notifications', 'Task', 'Node', 'NodeHelper', 'ModalService',
-function ($q, $scope, $state, Service, ServiceService, ServiceHelper, Notifications, Task, Node, NodeHelper, ModalService) {
+.controller('ServicesController', ['$q', '$scope', '$state', 'Service', 'ServiceService', 'ServiceHelper', 'Notifications', 'Task', 'Node', 'ModalService', 'EndpointProvider',
+function ($q, $scope, $state, Service, ServiceService, ServiceHelper, Notifications, Task, Node, ModalService, EndpointProvider) {
+
+ $scope.state = {
+ publicURL: EndpointProvider.endpointPublicURL()
+ };
$scope.scaleAction = function scaleService(service) {
var config = ServiceHelper.serviceToConfig(service.Model);
@@ -88,7 +92,6 @@ function ($q, $scope, $state, Service, ServiceService, ServiceHelper, Notificati
nodes: Node.query({}).$promise
})
.then(function success(data) {
- $scope.swarmManagerIP = NodeHelper.getManagerIP(data.nodes);
$scope.services = data.services.map(function (service) {
var runningTasks = data.tasks.filter(function (task) {
return task.ServiceID === service.ID && task.Status.State === 'running';
|