Skip to content

Commit

Permalink
Revert "Support multiple metrics in popup content (#77)"
Browse files Browse the repository at this point in the history
This reverts commit 5e7ae9f.
  • Loading branch information
matschaffer authored and amotl committed Jun 9, 2021
1 parent 1aa9e82 commit ee48641
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 53 deletions.
22 changes: 0 additions & 22 deletions src/worldmap.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,28 +138,6 @@ describe('Worldmap', () => {
});
});

describe('when the data has multiple metrics', () => {
beforeEach(() => {
ctrl.data = new DataBuilder()
.withCountryAndValue('SE', 1, {
__field_device_urn: 'safecast:903348716',
'__field_ingest.location': 'wecnv3p07bjj',
'__field_Average pms_pm02_5': 33,
'__field_Average lnd_7318u': 110,
})
.build();

ctrl.panel.esGeoPoint = 'ingest.location';
ctrl.panel.esLocationName = 'device_urn';
ctrl.panel.esMetric = 'Average pms_pm02_5';
worldMap.drawCircles();
});

it('should create a circle popup with additional metrics', () => {
expect(worldMap.circles[0]._popup._content).toBe('Sweden: 1 <br />Average lnd_7318u: 110');
});
});

describe('when the data has three points', () => {
beforeEach(() => {
ctrl.data = new DataBuilder()
Expand Down
34 changes: 5 additions & 29 deletions src/worldmap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ export default class WorldMap {
});

this.createClickthrough(circle, dataPoint);
const content = this.getPopupContent(dataPoint);
const content = this.getPopupContent(dataPoint.locationName, dataPoint.valueRounded);
this.createPopup(circle, content);
return circle;
}
Expand All @@ -318,7 +318,7 @@ export default class WorldMap {

// Re-create popup.
circle.unbindPopup();
const content = this.getPopupContent(dataPoint);
const content = this.getPopupContent(dataPoint.locationName, dataPoint.valueRounded);
this.createPopup(circle, content);

// Re-create clickthrough-link.
Expand Down Expand Up @@ -417,16 +417,12 @@ export default class WorldMap {
extendPopupContent(circle, dataPoint) {
const popup = circle.getPopup();
let popupContent = popup._content;
popupContent += `\n${this.getPopupContent(dataPoint)}`;
popupContent += `\n${this.getPopupContent(dataPoint.locationName, dataPoint.valueRounded)}`;
circle.setPopupContent(popupContent);
}

getPopupContent(dataPoint) {
getPopupContent(locationName, value) {
let unit;

let locationName = dataPoint.locationName;
let value = dataPoint.value;

if (_.isNaN(value)) {
value = 'n/a';
} else {
Expand All @@ -436,27 +432,7 @@ export default class WorldMap {
if (this.ctrl.settings.formatOmitEmptyValue && value === 'n/a') {
return `${locationName}`.trim();
} else {
let fieldPrefix = '__field_';

let specialFields = [
fieldPrefix + this.ctrl.settings.esLocationName,
fieldPrefix + this.ctrl.settings.esMetric,
fieldPrefix + this.ctrl.settings.esGeoPoint,
];

let freeDataFields = Object.keys(dataPoint).filter(
(key: string) => key.startsWith(fieldPrefix) && !specialFields.includes(key)
);

let freeDataDisplay = freeDataFields
.map((field: string) => {
let name = field.slice(fieldPrefix.length);
let value = dataPoint[field];
return `<br />${name}: ${value}`;
})
.join('');

return `${locationName}: ${value} ${unit || ''}${freeDataDisplay}`.trim();
return `${locationName}: ${value} ${unit || ''}`.trim();
}
}

Expand Down
4 changes: 2 additions & 2 deletions test/data_builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default class DataBuilder {
this.data.categories = [];
}

withCountryAndValue(countryCode, value, overrides?: {[key: string]: any}) {
withCountryAndValue(countryCode, value) {
let dataPoint;
if (countryCode === 'SE') {
dataPoint = {
Expand Down Expand Up @@ -39,7 +39,7 @@ export default class DataBuilder {
} else {
throw new Error(`Unable to create fixture for country code ${countryCode}`);
}
this.data.push({...dataPoint, ...overrides});
this.data.push(dataPoint);

return this;
}
Expand Down

0 comments on commit ee48641

Please sign in to comment.