diff --git a/app/agent/rest/host.js b/app/agent/rest/host.js index e2f002f21..a717def30 100644 --- a/app/agent/rest/host.js +++ b/app/agent/rest/host.js @@ -8,7 +8,7 @@ angular.module('portainer.agent').factory('Host', [ endpointId: EndpointProvider.endpointID }, { - info: { method: 'GET', isArray: false, params: { action: 'info' } } + info: { method: 'GET', params: { action: 'info' } } } ); } diff --git a/app/docker/components/host-overview/host-overview.html b/app/docker/components/host-overview/host-overview.html index 15144717f..c7907b3bb 100644 --- a/app/docker/components/host-overview/host-overview.html +++ b/app/docker/components/host-overview/host-overview.html @@ -15,4 +15,7 @@ + + + \ No newline at end of file diff --git a/app/docker/components/host-overview/host-overview.js b/app/docker/components/host-overview/host-overview.js index c21384d04..add9515b4 100644 --- a/app/docker/components/host-overview/host-overview.js +++ b/app/docker/components/host-overview/host-overview.js @@ -1,9 +1,10 @@ angular.module('portainer.docker').component('hostOverview', { templateUrl: 'app/docker/components/host-overview/host-overview.html', - controller: 'HostOverviewController', bindings: { hostDetails: '<', engineDetails: '<', + devices: '<', + disks: '<', isAgent: '<', refreshUrl: '@' }, diff --git a/app/docker/components/host-view-panels/devices-panel/devices-panel.js b/app/docker/components/host-view-panels/devices-panel/devices-panel.js index d863e5b26..1bd32e1f6 100644 --- a/app/docker/components/host-view-panels/devices-panel/devices-panel.js +++ b/app/docker/components/host-view-panels/devices-panel/devices-panel.js @@ -1,7 +1,6 @@ angular.module('portainer.docker').component('devicesPanel', { templateUrl: 'app/docker/components/host-view-panels/devices-panel/devices-panel.html', - // controller: 'DevicesPanelController' bindings: { devices: '<' } diff --git a/app/docker/components/host-view-panels/disks-panel/disks-panel.js b/app/docker/components/host-view-panels/disks-panel/disks-panel.js index 97639402a..ae96224ee 100644 --- a/app/docker/components/host-view-panels/disks-panel/disks-panel.js +++ b/app/docker/components/host-view-panels/disks-panel/disks-panel.js @@ -1,7 +1,6 @@ angular.module('portainer.docker').component('disksPanel', { templateUrl: 'app/docker/components/host-view-panels/disks-panel/disks-panel.html', - // controller: 'DisksPanelController' bindings: { disks: '<' } diff --git a/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.html b/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.html index 03c0c8780..4eebf6bcd 100644 --- a/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.html +++ b/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.html @@ -23,11 +23,11 @@ Volume Plugins - {{ $ctrl.engine.volumePlugins | commaSeparated }} + {{ $ctrl.engine.volumePlugins | arraytostr: ', ' }} Network Plugins - {{ $ctrl.engine.networkPlugins | commaSeparated }} + {{ $ctrl.engine.networkPlugins | arraytostr: ', ' }} diff --git a/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.js b/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.js index 05326c5b1..666dd5254 100644 --- a/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.js +++ b/app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.js @@ -1,7 +1,6 @@ angular.module('portainer.docker').component('engineDetailsPanel', { templateUrl: 'app/docker/components/host-view-panels/engine-details-panel/engine-details-panel.html', - controller: 'EngineDetailsPanelController', bindings: { engine: '<' } diff --git a/app/docker/components/host-view-panels/host-details-panel/host-details-panel.js b/app/docker/components/host-view-panels/host-details-panel/host-details-panel.js index fbd2edfb0..6865b5872 100644 --- a/app/docker/components/host-view-panels/host-details-panel/host-details-panel.js +++ b/app/docker/components/host-view-panels/host-details-panel/host-details-panel.js @@ -1,7 +1,6 @@ angular.module('portainer.docker').component('hostDetailsPanel', { templateUrl: 'app/docker/components/host-view-panels/host-details-panel/host-details-panel.html', - controller: 'HostDetailsPanelController', bindings: { host: '<', isAgent: '<' diff --git a/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js b/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js index 44be93d7d..a9ad8ab58 100644 --- a/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js +++ b/app/docker/components/host-view-panels/node-labels-table/node-labels-table-controller.js @@ -7,7 +7,7 @@ angular.module('portainer.docker').controller('NodeLabelsTableController', [ function removeLabel(index) { var label = ctrl.labels.splice(index, 1); if (label !== null) { - ctrl.onChangedLabels({ labels: ctrl.labels }); + ctrl.onChangedLabels({ labels: ctrl.labels }); } } @@ -19,21 +19,5 @@ angular.module('portainer.docker').controller('NodeLabelsTableController', [ ctrl.onChangedLabels({ labels: ctrl.labels }); } } - - - - function cancelChanges() { - ctrl.labels = ctrl.labels - .filter(function(label) { - return label.originalValue || label.originalKey; - }) - .map(function(label) { - return Object.assign(label, { - value: label.originalValue, - key: label.originalKey - }); - }); - ctrl.hasChanges = false; - } } ]); diff --git a/app/docker/components/host-view-panels/swarm-node-details-panel/swarm-node-details-panel.html b/app/docker/components/host-view-panels/swarm-node-details-panel/swarm-node-details-panel.html index 61370725a..291025e13 100644 --- a/app/docker/components/host-view-panels/swarm-node-details-panel/swarm-node-details-panel.html +++ b/app/docker/components/host-view-panels/swarm-node-details-panel/swarm-node-details-panel.html @@ -28,7 +28,7 @@ Engine Labels - {{ $ctrl.details.engineLabels | commaSeparated }} + {{ $ctrl.details.engineLabels | arraytostr:', ' }} diff --git a/app/docker/views/host/host-view-controller.js b/app/docker/views/host/host-view-controller.js index f1ed74083..43bc49391 100644 --- a/app/docker/views/host/host-view-controller.js +++ b/app/docker/views/host/host-view-controller.js @@ -1,16 +1,20 @@ angular.module('portainer.docker').controller('HostViewController', [ - '$q', - '$scope', - 'SystemService', - 'Notifications', - function HostViewController($q, $scope, SystemService, Notifications) { + '$q', 'SystemService', 'Notifications', 'StateManager', 'AgentService', + function HostViewController($q, SystemService, Notifications, StateManager, AgentService) { var ctrl = this; this.$onInit = initView; + ctrl.state = { + isAgent: false + }; + this.engineDetails = {}; this.hostDetails = {}; function initView() { + var applicationState = StateManager.getState(); + ctrl.state.isAgent = applicationState.endpoint.mode.agentProxy; + $q.all({ version: SystemService.version(), info: SystemService.info() @@ -18,6 +22,13 @@ angular.module('portainer.docker').controller('HostViewController', [ .then(function success(data) { ctrl.engineDetails = buildEngineDetails(data); ctrl.hostDetails = buildHostDetails(data.info); + + if (ctrl.state.isAgent) { + return AgentService.hostInfo(data.info.Hostname).then(function onHostInfoLoad(agentHostInfo) { + ctrl.devices = agentHostInfo.PCIDevices; + ctrl.disks = agentHostInfo.PhysicalDisks; + }); + } }) .catch(function error(err) { Notifications.error( diff --git a/app/docker/views/host/host-view.html b/app/docker/views/host/host-view.html index 46ac1090a..419e96995 100644 --- a/app/docker/views/host/host-view.html +++ b/app/docker/views/host/host-view.html @@ -2,4 +2,7 @@ engine-details="$ctrl.engineDetails" host-details="$ctrl.hostDetails" refresh-url="docker.host" + is-agent="$ctrl.state.isAgent" + disks="$ctrl.disks" + devices="$ctrl.devices" > \ No newline at end of file diff --git a/app/docker/views/nodes/node-details/node-details-view-controller.js b/app/docker/views/nodes/node-details/node-details-view-controller.js index e3fc2690f..cde111986 100644 --- a/app/docker/views/nodes/node-details/node-details-view-controller.js +++ b/app/docker/views/nodes/node-details/node-details-view-controller.js @@ -20,7 +20,9 @@ angular.module('portainer.docker').controller('NodeDetailsViewController', [ ctrl.engineDetails = buildEngineDetails(node); ctrl.nodeDetails = buildNodeDetails(node); if (ctrl.state.isAgent) { - AgentService.hostInfo(node.Hostname).then(function onHostInfoLoad(agentHostInfo) { + AgentService.hostInfo(node.Hostname).then(function onHostInfoLoad( + agentHostInfo + ) { ctrl.devices = agentHostInfo.PCIDevices; ctrl.disks = agentHostInfo.PhysicalDisks; }); @@ -28,7 +30,6 @@ angular.module('portainer.docker').controller('NodeDetailsViewController', [ }); } - function buildHostDetails(node) { return { os: { @@ -61,10 +62,6 @@ angular.module('portainer.docker').controller('NodeDetailsViewController', [ }; } - - - - function transformPlugins(pluginsList, type) { return pluginsList .filter(function(plugin) { diff --git a/app/docker/views/nodes/node-details/node-details-view.html b/app/docker/views/nodes/node-details/node-details-view.html index af0bf2cde..13df99558 100644 --- a/app/docker/views/nodes/node-details/node-details-view.html +++ b/app/docker/views/nodes/node-details/node-details-view.html @@ -3,9 +3,9 @@ host-details="$ctrl.hostDetails" engine-details="$ctrl.engineDetails" refresh-url="docker.nodes.node" + disks="$ctrl.disks" + devices="$ctrl.devices" > - -