Skip to content

Commit 084aee9

Browse files
authored
Merge pull request #63 from devinit/feature/map-analytics
Feature/Map Analytics
2 parents 4e78790 + 11624b8 commit 084aee9

File tree

4 files changed

+14
-4
lines changed

4 files changed

+14
-4
lines changed

assets/core.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/charts/people-affected-by-crisis-map.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ function renderPeopleAffectedByCrisisLeaflet() {
139139
echarts: {
140140
onAdd: (chartNodes) => {
141141
Array.prototype.forEach.call(chartNodes, (chartNode) => {
142+
window.dataLayer = window.dataLayer || [];
142143
const dichart = new window.DICharts.Chart(chartNode.parentElement);
143144
const map = window.L.map(chartNode, {
144145
maxZoom: 3,

src/components/MapFilters.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ const peopleInNeedDisabled = 'https://devinit.org/assets/svg/icons/people-in-nee
1414

1515
const MapFilters = (props) => {
1616
const [dimension, setDimension] = useState('Severity_score');
17-
useEffect(() => {
18-
props.onSelectDimension(dimension);
19-
}, [dimension]);
2017
const filterOptions = [
2118
{
2219
name: 'Severity_score',
@@ -50,6 +47,14 @@ const MapFilters = (props) => {
5047
},
5148
];
5249

50+
useEffect(() => {
51+
props.onSelectDimension(dimension);
52+
window.dataLayer.push({
53+
event: 'mapFilterSelected',
54+
filter: filterOptions.find((opt) => opt.name === dimension).label
55+
});
56+
}, [dimension]);
57+
5358
return (
5459
<ul>
5560
{filterOptions.map((option) => (

src/utils/interactiveMap.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ const onCloseDatabox = (e, databoxElement) => {
125125
const handleClickFeature = (e, mapInstance, databoxInstance, csv) => {
126126
databoxInstance.addTo(mapInstance);
127127
const layer = e.target;
128+
window.dataLayer.push({
129+
event: 'countryClicked',
130+
country: getOriginalCountryName(csv, layer.feature.properties.iso_a3)
131+
});
128132
databoxInstance.update(layer.feature.properties, csv);
129133
};
130134

0 commit comments

Comments
 (0)