Skip to content

Commit 40cdf25

Browse files
Merge pull request #856 from RLOpenCatalyst/stage
Cloud analytics, Settings Wizard and bug fixes
2 parents 563248e + dc35776 commit 40cdf25

File tree

188 files changed

+18513
-4103
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+18513
-4103
lines changed

client/cat3/Gruntfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,13 @@ module.exports = function(grunt) {
8282
{'catalyst/partials/global.css':'src/partials/global.scss'},
8383
{'catalyst/partials/globals/treeComponent/treeDirective.css':'src/partials/globals/treeComponent/treeDirective.scss'},
8484
{'catalyst/partials/sections/dashboard/workzone/workzone.css':'src/partials/sections/dashboard/workzone/workzone.scss'},
85-
{'catalyst/partials/sections/dashboard/workzone/workzoneTreeMenu/workzoneTreeMenu.css':'src/partials/sections/dashboard/workzone/workzoneTreeMenu/workzoneTreeMenu.scss'},
8685
{'catalyst/partials/sections/dashboard/workzone/instance/instance.css':'src/partials/sections/dashboard/workzone/instance/instance.scss'},
8786
{'catalyst/partials/sections/dashboard/workzone/blueprint/blueprint.css':'src/partials/sections/dashboard/workzone/blueprint/blueprint.scss'},
8887
{'catalyst/partials/sections/dashboard/workzone/cloudFormation/cloudFormation.css':'src/partials/sections/dashboard/workzone/cloudFormation/cloudFormation.scss'},
8988
{'catalyst/partials/sections/dashboard/workzone/container/container.css':'src/partials/sections/dashboard/workzone/container/container.scss'},
9089
{'catalyst/partials/sections/dashboard/workzone/orchestration/orchestration.css':'src/partials/sections/dashboard/workzone/orchestration/orchestration.scss'},
9190
{'catalyst/partials/sections/dashboard/workzone/application/application.css':'src/partials/sections/dashboard/workzone/application/application.scss'},
91+
{'catalyst/partials/sections/dashboard/analytics/analytics.css':'src/partials/sections/dashboard/analytics/analytics.scss'},
9292
{'catalyst/partials/sections/dashboard/setting/setting.css':'src/partials/sections/dashboard/setting/setting.scss'}
9393
]
9494
}

client/cat3/bower.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
"ngstorage": "~0.3.9",
3030
"angular-ui-grid": "^3.1.1",
3131
"lodash": "^4.11.2",
32-
"ng-file-upload": "^12.0.4"
32+
"ng-file-upload": "^12.0.4",
33+
"angular-nvd3": "^1.0.7"
3334
},
3435
"exportsOverride": {
3536
"font-awesome": {

client/cat3/main.html

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<link rel="stylesheet" type="text/css" href="catalyst/partials/globals/header/header.css" />
1616
<link rel='stylesheet' type='text/css' href='catalyst/partials/sections/login/login.css'>
1717
<link rel="stylesheet" href="src/partials/globals/toaster/angular-toastr.css" />
18+
<link rel="stylesheet" href="lib/nvd3/nv.d3.css" />
1819
<!-- Library scripts -->
1920
<script src="lib/jquery/jquery.min.js"></script>
2021
<script src="lib/angular/angular.min.js"></script>
@@ -32,12 +33,16 @@
3233
<script src="src/partials/globals/toaster/angular-toastr.tpls.js"></script>
3334
<!-- Application configuration -->
3435
<script src="uiConfig.js"></script>
36+
<script src="lib/d3/d3.js"></script>
37+
<script src="lib/nvd3/nv.d3.js"></script>
38+
<script src="lib/angular-nvd3/angular-nvd3.js"></script>
3539
</head>
36-
<body>
37-
<div class="globalPopup" id="globalSuccessMessage">
38-
<span class="close green" ng-click="hideGlobalMessage()">×</span>
39-
<p>{{globalSuccessMessage}}</p>
40-
</div>
40+
<body ng-class="{ 'loading-body': onBodyLoading === true }">
41+
<loading size="large" name="onBodyLoading" class="onbody-loading"></loading>
42+
<!--<div class="globalPopup" id="globalSuccessMessage">-->
43+
<!--<span class="close green" ng-click="hideGlobalMessage()">×</span> -->
44+
<!--<p>{{globalSuccessMessage}}</p> -->
45+
<!--</div>-->
4146
<div ng-controller="HeadNavigatorCtrl">
4247
<div ng-show="app.isDashboard" class="dashboard">
4348
<ng-include src="'src/partials/globals/header/headerDashboard.html'"></ng-include>
@@ -48,8 +53,14 @@
4853
</div>
4954
<div class="breadcrumb-wrapper">
5055
<div class="container-fluid" id="breadcrumb-block" ng-controller="breadcrumbCtrl" ng-show="isBreadCrumbAvailable">
51-
<div ng-cloak id="section-name" class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
52-
{{sectionName}}
56+
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2 no-padding">
57+
<div id="section-name">
58+
<span ng-mouseover="showTreeOverlay()" ng-mouseleave="hideTreeOverlay()" class="cursor">
59+
<i class="fa fa-bars tree-toggle">
60+
</i>
61+
Menu
62+
</span>
63+
</div>
5364
</div>
5465
<div id="breadcrumb-nav" class="col-lg-10 col-md-10 col-sm-10 col-xs-10">
5566
<ul>
@@ -84,6 +95,13 @@
8495
<script src="src/partials/globals/messages/messagesDirective.js" ></script>
8596
<script src="src/partials/globals/treeComponent/treeDirective.js"></script>
8697
<script src="src/partials/globals/ui-gridOptions/uiGridOptionsServices.js"></script>
98+
<script src="src/partials/sections/dashboard/dashboardCtrl.js"></script>
99+
<script src="src/partials/sections/dashboard/genericServices.js"></script>
100+
<script src="src/partials/sections/dashboard/analytics/analytics.js"></script>
101+
<script src="src/partials/sections/dashboard/analytics/analyticsServices.js"></script>
102+
<script src="src/partials/sections/dashboard/analytics/controller/costCtrl.js"></script>
103+
<script src="src/partials/sections/dashboard/analytics/controller/capacityCtrl.js"></script>
104+
<script src="src/partials/sections/dashboard/analytics/controller/usageCtrl.js"></script>
87105
<script src="src/partials/sections/dashboard/design/designCtrl.js"></script>
88106
<script src="src/partials/sections/dashboard/help/helpCtrl.js"></script>
89107
<script src="src/partials/sections/dashboard/setting/organization/organizationCtrl.js"></script>
@@ -126,6 +144,7 @@
126144
<script src="src/partials/sections/dashboard/workzone/instance/manage/templates/cpLogsCtrl.js"></script>
127145
<script src="src/partials/sections/dashboard/workzone/instance/manage/templates/cpServicesCtrl.js"></script>
128146
<script src="src/partials/sections/dashboard/workzone/instance/popups/InstanceImportByIpCtrl.js"></script>
147+
<script src="src/partials/sections/dashboard/workzone/instance/popups/instanceUsageCtrl.js"></script>
129148
<script src="src/partials/sections/dashboard/workzone/instance/popups/deleteInstanceCtrl.js"></script>
130149
<script src="src/partials/sections/dashboard/workzone/instance/popups/instanceLogsCtrl.js"></script>
131150
<script src="src/partials/sections/dashboard/workzone/instance/popups/instanceNameEditCtrl.js"></script>

client/cat3/src/clientRoutes.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,24 @@ function routeConfig($stateProvider, $urlRouterProvider, $httpProvider, modulePe
7070
return deferred.promise;
7171
}]
7272
}
73+
}).state('dashboard.analytics', {
74+
url: "/analytics/",
75+
templateUrl: "src/partials/sections/dashboard/analytics/analytics.html",
76+
controller: "analyticsCtrl as analytic",
77+
resolve: {
78+
auth: ["$q", function ($q) {
79+
var deferred = $q.defer();
80+
// instead, go to a different page
81+
if (modulePerms.analyticsBool()) {
82+
// everything is fine, proceed
83+
deferred.resolve();
84+
} else {
85+
deferred.reject({redirectTo: 'dashboard'});
86+
}
87+
return deferred.promise;
88+
89+
}]
90+
}
7391
}).state('dashboard.settings', {
7492
url: "/settings",
7593
templateUrl: "src/partials/sections/dashboard/setting/setting.html",

client/cat3/src/factory/appPermissionServices.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,10 @@
2222
//return uac.hasPermission('track','read','module');
2323
return true;
2424
};
25+
this.analyticsBool = function() {
26+
//permission response not available in the api response.
27+
//return uac.hasPermission('track','read','module');
28+
return true;
29+
};
2530
}]);
2631
})(angular);

client/cat3/src/factory/workzoneServices.js

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@
9999
var url = '/blueprints/' + blueprintID;
100100
return $http.delete(fullUrl(url), Auth.getHeaderObject());
101101
},
102-
launchBlueprint: function (blueprintID, version, envId, stackName) {
102+
launchBlueprint: function (blueprintID, version, envId, stackName,domainName) {
103103
var url = '/blueprints/' + blueprintID + '/launch?version=' + version +
104-
'&envId=' + envId + '&stackName=' + stackName;
104+
'&envId=' + envId + '&stackName=' + stackName + '&domainName=' + domainName;
105105
return $http.get(fullUrl(url), Auth.getHeaderObject());
106106
},
107107
getBlueprintById: function(blueprintId) {
@@ -488,7 +488,8 @@
488488
return $http.post(fullUrl(url),compositeBlueprint,Auth.getHeaderObject());
489489
},
490490
getAllCompsiteBlueprint:function () {
491-
var url ='/composite-blueprints';
491+
var p = workzoneEnvironment.getEnvParams();
492+
var url ='/composite-blueprints?filterBy=organizationId:'+p.org+'+businessGroupId:'+p.bg+'+projectId:'+p.proj;
492493
return $http.get(fullUrl(url),Auth.getHeaderObject());
493494
},
494495
getCompsiteBlueprintInfo:function (compositeBlueprintId) {
@@ -514,6 +515,18 @@
514515
};
515516
var url ='/aws/providers/describe/vpcs';
516517
return $http.post(fullUrl(url),reqBody, Auth.getHeaderObject());
518+
},
519+
getManagedInstances:function (providerId) {
520+
var url ='/providers/'+providerId+'/managedInstances';
521+
return $http.get(fullUrl(url),Auth.getHeaderObject());
522+
},
523+
getAssignedInstances:function (providerId) {
524+
var url ='/providers/'+providerId+'/unmanagedInstances';
525+
return $http.get(fullUrl(url),Auth.getHeaderObject());
526+
},
527+
getUnassignedInstances:function (providerId) {
528+
var url ='/providers/'+providerId+'/unassigned-instances';
529+
return $http.get(fullUrl(url),Auth.getHeaderObject());
517530
}
518531
};
519532
return serviceInterface;

client/cat3/src/main.js

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,13 @@ var angularApp = angular.module('catapp', ['ui.router','ngTouch','toastr',
1818
'authentication',
1919
'factory.appPermission',
2020
'appPermission',
21-
'dashboard.workzone',
22-
'dashboard.help',
23-
'dashboard.track',
24-
'dashboard.settings',
25-
'dashboard.design',
21+
'dashboard',
2622
'directive.loading',
2723
'ngSanitize',
2824
'global.cache',
2925
'ui.grid',
3026
'ui.grid.pagination',
31-
'ui.grid.autoResize',
27+
'ui.grid.autoResize','ui.grid.exporter',
3228
'ui.grid.resizeColumns',
3329
'global.uiGridOptions',
3430
'global.messages'
@@ -87,12 +83,14 @@ angularApp.controller('HeadNavigatorCtrl', ['$scope', '$rootScope', '$http', '$l
8783
workzone: modulePerms.workzoneAccess(),
8884
design: modulePerms.designAccess(),
8985
settings: modulePerms.settingsAccess(),
90-
track: modulePerms.trackAccess()
86+
track: modulePerms.trackAccess(),
87+
analyticsBool: modulePerms.analyticsBool()
9188
};
9289
$rootScope.workZoneBool = _permSet.workzone;
9390
$rootScope.designBool = _permSet.design;
9491
$rootScope.settingsBool = _permSet.settings;
9592
$rootScope.trackBool = _permSet.track;
93+
$rootScope.analyticsBool = _permSet.analyticsBool;
9694
});
9795
$rootScope.$emit('SET_HEADER', $rootScope.appDetails);
9896
$scope.showLogoutConfirmationSection = false;
@@ -113,22 +111,4 @@ angularApp.controller('HeadNavigatorCtrl', ['$scope', '$rootScope', '$http', '$l
113111
$rootScope.$on('USER_LOGOUT', function () {
114112
$scope.doLogout();
115113
});
116-
}])
117-
.controller('dashboardCtrl', ['$rootScope', '$scope', '$http', 'uac', '$location', '$state', function ($rootScope, $scope, $http, uac, $location, $state) {
118-
'use strict';
119-
$rootScope.isBreadCrumbAvailable = true;
120-
$rootScope.app.isDashboard = true;
121-
/*State will be dashboard if coming via login flow. So check permission and do default landing logic*/
122-
/*Otherwise dont enable default landing logic. This is so that user can land on url directly*/
123-
if ($state.current.name === 'dashboard') {
124-
if ($rootScope.workZoneBool) {
125-
$state.go('dashboard.workzone');
126-
} else if ($rootScope.designBool) {
127-
$state.go('dashboard.design');
128-
} else if ($rootScope.trackBool) {
129-
$state.go('dashboard.track');
130-
} else if ($rootScope.settingsBool) {
131-
$state.go('dashboard.settings');
132-
}
133-
}
134114
}]);

0 commit comments

Comments
 (0)