Skip to content

Commit 5301b89

Browse files
committed
Benchmark data-driven
1 parent a5c411d commit 5301b89

File tree

1 file changed

+43
-10
lines changed

1 file changed

+43
-10
lines changed

src/routes/sector_view.svelte

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,36 @@
7171
'selected';
7272
}
7373
74+
function updateBenchmarkSelector() {
75+
let selectedBenchmark = document.querySelector('#benchmark_selector').value;
76+
77+
let selectedClass = document.querySelector('#asset_class_selector').value;
78+
let selectedSector = document.querySelector('#sector_selector').value;
79+
let selectedMarket = document.querySelector('#equity_market_selector').value;
80+
81+
let filteredTechmixData = techmix_data
82+
.filter((d) => d.asset_class == selectedClass)
83+
.filter((d) => d.ald_sector == selectedSector)
84+
.filter((d) => d.equity_market == selectedMarket)
85+
.filter(d => !(d.this_portfolio));
86+
let benchmarksTechmix = new Set(d3.map(filteredTechmixData, (d) => d.portfolio_name).keys());
87+
88+
let filteredVolTrajData = traj_data
89+
.filter((d) => d.asset_class == selectedClass)
90+
.filter((d) => d.ald_sector == selectedSector)
91+
.filter((d) => d.equity_market == selectedMarket)
92+
.filter(d => (d.this_benchmark));
93+
let benchmarksVolTraj = new Set(d3.map(filteredVolTrajData, (d) => d.portfolio_name).keys());
94+
95+
let benchmarks = Array.from(benchmarksTechmix.union(benchmarksVolTraj));
96+
97+
const benchmarkSelector = document.querySelector('#benchmark_selector');
98+
benchmarkSelector.length = 0;
99+
benchmarks.forEach((benchmark) => benchmarkSelector.add(new Option(benchmark, benchmark)));
100+
benchmarkSelector.options[Math.max(0, benchmarks.indexOf(selectedBenchmark))].selected =
101+
'selected';
102+
}
103+
74104
function addEventListeners() {
75105
const go_button_landing = document.querySelector('#go_button_landing');
76106
const asset_class_selector = document.querySelector('#asset_class_selector');
@@ -88,12 +118,14 @@
88118
});
89119
90120
sector_selector.addEventListener('change', function () {
121+
updateBenchmarkSelector();
91122
fetchTrajectoryAlignment();
92123
fetchTechmix();
93124
fetchEmissionIntensityPlot();
94125
});
95126
96127
asset_class_selector.addEventListener('change', function () {
128+
updateBenchmarkSelector();
97129
fetchTrajectoryAlignment();
98130
fetchTechmix();
99131
fetchEmissionIntensityPlot();
@@ -115,6 +147,7 @@
115147
});
116148
const equity_market_selector = document.querySelector('#equity_market_selector');
117149
equity_market_selector.addEventListener('change', function () {
150+
updateBenchmarkSelector();
118151
fetchTrajectoryAlignment();
119152
fetchTechmix();
120153
fetchEmissionIntensityPlot();
@@ -129,6 +162,7 @@
129162
setValuesSectorSelectors();
130163
setValuesAssetClassSelector();
131164
updateScenarioSelector();
165+
updateBenchmarkSelector();
132166
addEventListeners();
133167
fetchTechmix();
134168
fetchTrajectoryAlignment();
@@ -269,17 +303,12 @@
269303
</select>
270304
</label>
271305
<label class="label">
272-
<span>Benchmark</span>
306+
<span id="benchmark-label">Benchmark &#9432</span>
307+
<div class="hide dashboard-tooltip card p-4 shadow-xl">
308+
Applies to the production volume alignment and the technology mix plots.
309+
</div>
273310
<select class="select variant-outline-surface" id="benchmark_selector">
274-
<option value="iShares Global Corp Bond UCITS ETF"
275-
>iShares Global Corp Bond UCITS ETF</option
276-
>
277-
<option value="iShares Core S&P 500 ETF">iShares Core S&P 500 ETF</option>
278-
<option value="iShares MSCI ACWI ETF">iShares MSCI ACWI ETF</option>
279-
<option value="iShares MSCI Emerging Markets ETF"
280-
>iShares MSCI Emerging Markets ETF</option
281-
>
282-
<option value="iShares MSCI World ETF">iShares MSCI World ETF</option>
311+
<option value="Not_selected">Please select</option>
283312
</select>
284313
</label>
285314
</div>
@@ -295,4 +324,8 @@
295324
#scenario-label:hover + .hide {
296325
display: inline-block;
297326
}
327+
328+
#benchmark-label:hover + .hide {
329+
display: inline-block;
330+
}
298331
</style>

0 commit comments

Comments
 (0)