@gooddata/sdk-ui-geo 11.17.0-alpha.2 → 11.17.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/next/hooks/layers/useLayerClickEvent.d.ts.map +1 -1
- package/esm/next/hooks/layers/useLayerClickEvent.js +98 -43
- package/esm/next/hooks/layers/useLayerClickEvent.js.map +1 -1
- package/esm/next/hooks/layers/useLayersData.d.ts.map +1 -1
- package/esm/next/hooks/layers/useLayersData.js +27 -6
- package/esm/next/hooks/layers/useLayersData.js.map +1 -1
- package/esm/next/hooks/layers/useLayersExecutions.d.ts.map +1 -1
- package/esm/next/hooks/layers/useLayersExecutions.js +8 -2
- package/esm/next/hooks/layers/useLayersExecutions.js.map +1 -1
- package/esm/next/hooks/pushData/useGeoPushData.d.ts.map +1 -1
- package/esm/next/hooks/pushData/useGeoPushData.js +14 -1
- package/esm/next/hooks/pushData/useGeoPushData.js.map +1 -1
- package/esm/next/index.d.ts +1 -0
- package/esm/next/index.d.ts.map +1 -1
- package/esm/next/index.js +3 -1
- package/esm/next/index.js.map +1 -1
- package/esm/next/layers/area/adapter.d.ts.map +1 -1
- package/esm/next/layers/area/adapter.js +24 -4
- package/esm/next/layers/area/adapter.js.map +1 -1
- package/esm/next/layers/area/data/transformation.d.ts.map +1 -1
- package/esm/next/layers/area/data/transformation.js +3 -2
- package/esm/next/layers/area/data/transformation.js.map +1 -1
- package/esm/next/layers/area/source.d.ts +4 -0
- package/esm/next/layers/area/source.d.ts.map +1 -1
- package/esm/next/layers/area/source.js +6 -2
- package/esm/next/layers/area/source.js.map +1 -1
- package/esm/next/layers/area/tooltip/tooltipManagement.d.ts.map +1 -1
- package/esm/next/layers/area/tooltip/tooltipManagement.js +14 -67
- package/esm/next/layers/area/tooltip/tooltipManagement.js.map +1 -1
- package/esm/next/layers/common/constants.d.ts +10 -0
- package/esm/next/layers/common/constants.d.ts.map +1 -1
- package/esm/next/layers/common/constants.js +10 -0
- package/esm/next/layers/common/constants.js.map +1 -1
- package/esm/next/layers/common/drillUtils.d.ts +3 -0
- package/esm/next/layers/common/drillUtils.d.ts.map +1 -0
- package/esm/next/layers/common/drillUtils.js +15 -0
- package/esm/next/layers/common/drillUtils.js.map +1 -0
- package/esm/next/layers/common/tooltipUtils.d.ts +21 -0
- package/esm/next/layers/common/tooltipUtils.d.ts.map +1 -0
- package/esm/next/layers/common/tooltipUtils.js +85 -0
- package/esm/next/layers/common/tooltipUtils.js.map +1 -0
- package/esm/next/layers/execution/prepareTooltipExecution.d.ts +5 -0
- package/esm/next/layers/execution/prepareTooltipExecution.d.ts.map +1 -0
- package/esm/next/layers/execution/prepareTooltipExecution.js +66 -0
- package/esm/next/layers/execution/prepareTooltipExecution.js.map +1 -0
- package/esm/next/layers/pushpin/adapter.d.ts.map +1 -1
- package/esm/next/layers/pushpin/adapter.js +25 -5
- package/esm/next/layers/pushpin/adapter.js.map +1 -1
- package/esm/next/layers/pushpin/data/transformation.d.ts.map +1 -1
- package/esm/next/layers/pushpin/data/transformation.js +16 -11
- package/esm/next/layers/pushpin/data/transformation.js.map +1 -1
- package/esm/next/layers/pushpin/source.d.ts +4 -0
- package/esm/next/layers/pushpin/source.d.ts.map +1 -1
- package/esm/next/layers/pushpin/source.js +26 -5
- package/esm/next/layers/pushpin/source.js.map +1 -1
- package/esm/next/layers/pushpin/tooltip/tooltipManagement.d.ts.map +1 -1
- package/esm/next/layers/pushpin/tooltip/tooltipManagement.js +26 -75
- package/esm/next/layers/pushpin/tooltip/tooltipManagement.js.map +1 -1
- package/esm/next/layers/registry/adapterTypes.d.ts +13 -0
- package/esm/next/layers/registry/adapterTypes.d.ts.map +1 -1
- package/esm/next/layers/registry/adapterTypes.js +1 -1
- package/esm/next/layers/registry/adapterTypes.js.map +1 -1
- package/esm/next/types/config/areaChart.d.ts +1 -2
- package/esm/next/types/config/areaChart.d.ts.map +1 -1
- package/esm/next/types/config/areaChart.js +1 -1
- package/esm/next/types/config/areaChart.js.map +1 -1
- package/esm/next/types/config/pushpinChart.d.ts +1 -2
- package/esm/next/types/config/pushpinChart.d.ts.map +1 -1
- package/esm/next/types/config/pushpinChart.js +1 -1
- package/esm/next/types/config/pushpinChart.js.map +1 -1
- package/esm/next/types/config/unified.d.ts +1 -5
- package/esm/next/types/config/unified.d.ts.map +1 -1
- package/esm/next/utils/layerConversion.d.ts.map +1 -1
- package/esm/next/utils/layerConversion.js +7 -20
- package/esm/next/utils/layerConversion.js.map +1 -1
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../../../../src/next/layers/area/data/transformation.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../../../../src/next/layers/area/data/transformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,10 @@ export interface IAreaDataSourceProps {
|
|
|
16
16
|
* Boundary features to render. These are matched with geoData by area identifier.
|
|
17
17
|
*/
|
|
18
18
|
features: IGeoJsonFeature[];
|
|
19
|
+
tooltipAttrIds?: {
|
|
20
|
+
locationName?: string;
|
|
21
|
+
segment?: string;
|
|
22
|
+
};
|
|
19
23
|
}
|
|
20
24
|
type IAreaDataSourceFeature = GeoJSON.Feature<GeoJSON.Geometry, GeoJSON.GeoJsonProperties>;
|
|
21
25
|
export type IAreaDataSourceFeatures = IAreaDataSourceFeature[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/area/source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/area/source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAgB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,aAAa,EAAE,cAAc,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACL;AAED,KAAK,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,EAAE,CAAC;AAgS/D;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,oBAAoB,GAAG,0BAA0B,CAUtG"}
|
|
@@ -39,7 +39,7 @@ function createPlaceholderGeometry() {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
function buildAreaProperties(args) {
|
|
42
|
-
const { index, areaIdentifier, areaUri, areaNameTitle, tooltipValue, tooltipTitle, colorTitle, colorValue, colorFormat, areaColorFill, segmentTitle, segmentValue, segmentUris, } = args;
|
|
42
|
+
const { index, areaIdentifier, areaUri, areaNameTitle, tooltipValue, tooltipTitle, tooltipAttrId, colorTitle, colorValue, colorFormat, areaColorFill, segmentTitle, segmentValue, segmentAttrId, segmentUris, } = args;
|
|
43
43
|
const properties = {
|
|
44
44
|
areaId: areaIdentifier,
|
|
45
45
|
areaUri,
|
|
@@ -47,6 +47,7 @@ function buildAreaProperties(args) {
|
|
|
47
47
|
locationName: {
|
|
48
48
|
title: tooltipTitle ?? areaNameTitle,
|
|
49
49
|
value: tooltipValue ?? areaIdentifier,
|
|
50
|
+
attrId: tooltipAttrId,
|
|
50
51
|
},
|
|
51
52
|
locationIndex: index,
|
|
52
53
|
color: {
|
|
@@ -65,6 +66,7 @@ function buildAreaProperties(args) {
|
|
|
65
66
|
// This enables MapLibre "in" expression filtering
|
|
66
67
|
uri: segmentUris?.[0],
|
|
67
68
|
uris: segmentUris,
|
|
69
|
+
attrId: segmentAttrId,
|
|
68
70
|
};
|
|
69
71
|
}
|
|
70
72
|
return properties;
|
|
@@ -123,7 +125,7 @@ function aggregateByUniqueArea(areaIdentifiers, areaUris, segmentData, segmentUr
|
|
|
123
125
|
* we aggregate rows by unique area and create one feature per unique area.
|
|
124
126
|
* Each feature stores all segment URIs it belongs to, enabling MapLibre filtering.
|
|
125
127
|
*/
|
|
126
|
-
function createAreaFeatures({ geoData, colorStrategy, features, }) {
|
|
128
|
+
function createAreaFeatures({ geoData, colorStrategy, features, tooltipAttrIds, }) {
|
|
127
129
|
const { color, area, segment, tooltipText } = geoData;
|
|
128
130
|
if (!area) {
|
|
129
131
|
return [];
|
|
@@ -157,12 +159,14 @@ function createAreaFeatures({ geoData, colorStrategy, features, }) {
|
|
|
157
159
|
areaNameTitle,
|
|
158
160
|
tooltipValue: areaData.tooltipValue,
|
|
159
161
|
tooltipTitle: tooltipTextTitle,
|
|
162
|
+
tooltipAttrId: tooltipAttrIds?.locationName,
|
|
160
163
|
colorTitle,
|
|
161
164
|
colorValue: areaData.colorValue,
|
|
162
165
|
colorFormat,
|
|
163
166
|
areaColorFill: areaData.areaColorFill,
|
|
164
167
|
segmentTitle: areaData.segmentTitle,
|
|
165
168
|
segmentValue: areaData.segmentValue,
|
|
169
|
+
segmentAttrId: tooltipAttrIds?.segment,
|
|
166
170
|
segmentUris: areaData.segmentUris,
|
|
167
171
|
});
|
|
168
172
|
result.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../../src/next/layers/area/source.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAwB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../../src/next/layers/area/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltipManagement.d.ts","sourceRoot":"","sources":["../../../../../src/next/layers/area/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tooltipManagement.d.ts","sourceRoot":"","sources":["../../../../../src/next/layers/area/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAyCxE;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAC/C,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,MAAM,EAAE,GACnB,iBAAiB,CAmCnB"}
|
|
@@ -1,34 +1,5 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
|
-
import {
|
|
3
|
-
import { isRecord } from "../../../utils/guards.js";
|
|
4
|
-
function parseProperty(prop) {
|
|
5
|
-
if (!prop) {
|
|
6
|
-
return undefined;
|
|
7
|
-
}
|
|
8
|
-
let value = prop;
|
|
9
|
-
if (typeof prop === "string") {
|
|
10
|
-
try {
|
|
11
|
-
value = JSON.parse(prop);
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return undefined;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
if (!isRecord(value)) {
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
const title = typeof value["title"] === "string" ? value["title"] : undefined;
|
|
21
|
-
const rawValue = value["value"];
|
|
22
|
-
const normalizedValue = typeof rawValue === "number" || typeof rawValue === "string" ? rawValue : undefined;
|
|
23
|
-
const fill = typeof value["fill"] === "string" ? value["fill"] : undefined;
|
|
24
|
-
const format = typeof value["format"] === "string" ? value["format"] : undefined;
|
|
25
|
-
return {
|
|
26
|
-
title,
|
|
27
|
-
value: normalizedValue,
|
|
28
|
-
fill,
|
|
29
|
-
format,
|
|
30
|
-
};
|
|
31
|
-
}
|
|
2
|
+
import { dedupeAttributePayloadsByAttrId, formatAttributeHtml, formatMeasureHtml, getTooltipProperties, parseTooltipPayload, } from "../../common/tooltipUtils.js";
|
|
32
3
|
function escapeHtml(str) {
|
|
33
4
|
return str
|
|
34
5
|
.replace(/&/g, "&")
|
|
@@ -37,40 +8,16 @@ function escapeHtml(str) {
|
|
|
37
8
|
.replace(/"/g, """)
|
|
38
9
|
.replace(/'/g, "'");
|
|
39
10
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<div class="gd-viz-tooltip-value-wraper">
|
|
45
|
-
<span class="gd-viz-tooltip-value">${value}</span>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
`;
|
|
49
|
-
}
|
|
50
|
-
function addAttributeItem(items, prop) {
|
|
51
|
-
if (!prop?.title) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
const value = prop.value ?? "-";
|
|
55
|
-
items.push(buildTooltipItemHtml(prop.title, escapeHtml(String(value))));
|
|
56
|
-
}
|
|
57
|
-
function addMeasureItem(items, prop, separators) {
|
|
58
|
-
if (!prop?.title) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const hasValue = prop.value !== undefined && prop.value !== null;
|
|
62
|
-
const rawValue = hasValue ? prop.value : "-";
|
|
63
|
-
const normalizedRawValue = typeof rawValue === "number" || typeof rawValue === "string" ? rawValue : "-";
|
|
64
|
-
const formattedValue = hasValue && prop.format
|
|
65
|
-
? formatValueForTooltip(normalizedRawValue, prop.format, separators)
|
|
66
|
-
: escapeHtml(String(normalizedRawValue));
|
|
67
|
-
items.push(buildTooltipItemHtml(prop.title, formattedValue));
|
|
68
|
-
}
|
|
11
|
+
const tooltipFormatConfig = {
|
|
12
|
+
emptyValue: "-",
|
|
13
|
+
escape: escapeHtml,
|
|
14
|
+
};
|
|
69
15
|
function buildAreaTooltipHtml(locationName, color, segment, strokeColor, separators) {
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
16
|
+
const attributeItems = dedupeAttributePayloadsByAttrId([locationName, segment])
|
|
17
|
+
.map((payload) => formatAttributeHtml(payload, tooltipFormatConfig))
|
|
18
|
+
.filter((item) => item !== null);
|
|
19
|
+
const measureItem = formatMeasureHtml(color, separators, tooltipFormatConfig);
|
|
20
|
+
const items = [...attributeItems, ...(measureItem ? [measureItem] : [])];
|
|
74
21
|
if (items.length === 0) {
|
|
75
22
|
return null;
|
|
76
23
|
}
|
|
@@ -98,11 +45,11 @@ export function createAreaTooltipConfig(tooltip, config, _drillableItems, _intl,
|
|
|
98
45
|
return {
|
|
99
46
|
layerIds,
|
|
100
47
|
showTooltip(map, feature, lngLat) {
|
|
101
|
-
const properties = feature.properties
|
|
48
|
+
const properties = getTooltipProperties(feature.properties);
|
|
102
49
|
// Parse properties (MapLibre may have stringified nested objects)
|
|
103
|
-
const locationName =
|
|
104
|
-
const segment =
|
|
105
|
-
const color =
|
|
50
|
+
const locationName = parseTooltipPayload(properties["locationName"]);
|
|
51
|
+
const segment = parseTooltipPayload(properties["segment"]);
|
|
52
|
+
const color = parseTooltipPayload(properties["color"]);
|
|
106
53
|
// Build tooltip HTML
|
|
107
54
|
const fallbackStroke = properties["color_fill"];
|
|
108
55
|
const tooltipStroke = color?.fill ?? (typeof fallbackStroke === "string" ? fallbackStroke : "#20B2E2");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltipManagement.js","sourceRoot":"","sources":["../../../../../src/next/layers/area/tooltip/tooltipManagement.ts"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"tooltipManagement.js","sourceRoot":"","sources":["../../../../../src/next/layers/area/tooltip/tooltipManagement.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,4 +10,14 @@ export declare const GEO_LAYER_DRILL_ELEMENT: {
|
|
|
10
10
|
readonly area: "pushpin";
|
|
11
11
|
};
|
|
12
12
|
export declare const COORDINATE_FORM_TYPES: AttributeDisplayFormType[];
|
|
13
|
+
/**
|
|
14
|
+
* Local identifier used for the derived tooltip-text attribute in GeoChartNext executions.
|
|
15
|
+
*
|
|
16
|
+
* @remarks
|
|
17
|
+
* GeoChartNext may inject a TOOLTIP_TEXT bucket (see `prepareExecutionWithTooltipText`) and uses
|
|
18
|
+
* this localId to recognize the derived attribute across drill/tooltip handling.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare const TOOLTIP_TEXT_ATTRIBUTE_LOCAL_ID = "tooltipText_df";
|
|
13
23
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAGrE,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAAE,wBAAwB,EAI3D,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAGrE,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAEX,eAAO,MAAM,qBAAqB,EAAE,wBAAwB,EAI3D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,mBAAmB,CAAC"}
|
|
@@ -16,4 +16,14 @@ export const COORDINATE_FORM_TYPES = [
|
|
|
16
16
|
"GDC.geo.pin_longitude",
|
|
17
17
|
"GDC.geo.pin",
|
|
18
18
|
];
|
|
19
|
+
/**
|
|
20
|
+
* Local identifier used for the derived tooltip-text attribute in GeoChartNext executions.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* GeoChartNext may inject a TOOLTIP_TEXT bucket (see `prepareExecutionWithTooltipText`) and uses
|
|
24
|
+
* this localId to recognize the derived attribute across drill/tooltip handling.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export const TOOLTIP_TEXT_ATTRIBUTE_LOCAL_ID = "tooltipText_df";
|
|
19
29
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/next/layers/common/constants.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAMrC,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACtE,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,YAAY;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC7D,sBAAsB;IACtB,uBAAuB;IACvB,aAAa;CAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/next/layers/common/constants.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAMrC,MAAM,CAAC,MAAM,4BAA4B,GAAiC;IACtE,OAAO,EAAE,eAAe;IACxB,IAAI,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,YAAY;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC7D,sBAAsB;IACtB,uBAAuB;IACvB,aAAa;CAChB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drillUtils.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/drillUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,2CAA2C,CACvD,UAAU,EAAE,oBAAoB,GACjC,oBAAoB,CAatB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// (C) 2025-2026 GoodData Corporation
|
|
2
|
+
export function normalizeAttributeDescriptorLocalIdentifier(descriptor) {
|
|
3
|
+
const attributeId = descriptor.attributeHeader.formOf.identifier;
|
|
4
|
+
if (!attributeId || descriptor.attributeHeader.localIdentifier === attributeId) {
|
|
5
|
+
return descriptor;
|
|
6
|
+
}
|
|
7
|
+
return {
|
|
8
|
+
...descriptor,
|
|
9
|
+
attributeHeader: {
|
|
10
|
+
...descriptor.attributeHeader,
|
|
11
|
+
localIdentifier: attributeId,
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=drillUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drillUtils.js","sourceRoot":"","sources":["../../../../src/next/layers/common/drillUtils.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAIrC,MAAM,UAAU,2CAA2C,CACvD,UAAgC;IAEhC,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;IACjE,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,eAAe,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;QAC7E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,OAAO;QACH,GAAG,UAAU;QACb,eAAe,EAAE;YACb,GAAG,UAAU,CAAC,eAAe;YAC7B,eAAe,EAAE,WAAW;SAC/B;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ISeparators } from "@gooddata/sdk-model";
|
|
2
|
+
import { type JsonValue } from "../../utils/guards.js";
|
|
3
|
+
export type TooltipPayload = {
|
|
4
|
+
title: string;
|
|
5
|
+
value?: string | number;
|
|
6
|
+
format?: string;
|
|
7
|
+
attrId?: string;
|
|
8
|
+
fill?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function getTooltipProperties(properties: GeoJSON.GeoJsonProperties | undefined): Record<string, JsonValue>;
|
|
11
|
+
export declare function parseTooltipPayload(item: JsonValue): TooltipPayload | undefined;
|
|
12
|
+
export declare function isTooltipPayloadValid(item: JsonValue): boolean;
|
|
13
|
+
export declare function dedupeAttributePayloadsByAttrId(payloads: Array<TooltipPayload | undefined>): Array<TooltipPayload | undefined>;
|
|
14
|
+
export type TooltipFormatConfig = {
|
|
15
|
+
emptyValue: string;
|
|
16
|
+
escape: (value: string) => string;
|
|
17
|
+
};
|
|
18
|
+
export declare function buildTooltipItemHtml(title: string, valueHtml: string, escapeTitle: (value: string) => string): string;
|
|
19
|
+
export declare function formatAttributeHtml(payload: TooltipPayload | undefined, config: TooltipFormatConfig): string | null;
|
|
20
|
+
export declare function formatMeasureHtml(payload: TooltipPayload | undefined, separators: ISeparators | undefined, config: TooltipFormatConfig): string | null;
|
|
21
|
+
//# sourceMappingURL=tooltipUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltipUtils.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/tooltipUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAMF,wBAAgB,oBAAoB,CAChC,UAAU,EAAE,OAAO,CAAC,iBAAiB,GAAG,SAAS,GAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAK3B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAgC/E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAE9D;AAED,wBAAgB,+BAA+B,CAC3C,QAAQ,EAAE,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,GAC5C,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,CAYnC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACvC,MAAM,CAOR;AAED,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,MAAM,EAAE,mBAAmB,GAC5B,MAAM,GAAG,IAAI,CAQf;AAED,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,cAAc,GAAG,SAAS,EACnC,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,MAAM,EAAE,mBAAmB,GAC5B,MAAM,GAAG,IAAI,CAYf"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// (C) 2025-2026 GoodData Corporation
|
|
2
|
+
import { formatValueForTooltip } from "../../map/style/tooltipFormatting.js";
|
|
3
|
+
function isPayloadRecord(value) {
|
|
4
|
+
return value !== null && typeof value === "object";
|
|
5
|
+
}
|
|
6
|
+
export function getTooltipProperties(properties) {
|
|
7
|
+
if (properties && typeof properties === "object") {
|
|
8
|
+
return properties;
|
|
9
|
+
}
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
export function parseTooltipPayload(item) {
|
|
13
|
+
let parsed = item;
|
|
14
|
+
if (typeof item === "string") {
|
|
15
|
+
try {
|
|
16
|
+
parsed = JSON.parse(item);
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (!isPayloadRecord(parsed)) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const title = parsed["title"];
|
|
26
|
+
if (typeof title !== "string" || title.length === 0) {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
const rawValue = parsed["value"];
|
|
30
|
+
const value = typeof rawValue === "string" || typeof rawValue === "number" ? rawValue : undefined;
|
|
31
|
+
const format = typeof parsed["format"] === "string" ? parsed["format"] : undefined;
|
|
32
|
+
const attrId = typeof parsed["attrId"] === "string" ? parsed["attrId"] : undefined;
|
|
33
|
+
const fill = typeof parsed["fill"] === "string" ? parsed["fill"] : undefined;
|
|
34
|
+
return {
|
|
35
|
+
title,
|
|
36
|
+
value,
|
|
37
|
+
format,
|
|
38
|
+
attrId,
|
|
39
|
+
fill,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function isTooltipPayloadValid(item) {
|
|
43
|
+
return Boolean(parseTooltipPayload(item));
|
|
44
|
+
}
|
|
45
|
+
export function dedupeAttributePayloadsByAttrId(payloads) {
|
|
46
|
+
const seenAttrIds = new Set();
|
|
47
|
+
return payloads.map((payload) => {
|
|
48
|
+
if (!payload?.attrId) {
|
|
49
|
+
return payload;
|
|
50
|
+
}
|
|
51
|
+
if (seenAttrIds.has(payload.attrId)) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
seenAttrIds.add(payload.attrId);
|
|
55
|
+
return payload;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export function buildTooltipItemHtml(title, valueHtml, escapeTitle) {
|
|
59
|
+
return `<div class="gd-viz-tooltip-item">
|
|
60
|
+
<span class="gd-viz-tooltip-title">${escapeTitle(title)}</span>
|
|
61
|
+
<div class="gd-viz-tooltip-value-wraper">
|
|
62
|
+
<span class="gd-viz-tooltip-value">${valueHtml}</span>
|
|
63
|
+
</div>
|
|
64
|
+
</div>`;
|
|
65
|
+
}
|
|
66
|
+
export function formatAttributeHtml(payload, config) {
|
|
67
|
+
if (!payload?.title) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
const rawValue = payload.value ?? config.emptyValue;
|
|
71
|
+
const valueHtml = config.escape(String(rawValue));
|
|
72
|
+
return buildTooltipItemHtml(payload.title, valueHtml, config.escape);
|
|
73
|
+
}
|
|
74
|
+
export function formatMeasureHtml(payload, separators, config) {
|
|
75
|
+
if (!payload?.title) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
if (typeof payload.value === "number" && Number.isFinite(payload.value)) {
|
|
79
|
+
const formattedValue = formatValueForTooltip(payload.value, payload.format, separators);
|
|
80
|
+
return buildTooltipItemHtml(payload.title, formattedValue, config.escape);
|
|
81
|
+
}
|
|
82
|
+
const valueHtml = config.escape(config.emptyValue);
|
|
83
|
+
return buildTooltipItemHtml(payload.title, valueHtml, config.escape);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=tooltipUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltipUtils.js","sourceRoot":"","sources":["../../../../src/next/layers/common/tooltipUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type IPreparedExecution } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { type IAttribute } from "@gooddata/sdk-model";
|
|
3
|
+
import { type IGeoAdapterContext } from "../registry/adapterTypes.js";
|
|
4
|
+
export declare function prepareExecutionWithTooltipText(context: IGeoAdapterContext, execution: IPreparedExecution, attribute: IAttribute | undefined): Promise<IPreparedExecution>;
|
|
5
|
+
//# sourceMappingURL=prepareTooltipExecution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTooltipExecution.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/execution/prepareTooltipExecution.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACH,KAAK,UAAU,EASlB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAkDtE,wBAAsB,+BAA+B,CACjD,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,UAAU,GAAG,SAAS,GAClC,OAAO,CAAC,kBAAkB,CAAC,CA8B7B"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// (C) 2025-2026 GoodData Corporation
|
|
2
|
+
import { attributeDisplayFormRef, bucketsAttributes, bucketsMeasures, newAttribute, newBucket, } from "@gooddata/sdk-model";
|
|
3
|
+
import { BucketNames } from "@gooddata/sdk-ui";
|
|
4
|
+
import { TOOLTIP_TEXT_ATTRIBUTE_LOCAL_ID } from "../common/constants.js";
|
|
5
|
+
import { getGeoChartDimensions } from "../common/dimensions.js";
|
|
6
|
+
function hasTooltipTextBucket(execution) {
|
|
7
|
+
return execution.definition.buckets.some((bucket) => bucket.localIdentifier === BucketNames.TOOLTIP_TEXT);
|
|
8
|
+
}
|
|
9
|
+
function isGeoDisplayForm(displayForm) {
|
|
10
|
+
const displayFormType = displayForm.displayFormType;
|
|
11
|
+
return typeof displayFormType === "string" && displayFormType.startsWith("GDC.geo.");
|
|
12
|
+
}
|
|
13
|
+
function pickPreferredDisplayForm(displayForms) {
|
|
14
|
+
return (displayForms.find((displayForm) => displayForm.isDefault) ??
|
|
15
|
+
displayForms.find((displayForm) => displayForm.isPrimary) ??
|
|
16
|
+
displayForms[0]);
|
|
17
|
+
}
|
|
18
|
+
async function resolveDefaultDisplayFormRef(context, ref) {
|
|
19
|
+
if (!ref) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const attribute = await context.backend
|
|
24
|
+
.workspace(context.workspace)
|
|
25
|
+
.attributes()
|
|
26
|
+
.getAttributeByDisplayForm(ref);
|
|
27
|
+
const displayForms = attribute.displayForms ?? [];
|
|
28
|
+
if (!displayForms.length) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
const nonGeoDisplayForms = displayForms.filter((displayForm) => !isGeoDisplayForm(displayForm));
|
|
32
|
+
const preferred = pickPreferredDisplayForm(nonGeoDisplayForms.length ? nonGeoDisplayForms : displayForms);
|
|
33
|
+
return preferred?.ref;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export async function prepareExecutionWithTooltipText(context, execution, attribute) {
|
|
40
|
+
if (!attribute || hasTooltipTextBucket(execution)) {
|
|
41
|
+
return execution;
|
|
42
|
+
}
|
|
43
|
+
const displayFormRef = attributeDisplayFormRef(attribute);
|
|
44
|
+
const tooltipRef = await resolveDefaultDisplayFormRef(context, displayFormRef);
|
|
45
|
+
if (!tooltipRef) {
|
|
46
|
+
return execution;
|
|
47
|
+
}
|
|
48
|
+
const tooltipText = newAttribute(tooltipRef, (builder) => builder.localId(TOOLTIP_TEXT_ATTRIBUTE_LOCAL_ID));
|
|
49
|
+
const buckets = [...execution.definition.buckets, newBucket(BucketNames.TOOLTIP_TEXT, tooltipText)];
|
|
50
|
+
const definition = {
|
|
51
|
+
...execution.definition,
|
|
52
|
+
buckets,
|
|
53
|
+
attributes: bucketsAttributes(buckets),
|
|
54
|
+
measures: bucketsMeasures(buckets),
|
|
55
|
+
};
|
|
56
|
+
const updatedDefinition = {
|
|
57
|
+
...definition,
|
|
58
|
+
dimensions: getGeoChartDimensions(definition),
|
|
59
|
+
};
|
|
60
|
+
const factory = context.backend.workspace(context.workspace).execution();
|
|
61
|
+
return factory.forDefinition(updatedDefinition, {
|
|
62
|
+
signal: execution.signal,
|
|
63
|
+
context: execution.context,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=prepareTooltipExecution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareTooltipExecution.js","sourceRoot":"","sources":["../../../../src/next/layers/execution/prepareTooltipExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/pushpin/adapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/pushpin/adapter.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAOpE,OAAO,KAAK,EAAsB,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAsF7G,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,mBAAmB,CAgHlF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
|
-
import { newBucket } from "@gooddata/sdk-model";
|
|
2
|
+
import { attributeDisplayFormRef, isIdentifierRef, isUriRef, newBucket, } from "@gooddata/sdk-model";
|
|
3
3
|
import { BucketNames } from "@gooddata/sdk-ui";
|
|
4
4
|
import { isClusteringAllowed } from "./clustering/clustering.js";
|
|
5
5
|
import { getPushpinColorStrategy } from "./coloring/colorStrategy.js";
|
|
@@ -13,6 +13,7 @@ import { getGeoHeaderStrings } from "../../utils/geoHeaders.js";
|
|
|
13
13
|
import { computeLegend } from "../common/computeLegend.js";
|
|
14
14
|
import { getGeoChartDimensions } from "../common/dimensions.js";
|
|
15
15
|
import { createLayerInsight, sanitizeGlobalFilters } from "../execution/layerInsightFactory.js";
|
|
16
|
+
import { prepareExecutionWithTooltipText } from "../execution/prepareTooltipExecution.js";
|
|
16
17
|
function getValidLocations(locations) {
|
|
17
18
|
return locations.filter((coords) => coords !== null &&
|
|
18
19
|
coords !== undefined &&
|
|
@@ -33,10 +34,22 @@ function computeInitialViewport(geoData) {
|
|
|
33
34
|
const dataViewportConfig = { viewport: { area: "auto" } };
|
|
34
35
|
return calculateViewport(validLocations, dataViewportConfig);
|
|
35
36
|
}
|
|
37
|
+
function getDisplayFormId(attribute) {
|
|
38
|
+
if (!attribute) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const ref = attributeDisplayFormRef(attribute);
|
|
42
|
+
if (isIdentifierRef(ref)) {
|
|
43
|
+
return ref.identifier;
|
|
44
|
+
}
|
|
45
|
+
if (isUriRef(ref)) {
|
|
46
|
+
return ref.uri;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
36
50
|
function createExecution(layer, context) {
|
|
37
|
-
const { backend, workspace,
|
|
38
|
-
const { latitude, longitude, size, color, segmentBy, filters = [], sortBy = [], tooltipText
|
|
39
|
-
const tooltipText = layerTooltipText ?? config?.tooltipText;
|
|
51
|
+
const { backend, workspace, execConfig, globalFilters, executionFactory } = context;
|
|
52
|
+
const { latitude, longitude, size, color, segmentBy, filters = [], sortBy = [], tooltipText } = layer;
|
|
40
53
|
const buckets = [];
|
|
41
54
|
// latitude and longitude are required for pushpin layers
|
|
42
55
|
buckets.push(newBucket(BucketNames.LATITUDE, latitude));
|
|
@@ -74,7 +87,10 @@ export const pushpinAdapter = {
|
|
|
74
87
|
buildExecution(layer, context) {
|
|
75
88
|
return createExecution(layer, context);
|
|
76
89
|
},
|
|
77
|
-
async
|
|
90
|
+
async prepareExecution(layer, context, execution) {
|
|
91
|
+
return prepareExecutionWithTooltipText(context, execution, layer.latitude);
|
|
92
|
+
},
|
|
93
|
+
async prepareLayer(layer, dataView, context) {
|
|
78
94
|
if (!context.intl) {
|
|
79
95
|
throw new Error("prepareLayer requires intl in adapter context");
|
|
80
96
|
}
|
|
@@ -97,6 +113,10 @@ export const pushpinAdapter = {
|
|
|
97
113
|
colorStrategy,
|
|
98
114
|
config: pushpinConfig,
|
|
99
115
|
hasClustering,
|
|
116
|
+
tooltipAttrIds: {
|
|
117
|
+
locationName: getDisplayFormId(layer.tooltipText),
|
|
118
|
+
segment: getDisplayFormId(layer.segmentBy),
|
|
119
|
+
},
|
|
100
120
|
});
|
|
101
121
|
const legend = computeLegend(geoData, colorStrategy, {
|
|
102
122
|
layerType: "pushpin",
|