Skip to content

Commit 1c001ec

Browse files
Org unit view page shares pies with other pages
#86
1 parent 399e91e commit 1c001ec

2 files changed

Lines changed: 14 additions & 107 deletions

File tree

waltz-ng/client/org-units/directives/org-unit-overview.html

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -36,35 +36,28 @@ <h3 style="margin-top: 10px; padding-bottom: 4px; border-bottom: 1px solid #eee;
3636
<br>
3737

3838
<div class="container-fluid">
39+
3940
<div class="row">
4041
<div class="col-sm-4">
41-
<waltz-pie-table data="ctrl.pies.appPhase.data"
42-
config="ctrl.pies.appPhase.config"
43-
class="clickable"
44-
waltz-jump-to="apps-section"
45-
title="Apps By Lifecycle Phase"
46-
icon="desktop">
47-
</waltz-pie-table>
42+
<waltz-apps-by-investment-pie applications="ctrl.apps"
43+
size="80">
44+
</waltz-apps-by-investment-pie>
4845
</div>
46+
4947
<div class="col-sm-4">
50-
<waltz-pie-table data="ctrl.pies.appInvestment.data"
51-
config="ctrl.pies.appInvestment.config"
52-
class="clickable"
53-
waltz-jump-to="apps-section"
54-
icon="money"
55-
title="Apps By Investment Status">
56-
</waltz-pie-table>
48+
<waltz-apps-by-lifecycle-phase-pie applications="ctrl.apps"
49+
size="80">
50+
</waltz-apps-by-lifecycle-phase-pie>
5751
</div>
52+
5853
<div class="col-sm-4">
59-
<waltz-pie-table data="ctrl.pies.appConnections.data"
60-
config="ctrl.pies.appConnections.config"
61-
class="clickable"
62-
waltz-jump-to="flows-section"
63-
icon="random"
64-
title="Application Connections">
65-
</waltz-pie-table>
54+
<waltz-data-flows-by-direction-pie applications='ctrl.apps'
55+
flows="ctrl.flows.flows"
56+
size="80">
57+
</waltz-data-flows-by-direction-pie>
6658
</div>
6759
</div>
60+
6861
<div class="row">
6962
<div class="col-sm-3">
7063
<waltz-basic-info-tile name="Portfolio Cost"

waltz-ng/client/org-units/directives/org-unit-overview.js

Lines changed: 0 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -19,51 +19,6 @@ import { calcPortfolioCost } from '../../asset-cost/services/asset-cost-utilitie
1919
import { calcComplexitySummary } from '../../complexity/services/complexity-utilities';
2020

2121

22-
import {
23-
lifecyclePhaseColorScale,
24-
capabilityColorScale,
25-
flowDirectionColorScale,
26-
ragColorScale } from '../../common/colors';
27-
28-
29-
30-
function calcAppPhasePieStats(apps) {
31-
return _.chain(apps)
32-
.countBy('lifecyclePhase')
33-
.map((v, k) => ({ key: k, count: v }))
34-
.value();
35-
}
36-
37-
38-
function calcAppInvestmentPieStats(apps) {
39-
return _.chain(apps)
40-
.countBy('overallRating')
41-
.map((v, k) => ({ key: k, count: v }))
42-
.value();
43-
}
44-
45-
46-
function calcAppConnectionPieStats(flows, apps) {
47-
const logicalFlows = flows.flows;
48-
49-
const orgMemberAppIds = _.map(apps, 'id');
50-
51-
return _.chain(logicalFlows)
52-
.uniq(false, f => f.source.id + '.' + f.target.id)
53-
.map(f => {
54-
const sourceIsMember = _.contains(orgMemberAppIds, f.source.id);
55-
const targetIsMember = _.contains(orgMemberAppIds, f.target.id);
56-
if (sourceIsMember && targetIsMember) return 'INTRA';
57-
if (sourceIsMember) return 'INBOUND';
58-
if (targetIsMember) return 'OUTBOUND';
59-
return 'UNKNOWN';
60-
})
61-
.countBy()
62-
.map((v, k) => ({ key: k, count: v }))
63-
.value();
64-
}
65-
66-
6722
function calcCapabilityStats(ratings) {
6823
const caps = _.chain(ratings)
6924
.map("capability")
@@ -90,53 +45,12 @@ function controller($scope, orgUnitStore) {
9045
vm.saveDescriptionFn = (newValue, oldValue) =>
9146
orgUnitStore.updateDescription(vm.unit.id, newValue, oldValue);
9247

93-
const investmentLabels = {
94-
'R' : 'Disinvest',
95-
'A' : 'Maintain',
96-
'G' : 'Invest'
97-
};
98-
99-
const pies = {
100-
appPhase: {
101-
config: {
102-
colorProvider: (d) => lifecyclePhaseColorScale(d.data.key),
103-
size: 80
104-
}
105-
},
106-
appConnections: {
107-
config: {
108-
colorProvider: (d) => flowDirectionColorScale(d.data.key),
109-
size: 80
110-
}
111-
},
112-
appInvestment: {
113-
config: {
114-
colorProvider: (d) => ragColorScale(d.data.key),
115-
size: 80,
116-
labelProvider: (k) => investmentLabels[k] || 'Unknown'
117-
}
118-
}
119-
};
120-
121-
vm.pies = pies;
122-
123-
$scope.$watch('ctrl.apps', apps => {
124-
if (!apps) return;
125-
vm.pies.appPhase.data = calcAppPhasePieStats(apps);
126-
vm.pies.appInvestment.data = calcAppInvestmentPieStats(apps);
127-
});
12848

12949
$scope.$watch('ctrl.ratings', ratings => {
13050
if (!ratings) return;
13151
vm.capabilityStats = calcCapabilityStats(ratings);
13252
});
13353

134-
$scope.$watch('ctrl.flows', flows => {
135-
if (!flows) return;
136-
vm.pies.appConnections.data = calcAppConnectionPieStats(flows, this.apps);
137-
});
138-
139-
14054
$scope.$watch('ctrl.costs', cs => vm.portfolioCostStr = calcPortfolioCost(cs));
14155

14256
$scope.$watch('ctrl.orgServerStats', stats => {

0 commit comments

Comments
 (0)