You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by de...@apache.org on 2017/04/06 20:41:56 UTC
[12/15] incubator-trafficcontrol git commit: adds offline reason
popover to all server tables
adds offline reason popover to all server tables
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/8b7a49fa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/8b7a49fa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/8b7a49fa
Branch: refs/heads/master
Commit: 8b7a49fa3d0b51638aa0a20d82103458371dcf60
Parents: 40b90a5
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Tue Mar 14 21:51:17 2017 -0600
Committer: Dewayne Richardson <de...@apache.org>
Committed: Thu Apr 6 14:41:34 2017 -0600
----------------------------------------------------------------------
.../TableCacheGroupServersController.js | 8 +++--
.../table.cacheGroupServers.tpl.html | 5 ++-
.../cdnServers/TableCDNServersController.js | 8 +++--
.../table/cdnServers/table.cdnServers.tpl.html | 5 ++-
.../TableDeliveryServiceServersController.js | 8 +++--
.../table.deliveryServiceServers.tpl.html | 5 ++-
.../TablePhysLocationServersController.js | 8 +++--
.../table.physLocationServers.tpl.html | 5 ++-
.../TableProfileServersController.js | 8 +++--
.../table.profileServers.tpl.html | 5 ++-
.../table/servers/TableServersController.js | 8 +++--
.../table/servers/table.servers.tpl.html | 5 ++-
.../TableStatusServersController.js | 8 +++--
.../statusServers/table.statusServers.tpl.html | 5 ++-
.../typeServers/TableTypeServersController.js | 8 +++--
.../typeServers/table.typeServers.tpl.html | 5 ++-
.../app/src/common/service/utils/ServerUtils.js | 33 ++++++++++++++++++++
.../ui/app/src/common/service/utils/index.js | 1 +
18 files changed, 114 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/TableCacheGroupServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/TableCacheGroupServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/TableCacheGroupServersController.js
index 18740a3..9a97660 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/TableCacheGroupServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/TableCacheGroupServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableCacheGroupsServersController = function(cacheGroup, servers, $scope, $state, $uibModal, cacheGroupService, locationUtils) {
+var TableCacheGroupsServersController = function(cacheGroup, servers, $scope, $state, $uibModal, cacheGroupService, locationUtils, serverUtils) {
$scope.cacheGroup = cacheGroup;
@@ -101,6 +101,10 @@ var TableCacheGroupsServersController = function(cacheGroup, servers, $scope, $s
$scope.navigateToPath = locationUtils.navigateToPath;
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
angular.element(document).ready(function () {
$('#serversTable').dataTable({
"aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
@@ -110,5 +114,5 @@ var TableCacheGroupsServersController = function(cacheGroup, servers, $scope, $s
};
-TableCacheGroupsServersController.$inject = ['cacheGroup', 'servers', '$scope', '$state', '$uibModal', 'cacheGroupService', 'locationUtils'];
+TableCacheGroupsServersController.$inject = ['cacheGroup', 'servers', '$scope', '$state', '$uibModal', 'cacheGroupService', 'locationUtils', 'serverUtils'];
module.exports = TableCacheGroupsServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/table.cacheGroupServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/table.cacheGroupServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/table.cacheGroupServers.tpl.html
index b146972..ba792b6 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/table.cacheGroupServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/cacheGroupServers/table.cacheGroupServers.tpl.html
@@ -65,7 +65,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/TableCDNServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/TableCDNServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/TableCDNServersController.js
index 1c3d1e9..787bf37 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/TableCDNServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/TableCDNServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableCDNServersController = function(cdn, servers, $scope, $state, locationUtils, cdnService) {
+var TableCDNServersController = function(cdn, servers, $scope, $state, locationUtils, serverUtils, cdnService) {
$scope.cdn = cdn;
@@ -49,6 +49,10 @@ var TableCDNServersController = function(cdn, servers, $scope, $state, locationU
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
$scope.navigateToPath = locationUtils.navigateToPath;
angular.element(document).ready(function () {
@@ -60,5 +64,5 @@ var TableCDNServersController = function(cdn, servers, $scope, $state, locationU
};
-TableCDNServersController.$inject = ['cdn', 'servers', '$scope', '$state', 'locationUtils', 'cdnService'];
+TableCDNServersController.$inject = ['cdn', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils', 'cdnService'];
module.exports = TableCDNServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/table.cdnServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/table.cdnServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/table.cdnServers.tpl.html
index 9189f43..0b211e5 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/table.cdnServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/cdnServers/table.cdnServers.tpl.html
@@ -65,7 +65,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
index c8f082c..805fbea 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/TableDeliveryServiceServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableDeliveryServiceServersController = function(deliveryService, servers, $scope, $state, locationUtils) {
+var TableDeliveryServiceServersController = function(deliveryService, servers, $scope, $state, locationUtils, serverUtils) {
$scope.deliveryService = deliveryService;
@@ -35,6 +35,10 @@ var TableDeliveryServiceServersController = function(deliveryService, servers, $
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
$scope.navigateToPath = locationUtils.navigateToPath;
angular.element(document).ready(function () {
@@ -46,5 +50,5 @@ var TableDeliveryServiceServersController = function(deliveryService, servers, $
};
-TableDeliveryServiceServersController.$inject = ['deliveryService', 'servers', '$scope', '$state', 'locationUtils'];
+TableDeliveryServiceServersController.$inject = ['deliveryService', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils'];
module.exports = TableDeliveryServiceServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
index e3a9481..91feddc 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/deliveryServiceServers/table.deliveryServiceServers.tpl.html
@@ -65,7 +65,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/TablePhysLocationServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/TablePhysLocationServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/TablePhysLocationServersController.js
index eb14902..3af755c 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/TablePhysLocationServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/TablePhysLocationServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TablePhysLocationServersController = function(physLocation, servers, $scope, $state, locationUtils) {
+var TablePhysLocationServersController = function(physLocation, servers, $scope, $state, locationUtils, serverUtils) {
$scope.physLocation = physLocation;
@@ -31,6 +31,10 @@ var TablePhysLocationServersController = function(physLocation, servers, $scope,
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
$scope.navigateToPath = locationUtils.navigateToPath;
angular.element(document).ready(function () {
@@ -42,5 +46,5 @@ var TablePhysLocationServersController = function(physLocation, servers, $scope,
};
-TablePhysLocationServersController.$inject = ['physLocation', 'servers', '$scope', '$state', 'locationUtils'];
+TablePhysLocationServersController.$inject = ['physLocation', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils'];
module.exports = TablePhysLocationServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/table.physLocationServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/table.physLocationServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/table.physLocationServers.tpl.html
index bef4077..7e99de4 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/table.physLocationServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/physLocationServers/table.physLocationServers.tpl.html
@@ -63,7 +63,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/TableProfileServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/TableProfileServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/TableProfileServersController.js
index 4fd5f69..f84699a 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/TableProfileServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/TableProfileServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableProfileServersController = function(profile, servers, $scope, $state, locationUtils) {
+var TableProfileServersController = function(profile, servers, $scope, $state, locationUtils, serverUtils) {
$scope.profile = profile;
@@ -31,6 +31,10 @@ var TableProfileServersController = function(profile, servers, $scope, $state, l
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
$scope.navigateToPath = locationUtils.navigateToPath;
angular.element(document).ready(function () {
@@ -42,5 +46,5 @@ var TableProfileServersController = function(profile, servers, $scope, $state, l
};
-TableProfileServersController.$inject = ['profile', 'servers', '$scope', '$state', 'locationUtils'];
+TableProfileServersController.$inject = ['profile', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils'];
module.exports = TableProfileServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/table.profileServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/table.profileServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/table.profileServers.tpl.html
index e94b619..fcf64c7 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/table.profileServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/profileServers/table.profileServers.tpl.html
@@ -63,7 +63,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/servers/TableServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/servers/TableServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/servers/TableServersController.js
index b1c966e..bb98d28 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/servers/TableServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/servers/TableServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableServersController = function(servers, $scope, $state, locationUtils) {
+var TableServersController = function(servers, $scope, $state, locationUtils, serverUtils) {
$scope.servers = servers;
@@ -37,6 +37,10 @@ var TableServersController = function(servers, $scope, $state, locationUtils) {
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
angular.element(document).ready(function () {
$('#serversTable').dataTable({
"aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
@@ -46,5 +50,5 @@ var TableServersController = function(servers, $scope, $state, locationUtils) {
};
-TableServersController.$inject = ['servers', '$scope', '$state', 'locationUtils'];
+TableServersController.$inject = ['servers', '$scope', '$state', 'locationUtils', 'serverUtils'];
module.exports = TableServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
index 137f046..c8d793e 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/servers/table.servers.tpl.html
@@ -71,7 +71,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/TableStatusServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/TableStatusServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/TableStatusServersController.js
index 8ba4daf..dd06a76 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/TableStatusServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/TableStatusServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableStatusServersController = function(status, servers, $scope, $state, locationUtils) {
+var TableStatusServersController = function(status, servers, $scope, $state, locationUtils, serverUtils) {
$scope.status = status;
@@ -31,6 +31,10 @@ var TableStatusServersController = function(status, servers, $scope, $state, loc
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
$scope.navigateToPath = locationUtils.navigateToPath;
angular.element(document).ready(function () {
@@ -42,5 +46,5 @@ var TableStatusServersController = function(status, servers, $scope, $state, loc
};
-TableStatusServersController.$inject = ['status', 'servers', '$scope', '$state', 'locationUtils'];
+TableStatusServersController.$inject = ['status', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils'];
module.exports = TableStatusServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/table.statusServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/table.statusServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/table.statusServers.tpl.html
index 815d82f..9659649 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/table.statusServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/statusServers/table.statusServers.tpl.html
@@ -63,7 +63,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/TableTypeServersController.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/TableTypeServersController.js b/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/TableTypeServersController.js
index 786344e..30f1fa4 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/TableTypeServersController.js
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/TableTypeServersController.js
@@ -17,7 +17,7 @@
* under the License.
*/
-var TableTypeServersController = function(type, servers, $scope, $state, locationUtils) {
+var TableTypeServersController = function(type, servers, $scope, $state, locationUtils, serverUtils) {
$scope.type = type;
@@ -31,6 +31,10 @@ var TableTypeServersController = function(type, servers, $scope, $state, locatio
$state.reload(); // reloads all the resolves for the view
};
+ $scope.isOffline = serverUtils.isOffline;
+
+ $scope.offlineReason = serverUtils.offlineReason;
+
$scope.navigateToPath = locationUtils.navigateToPath;
angular.element(document).ready(function () {
@@ -42,5 +46,5 @@ var TableTypeServersController = function(type, servers, $scope, $state, locatio
};
-TableTypeServersController.$inject = ['type', 'servers', '$scope', '$state', 'locationUtils'];
+TableTypeServersController.$inject = ['type', 'servers', '$scope', '$state', 'locationUtils', 'serverUtils'];
module.exports = TableTypeServersController;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/table.typeServers.tpl.html
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/table.typeServers.tpl.html b/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/table.typeServers.tpl.html
index 99ab56a..b15c246 100644
--- a/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/table.typeServers.tpl.html
+++ b/traffic_ops/experimental/ui/app/src/common/modules/table/typeServers/table.typeServers.tpl.html
@@ -63,7 +63,10 @@ under the License.
<td>{{server.physLocation}}</td>
<td>{{server.ipAddress}}</td>
<td>{{server.ip6Address}}</td>
- <td>{{server.status}}</td>
+ <td>
+ <span ng-show="!isOffline(server.status)">{{server.status}}</span>
+ <span ng-show="isOffline(server.status)" uib-popover="{{offlineReason(server)}}" popover-title="Offline Reason" popover-trigger="mouseenter" popover-placement="bottom" popover-append-to-body="true">{{server.status}}</span>
+ </td>
<td>{{server.profile}}</td>
<td>{{server.iloIpAddress}}</td>
<td>{{server.iloIpGateway}}</td>
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/service/utils/ServerUtils.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/service/utils/ServerUtils.js b/traffic_ops/experimental/ui/app/src/common/service/utils/ServerUtils.js
new file mode 100644
index 0000000..a4d2c4c
--- /dev/null
+++ b/traffic_ops/experimental/ui/app/src/common/service/utils/ServerUtils.js
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var ServerUtils = function() {
+
+ this.isOffline = function(status) {
+ return (status == 'OFFLINE' || status == 'ADMIN_DOWN');
+ };
+
+ this.offlineReason = function(server) {
+ return (server.offlineReason) ? server.offlineReason : 'None';
+ };
+
+};
+
+ServerUtils.$inject = [];
+module.exports = ServerUtils;
http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8b7a49fa/traffic_ops/experimental/ui/app/src/common/service/utils/index.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/common/service/utils/index.js b/traffic_ops/experimental/ui/app/src/common/service/utils/index.js
index c9d1977..82f5bb7 100644
--- a/traffic_ops/experimental/ui/app/src/common/service/utils/index.js
+++ b/traffic_ops/experimental/ui/app/src/common/service/utils/index.js
@@ -20,4 +20,5 @@
module.exports = angular.module('trafficOps.utils', [])
.service('formUtils', require('./FormUtils'))
.service('locationUtils', require('./LocationUtils'))
+ .service('serverUtils', require('./serverUtils'))
.service('stringUtils', require('./StringUtils'));