dewrich closed pull request #1879: [Issue-1051] - adds configurable ds charts 
button to ds page
URL: https://github.com/apache/incubator-trafficcontrol/pull/1879
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 3319bc74c0..75bb7ad462 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, type, types, 
$scope, $location, $uibModal, formUtils, locationUtils, tenantUtils, 
cdnService, profileService, tenantService) {
+var FormDeliveryServiceController = function(deliveryService, type, types, 
$scope, $location, $uibModal, $window, formUtils, locationUtils, tenantUtils, 
cdnService, profileService, tenantService, propertiesModel) {
 
     var getCDNs = function() {
         cdnService.getCDNs()
@@ -45,6 +45,8 @@ var FormDeliveryServiceController = function(deliveryService, 
type, types, $scop
 
     $scope.deliveryService = deliveryService;
 
+    $scope.showChartsButton = 
propertiesModel.properties.deliveryServices.charts.show;
+
     $scope.manageKeys = {
         sslKeys: deliveryService.protocol > 0,
         urlSigKeys: deliveryService.signingAlgorithm == 'url_sig',
@@ -180,6 +182,13 @@ var FormDeliveryServiceController = 
function(deliveryService, type, types, $scop
         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,
@@ -259,5 +268,5 @@ var FormDeliveryServiceController = 
function(deliveryService, type, types, $scop
 
 };
 
-FormDeliveryServiceController.$inject = ['deliveryService', 'type', 'types', 
'$scope', '$location', '$uibModal', 'formUtils', 'locationUtils', 
'tenantUtils', 'cdnService', 'profileService', 'tenantService'];
+FormDeliveryServiceController.$inject = ['deliveryService', 'type', 'types', 
'$scope', '$location', '$uibModal', '$window', 'formUtils', 'locationUtils', 
'tenantUtils', 'cdnService', 'profileService', 'tenantService', 
'propertiesModel'];
 module.exports = FormDeliveryServiceController;
diff --git 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.DNS.tpl.html
 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.DNS.tpl.html
index 29fa9f6306..afdbfb2998 100644
--- 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.DNS.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.DNS.tpl.html
@@ -24,17 +24,7 @@
             <li class="active">{{deliveryServiceName}}</li>
         </ol>
         <div class="pull-right" role="group" ng-show="!settings.isNew">
-            <div class="btn-group" role="group" uib-dropdown 
is-open="keys.isopen">
-                <button ng-if="manageKeys.sslKeys || manageKeys.urlSigKeys || 
manageKeys.uriSigningKeys" type="button" class="btn btn-primary 
dropdown-toggle" uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
-                    <i class="fa fa-key"></i>&nbsp;
-                    <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
-                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
-                </ul>
-            </div>
+            <button type="button" class="btn btn-primary" title="Delivery 
Service Charts" ng-if="showChartsButton" 
ng-click="openCharts(deliveryService)"><i class="fa fa-bar-chart 
fa-fw"></i></button>
             <div class="btn-group" role="group" uib-dropdown 
is-open="more.isopen">
                 <button type="button" class="btn btn-default dropdown-toggle" 
uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
                     More&nbsp;
@@ -43,6 +33,10 @@
                 <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
                     <li role="menuitem"><a 
ng-click="clone(deliveryService)">Clone Delivery Service</a></li>
                     <li class="divider"></li>
+                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
+                    <li class="divider" ng-if="manageKeys.sslKeys || 
manageKeys.urlSigKeys || manageKeys.uriSigningKeys"></li>
                     <li role="menuitem"><a ng-click="viewServers()">View 
Servers</a></li>
                     <li role="menuitem"><a ng-click="viewRegexes()">View 
Regexes</a></li>
                     <li role="menuitem"><a ng-click="viewJobs()">View 
Invalidate Content Jobs</a></li>
diff --git 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.HTTP.tpl.html
 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.HTTP.tpl.html
index 5f6d415e7a..5f9763c4ca 100644
--- 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.HTTP.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.HTTP.tpl.html
@@ -24,17 +24,7 @@
             <li class="active">{{deliveryServiceName}}</li>
         </ol>
         <div class="pull-right" role="group" ng-show="!settings.isNew">
-            <div class="btn-group" role="group" uib-dropdown 
is-open="keys.isopen">
-                <button ng-if="manageKeys.sslKeys || manageKeys.urlSigKeys || 
manageKeys.uriSigningKeys" type="button" class="btn btn-primary 
dropdown-toggle" uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
-                    <i class="fa fa-key"></i>&nbsp;
-                    <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
-                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
-                </ul>
-            </div>
+            <button type="button" class="btn btn-primary" title="Delivery 
Service Charts" ng-if="showChartsButton" 
ng-click="openCharts(deliveryService)"><i class="fa fa-bar-chart 
fa-fw"></i></button>
             <div class="btn-group" role="group" uib-dropdown 
is-open="more.isopen">
                 <button type="button" class="btn btn-default dropdown-toggle" 
uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
                     More&nbsp;
@@ -43,6 +33,10 @@
                 <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
                     <li role="menuitem"><a 
ng-click="clone(deliveryService)">Clone Delivery Service</a></li>
                     <li class="divider"></li>
+                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
+                    <li class="divider" ng-if="manageKeys.sslKeys || 
manageKeys.urlSigKeys || manageKeys.uriSigningKeys"></li>
                     <li role="menuitem"><a ng-click="viewServers()">View 
Servers</a></li>
                     <li role="menuitem"><a ng-click="viewRegexes()">View 
Regexes</a></li>
                     <li role="menuitem"><a ng-click="viewJobs()">View 
Invalidate Content Jobs</a></li>
diff --git 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.Steering.tpl.html
 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.Steering.tpl.html
index 4c7a4d6967..19cdf0fcba 100644
--- 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.Steering.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.Steering.tpl.html
@@ -24,17 +24,7 @@
             <li class="active">{{deliveryServiceName}}</li>
         </ol>
         <div class="pull-right" role="group" ng-show="!settings.isNew">
-            <div class="btn-group" role="group" uib-dropdown 
is-open="keys.isopen">
-                <button ng-if="manageKeys.sslKeys || manageKeys.urlSigKeys || 
manageKeys.uriSigningKeys" type="button" class="btn btn-primary 
dropdown-toggle" uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
-                    <i class="fa fa-key"></i>&nbsp;
-                    <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
-                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
-                </ul>
-            </div>
+            <button type="button" class="btn btn-primary" title="Delivery 
Service Charts" ng-if="showChartsButton" 
ng-click="openCharts(deliveryService)"><i class="fa fa-bar-chart 
fa-fw"></i></button>
             <div class="btn-group" role="group" uib-dropdown 
is-open="more.isopen">
                 <button type="button" class="btn btn-default dropdown-toggle" 
uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
                     More&nbsp;
@@ -43,6 +33,10 @@
                 <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
                     <li role="menuitem"><a 
ng-click="clone(deliveryService)">Clone Delivery Service</a></li>
                     <li class="divider"></li>
+                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
+                    <li class="divider" ng-if="manageKeys.sslKeys || 
manageKeys.urlSigKeys || manageKeys.uriSigningKeys"></li>
                     <li role="menuitem"><a ng-click="viewTargets()">View 
Targets</a></li>
                     <li role="menuitem"><a ng-click="viewRegexes()">View 
Regexes</a></li>
                     <li role="menuitem"><a ng-click="viewJobs()">View 
Invalidate Content Jobs</a></li>
diff --git 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.anyMap.tpl.html
 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.anyMap.tpl.html
index 4dde1945c7..c792ea128c 100644
--- 
a/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.anyMap.tpl.html
+++ 
b/traffic_portal/app/src/common/modules/form/deliveryService/form.deliveryService.anyMap.tpl.html
@@ -24,17 +24,7 @@
             <li class="active">{{deliveryServiceName}}</li>
         </ol>
         <div class="pull-right" role="group" ng-show="!settings.isNew">
-            <div class="btn-group" role="group" uib-dropdown 
is-open="keys.isopen">
-                <button ng-if="manageKeys.sslKeys || manageKeys.urlSigKeys || 
manageKeys.uriSigningKeys" type="button" class="btn btn-primary 
dropdown-toggle" uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
-                    <i class="fa fa-key"></i>&nbsp;
-                    <span class="caret"></span>
-                </button>
-                <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
-                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
-                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
-                </ul>
-            </div>
+            <button type="button" class="btn btn-primary" title="Delivery 
Service Charts" ng-if="showChartsButton" 
ng-click="openCharts(deliveryService)"><i class="fa fa-bar-chart 
fa-fw"></i></button>
             <div class="btn-group" role="group" uib-dropdown 
is-open="more.isopen">
                 <button type="button" class="btn btn-default dropdown-toggle" 
uib-dropdown-toggle aria-haspopup="true" aria-expanded="false">
                     More&nbsp;
@@ -43,6 +33,10 @@
                 <ul class="dropdown-menu-right dropdown-menu" 
uib-dropdown-menu>
                     <li role="menuitem"><a 
ng-click="clone(deliveryService)">Clone Delivery Service</a></li>
                     <li class="divider"></li>
+                    <li role="menuitem"><a ng-if="manageKeys.sslKeys" 
ng-click="manageSslKeys()">Manage SSL Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.urlSigKeys" 
ng-click="manageUrlSigKeys()">Manage URL Sig Keys</a></li>
+                    <li role="menuitem"><a ng-if="manageKeys.uriSigningKeys" 
ng-click="manageUriSigningKeys()">Manage URI Signing Keys</a></li>
+                    <li class="divider" ng-if="manageKeys.sslKeys || 
manageKeys.urlSigKeys || manageKeys.uriSigningKeys"></li>
                     <li role="menuitem"><a ng-click="viewServers()">View 
Servers</a></li>
                     <li role="menuitem"><a ng-click="viewRegexes()">View 
Regexes</a></li>
                     <li role="menuitem"><a ng-click="viewJobs()">View 
Invalidate Content Jobs</a></li>
diff --git a/traffic_portal/app/src/traffic_portal_properties.json 
b/traffic_portal/app/src/traffic_portal_properties.json
index 2935001299..c4624cfd97 100644
--- a/traffic_portal/app/src/traffic_portal_properties.json
+++ b/traffic_portal/app/src/traffic_portal_properties.json
@@ -54,6 +54,14 @@
         "UPD": "Configuration file updates have been applied or are pending 
for the EDGE or MID"
       }
     },
+    "deliveryServices": {
+      "_comment": "Delivery service settings",
+      "charts": {
+        "_comment": "Do you want to show a charts button for each ds? If so, 
where can the charts be found? xml id will be appended to the provided url.",
+        "show": false,
+        "baseUrl": 
"https://trafficstats.domain.com/dashboard/script/traffic_ops_deliveryservice.js?which=";
+      }
+    },
     "defaults": {
       "_comments": "These are default values used when creating resources",
       "deliveryservices": {


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to