maps-utils.ts
1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import L from 'leaflet';
import _ from 'lodash';
export function createTooltip(target, settings, targetArgs?) {
var popup = L.popup();
popup.setContent('');
target.bindPopup(popup, { autoClose: settings.autocloseTooltip, closeOnClick: false });
if (settings.displayTooltipAction == 'hover') {
target.off('click');
target.on('mouseover', function () {
this.openPopup();
});
target.on('mouseout', function () {
this.closePopup();
});
}
return {
markerArgs: targetArgs,
popup: popup,
locationSettings: settings,
dsIndex: settings.dsIndex
};
}
export function parseArray(input: any[]): any[] {
let alliases: any = _(input).groupBy(el => el?.datasource?.aliasName).values().value();
return alliases.map(alliasArray =>
alliasArray[0].data.map((el, i) => {
const obj = { aliasName: alliasArray[0]?.datasource?.aliasName };
alliasArray.forEach(el => {
obj[el?.dataKey?.label] = el?.data[i][1]
});
return obj;
})
).flat();
}
export function parseData(input: any[]): any[] {
return _(input).groupBy(el => el?.datasource?.aliasName).values().value().map(alliasArray => {
const obj = { aliasName: alliasArray[0]?.datasource?.aliasName };
alliasArray.forEach(el => {
obj[el?.dataKey?.label] = el?.data[0][1]
});
return obj;
});
}