This is an automated email from the ASF dual-hosted git repository.

dewrich pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new 5bcd8a5  adds chart link to each ds table
5bcd8a5 is described below

commit 5bcd8a54a75b6a1ee101b1ca3af8197f74d2b6e4
Author: Jeremy Mitchell <mitchell...@gmail.com>
AuthorDate: Tue Apr 17 08:59:19 2018 -0600

    adds chart link to each ds table
---
 .../form/deliveryService/FormDeliveryServiceController.js  | 13 ++++---------
 .../TableCDNDeliveryServicesController.js                  | 11 +++++++++--
 .../cdnDeliveryServices/table.cdnDeliveryServices.tpl.html |  4 ++++
 .../deliveryServices/TableDeliveryServicesController.js    | 11 +++++++++--
 .../table/deliveryServices/table.deliveryServices.tpl.html |  4 ++++
 .../TableProfileDeliveryServicesController.js              | 11 +++++++++--
 .../table.profileDeliveryServices.tpl.html                 |  5 ++++-
 .../TableServerDeliveryServicesController.js               | 12 +++++++++---
 .../table.serverDeliveryServices.tpl.html                  |  7 +++++--
 .../TableTenantDeliveryServicesController.js               | 11 +++++++++--
 .../table.tenantDeliveryServices.tpl.html                  |  4 ++++
 .../TableTypeDeliveryServicesController.js                 | 11 +++++++++--
 .../table.typeDeliveryServices.tpl.html                    |  4 ++++
 .../TableUserDeliveryServicesController.js                 | 12 +++++++++---
 .../table.userDeliveryServices.tpl.html                    |  7 +++++--
 .../app/src/common/service/utils/DeliveryServiceUtils.js   | 14 ++++++++++++--
 traffic_portal/app/src/common/service/utils/ServerUtils.js |  4 +++-
 17 files changed, 112 insertions(+), 33 deletions(-)

diff --git 
a/traffic_portal/app/src/common/modules/form/deliveryService/FormDeliveryServiceController.js
 
b/traffic_portal/app/src/common/modules/form/deliveryService/FormDeliveryServiceController.js
index 834949b..377c934 100644
--- 
a/traffic_portal/app/src/common/modules/form/deliveryService/FormDeliveryServiceController.js
+++ 
b/traffic_portal/app/src/common/modules/form/deliveryService/FormDeliveryServiceController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var FormDeliveryServiceController = function(deliveryService, dsCurrent, type, 
types, $scope, $location, $uibModal, $window, formUtils, locationUtils, 
tenantUtils, cdnService, profileService, tenantService, propertiesModel) {
+var FormDeliveryServiceController = function(deliveryService, dsCurrent, type, 
types, $scope, $location, $uibModal, $window, formUtils, locationUtils, 
tenantUtils, deliveryServiceUtils, cdnService, profileService, tenantService, 
propertiesModel) {
 
     var getCDNs = function() {
         cdnService.getCDNs()
@@ -49,6 +49,8 @@ var FormDeliveryServiceController = function(deliveryService, 
dsCurrent, type, t
 
     $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
 
+    $scope.openCharts = deliveryServiceUtils.openCharts;
+
     $scope.dsRequestsEnabled = propertiesModel.properties.dsRequests.enabled;
 
        $scope.edgeFQDNs = function(ds) {
@@ -200,13 +202,6 @@ var FormDeliveryServiceController = 
function(deliveryService, dsCurrent, type, t
         return '-'.repeat(tenant.level) + ' ' + tenant.name;
     };
 
-    $scope.openCharts = function(ds) {
-        $window.open(
-            propertiesModel.properties.deliveryServices.charts.baseUrl + 
ds.xmlId,
-            '_blank'
-        );
-    };
-
     $scope.clone = function(ds) {
         var params = {
             title: 'Clone Delivery Service: ' + ds.xmlId,
@@ -286,5 +281,5 @@ var FormDeliveryServiceController = 
function(deliveryService, dsCurrent, type, t
 
 };
 
-FormDeliveryServiceController.$inject = ['deliveryService', 'dsCurrent', 
'type', 'types', '$scope', '$location', '$uibModal', '$window', 'formUtils', 
'locationUtils', 'tenantUtils', 'cdnService', 'profileService', 
'tenantService', 'propertiesModel'];
+FormDeliveryServiceController.$inject = ['deliveryService', 'dsCurrent', 
'type', 'types', '$scope', '$location', '$uibModal', '$window', 'formUtils', 
'locationUtils', 'tenantUtils', 'deliveryServiceUtils', 'cdnService', 
'profileService', 'tenantService', 'propertiesModel'];
 module.exports = FormDeliveryServiceController;
diff --git 
a/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/TableCDNDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/TableCDNDeliveryServicesController.js
index 74d477b..1e29df4 100644
--- 
a/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/TableCDNDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/TableCDNDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableCDNDeliveryServicesController = function(cdn, deliveryServices, 
$scope, $state, dateUtils, deliveryServiceUtils,  locationUtils) {
+var TableCDNDeliveryServicesController = function(cdn, deliveryServices, 
$scope, $state, dateUtils, deliveryServiceUtils, locationUtils, 
propertiesModel) {
 
        var protocols = deliveryServiceUtils.protocols;
 
@@ -27,6 +27,10 @@ var TableCDNDeliveryServicesController = function(cdn, 
deliveryServices, $scope,
 
        $scope.deliveryServices = deliveryServices;
 
+       $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+       $scope.openCharts = deliveryServiceUtils.openCharts;
+
        $scope.protocol = function(ds) {
                return protocols[ds.protocol];
        };
@@ -51,11 +55,14 @@ var TableCDNDeliveryServicesController = function(cdn, 
deliveryServices, $scope,
                $('#deliveryServicesTable').dataTable({
                        "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, 
"All"]],
                        "iDisplayLength": 25,
+                       "columnDefs": [
+                               { 'orderable': false, 'targets': 12 }
+                       ],
                        "aaSorting": []
                });
        });
 
 };
 
-TableCDNDeliveryServicesController.$inject = ['cdn', 'deliveryServices', 
'$scope', '$state', 'dateUtils', 'deliveryServiceUtils', 'locationUtils'];
+TableCDNDeliveryServicesController.$inject = ['cdn', 'deliveryServices', 
'$scope', '$state', 'dateUtils', 'deliveryServiceUtils', 'locationUtils', 
'propertiesModel'];
 module.exports = TableCDNDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/table.cdnDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/table.cdnDeliveryServices.tpl.html
index 8bde966..1ef942e 100644
--- 
a/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/table.cdnDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/cdnDeliveryServices/table.cdnDeliveryServices.tpl.html
@@ -46,6 +46,7 @@ under the License.
                 <th>Signing Algorithm</th>
                 <th>Qstring Handling</th>
                 <th>Last Updated</th>
+                <th style="text-align: right;">Actions</th>
             </tr>
             </thead>
             <tbody>
@@ -62,6 +63,9 @@ under the License.
                 <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                 <td data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                 <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
+                <td style="text-align: right;">
+                    <span ng-if="showChartsButton"><a class="link action-link" 
title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa fa-sm 
fa-bar-chart"></i></a></span>
+                </td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
index ada2c39..558d28f 100644
--- 
a/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/deliveryServices/TableDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableDeliveryServicesController = function(deliveryServices, $scope, 
$state, $location, $uibModal, dateUtils, deliveryServiceUtils, locationUtils) {
+var TableDeliveryServicesController = function(deliveryServices, $scope, 
$state, $location, $uibModal, dateUtils, deliveryServiceUtils, locationUtils, 
propertiesModel) {
 
     var protocols = deliveryServiceUtils.protocols;
 
@@ -30,6 +30,10 @@ var TableDeliveryServicesController = 
function(deliveryServices, $scope, $state,
 
     $scope.deliveryServices = deliveryServices;
 
+    $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+    $scope.openCharts = deliveryServiceUtils.openCharts;
+
     $scope.getRelativeTime = dateUtils.getRelativeTime;
 
     $scope.editDeliveryService = function(ds) {
@@ -111,11 +115,14 @@ var TableDeliveryServicesController = 
function(deliveryServices, $scope, $state,
         $('#deliveryServicesTable').dataTable({
             "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
             "iDisplayLength": 25,
+            "columnDefs": [
+                { 'orderable': false, 'targets': 12 }
+            ],
             "aaSorting": []
         });
     });
 
 };
 
-TableDeliveryServicesController.$inject = ['deliveryServices', '$scope', 
'$state', '$location', '$uibModal', 'dateUtils', 'deliveryServiceUtils', 
'locationUtils'];
+TableDeliveryServicesController.$inject = ['deliveryServices', '$scope', 
'$state', '$location', '$uibModal', 'dateUtils', 'deliveryServiceUtils', 
'locationUtils', 'propertiesModel'];
 module.exports = TableDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/deliveryServices/table.deliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/deliveryServices/table.deliveryServices.tpl.html
index 91ba83e..af43709 100644
--- 
a/traffic_portal/app/src/common/modules/table/deliveryServices/table.deliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/deliveryServices/table.deliveryServices.tpl.html
@@ -54,6 +54,7 @@ under the License.
                     <th>Signing Algorithm</th>
                     <th>Qstring Handling</th>
                     <th>Last Updated</th>
+                    <th style="text-align: right;">Actions</th>
                 </tr>
             </thead>
             <tbody>
@@ -70,6 +71,9 @@ under the License.
                     <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                     <td 
data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                     <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
+                    <td style="text-align: right;">
+                        <span ng-if="showChartsButton"><a class="link 
action-link" title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa 
fa-sm fa-bar-chart"></i></a></span>
+                    </td>
                 </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/profileDeliveryServices/TableProfileDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/profileDeliveryServices/TableProfileDeliveryServicesController.js
index c0760aa..96f581b 100644
--- 
a/traffic_portal/app/src/common/modules/table/profileDeliveryServices/TableProfileDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/profileDeliveryServices/TableProfileDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableProfileDeliveryServicesController = function(profile, 
deliveryServices, $scope, $state, dateUtils, deliveryServiceUtils, 
locationUtils) {
+var TableProfileDeliveryServicesController = function(profile, 
deliveryServices, $scope, $state, dateUtils, deliveryServiceUtils, 
locationUtils, propertiesModel) {
 
        var protocols = deliveryServiceUtils.protocols;
 
@@ -27,6 +27,10 @@ var TableProfileDeliveryServicesController = 
function(profile, deliveryServices,
 
        $scope.deliveryServices = deliveryServices;
 
+       $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+       $scope.openCharts = deliveryServiceUtils.openCharts;
+
        $scope.protocol = function(ds) {
                return protocols[ds.protocol];
        };
@@ -51,11 +55,14 @@ var TableProfileDeliveryServicesController = 
function(profile, deliveryServices,
                $('#deliveryServicesTable').dataTable({
                        "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, 
"All"]],
                        "iDisplayLength": 25,
+                       "columnDefs": [
+                               { 'orderable': false, 'targets': 12 }
+                       ],
                        "aaSorting": []
                });
        });
 
 };
 
-TableProfileDeliveryServicesController.$inject = ['profile', 
'deliveryServices', '$scope', '$state', 'dateUtils', 'deliveryServiceUtils', 
'locationUtils'];
+TableProfileDeliveryServicesController.$inject = ['profile', 
'deliveryServices', '$scope', '$state', 'dateUtils', 'deliveryServiceUtils', 
'locationUtils', 'propertiesModel'];
 module.exports = TableProfileDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/profileDeliveryServices/table.profileDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/profileDeliveryServices/table.profileDeliveryServices.tpl.html
index d8b49b0..61cf502 100644
--- 
a/traffic_portal/app/src/common/modules/table/profileDeliveryServices/table.profileDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/profileDeliveryServices/table.profileDeliveryServices.tpl.html
@@ -40,13 +40,13 @@ under the License.
                 <th>Active</th>
                 <th>Type</th>
                 <th>Protocol</th>
-                <th>Profile</th>
                 <th>CDN</th>
                 <th>IPv6 Enabled</th>
                 <th>DSCP</th>
                 <th>Signing Algorithm</th>
                 <th>Qstring Handling</th>
                 <th>Last Updated</th>
+                <th style="text-align: right;">Actions</th>
             </tr>
             </thead>
             <tbody>
@@ -63,6 +63,9 @@ under the License.
                 <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                 <td data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                 <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
+                <td style="text-align: right;">
+                    <span ng-if="showChartsButton"><a class="link action-link" 
title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa fa-sm 
fa-bar-chart"></i></a></span>
+                </td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
index 31187f0..f33da87 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/TableServerDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableServerDeliveryServicesController = function(server, 
serverDeliveryServices, $scope, $state, $uibModal, dateUtils, 
deliveryServiceUtils, locationUtils, serverUtils, deliveryServiceService, 
serverService) {
+var TableServerDeliveryServicesController = function(server, 
serverDeliveryServices, $scope, $state, $uibModal, dateUtils, 
deliveryServiceUtils, locationUtils, serverUtils, deliveryServiceService, 
serverService, propertiesModel) {
 
        var protocols = deliveryServiceUtils.protocols;
 
@@ -36,6 +36,10 @@ var TableServerDeliveryServicesController = function(server, 
serverDeliveryServi
 
        $scope.serverDeliveryServices = serverDeliveryServices;
 
+       $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+       $scope.openCharts = deliveryServiceUtils.openCharts;
+
        $scope.isEdge = serverUtils.isEdge;
 
        $scope.protocol = function(ds) {
@@ -110,7 +114,9 @@ var TableServerDeliveryServicesController = 
function(server, serverDeliveryServi
                });
        };
 
-       $scope.confirmRemoveDS = function(ds) {
+       $scope.confirmRemoveDS = function(ds, $event) {
+               $event.stopPropagation(); // this kills the click event so it 
doesn't trigger anything else
+
                var params = {
                        title: 'Remove Delivery Service from Server?',
                        message: 'Are you sure you want to remove ' + ds.xmlId 
+ ' from this server?'
@@ -152,5 +158,5 @@ var TableServerDeliveryServicesController = 
function(server, serverDeliveryServi
 
 };
 
-TableServerDeliveryServicesController.$inject = ['server', 
'serverDeliveryServices', '$scope', '$state', '$uibModal', 'dateUtils', 
'deliveryServiceUtils', 'locationUtils', 'serverUtils', 
'deliveryServiceService', 'serverService'];
+TableServerDeliveryServicesController.$inject = ['server', 
'serverDeliveryServices', '$scope', '$state', '$uibModal', 'dateUtils', 
'deliveryServiceUtils', 'locationUtils', 'serverUtils', 
'deliveryServiceService', 'serverService', 'propertiesModel'];
 module.exports = TableServerDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
index 2d45912..3b86fa8 100644
--- 
a/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/serverDeliveryServices/table.serverDeliveryServices.tpl.html
@@ -56,7 +56,7 @@ under the License.
                 <th>Signing Algorithm</th>
                 <th>Qstring Handling</th>
                 <th>Last Updated</th>
-                <th></th>
+                <th style="text-align: right;">Actions</th>
             </tr>
             </thead>
             <tbody>
@@ -73,7 +73,10 @@ under the License.
                 <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                 <td data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                 <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
-                <td><button type="button" class="btn btn-link" title="Unlink 
Delivery Service from Server" ng-click="confirmRemoveDS(ds)"><i class="fa 
fa-chain-broken"></i></button></td>
+                <td style="text-align: right;">
+                    <a class="link action-link" title="Unlink Delivery Service 
from Server" ng-click="confirmRemoveDS(ds, $event)"><i class="fa fa-sm 
fa-chain-broken"></i></a>
+                    <span ng-if="showChartsButton"><a class="link action-link" 
title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa fa-sm 
fa-bar-chart"></i></a></span>
+                </td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/TableTenantDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/TableTenantDeliveryServicesController.js
index de6690c..d6a0ce1 100644
--- 
a/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/TableTenantDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/TableTenantDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableTenantDeliveryServicesController = function(tenant, 
tenantDeliveryServices, $scope, $state, dateUtils, deliveryServiceUtils, 
locationUtils) {
+var TableTenantDeliveryServicesController = function(tenant, 
tenantDeliveryServices, $scope, $state, dateUtils, deliveryServiceUtils, 
locationUtils, propertiesModel) {
 
        var protocols = deliveryServiceUtils.protocols;
 
@@ -27,6 +27,10 @@ var TableTenantDeliveryServicesController = function(tenant, 
tenantDeliveryServi
 
        $scope.tenantDeliveryServices = tenantDeliveryServices;
 
+       $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+       $scope.openCharts = deliveryServiceUtils.openCharts;
+
        $scope.protocol = function(ds) {
                return protocols[ds.protocol];
        };
@@ -51,11 +55,14 @@ var TableTenantDeliveryServicesController = 
function(tenant, tenantDeliveryServi
                $('#tenantDSsTable').dataTable({
                        "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, 
"All"]],
                        "iDisplayLength": 25,
+                       "columnDefs": [
+                               { 'orderable': false, 'targets': 12 }
+                       ],
                        "aaSorting": []
                });
        });
 
 };
 
-TableTenantDeliveryServicesController.$inject = ['tenant', 
'tenantDeliveryServices', '$scope', '$state', 'dateUtils', 
'deliveryServiceUtils', 'locationUtils'];
+TableTenantDeliveryServicesController.$inject = ['tenant', 
'tenantDeliveryServices', '$scope', '$state', 'dateUtils', 
'deliveryServiceUtils', 'locationUtils', 'propertiesModel'];
 module.exports = TableTenantDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/table.tenantDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/table.tenantDeliveryServices.tpl.html
index b01633a..4b84c18 100644
--- 
a/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/table.tenantDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/tenantDeliveryServices/table.tenantDeliveryServices.tpl.html
@@ -46,6 +46,7 @@ under the License.
                 <th>Signing Algorithm</th>
                 <th>Qstring Handling</th>
                 <th>Last Updated</th>
+                <th style="text-align: right;">Actions</th>
             </tr>
             </thead>
             <tbody>
@@ -62,6 +63,9 @@ under the License.
                 <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                 <td data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                 <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
+                <td style="text-align: right;">
+                    <span ng-if="showChartsButton"><a class="link action-link" 
title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa fa-sm 
fa-bar-chart"></i></a></span>
+                </td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/typeDeliveryServices/TableTypeDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/typeDeliveryServices/TableTypeDeliveryServicesController.js
index 2cf03f9..26bd088 100644
--- 
a/traffic_portal/app/src/common/modules/table/typeDeliveryServices/TableTypeDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/typeDeliveryServices/TableTypeDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableTypeDeliveryServicesController = function(type, deliveryServices, 
$scope, $state, dateUtils, deliveryServiceUtils, locationUtils) {
+var TableTypeDeliveryServicesController = function(type, deliveryServices, 
$scope, $state, dateUtils, deliveryServiceUtils, locationUtils, 
propertiesModel) {
 
        var protocols = deliveryServiceUtils.protocols;
 
@@ -27,6 +27,10 @@ var TableTypeDeliveryServicesController = function(type, 
deliveryServices, $scop
 
        $scope.deliveryServices = deliveryServices;
 
+       $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+       $scope.openCharts = deliveryServiceUtils.openCharts;
+
        $scope.protocol = function(ds) {
                return protocols[ds.protocol];
        };
@@ -51,11 +55,14 @@ var TableTypeDeliveryServicesController = function(type, 
deliveryServices, $scop
                $('#deliveryServicesTable').dataTable({
                        "aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, 
"All"]],
                        "iDisplayLength": 25,
+                       "columnDefs": [
+                               { 'orderable': false, 'targets': 12 }
+                       ],
                        "aaSorting": []
                });
        });
 
 };
 
-TableTypeDeliveryServicesController.$inject = ['type', 'deliveryServices', 
'$scope', '$state', 'dateUtils', 'deliveryServiceUtils', 'locationUtils'];
+TableTypeDeliveryServicesController.$inject = ['type', 'deliveryServices', 
'$scope', '$state', 'dateUtils', 'deliveryServiceUtils', 'locationUtils', 
'propertiesModel'];
 module.exports = TableTypeDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/typeDeliveryServices/table.typeDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/typeDeliveryServices/table.typeDeliveryServices.tpl.html
index e127ab7..8507f7b 100644
--- 
a/traffic_portal/app/src/common/modules/table/typeDeliveryServices/table.typeDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/typeDeliveryServices/table.typeDeliveryServices.tpl.html
@@ -46,6 +46,7 @@ under the License.
                 <th>Signing Algorithm</th>
                 <th>Qstring Handling</th>
                 <th>Last Updated</th>
+                <th style="text-align: right;">Actions</th>
             </tr>
             </thead>
             <tbody>
@@ -62,6 +63,9 @@ under the License.
                 <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                 <td data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                 <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
+                <td style="text-align: right;">
+                    <span ng-if="showChartsButton"><a class="link action-link" 
title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa fa-sm 
fa-bar-chart"></i></a></span>
+                </td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/modules/table/userDeliveryServices/TableUserDeliveryServicesController.js
 
b/traffic_portal/app/src/common/modules/table/userDeliveryServices/TableUserDeliveryServicesController.js
index 067e055..5171a85 100644
--- 
a/traffic_portal/app/src/common/modules/table/userDeliveryServices/TableUserDeliveryServicesController.js
+++ 
b/traffic_portal/app/src/common/modules/table/userDeliveryServices/TableUserDeliveryServicesController.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var TableUserDeliveryServicesController = function(user, userDeliveryServices, 
useTenancy, $scope, $state, $uibModal, dateUtils, deliveryServiceUtils, 
locationUtils, userService) {
+var TableUserDeliveryServicesController = function(user, userDeliveryServices, 
useTenancy, $scope, $state, $uibModal, dateUtils, deliveryServiceUtils, 
locationUtils, userService, propertiesModel) {
 
        var protocols = deliveryServiceUtils.protocols;
 
@@ -29,6 +29,10 @@ var TableUserDeliveryServicesController = function(user, 
userDeliveryServices, u
 
        $scope.useTenancy = useTenancy[0].value;
 
+       $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
+       $scope.openCharts = deliveryServiceUtils.openCharts;
+
        $scope.protocol = function(ds) {
                return protocols[ds.protocol];
        };
@@ -39,7 +43,9 @@ var TableUserDeliveryServicesController = function(user, 
userDeliveryServices, u
 
        $scope.getRelativeTime = dateUtils.getRelativeTime;
 
-       $scope.removeDS = function(dsId) {
+       $scope.removeDS = function(dsId, $event) {
+               $event.stopPropagation(); // this kills the click event so it 
doesn't trigger anything else
+
                userService.deleteUserDeliveryService(user.id, dsId)
                        .then(
                                function() {
@@ -94,5 +100,5 @@ var TableUserDeliveryServicesController = function(user, 
userDeliveryServices, u
 
 };
 
-TableUserDeliveryServicesController.$inject = ['user', 'userDeliveryServices', 
'useTenancy', '$scope', '$state', '$uibModal', 'dateUtils', 
'deliveryServiceUtils','locationUtils', 'userService'];
+TableUserDeliveryServicesController.$inject = ['user', 'userDeliveryServices', 
'useTenancy', '$scope', '$state', '$uibModal', 'dateUtils', 
'deliveryServiceUtils','locationUtils', 'userService', 'propertiesModel'];
 module.exports = TableUserDeliveryServicesController;
diff --git 
a/traffic_portal/app/src/common/modules/table/userDeliveryServices/table.userDeliveryServices.tpl.html
 
b/traffic_portal/app/src/common/modules/table/userDeliveryServices/table.userDeliveryServices.tpl.html
index b16e11a..bf2b2f5 100644
--- 
a/traffic_portal/app/src/common/modules/table/userDeliveryServices/table.userDeliveryServices.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/table/userDeliveryServices/table.userDeliveryServices.tpl.html
@@ -47,7 +47,7 @@ under the License.
                 <th>Signing Algorithm</th>
                 <th>Qstring Handling</th>
                 <th>Last Updated</th>
-                <th ng-if="useTenancy == '0'"></th>
+                <th style="text-align: right;">Actions</th>
             </tr>
             </thead>
             <tbody>
@@ -64,7 +64,10 @@ under the License.
                 <td 
data-search="^{{::ds.signingAlgorithm}}$">{{::ds.signingAlgorithm}}</td>
                 <td data-search="^{{::qstring(ds)}}$">{{::qstring(ds)}}</td>
                 <td data-search="^{{::getRelativeTime(ds.lastUpdated)}}$" 
data-order="{{::ds.lastUpdated}}">{{::getRelativeTime(ds.lastUpdated)}}</td>
-                <td ng-if="useTenancy == '0'"><button type="button" class="btn 
btn-link" title="Unlink Delivery Service from User" 
ng-click="removeDS(ds.id)"><i class="fa fa-chain-broken"></i></button></td>
+                <td style="text-align: right;">
+                    <a ng-if="useTenancy == '0'" class="link action-link" 
title="Unlink Delivery Service from User" ng-click="removeDS(ds.id, $event)"><i 
class="fa fa-sm fa-chain-broken"></i></a>
+                    <span ng-if="showChartsButton"><a class="link action-link" 
title="View Charts" ng-click="openCharts(ds, $event)"><i class="fa fa-sm 
fa-bar-chart"></i></a></span>
+                </td>
             </tr>
             </tbody>
         </table>
diff --git 
a/traffic_portal/app/src/common/service/utils/DeliveryServiceUtils.js 
b/traffic_portal/app/src/common/service/utils/DeliveryServiceUtils.js
index f4e5e34..25816b9 100644
--- a/traffic_portal/app/src/common/service/utils/DeliveryServiceUtils.js
+++ b/traffic_portal/app/src/common/service/utils/DeliveryServiceUtils.js
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-var DeliveryServiceUtils = function() {
+var DeliveryServiceUtils = function($window, propertiesModel) {
 
        this.protocols = {
                0: "HTTP",
@@ -32,7 +32,17 @@ var DeliveryServiceUtils = function() {
                2: "DROP"
        };
 
+       this.openCharts = function(ds, $event) {
+               if ($event) {
+                       $event.stopPropagation(); // this kills the click event 
so it doesn't trigger anything else
+               }
+               $window.open(
+                       
propertiesModel.properties.deliveryServices.charts.baseUrl + ds.xmlId,
+                       '_blank'
+               );
+       };
+
 };
 
-DeliveryServiceUtils.$inject = [];
+DeliveryServiceUtils.$inject = ['$window', 'propertiesModel'];
 module.exports = DeliveryServiceUtils;
diff --git a/traffic_portal/app/src/common/service/utils/ServerUtils.js 
b/traffic_portal/app/src/common/service/utils/ServerUtils.js
index 74d0f4c..87a7dcd 100644
--- a/traffic_portal/app/src/common/service/utils/ServerUtils.js
+++ b/traffic_portal/app/src/common/service/utils/ServerUtils.js
@@ -43,7 +43,9 @@ var ServerUtils = function($window, propertiesModel, 
userModel) {
        };
 
        this.openCharts = function(server, $event) {
-               $event.stopPropagation(); // this kills the click event so it 
doesn't trigger anything else
+               if ($event) {
+                       $event.stopPropagation(); // this kills the click event 
so it doesn't trigger anything else
+               }
                $window.open(
                        propertiesModel.properties.servers.charts.baseUrl + 
server.hostName,
                        '_blank'

-- 
To stop receiving notification emails like this one, please contact
dewr...@apache.org.

Reply via email to