You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2018/10/04 19:53:33 UTC
[trafficcontrol] 06/14: Fixed UI issues, added auto refresh
This is an automated email from the ASF dual-hosted git repository.
mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
commit 042906de05109307f3294554e467e996ef45aff6
Author: cgillo000 <ch...@cable.comcast.com>
AuthorDate: Tue Sep 18 09:18:08 2018 -0600
Fixed UI issues, added auto refresh
---
traffic_portal/app/src/app.js | 882 +++++++++++----------
.../WidgetDeliveryServicesController.js | 92 ++-
.../deliveryServices/_widget.deliveryServices.scss | 10 +-
.../widget.deliveryServices.tpl.html | 65 +-
.../modules/private/dashboard/dashboard.tpl.html | 2 +-
.../app/src/traffic_portal_properties.json | 3 +
traffic_portal/package.json | 5 -
7 files changed, 558 insertions(+), 501 deletions(-)
diff --git a/traffic_portal/app/src/app.js b/traffic_portal/app/src/app.js
index 0f8b94a..4a405a5 100644
--- a/traffic_portal/app/src/app.js
+++ b/traffic_portal/app/src/app.js
@@ -20,480 +20,486 @@
'use strict';
require('app-templates');
-var App = function($urlRouterProvider) {
- $urlRouterProvider.otherwise('/');
+var App = function ($urlRouterProvider) {
+ $urlRouterProvider.otherwise('/');
};
App.$inject = ['$urlRouterProvider'];
var trafficPortal = angular.module('trafficPortal', [
- 'config',
- 'ngAnimate',
- 'ngResource',
- 'ngSanitize',
- 'ngRoute',
- 'ui.router',
- 'ui.bootstrap',
- 'restangular',
- 'app.templates',
- 'angular-jwt',
+ 'config',
+ 'ngAnimate',
+ 'ngResource',
+ 'ngSanitize',
+ 'ngRoute',
+ 'ui.router',
+ 'ui.bootstrap',
+ 'restangular',
+ 'app.templates',
+ 'angular-jwt',
'chart.js',
'tc.chartjs',
- 'angular-loading-bar',
+ 'angular-loading-bar',
- // public modules
- require('./modules/public').name,
- require('./modules/public/login').name,
+ // public modules
+ require('./modules/public').name,
+ require('./modules/public/login').name,
- // private modules
- require('./modules/private').name,
- require('./modules/private/asns').name,
- require('./modules/private/asns/edit').name,
- require('./modules/private/asns/list').name,
- require('./modules/private/asns/new').name,
- require('./modules/private/cacheGroups').name,
- require('./modules/private/cacheGroups/edit').name,
- require('./modules/private/cacheGroups/list').name,
- require('./modules/private/cacheGroups/new').name,
- require('./modules/private/cacheGroups/asns').name,
- require('./modules/private/cacheGroups/parameters').name,
- require('./modules/private/cacheGroups/servers').name,
- require('./modules/private/cacheGroups/staticDnsEntries').name,
- require('./modules/private/cacheChecks').name,
- require('./modules/private/cacheStats').name,
- require('./modules/private/capabilities').name,
- require('./modules/private/capabilities/new').name, // this must be defined before edit for the url matcher to work
- require('./modules/private/capabilities/list').name,
- require('./modules/private/capabilities/edit').name,
- require('./modules/private/capabilities/endpoints').name,
- require('./modules/private/capabilities/users').name,
- require('./modules/private/cdns').name,
- require('./modules/private/cdns/config').name,
- require('./modules/private/cdns/deliveryServices').name,
- require('./modules/private/cdns/dnssecKeys').name,
- require('./modules/private/cdns/dnssecKeys/generate').name,
- require('./modules/private/cdns/dnssecKeys/view').name,
- require('./modules/private/cdns/edit').name,
- require('./modules/private/cdns/federations').name,
- require('./modules/private/cdns/federations/deliveryServices').name,
- require('./modules/private/cdns/federations/edit').name,
- require('./modules/private/cdns/federations/list').name,
- require('./modules/private/cdns/federations/new').name,
- require('./modules/private/cdns/federations/users').name,
- require('./modules/private/cdns/list').name,
- require('./modules/private/cdns/new').name,
- require('./modules/private/cdns/profiles').name,
- require('./modules/private/cdns/servers').name,
- require('./modules/private/changeLogs').name,
- require('./modules/private/changeLogs/list').name,
- require('./modules/private/coordinates').name,
- require('./modules/private/coordinates/edit').name,
- require('./modules/private/coordinates/list').name,
- require('./modules/private/coordinates/new').name,
- require('./modules/private/dashboard').name,
- require('./modules/private/dashboard/view').name,
- require('./modules/private/deliveryServiceRequests').name,
- require('./modules/private/deliveryServiceRequests/compare').name,
- require('./modules/private/deliveryServiceRequests/comments').name,
- require('./modules/private/deliveryServiceRequests/edit').name,
- require('./modules/private/deliveryServiceRequests/list').name,
- require('./modules/private/deliveryServices').name,
- require('./modules/private/deliveryServices/clone').name,
- require('./modules/private/deliveryServices/charts').name,
- require('./modules/private/deliveryServices/charts/view').name,
- require('./modules/private/deliveryServices/compare').name,
- require('./modules/private/deliveryServices/edit').name,
- require('./modules/private/deliveryServices/list').name,
- require('./modules/private/deliveryServices/new').name,
- require('./modules/private/deliveryServices/jobs').name,
- require('./modules/private/deliveryServices/jobs/list').name,
- require('./modules/private/deliveryServices/jobs/new').name,
- require('./modules/private/deliveryServices/origins').name,
- require('./modules/private/deliveryServices/regexes').name,
- require('./modules/private/deliveryServices/regexes/edit').name,
- require('./modules/private/deliveryServices/regexes/list').name,
- require('./modules/private/deliveryServices/regexes/new').name,
- require('./modules/private/deliveryServices/servers').name,
- require('./modules/private/deliveryServices/staticDnsEntries').name,
- require('./modules/private/deliveryServices/staticDnsEntries/edit').name,
- require('./modules/private/deliveryServices/staticDnsEntries/list').name,
- require('./modules/private/deliveryServices/staticDnsEntries/new').name,
- require('./modules/private/deliveryServices/targets').name,
- require('./modules/private/deliveryServices/targets/edit').name,
- require('./modules/private/deliveryServices/targets/list').name,
- require('./modules/private/deliveryServices/targets/new').name,
- require('./modules/private/deliveryServices/users').name,
- require('./modules/private/deliveryServices/urlSigKeys').name,
- require('./modules/private/deliveryServices/uriSigningKeys').name,
- require('./modules/private/deliveryServices/sslKeys').name,
- require('./modules/private/deliveryServices/sslKeys/view').name,
- require('./modules/private/deliveryServices/sslKeys/generate').name,
- require('./modules/private/divisions').name,
- require('./modules/private/divisions/edit').name,
- require('./modules/private/divisions/list').name,
- require('./modules/private/divisions/new').name,
- require('./modules/private/divisions/regions').name,
- require('./modules/private/endpoints').name,
- require('./modules/private/endpoints/edit').name,
- require('./modules/private/endpoints/list').name,
- require('./modules/private/endpoints/new').name,
- require('./modules/private/iso').name,
- require('./modules/private/jobs').name,
- require('./modules/private/jobs/list').name,
- require('./modules/private/jobs/new').name,
- require('./modules/private/origins').name,
- require('./modules/private/origins/edit').name,
- require('./modules/private/origins/list').name,
- require('./modules/private/origins/new').name,
- require('./modules/private/physLocations').name,
- require('./modules/private/physLocations/edit').name,
- require('./modules/private/physLocations/list').name,
- require('./modules/private/physLocations/new').name,
- require('./modules/private/physLocations/servers').name,
- require('./modules/private/parameters').name,
- require('./modules/private/parameters/cacheGroups').name,
- require('./modules/private/parameters/edit').name,
- require('./modules/private/parameters/list').name,
- require('./modules/private/parameters/new').name,
- require('./modules/private/parameters/profiles').name,
- require('./modules/private/profiles').name,
- require('./modules/private/profiles/compare').name,
- require('./modules/private/profiles/deliveryServices').name,
- require('./modules/private/profiles/edit').name,
- require('./modules/private/profiles/list').name,
- require('./modules/private/profiles/new').name,
- require('./modules/private/profiles/parameters').name,
- require('./modules/private/profiles/servers').name,
- require('./modules/private/regions').name,
- require('./modules/private/regions/edit').name,
- require('./modules/private/regions/list').name,
- require('./modules/private/regions/physLocations').name,
- require('./modules/private/regions/new').name,
- require('./modules/private/roles').name,
- require('./modules/private/roles/capabilities').name,
- require('./modules/private/roles/edit').name,
- require('./modules/private/roles/list').name,
- require('./modules/private/roles/new').name,
- require('./modules/private/roles/users').name,
- require('./modules/private/servers').name,
- require('./modules/private/servers/configFiles').name,
- require('./modules/private/servers/deliveryServices').name,
- require('./modules/private/servers/edit').name,
- require('./modules/private/servers/new').name,
- require('./modules/private/servers/list').name,
- require('./modules/private/statuses').name,
- require('./modules/private/statuses/edit').name,
- require('./modules/private/statuses/list').name,
- require('./modules/private/statuses/new').name,
- require('./modules/private/statuses/servers').name,
- require('./modules/private/tenants').name,
- require('./modules/private/tenants/deliveryServices').name,
- require('./modules/private/tenants/edit').name,
- require('./modules/private/tenants/list').name,
- require('./modules/private/tenants/new').name,
- require('./modules/private/tenants/users').name,
- require('./modules/private/types').name,
- require('./modules/private/types/edit').name,
- require('./modules/private/types/list').name,
- require('./modules/private/types/new').name,
- require('./modules/private/types/servers').name,
- require('./modules/private/types/cacheGroups').name,
- require('./modules/private/types/deliveryServices').name,
- require('./modules/private/types/staticDnsEntries').name,
- require('./modules/private/users').name,
- require('./modules/private/users/deliveryServices').name,
- require('./modules/private/users/edit').name,
- require('./modules/private/users/list').name,
- require('./modules/private/users/new').name,
- require('./modules/private/users/register').name,
+ // private modules
+ require('./modules/private').name,
+ require('./modules/private/asns').name,
+ require('./modules/private/asns/edit').name,
+ require('./modules/private/asns/list').name,
+ require('./modules/private/asns/new').name,
+ require('./modules/private/cacheGroups').name,
+ require('./modules/private/cacheGroups/edit').name,
+ require('./modules/private/cacheGroups/list').name,
+ require('./modules/private/cacheGroups/new').name,
+ require('./modules/private/cacheGroups/asns').name,
+ require('./modules/private/cacheGroups/parameters').name,
+ require('./modules/private/cacheGroups/servers').name,
+ require('./modules/private/cacheGroups/staticDnsEntries').name,
+ require('./modules/private/cacheChecks').name,
+ require('./modules/private/cacheStats').name,
+ require('./modules/private/capabilities').name,
+ require('./modules/private/capabilities/new').name, // this must be defined before edit for the url matcher to work
+ require('./modules/private/capabilities/list').name,
+ require('./modules/private/capabilities/edit').name,
+ require('./modules/private/capabilities/endpoints').name,
+ require('./modules/private/capabilities/users').name,
+ require('./modules/private/cdns').name,
+ require('./modules/private/cdns/config').name,
+ require('./modules/private/cdns/deliveryServices').name,
+ require('./modules/private/cdns/dnssecKeys').name,
+ require('./modules/private/cdns/dnssecKeys/generate').name,
+ require('./modules/private/cdns/dnssecKeys/view').name,
+ require('./modules/private/cdns/edit').name,
+ require('./modules/private/cdns/federations').name,
+ require('./modules/private/cdns/federations/deliveryServices').name,
+ require('./modules/private/cdns/federations/edit').name,
+ require('./modules/private/cdns/federations/list').name,
+ require('./modules/private/cdns/federations/new').name,
+ require('./modules/private/cdns/federations/users').name,
+ require('./modules/private/cdns/list').name,
+ require('./modules/private/cdns/new').name,
+ require('./modules/private/cdns/profiles').name,
+ require('./modules/private/cdns/servers').name,
+ require('./modules/private/changeLogs').name,
+ require('./modules/private/changeLogs/list').name,
+ require('./modules/private/coordinates').name,
+ require('./modules/private/coordinates/edit').name,
+ require('./modules/private/coordinates/list').name,
+ require('./modules/private/coordinates/new').name,
+ require('./modules/private/dashboard').name,
+ require('./modules/private/dashboard/view').name,
+ require('./modules/private/deliveryServiceRequests').name,
+ require('./modules/private/deliveryServiceRequests/compare').name,
+ require('./modules/private/deliveryServiceRequests/comments').name,
+ require('./modules/private/deliveryServiceRequests/edit').name,
+ require('./modules/private/deliveryServiceRequests/list').name,
+ require('./modules/private/deliveryServices').name,
+ require('./modules/private/deliveryServices/clone').name,
+ require('./modules/private/deliveryServices/charts').name,
+ require('./modules/private/deliveryServices/charts/view').name,
+ require('./modules/private/deliveryServices/compare').name,
+ require('./modules/private/deliveryServices/edit').name,
+ require('./modules/private/deliveryServices/list').name,
+ require('./modules/private/deliveryServices/new').name,
+ require('./modules/private/deliveryServices/jobs').name,
+ require('./modules/private/deliveryServices/jobs/list').name,
+ require('./modules/private/deliveryServices/jobs/new').name,
+ require('./modules/private/deliveryServices/origins').name,
+ require('./modules/private/deliveryServices/regexes').name,
+ require('./modules/private/deliveryServices/regexes/edit').name,
+ require('./modules/private/deliveryServices/regexes/list').name,
+ require('./modules/private/deliveryServices/regexes/new').name,
+ require('./modules/private/deliveryServices/servers').name,
+ require('./modules/private/deliveryServices/staticDnsEntries').name,
+ require('./modules/private/deliveryServices/staticDnsEntries/edit').name,
+ require('./modules/private/deliveryServices/staticDnsEntries/list').name,
+ require('./modules/private/deliveryServices/staticDnsEntries/new').name,
+ require('./modules/private/deliveryServices/targets').name,
+ require('./modules/private/deliveryServices/targets/edit').name,
+ require('./modules/private/deliveryServices/targets/list').name,
+ require('./modules/private/deliveryServices/targets/new').name,
+ require('./modules/private/deliveryServices/users').name,
+ require('./modules/private/deliveryServices/urlSigKeys').name,
+ require('./modules/private/deliveryServices/uriSigningKeys').name,
+ require('./modules/private/deliveryServices/sslKeys').name,
+ require('./modules/private/deliveryServices/sslKeys/view').name,
+ require('./modules/private/deliveryServices/sslKeys/generate').name,
+ require('./modules/private/divisions').name,
+ require('./modules/private/divisions/edit').name,
+ require('./modules/private/divisions/list').name,
+ require('./modules/private/divisions/new').name,
+ require('./modules/private/divisions/regions').name,
+ require('./modules/private/endpoints').name,
+ require('./modules/private/endpoints/edit').name,
+ require('./modules/private/endpoints/list').name,
+ require('./modules/private/endpoints/new').name,
+ require('./modules/private/iso').name,
+ require('./modules/private/jobs').name,
+ require('./modules/private/jobs/list').name,
+ require('./modules/private/jobs/new').name,
+ require('./modules/private/origins').name,
+ require('./modules/private/origins/edit').name,
+ require('./modules/private/origins/list').name,
+ require('./modules/private/origins/new').name,
+ require('./modules/private/physLocations').name,
+ require('./modules/private/physLocations/edit').name,
+ require('./modules/private/physLocations/list').name,
+ require('./modules/private/physLocations/new').name,
+ require('./modules/private/physLocations/servers').name,
+ require('./modules/private/parameters').name,
+ require('./modules/private/parameters/cacheGroups').name,
+ require('./modules/private/parameters/edit').name,
+ require('./modules/private/parameters/list').name,
+ require('./modules/private/parameters/new').name,
+ require('./modules/private/parameters/profiles').name,
+ require('./modules/private/profiles').name,
+ require('./modules/private/profiles/compare').name,
+ require('./modules/private/profiles/deliveryServices').name,
+ require('./modules/private/profiles/edit').name,
+ require('./modules/private/profiles/list').name,
+ require('./modules/private/profiles/new').name,
+ require('./modules/private/profiles/parameters').name,
+ require('./modules/private/profiles/servers').name,
+ require('./modules/private/regions').name,
+ require('./modules/private/regions/edit').name,
+ require('./modules/private/regions/list').name,
+ require('./modules/private/regions/physLocations').name,
+ require('./modules/private/regions/new').name,
+ require('./modules/private/roles').name,
+ require('./modules/private/roles/capabilities').name,
+ require('./modules/private/roles/edit').name,
+ require('./modules/private/roles/list').name,
+ require('./modules/private/roles/new').name,
+ require('./modules/private/roles/users').name,
+ require('./modules/private/servers').name,
+ require('./modules/private/servers/configFiles').name,
+ require('./modules/private/servers/deliveryServices').name,
+ require('./modules/private/servers/edit').name,
+ require('./modules/private/servers/new').name,
+ require('./modules/private/servers/list').name,
+ require('./modules/private/statuses').name,
+ require('./modules/private/statuses/edit').name,
+ require('./modules/private/statuses/list').name,
+ require('./modules/private/statuses/new').name,
+ require('./modules/private/statuses/servers').name,
+ require('./modules/private/tenants').name,
+ require('./modules/private/tenants/deliveryServices').name,
+ require('./modules/private/tenants/edit').name,
+ require('./modules/private/tenants/list').name,
+ require('./modules/private/tenants/new').name,
+ require('./modules/private/tenants/users').name,
+ require('./modules/private/types').name,
+ require('./modules/private/types/edit').name,
+ require('./modules/private/types/list').name,
+ require('./modules/private/types/new').name,
+ require('./modules/private/types/servers').name,
+ require('./modules/private/types/cacheGroups').name,
+ require('./modules/private/types/deliveryServices').name,
+ require('./modules/private/types/staticDnsEntries').name,
+ require('./modules/private/users').name,
+ require('./modules/private/users/deliveryServices').name,
+ require('./modules/private/users/edit').name,
+ require('./modules/private/users/list').name,
+ require('./modules/private/users/new').name,
+ require('./modules/private/users/register').name,
- // current user
- require('./modules/private/user').name,
- require('./modules/private/user/edit').name,
+ // current user
+ require('./modules/private/user').name,
+ require('./modules/private/user/edit').name,
- // custom
- require('./modules/private/custom').name,
+ // custom
+ require('./modules/private/custom').name,
- // common modules
- require('./common/modules/chart/bps').name,
- require('./common/modules/chart/httpStatus').name,
- require('./common/modules/chart/tps').name,
- require('./common/modules/compare').name,
- require('./common/modules/dialog/compare').name,
- require('./common/modules/dialog/confirm').name,
- require('./common/modules/dialog/confirm/enter').name,
- require('./common/modules/dialog/delete').name,
- require('./common/modules/dialog/deliveryServiceRequest').name,
- require('./common/modules/dialog/federationResolver').name,
- require('./common/modules/dialog/import').name,
- require('./common/modules/dialog/input').name,
- require('./common/modules/dialog/reset').name,
- require('./common/modules/dialog/select').name,
- require('./common/modules/dialog/select/status').name,
- require('./common/modules/dialog/text').name,
- require('./common/modules/dialog/textarea').name,
- require('./common/modules/header').name,
- require('./common/modules/message').name,
- require('./common/modules/navigation').name,
- require('./common/modules/release').name,
+ // common modules
+ require('./common/modules/chart/bps').name,
+ require('./common/modules/chart/httpStatus').name,
+ require('./common/modules/chart/tps').name,
+ require('./common/modules/compare').name,
+ require('./common/modules/dialog/compare').name,
+ require('./common/modules/dialog/confirm').name,
+ require('./common/modules/dialog/confirm/enter').name,
+ require('./common/modules/dialog/delete').name,
+ require('./common/modules/dialog/deliveryServiceRequest').name,
+ require('./common/modules/dialog/federationResolver').name,
+ require('./common/modules/dialog/import').name,
+ require('./common/modules/dialog/input').name,
+ require('./common/modules/dialog/reset').name,
+ require('./common/modules/dialog/select').name,
+ require('./common/modules/dialog/select/status').name,
+ require('./common/modules/dialog/text').name,
+ require('./common/modules/dialog/textarea').name,
+ require('./common/modules/header').name,
+ require('./common/modules/message').name,
+ require('./common/modules/navigation').name,
+ require('./common/modules/release').name,
- // forms
- require('./common/modules/form/asn').name,
- require('./common/modules/form/asn/edit').name,
- require('./common/modules/form/asn/new').name,
- require('./common/modules/form/cacheGroup').name,
- require('./common/modules/form/cacheGroup/edit').name,
- require('./common/modules/form/cacheGroup/new').name,
- require('./common/modules/form/capability').name,
- require('./common/modules/form/capability/edit').name,
- require('./common/modules/form/capability/new').name,
- require('./common/modules/form/cdn').name,
- require('./common/modules/form/cdn/edit').name,
- require('./common/modules/form/cdn/new').name,
- require('./common/modules/form/cdnDnssecKeys').name,
- require('./common/modules/form/cdnDnssecKeys/generate').name,
- require('./common/modules/form/coordinate').name,
- require('./common/modules/form/coordinate/edit').name,
- require('./common/modules/form/coordinate/new').name,
- require('./common/modules/form/deliveryService').name,
- require('./common/modules/form/deliveryService/clone').name,
- require('./common/modules/form/deliveryService/edit').name,
- require('./common/modules/form/deliveryService/new').name,
- require('./common/modules/form/deliveryServiceRegex').name,
- require('./common/modules/form/deliveryServiceRegex/edit').name,
- require('./common/modules/form/deliveryServiceRegex/new').name,
- require('./common/modules/form/deliveryServiceSslKeys').name,
- require('./common/modules/form/deliveryServiceSslKeys/generate').name,
- require('./common/modules/form/deliveryServiceStaticDnsEntry').name,
- require('./common/modules/form/deliveryServiceStaticDnsEntry/edit').name,
- require('./common/modules/form/deliveryServiceStaticDnsEntry/new').name,
- require('./common/modules/form/deliveryServiceTarget').name,
- require('./common/modules/form/deliveryServiceTarget/edit').name,
- require('./common/modules/form/deliveryServiceTarget/new').name,
- require('./common/modules/form/deliveryServiceJob').name,
- require('./common/modules/form/deliveryServiceJob/new').name,
- require('./common/modules/form/division').name,
- require('./common/modules/form/division/edit').name,
- require('./common/modules/form/division/new').name,
- require('./common/modules/form/endpoint').name,
- require('./common/modules/form/endpoint/edit').name,
- require('./common/modules/form/endpoint/new').name,
- require('./common/modules/form/federation').name,
- require('./common/modules/form/federation/edit').name,
- require('./common/modules/form/federation/new').name,
- require('./common/modules/form/iso').name,
- require('./common/modules/form/job').name,
- require('./common/modules/form/job/new').name,
- require('./common/modules/form/origin').name,
- require('./common/modules/form/origin/edit').name,
- require('./common/modules/form/origin/new').name,
- require('./common/modules/form/physLocation').name,
- require('./common/modules/form/physLocation/edit').name,
- require('./common/modules/form/physLocation/new').name,
- require('./common/modules/form/parameter').name,
- require('./common/modules/form/parameter/edit').name,
- require('./common/modules/form/parameter/new').name,
- require('./common/modules/form/profile').name,
- require('./common/modules/form/profile/edit').name,
- require('./common/modules/form/profile/new').name,
- require('./common/modules/form/region').name,
- require('./common/modules/form/region/edit').name,
- require('./common/modules/form/region/new').name,
- require('./common/modules/form/role').name,
- require('./common/modules/form/role/edit').name,
- require('./common/modules/form/role/new').name,
- require('./common/modules/form/server').name,
- require('./common/modules/form/server/edit').name,
- require('./common/modules/form/server/new').name,
- require('./common/modules/form/status').name,
- require('./common/modules/form/status/edit').name,
- require('./common/modules/form/status/new').name,
- require('./common/modules/form/tenant').name,
- require('./common/modules/form/tenant/edit').name,
- require('./common/modules/form/tenant/new').name,
- require('./common/modules/form/type').name,
- require('./common/modules/form/type/edit').name,
- require('./common/modules/form/type/new').name,
- require('./common/modules/form/user').name,
- require('./common/modules/form/user/edit').name,
- require('./common/modules/form/user/new').name,
- require('./common/modules/form/user/register').name,
+ // forms
+ require('./common/modules/form/asn').name,
+ require('./common/modules/form/asn/edit').name,
+ require('./common/modules/form/asn/new').name,
+ require('./common/modules/form/cacheGroup').name,
+ require('./common/modules/form/cacheGroup/edit').name,
+ require('./common/modules/form/cacheGroup/new').name,
+ require('./common/modules/form/capability').name,
+ require('./common/modules/form/capability/edit').name,
+ require('./common/modules/form/capability/new').name,
+ require('./common/modules/form/cdn').name,
+ require('./common/modules/form/cdn/edit').name,
+ require('./common/modules/form/cdn/new').name,
+ require('./common/modules/form/cdnDnssecKeys').name,
+ require('./common/modules/form/cdnDnssecKeys/generate').name,
+ require('./common/modules/form/coordinate').name,
+ require('./common/modules/form/coordinate/edit').name,
+ require('./common/modules/form/coordinate/new').name,
+ require('./common/modules/form/deliveryService').name,
+ require('./common/modules/form/deliveryService/clone').name,
+ require('./common/modules/form/deliveryService/edit').name,
+ require('./common/modules/form/deliveryService/new').name,
+ require('./common/modules/form/deliveryServiceRegex').name,
+ require('./common/modules/form/deliveryServiceRegex/edit').name,
+ require('./common/modules/form/deliveryServiceRegex/new').name,
+ require('./common/modules/form/deliveryServiceSslKeys').name,
+ require('./common/modules/form/deliveryServiceSslKeys/generate').name,
+ require('./common/modules/form/deliveryServiceStaticDnsEntry').name,
+ require('./common/modules/form/deliveryServiceStaticDnsEntry/edit').name,
+ require('./common/modules/form/deliveryServiceStaticDnsEntry/new').name,
+ require('./common/modules/form/deliveryServiceTarget').name,
+ require('./common/modules/form/deliveryServiceTarget/edit').name,
+ require('./common/modules/form/deliveryServiceTarget/new').name,
+ require('./common/modules/form/deliveryServiceJob').name,
+ require('./common/modules/form/deliveryServiceJob/new').name,
+ require('./common/modules/form/division').name,
+ require('./common/modules/form/division/edit').name,
+ require('./common/modules/form/division/new').name,
+ require('./common/modules/form/endpoint').name,
+ require('./common/modules/form/endpoint/edit').name,
+ require('./common/modules/form/endpoint/new').name,
+ require('./common/modules/form/federation').name,
+ require('./common/modules/form/federation/edit').name,
+ require('./common/modules/form/federation/new').name,
+ require('./common/modules/form/iso').name,
+ require('./common/modules/form/job').name,
+ require('./common/modules/form/job/new').name,
+ require('./common/modules/form/origin').name,
+ require('./common/modules/form/origin/edit').name,
+ require('./common/modules/form/origin/new').name,
+ require('./common/modules/form/physLocation').name,
+ require('./common/modules/form/physLocation/edit').name,
+ require('./common/modules/form/physLocation/new').name,
+ require('./common/modules/form/parameter').name,
+ require('./common/modules/form/parameter/edit').name,
+ require('./common/modules/form/parameter/new').name,
+ require('./common/modules/form/profile').name,
+ require('./common/modules/form/profile/edit').name,
+ require('./common/modules/form/profile/new').name,
+ require('./common/modules/form/region').name,
+ require('./common/modules/form/region/edit').name,
+ require('./common/modules/form/region/new').name,
+ require('./common/modules/form/role').name,
+ require('./common/modules/form/role/edit').name,
+ require('./common/modules/form/role/new').name,
+ require('./common/modules/form/server').name,
+ require('./common/modules/form/server/edit').name,
+ require('./common/modules/form/server/new').name,
+ require('./common/modules/form/status').name,
+ require('./common/modules/form/status/edit').name,
+ require('./common/modules/form/status/new').name,
+ require('./common/modules/form/tenant').name,
+ require('./common/modules/form/tenant/edit').name,
+ require('./common/modules/form/tenant/new').name,
+ require('./common/modules/form/type').name,
+ require('./common/modules/form/type/edit').name,
+ require('./common/modules/form/type/new').name,
+ require('./common/modules/form/user').name,
+ require('./common/modules/form/user/edit').name,
+ require('./common/modules/form/user/new').name,
+ require('./common/modules/form/user/register').name,
- // tables
- require('./common/modules/table/asns').name,
- require('./common/modules/table/cacheGroups').name,
- require('./common/modules/table/cacheGroupAsns').name,
- require('./common/modules/table/cacheGroupParameters').name,
- require('./common/modules/table/cacheGroupServers').name,
- require('./common/modules/table/cacheGroupStaticDnsEntries').name,
- require('./common/modules/table/capabilities').name,
- require('./common/modules/table/capabilityEndpoints').name,
- require('./common/modules/table/capabilityUsers').name,
- require('./common/modules/table/changeLogs').name,
- require('./common/modules/table/cdns').name,
- require('./common/modules/table/cdnDeliveryServices').name,
- require('./common/modules/table/cdnFederations').name,
- require('./common/modules/table/cdnFederationDeliveryServices').name,
- require('./common/modules/table/cdnFederationUsers').name,
- require('./common/modules/table/cdnProfiles').name,
- require('./common/modules/table/cdnServers').name,
- require('./common/modules/table/coordinates').name,
- require('./common/modules/table/deliveryServices').name,
- require('./common/modules/table/deliveryServiceJobs').name,
- require('./common/modules/table/deliveryServiceOrigins').name,
- require('./common/modules/table/deliveryServiceRegexes').name,
- require('./common/modules/table/deliveryServiceRequests').name,
- require('./common/modules/table/deliveryServiceRequestComments').name,
- require('./common/modules/table/deliveryServiceServers').name,
- require('./common/modules/table/deliveryServiceStaticDnsEntries').name,
- require('./common/modules/table/deliveryServiceTargets').name,
- require('./common/modules/table/deliveryServiceUsers').name,
- require('./common/modules/table/divisions').name,
- require('./common/modules/table/divisionRegions').name,
- require('./common/modules/table/endpoints').name,
- require('./common/modules/table/federationResolvers').name,
- require('./common/modules/table/jobs').name,
- require('./common/modules/table/origins').name,
- require('./common/modules/table/physLocations').name,
- require('./common/modules/table/physLocationServers').name,
- require('./common/modules/table/parameters').name,
- require('./common/modules/table/parameterCacheGroups').name,
- require('./common/modules/table/parameterProfiles').name,
- require('./common/modules/table/profileDeliveryServices').name,
- require('./common/modules/table/profileParameters').name,
- require('./common/modules/table/profileServers').name,
- require('./common/modules/table/profiles').name,
- require('./common/modules/table/regions').name,
- require('./common/modules/table/regionPhysLocations').name,
- require('./common/modules/table/roles').name,
- require('./common/modules/table/roleCapabilities').name,
- require('./common/modules/table/roleUsers').name,
- require('./common/modules/table/servers').name,
- require('./common/modules/table/serverConfigFiles').name,
- require('./common/modules/table/serverDeliveryServices').name,
- require('./common/modules/table/statuses').name,
- require('./common/modules/table/statusServers').name,
- require('./common/modules/table/tenants').name,
- require('./common/modules/table/tenantDeliveryServices').name,
- require('./common/modules/table/tenantUsers').name,
- require('./common/modules/table/types').name,
- require('./common/modules/table/typeCacheGroups').name,
- require('./common/modules/table/typeDeliveryServices').name,
- require('./common/modules/table/typeServers').name,
- require('./common/modules/table/typeStaticDnsEntries').name,
- require('./common/modules/table/users').name,
- require('./common/modules/table/userDeliveryServices').name,
+ // tables
+ require('./common/modules/table/asns').name,
+ require('./common/modules/table/cacheGroups').name,
+ require('./common/modules/table/cacheGroupAsns').name,
+ require('./common/modules/table/cacheGroupParameters').name,
+ require('./common/modules/table/cacheGroupServers').name,
+ require('./common/modules/table/cacheGroupStaticDnsEntries').name,
+ require('./common/modules/table/capabilities').name,
+ require('./common/modules/table/capabilityEndpoints').name,
+ require('./common/modules/table/capabilityUsers').name,
+ require('./common/modules/table/changeLogs').name,
+ require('./common/modules/table/cdns').name,
+ require('./common/modules/table/cdnDeliveryServices').name,
+ require('./common/modules/table/cdnFederations').name,
+ require('./common/modules/table/cdnFederationDeliveryServices').name,
+ require('./common/modules/table/cdnFederationUsers').name,
+ require('./common/modules/table/cdnProfiles').name,
+ require('./common/modules/table/cdnServers').name,
+ require('./common/modules/table/coordinates').name,
+ require('./common/modules/table/deliveryServices').name,
+ require('./common/modules/table/deliveryServiceJobs').name,
+ require('./common/modules/table/deliveryServiceOrigins').name,
+ require('./common/modules/table/deliveryServiceRegexes').name,
+ require('./common/modules/table/deliveryServiceRequests').name,
+ require('./common/modules/table/deliveryServiceRequestComments').name,
+ require('./common/modules/table/deliveryServiceServers').name,
+ require('./common/modules/table/deliveryServiceStaticDnsEntries').name,
+ require('./common/modules/table/deliveryServiceTargets').name,
+ require('./common/modules/table/deliveryServiceUsers').name,
+ require('./common/modules/table/divisions').name,
+ require('./common/modules/table/divisionRegions').name,
+ require('./common/modules/table/endpoints').name,
+ require('./common/modules/table/federationResolvers').name,
+ require('./common/modules/table/jobs').name,
+ require('./common/modules/table/origins').name,
+ require('./common/modules/table/physLocations').name,
+ require('./common/modules/table/physLocationServers').name,
+ require('./common/modules/table/parameters').name,
+ require('./common/modules/table/parameterCacheGroups').name,
+ require('./common/modules/table/parameterProfiles').name,
+ require('./common/modules/table/profileDeliveryServices').name,
+ require('./common/modules/table/profileParameters').name,
+ require('./common/modules/table/profileServers').name,
+ require('./common/modules/table/profiles').name,
+ require('./common/modules/table/regions').name,
+ require('./common/modules/table/regionPhysLocations').name,
+ require('./common/modules/table/roles').name,
+ require('./common/modules/table/roleCapabilities').name,
+ require('./common/modules/table/roleUsers').name,
+ require('./common/modules/table/servers').name,
+ require('./common/modules/table/serverConfigFiles').name,
+ require('./common/modules/table/serverDeliveryServices').name,
+ require('./common/modules/table/statuses').name,
+ require('./common/modules/table/statusServers').name,
+ require('./common/modules/table/tenants').name,
+ require('./common/modules/table/tenantDeliveryServices').name,
+ require('./common/modules/table/tenantUsers').name,
+ require('./common/modules/table/types').name,
+ require('./common/modules/table/typeCacheGroups').name,
+ require('./common/modules/table/typeDeliveryServices').name,
+ require('./common/modules/table/typeServers').name,
+ require('./common/modules/table/typeStaticDnsEntries').name,
+ require('./common/modules/table/users').name,
+ require('./common/modules/table/userDeliveryServices').name,
- // widgets
- require('./common/modules/widget/cacheGroups').name,
- require('./common/modules/widget/capacity').name,
- require('./common/modules/widget/cdnChart').name,
- require('./common/modules/widget/changeLogs').name,
- require('./common/modules/widget/dashboardStats').name,
+ // widgets
+ require('./common/modules/widget/cacheGroups').name,
+ require('./common/modules/widget/capacity').name,
+ require('./common/modules/widget/cdnChart').name,
+ require('./common/modules/widget/changeLogs').name,
+ require('./common/modules/widget/dashboardStats').name,
require('./common/modules/widget/deliveryServices').name,
- require('./common/modules/widget/routing').name,
+ require('./common/modules/widget/routing').name,
- // models
- require('./common/models').name,
- require('./common/api').name,
+ // models
+ require('./common/models').name,
+ require('./common/api').name,
- // directives
- require('./common/directives/match').name,
+ // directives
+ require('./common/directives/match').name,
- // services
- require('./common/service/application').name,
- require('./common/service/utils').name,
+ // services
+ require('./common/service/application').name,
+ require('./common/service/utils').name,
- // filters
- require('./common/filters').name
+ // filters
+ require('./common/filters').name
- ], App)
+ ], App)
- .config(function($stateProvider, $logProvider, $controllerProvider, RestangularProvider, ENV) {
+ .config(function ($stateProvider, $logProvider, $controllerProvider, RestangularProvider, ENV) {
- RestangularProvider.setBaseUrl(ENV.api['root']);
+ RestangularProvider.setBaseUrl(ENV.api['root']);
- RestangularProvider.setResponseInterceptor(function(data, operation, what) {
+ RestangularProvider.setResponseInterceptor(function (data, operation, what) {
- if (angular.isDefined(data.response)) { // todo: this should not be needed. need better solution.
- if (operation == 'getList') {
- return data.response;
- }
- return data.response[0];
- } else {
- return data;
- }
- });
+ if (angular.isDefined(data.response)) { // todo: this should not be needed. need better solution.
+ if (operation == 'getList') {
+ return data.response;
+ }
+ return data.response[0];
+ } else {
+ return data;
+ }
+ });
- $controllerProvider.allowGlobals();
- $logProvider.debugEnabled(true);
- $stateProvider
- .state('trafficPortal', {
- url: '/',
- abstract: true,
- templateUrl: 'common/templates/master.tpl.html',
- resolve: {
- properties: function(trafficPortalService, propertiesModel) {
- return trafficPortalService.getProperties()
- .then(function(result) {
- propertiesModel.setProperties(result);
- });
- }
- }
+ $controllerProvider.allowGlobals();
+ $logProvider.debugEnabled(true);
+ $stateProvider
+ .state('trafficPortal', {
+ url: '/',
+ abstract: true,
+ templateUrl: 'common/templates/master.tpl.html',
+ resolve: {
+ properties: function (trafficPortalService, propertiesModel) {
+ return trafficPortalService.getProperties()
+ .then(function (result) {
+ propertiesModel.setProperties(result);
+ });
+ }
+ }
- });
- })
+ });
+ })
- .run(function($log, applicationService) {
- $log.debug("Application run...");
- applicationService.startup();
- })
- ;
+ .run(function ($log, applicationService) {
+ $log.debug("Application run...");
+ applicationService.startup();
+ })
+;
trafficPortal.factory('authInterceptor', function ($rootScope, $q, $window, $location, $timeout, messageModel, userModel) {
- return {
- responseError: function (rejection) {
- var url = $location.url(),
- alerts = [];
+ return {
+ responseError: function (rejection) {
+ var url = $location.url(),
+ alerts = [];
- try { alerts = rejection.data.alerts; }
- catch(e) {}
+ try {
+ alerts = rejection.data.alerts;
+ }
+ catch (e) {
+ }
- // 401, 403, 404 and 5xx errors handled globally; all others handled in fault handler
- if (rejection.status === 401) {
- $rootScope.$broadcast('trafficPortal::exit');
- userModel.resetUser();
- if (url == '/login' || $location.search().redirect) {
- messageModel.setMessages(alerts, false);
- } else {
- $timeout(function () {
- messageModel.setMessages(alerts, true);
- // forward the to the login page with ?redirect=page/they/were/trying/to/reach
- $location.url('/login').search({ redirect: encodeURIComponent(url) });
- }, 200);
- }
- } else if (rejection.status === 403 || rejection.status === 404) {
- $timeout(function () {
- messageModel.setMessages(alerts, false);
- }, 200);
- } else if (rejection.status.toString().match(/^5\d[01356789]$/)) {
- // matches 5xx EXCEPT for 502's and 504's which indicate a timeout and will be handled by each service call accordingly
- $timeout(function () {
- if (alerts && alerts.length > 0) {
- messageModel.setMessages(alerts, false);
- } else {
- messageModel.setMessages([ { level: 'error', text: rejection.status.toString() + ': ' + rejection.statusText } ], false);
- }
- }, 200);
- }
+ // 401, 403, 404 and 5xx errors handled globally; all others handled in fault handler
+ if (rejection.status === 401) {
+ $rootScope.$broadcast('trafficPortal::exit');
+ userModel.resetUser();
+ if (url == '/login' || $location.search().redirect) {
+ messageModel.setMessages(alerts, false);
+ } else {
+ $timeout(function () {
+ messageModel.setMessages(alerts, true);
+ // forward the to the login page with ?redirect=page/they/were/trying/to/reach
+ $location.url('/login').search({redirect: encodeURIComponent(url)});
+ }, 200);
+ }
+ } else if (rejection.status === 403 || rejection.status === 404) {
+ $timeout(function () {
+ messageModel.setMessages(alerts, false);
+ }, 200);
+ } else if (rejection.status.toString().match(/^5\d[01356789]$/)) {
+ // matches 5xx EXCEPT for 502's and 504's which indicate a timeout and will be handled by each service call accordingly
+ $timeout(function () {
+ if (alerts && alerts.length > 0) {
+ messageModel.setMessages(alerts, false);
+ } else {
+ messageModel.setMessages([{
+ level: 'error',
+ text: rejection.status.toString() + ': ' + rejection.statusText
+ }], false);
+ }
+ }, 200);
+ }
- return $q.reject(rejection);
- }
- };
+ return $q.reject(rejection);
+ }
+ };
});
trafficPortal.config(function ($httpProvider) {
- $httpProvider.interceptors.push('authInterceptor');
+ $httpProvider.interceptors.push('authInterceptor');
});
diff --git a/traffic_portal/app/src/common/modules/widget/deliveryServices/WidgetDeliveryServicesController.js b/traffic_portal/app/src/common/modules/widget/deliveryServices/WidgetDeliveryServicesController.js
index 85a3f3b..bf518e3 100644
--- a/traffic_portal/app/src/common/modules/widget/deliveryServices/WidgetDeliveryServicesController.js
+++ b/traffic_portal/app/src/common/modules/widget/deliveryServices/WidgetDeliveryServicesController.js
@@ -17,31 +17,44 @@
* under the License.
*/
-var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q, $interval, deliveryServiceService, deliveryServiceStatsService, locationUtils, dateUtils, numberUtils) {
+var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q, $interval, deliveryServiceService, deliveryServiceStatsService, locationUtils, dateUtils, numberUtils, propertiesModel) {
+
+ var interval,
+ autoRefresh = propertiesModel.properties.dashboard.autoRefresh;
$scope.unitSize = 'Gb';
- $scope.hasChart = false;
$scope.isRequested = false;
$scope.isLoading = false;
$scope.selectedIndex = 0;
- $scope.getChartData = function (ds, idx, start, end) {
- $scope.selectedIndex = idx;
- $scope.isRequested = true;
- $scope.isLoading = true;
- $scope.resetChart();
- if (start == undefined) {
- start = moment().subtract(1, 'days');
+ var createInterval = function() {
+ killInterval();
+ interval = $interval(function() { $scope.getChartData($scope.selectedDeliveryService); }, propertiesModel.properties.dashboard.deliveryServiceGbps.refreshRateInMS );
+ };
+
+ var killInterval = function() {
+ if (angular.isDefined(interval)) {
+ $interval.cancel(interval);
+ interval = undefined;
}
- if (end == undefined) {
- end = moment().subtract(10, 'seconds');
+ };
+
+ $scope.getChartData = function (ds, idx) {
+ if (ds.xmlId != $scope.selectedDeliveryService.xmlId) {
+ $scope.selectedIndex = idx;
+ $scope.isRequested = true;
+ $scope.isLoading = true;
+ $scope.resetChart();
+ if (autoRefresh) {
+ createInterval();
+ }
}
+
+ var start = moment().subtract(1, 'days');
+ var end = moment().subtract(10, 'seconds');
$scope.selectedDeliveryService = ds;
$scope.dateRangeText = dateUtils.dateFormat(start.toDate(), "UTC: ddd mmm d yyyy H:MM:ss tt (Z)") + ' to ' + dateUtils.dateFormat(end.toDate(), "UTC: ddd mmm d yyyy H:MM:ss tt (Z)");
- $scope.finalData = {
- chart: [],
- labels: []
- };
+
var promises = [];
promises.push(deliveryServiceStatsService.getBPS(ds.xmlId, start, end));
@@ -49,8 +62,11 @@ var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q,
.then(
function (responses) {
if (responses[0].series) {
- $scope.hasChart = true;
$scope.chartData = (responses[0].series) ? $scope.buildBandwidthChartData(responses[0].series, start) : $scope.chartData;
+ $scope.finalData = {
+ chart: [],
+ labels: []
+ };
for (var i = 0; i < $scope.chartData.length; i++) {
$scope.finalData.chart.push($scope.chartData[i][1]);
$scope.finalData.labels.push($scope.chartData[i][0]);
@@ -59,8 +75,13 @@ var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q,
$scope.buildChart();
}, 100);
} else {
- $scope.hasChart = false;
$scope.isLoading = false;
+ $scope.finalData.chart = [0,0];
+ var d = new Date();
+ var c = new Date();
+ c.setDate(c.getDate()-1);
+ $scope.finalData.labels = [moment( c ).valueOf(), moment( d ).valueOf()];
+ $scope.buildChart();
}
},
function (fault) {
@@ -80,16 +101,17 @@ var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q,
return normalizedChartData;
};
- $scope.navigateToCharts = function () {
- locationUtils.navigateToPath('/delivery-services/' + $scope.selectedDeliveryService.id + '/charts?type=' + $scope.selectedDeliveryService.type);
- };
-
$scope.buildChart = function () {
$scope.isLoading = false;
$scope.dsChart.labels = $scope.finalData.labels;
$scope.dsChart.series = ['Bandwidth'];
$scope.dsChart.data = $scope.finalData.chart;
$scope.dsChart.options = {
+ responsive: true,
+ maintainAspectRatio: false,
+ animation: {
+ duration: 0
+ },
elements: {
point: {
radius: 0
@@ -98,7 +120,7 @@ var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q,
fill: false,
tension: 0,
borderColor: '#3498DB',
- borderWidth: 1
+ borderWidth: 2
},
rectangle: {
borderWidth: 2
@@ -122,7 +144,10 @@ var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q,
xAxes: [{
type: 'time',
time: {
- parser: 'MM/DD/YYYY HH:mm',
+ displayFormats: {
+ minute: 'h:mm'
+ },
+ parser: 'h:mm',
tooltipFormat: 'll HH:mm'
}
}, {
@@ -171,29 +196,46 @@ var WidgetDeliveryServicesController = function ($scope, $timeout, $filter, $q,
options: null
};
$scope.chartData = [];
- $scope.selectedDeliveryService = null;
+ $scope.selectedDeliveryService = {
+ xmlId: ''
+ };
};
var getDeliveryServices = function () {
deliveryServiceService.getDeliveryServices()
.then(function (result) {
$scope.deliveryServices = result;
+ $scope.dsCount = $scope.deliveryServices.length;
+ for (var i = 0; i < $scope.deliveryServices.length; i++) {
+ $scope.deliveryServices[i].idx = i;
+ }
$scope.getChartData($scope.deliveryServices[0], 0);
});
};
+ $scope.navigateToCharts = function () {
+ locationUtils.navigateToPath('/delivery-services/' + $scope.selectedDeliveryService.id + '/charts?type=' + $scope.selectedDeliveryService.type);
+ };
+
// pagination
$scope.currentDeliveryServicesPage = 1;
$scope.deliveryServicesPerPage = 10;
$scope.navigateToPath = locationUtils.navigateToPath;
+ $scope.$on("$destroy", function() {
+ killInterval();
+ });
+
var init = function () {
$scope.resetChart();
getDeliveryServices();
+ if (autoRefresh) {
+ createInterval();
+ }
};
init();
};
-WidgetDeliveryServicesController.$inject = ['$scope', '$timeout', '$filter', '$q', '$interval', 'deliveryServiceService', 'deliveryServiceStatsService', 'locationUtils', 'dateUtils', 'numberUtils'];
+WidgetDeliveryServicesController.$inject = ['$scope', '$timeout', '$filter', '$q', '$interval', 'deliveryServiceService', 'deliveryServiceStatsService', 'locationUtils', 'dateUtils', 'numberUtils', 'propertiesModel'];
module.exports = WidgetDeliveryServicesController;
diff --git a/traffic_portal/app/src/common/modules/widget/deliveryServices/_widget.deliveryServices.scss b/traffic_portal/app/src/common/modules/widget/deliveryServices/_widget.deliveryServices.scss
index d80ab0e..55b5f40 100644
--- a/traffic_portal/app/src/common/modules/widget/deliveryServices/_widget.deliveryServices.scss
+++ b/traffic_portal/app/src/common/modules/widget/deliveryServices/_widget.deliveryServices.scss
@@ -17,7 +17,7 @@
#delivery-services-outer-container {
#deliveryServicesContainer {
- max-height: 452px;
+ max-height: 552px;
margin-bottom: 0;
.list-group-item {
background-color: transparent;
@@ -31,13 +31,16 @@
.widgetTable {
width: 100%;
max-width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
margin-bottom: 5px;
.thead {
vertical-align: bottom;
}
}
.delivery-services-health {
- height: 45px;
+ height: 52px;
.delivery-services-table {
margin-top: -10px;
border-style: none;
@@ -67,6 +70,9 @@
.dsWidgetButtonAlignFix {
margin-right: 16px;
}
+.dsWidgetGray {
+ color: #efefef;
+}
#deliveryServicesLoadingContainer {
height: 555px;
diff --git a/traffic_portal/app/src/common/modules/widget/deliveryServices/widget.deliveryServices.tpl.html b/traffic_portal/app/src/common/modules/widget/deliveryServices/widget.deliveryServices.tpl.html
index 842735f..79ee73d 100644
--- a/traffic_portal/app/src/common/modules/widget/deliveryServices/widget.deliveryServices.tpl.html
+++ b/traffic_portal/app/src/common/modules/widget/deliveryServices/widget.deliveryServices.tpl.html
@@ -18,37 +18,33 @@ under the License.
-->
<div class="x_title">
- <h2>Delivery Services</h2>
+ <h2>Delivery Services ({{dsCount}})</h2>
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="row">
- <div class="col-md-6 col-sm-6 col-xs-12">
- <div id="delivery-services-outer-container" class="f">
+ <div class="col-lg-4 col-md-6 col-sm-6 col-xs-12">
+ <div id="delivery-services-outer-container">
<div id="deliveryServicesContainer">
<div class="alert alert-info" ng-show="(deliveryServices | filter:search:strict).length == 0">
No matching delivery services
</div>
<div class="list-group">
- <table class="delivery-services-table widgetTable">
- <thead>
- <tr class="headings">
- <th class="col-lg-6 col-md-6 col-sm-2">Delivery Service</th>
- <th class="col-lg-2 col-md-2 col-sm-2">Type</th>
- <th class="col-lg-3 col-md-3 col-sm-2">Tenant</th>
- <th class="col-lg-1 col-md-1 col-sm-2"></th>
- </tr>
- </thead>
- </table>
- <a class="delivery-services-health list-group-item" ng-repeat="ds in deliveryServices | filter:search:strict | offsetFilter:(currentDeliveryServicesPage-1)*deliveryServicesPerPage | limitTo:deliveryServicesPerPage track by $index" ng-click="getChartData(ds, $index)">
+ <a class="delivery-services-health list-group-item"
+ ng-repeat="ds in deliveryServices | filter:search:strict | offsetFilter:(currentDeliveryServicesPage-1)*deliveryServicesPerPage | limitTo:deliveryServicesPerPage track by $index"
+ ng-click="getChartData(ds, ds.idx)">
<div class="row">
<table class="delivery-services-table widgetTable">
<tbody>
<tr>
- <td class="col-lg-6 col-md-6 col-sm-2">{{ds.displayName}} <small>({{ds.xmlId}})</small></td>
- <td class="col-lg-2 col-md-2 col-sm-2">{{ds.type}}</td>
- <td class="col-lg-3 col-md-3 col-sm-2">{{ds.tenant}}</td>
- <td class="col-lg-1 col-md-1 col-sm-2"><i class="fa fa-check" ng-show="$index == selectedIndex"></i></td>
+ <td class="col-lg-9 col-md-9 col-sm-12" style="width:70%;">{{ds.displayName}}
+ <small>({{ds.xmlId}})<br>{{ds.tenant}}</small>
+ </td>
+ <td class="col-lg-2 col-md-2 col-sm-12" style="width:30%;">{{ds.type}}</td>
+ <td class="col-lg-1 col-md-1 col-sm-12" style="width:10%;"><i
+ class="fa fa-check" ng-show="ds.idx == selectedIndex"></i><i
+ class="fa fa-square dsWidgetGray" ng-show="ds.idx != selectedIndex"></i>
+ </td>
</tr>
</tbody>
</table>
@@ -58,10 +54,15 @@ under the License.
</div>
<div>
<div ng-show="(deliveryServices | filter:search:strict).length > 0">
- <uib-pagination class="delivery-services-pagination pagination-md" boundary-links="true" max-size="2" total-items="(deliveryServices | filter:search:strict).length" items-per-page="deliveryServicesPerPage" ng-model="currentDeliveryServicesPage" previous-text="‹" next-text="›" first-text="«" last-text="»"></uib-pagination>
+ <uib-pagination class="delivery-services-pagination pagination-md" boundary-links="true"
+ max-size="2" total-items="(deliveryServices | filter:search:strict).length"
+ items-per-page="deliveryServicesPerPage" ng-model="currentDeliveryServicesPage"
+ previous-text="‹" next-text="›" first-text="«"
+ last-text="»"></uib-pagination>
</div>
<div class="input-group delivery-services-search-form">
- <input type="text" class="filter-input form-control" placeholder="Filter delivery services..." ng-model="search.displayName">
+ <input type="text" class="filter-input form-control" placeholder="Filter delivery services..."
+ ng-model="search.displayName">
<span class="filter-input-group-btn input-group-btn">
<button class="btn btn-default" type="button"><i class="fa fa-search"></i></button>
</span>
@@ -69,20 +70,24 @@ under the License.
</div>
</div>
</div>
- <div class="col-md-6 col-sm-6 col-xs-12">
+ <div class="col-lg-8 col-md-6 col-sm-6 col-xs-12">
<div ng-show="!isRequested">Select a Delivery Service to view bandwidth chart.</div>
- <div class="alert alert-info" ng-show="isLoading">Loading data for {{selectedDeliveryService.displayName}}</div>
- <div class="alert alert-danger" ng-show="!hasChart && isRequested && !isLoading">No bandwidth data for {{selectedDeliveryService.displayName}}</div>
- <div ng-show="hasChart && !isLoading" class="dsWidgetMessages">
- <div class="pull-left">{{selectedDeliveryService.displayName}} - Bandwidth Per Second <br><small>{{dateRangeText}}</small></div>
+ <div class="alert alert-info" ng-show="isLoading">Loading data
+ for {{selectedDeliveryService.displayName}}</div>
+ <div ng-show="!isLoading" class="dsWidgetMessages">
+ <div class="pull-left">{{selectedDeliveryService.displayName}} - Bandwidth Per Second <br>
+ <small>{{dateRangeText}}</small>
+ </div>
<div class="pull-right dsWidgetButtonAlignFix" role="group">
- <button class="btn btn-primary" title="View Expanded Charts" ng-click="navigateToCharts()"><i class="fa fa-bar-chart"></i></button>
+ <button class="btn btn-primary" title="View Expanded Charts" ng-click="navigateToCharts()"><i
+ class="fa fa-bar-chart"></i></button>
</div>
</div>
- <canvas id="line" class="chart chart-line" chart-data="dsChart.data"
- chart-labels="dsChart.labels" chart-series="dsChart.series" chart-options="dsChart.options"
- chart-dataset-override="dsChart.datasetOverride" chart-click="onClick">
- </canvas>
+ <div style="position: relative; height: 50vh">
+ <canvas id="line" class="chart chart-line" chart-data="dsChart.data"
+ chart-labels="dsChart.labels" chart-series="dsChart.series" chart-options="dsChart.options">
+ </canvas>
+ </div>
</div>
</div>
</div>
diff --git a/traffic_portal/app/src/modules/private/dashboard/dashboard.tpl.html b/traffic_portal/app/src/modules/private/dashboard/dashboard.tpl.html
index 11b0c5c..f13aa41 100644
--- a/traffic_portal/app/src/modules/private/dashboard/dashboard.tpl.html
+++ b/traffic_portal/app/src/modules/private/dashboard/dashboard.tpl.html
@@ -23,7 +23,7 @@ under the License.
</div>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
- <div ng-if="hasCapability('delivery-services')" class="x_panel" ui-view="deliveryServicesContent"></div>
+ <div ng-if="hasCapability('delivery-services-read')" class="x_panel" ui-view="deliveryServicesContent"></div>
</div>
</div>
<div ng-if="hasCapability('cdns-read')" ng-repeat="cdn in ::cdns">
diff --git a/traffic_portal/app/src/traffic_portal_properties.json b/traffic_portal/app/src/traffic_portal_properties.json
index cc3734e..69f01e9 100644
--- a/traffic_portal/app/src/traffic_portal_properties.json
+++ b/traffic_portal/app/src/traffic_portal_properties.json
@@ -13,6 +13,9 @@
"currentStats": {
"refreshRateInMS": 30000
},
+ "deliveryServiceGbps": {
+ "refreshRateInMS": 30000
+ },
"healthyCacheCount": {
"refreshRateInMS": 60000
},
diff --git a/traffic_portal/package.json b/traffic_portal/package.json
index 295cebe..6f51e0e 100755
--- a/traffic_portal/package.json
+++ b/traffic_portal/package.json
@@ -33,10 +33,5 @@
},
"engines": {
"node": "0.11.14"
- },
- "dependencies": {
- "angular-chart.js": "^1.1.1",
- "chartjs": "^0.3.24",
- "tc-angular-chartjs": "^2.1.4"
}
}