@gooddata/sdk-ui-geo 11.14.0 → 11.15.0-alpha.1
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/core/geoChart/colorStrategy/geoChart.d.ts.map +1 -1
- package/esm/core/geoChart/colorStrategy/geoChart.js.map +1 -1
- package/esm/next/components/RenderGeoChartNext.d.ts.map +1 -1
- package/esm/next/components/RenderGeoChartNext.js +1 -1
- package/esm/next/components/RenderGeoChartNext.js.map +1 -1
- package/esm/next/hooks/layers/useLayerClickEvent.d.ts +8 -0
- package/esm/next/hooks/layers/useLayerClickEvent.d.ts.map +1 -0
- package/esm/next/hooks/layers/useLayerClickEvent.js +96 -0
- package/esm/next/hooks/layers/useLayerClickEvent.js.map +1 -0
- package/esm/next/hooks/layers/useSyncLayersToMap.d.ts +6 -2
- package/esm/next/hooks/layers/useSyncLayersToMap.d.ts.map +1 -1
- package/esm/next/hooks/layers/useSyncLayersToMap.js +3 -1
- package/esm/next/hooks/layers/useSyncLayersToMap.js.map +1 -1
- package/esm/next/hooks/pushData/useGeoPushData.d.ts.map +1 -1
- package/esm/next/hooks/pushData/useGeoPushData.js +15 -2
- package/esm/next/hooks/pushData/useGeoPushData.js.map +1 -1
- package/esm/next/layers/area/coloring/colorStrategy.js.map +1 -1
- package/esm/next/layers/common/constants.d.ts +11 -0
- package/esm/next/layers/common/constants.d.ts.map +1 -0
- package/esm/next/layers/common/constants.js +14 -0
- package/esm/next/layers/common/constants.js.map +1 -0
- package/esm/next/layers/pushpin/coloring/colorStrategy.js.map +1 -1
- package/esm/next/map/MapController.d.ts +3 -2
- package/esm/next/map/MapController.d.ts.map +1 -1
- package/esm/next/map/MapController.js +4 -3
- package/esm/next/map/MapController.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoChart.d.ts","sourceRoot":"","sources":["../../../../src/core/geoChart/colorStrategy/geoChart.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geoChart.d.ts","sourceRoot":"","sources":["../../../../src/core/geoChart/colorStrategy/geoChart.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,cAAc,EAItB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAqErD,wBAAgB,gBAAgB,CAC5B,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAAE,EAC7B,OAAO,EAAE,QAAQ,EACjB,EAAE,EAAE,cAAc,GACnB,cAAc,CAgBhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoChart.js","sourceRoot":"","sources":["../../../../src/core/geoChart/colorStrategy/geoChart.ts"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"geoChart.js","sourceRoot":"","sources":["../../../../src/core/geoChart/colorStrategy/geoChart.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAkC,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3G,MAAM,qBAAsB,SAAQ,aAAa;IACnC,qBAAqB,CAC3B,YAA2B,EAC3B,YAAyC,EACzC,iBAAsB,EACtB,kBAAuB,EACvB,EAAkB;QAElB,0BAA0B;QAC1B,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;gBACH,mBAAmB,EAAE,IAAI,CAAC,4BAA4B,CAClD,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,EAAE,CACL;aACJ,CAAC;QACN,CAAC;QAED,yBAAyB;QACzB,OAAO;YACH,mBAAmB,EAAE;gBACjB,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;aACtF;SACJ,CAAC;IACN,CAAC;IAEO,4BAA4B,CAChC,YAA2B,EAC3B,YAAyC,EACzC,kBAAuB,EACvB,EAAkB;QAElB,MAAM,aAAa,GAAmB,IAAI,sBAAsB,CAC5D,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,EAAE,CACL,CAAC;QAEF,OAAO,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAEO,2BAA2B,CAC/B,YAA2B,EAC3B,YAAyC,EACzC,iBAAsB,EACtB,EAAkB;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GACP,WAAW,KAAK,SAAS,IAAI,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;YACtE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9B,CAAC;QACZ,OAAO;YACH,UAAU,EAAE,iBAAiB;YAC7B,KAAK;SACR,CAAC;IACN,CAAC;CACJ;AAED,MAAM,UAAU,gBAAgB,CAC5B,YAA2B,EAC3B,YAA6B,EAC7B,OAAiB,EACjB,EAAkB;IAElB,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAA8B,4BAA4B,CACrG,EAAE,EACF,OAAO,CACV,CAAC;IACF,MAAM,uBAAuB,GAAyB;QAClD,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACpD,CAAC;IAEF,OAAO,IAAI,qBAAqB,CAC5B,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,EAAE,CACL,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderGeoChartNext.d.ts","sourceRoot":"","sources":["../../../src/next/components/RenderGeoChartNext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,OAAO,CAAC;AAyBrE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"RenderGeoChartNext.d.ts","sourceRoot":"","sources":["../../../src/next/components/RenderGeoChartNext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,OAAO,CAAC;AAyBrE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CA0EjD"}
|
|
@@ -44,6 +44,6 @@ export function RenderGeoChartNext() {
|
|
|
44
44
|
const containerClass = cx("gd-geo-chart-next__container", "gd-geo-component", containerBaseId, containerId, {
|
|
45
45
|
isExportMode,
|
|
46
46
|
});
|
|
47
|
-
return (_jsx(Measure, { client: true, onResize: setChartContainerRect, children: ({ measureRef }) => (_jsxs("div", { id: containerId, "data-testid": isExportMode ? "geo-chart-next-export-mode" : containerBaseId, className: containerClass, ref: measureRef, children: [_jsx("div", { ref: mapContainerRef, className: "gd-geo-chart-next__map", children: _jsx(IntlTranslationsProvider, { children: (translationProps) => (_jsx(GeoChartNextLegendOverlay, { config: props.config, chartContainerRect: chartContainerRect, layers: layers, layerExecutions: layerExecutions, primaryLayer: primaryLayer, numericSymbols: translationProps.numericSymbols })) }) }), _jsx(MapController, { mapContainerRef: mapContainerRef, chartContainerRect: chartContainerRect, initialViewport: initialViewport, layerExecutions: layerExecutions, drillablePredicates: drillablePredicates, onCenterPositionChanged: props.onCenterPositionChanged, onZoomChanged: props.onZoomChanged, afterRender: props.afterRender, config: props.config, backend: props.backend }), _jsx(PushDataSync, { colorStrategy: colorStrategy, colorPalette: colorPalette, availableLegends: availableLegends })] })) }));
|
|
47
|
+
return (_jsx(Measure, { client: true, onResize: setChartContainerRect, children: ({ measureRef }) => (_jsxs("div", { id: containerId, "data-testid": isExportMode ? "geo-chart-next-export-mode" : containerBaseId, className: containerClass, ref: measureRef, children: [_jsx("div", { ref: mapContainerRef, className: "gd-geo-chart-next__map", children: _jsx(IntlTranslationsProvider, { children: (translationProps) => (_jsx(GeoChartNextLegendOverlay, { config: props.config, chartContainerRect: chartContainerRect, layers: layers, layerExecutions: layerExecutions, primaryLayer: primaryLayer, numericSymbols: translationProps.numericSymbols })) }) }), _jsx(MapController, { mapContainerRef: mapContainerRef, chartContainerRect: chartContainerRect, initialViewport: initialViewport, layerExecutions: layerExecutions, drillablePredicates: drillablePredicates, onCenterPositionChanged: props.onCenterPositionChanged, onZoomChanged: props.onZoomChanged, onDrill: props.onDrill, afterRender: props.afterRender, config: props.config, backend: props.backend }), _jsx(PushDataSync, { colorStrategy: colorStrategy, colorPalette: colorPalette, availableLegends: availableLegends })] })) }));
|
|
48
48
|
}
|
|
49
49
|
//# sourceMappingURL=RenderGeoChartNext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderGeoChartNext.js","sourceRoot":"","sources":["../../../src/next/components/RenderGeoChartNext.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RenderGeoChartNext.js","sourceRoot":"","sources":["../../../src/next/components/RenderGeoChartNext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type IHeaderPredicate, type OnFiredDrillEvent } from "@gooddata/sdk-ui";
|
|
2
|
+
import { type IGeoLayerData } from "../../context/GeoLayersContext.js";
|
|
3
|
+
import type { IMapFacade } from "../../layers/common/mapFacade.js";
|
|
4
|
+
/**
|
|
5
|
+
* Hook that handles click events on map layers and fires drill events.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useLayerClickEvent(map: IMapFacade | null, isMapReady: boolean, layers: Map<string, IGeoLayerData>, drillablePredicates: IHeaderPredicate[], onDrill?: OnFiredDrillEvent): void;
|
|
8
|
+
//# sourceMappingURL=useLayerClickEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLayerClickEvent.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useLayerClickEvent.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EAGzB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAMvE,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,kCAAkC,CAAC;AA2DlF;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAClC,mBAAmB,EAAE,gBAAgB,EAAE,EACvC,OAAO,CAAC,EAAE,iBAAiB,GAC5B,IAAI,CAoDN"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { isAttributeDescriptor, isResultAttributeHeader } from "@gooddata/sdk-model";
|
|
4
|
+
import { getDrillIntersection, isSomeHeaderPredicateMatched, } from "@gooddata/sdk-ui";
|
|
5
|
+
import { GEO_LAYER_DRILL_ELEMENT, GEO_LAYER_DRILL_TYPE, MAPLIBRE_LAYER_TYPE_PREFIXES, } from "../../layers/common/constants.js";
|
|
6
|
+
/**
|
|
7
|
+
* Get the layer data by MapLibre layer ID.
|
|
8
|
+
*/
|
|
9
|
+
function getClickedLayerByMapLibreLayerId(layers, mapLibreLayerId) {
|
|
10
|
+
if (!mapLibreLayerId) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
const clickedLayerEntry = Array.from(layers.entries()).find(([key, layer]) => {
|
|
14
|
+
const prefix = MAPLIBRE_LAYER_TYPE_PREFIXES[layer.layerType];
|
|
15
|
+
const layerId = `${prefix}-${key}`;
|
|
16
|
+
return layerId === mapLibreLayerId;
|
|
17
|
+
});
|
|
18
|
+
return clickedLayerEntry?.[1];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Build drill headers for a clicked location.
|
|
22
|
+
* Includes attribute headers (excluding tooltip) and measure descriptors.
|
|
23
|
+
*/
|
|
24
|
+
function getDrillHeaders(dataView, locationIndex, tooltipIndex) {
|
|
25
|
+
const headerItems = dataView.dataView.headerItems;
|
|
26
|
+
const geoAttributesDimensionIndex = dataView.meta().dimensions().length - 1;
|
|
27
|
+
const descriptors = dataView.meta().dimensionItemDescriptors(geoAttributesDimensionIndex);
|
|
28
|
+
const drillHeaders = [];
|
|
29
|
+
descriptors.forEach((descriptor, attrIndex) => {
|
|
30
|
+
if (isAttributeDescriptor(descriptor)) {
|
|
31
|
+
if (attrIndex === tooltipIndex) {
|
|
32
|
+
return; // Skip tooltip attribute
|
|
33
|
+
}
|
|
34
|
+
const rowHeader = headerItems[geoAttributesDimensionIndex]?.[attrIndex]?.[locationIndex];
|
|
35
|
+
if (rowHeader && isResultAttributeHeader(rowHeader)) {
|
|
36
|
+
drillHeaders.push(rowHeader);
|
|
37
|
+
drillHeaders.push(descriptor);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
// Add measures for measure drilling
|
|
42
|
+
dataView
|
|
43
|
+
.meta()
|
|
44
|
+
.measureDescriptors()
|
|
45
|
+
.forEach((measure) => {
|
|
46
|
+
drillHeaders.push(measure);
|
|
47
|
+
});
|
|
48
|
+
return drillHeaders;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Hook that handles click events on map layers and fires drill events.
|
|
52
|
+
*/
|
|
53
|
+
export function useLayerClickEvent(map, isMapReady, layers, drillablePredicates, onDrill) {
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (!map || !isMapReady || !onDrill) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const handleClick = (e) => {
|
|
59
|
+
const features = map.queryRenderedFeatures(e.point);
|
|
60
|
+
if (features && features.length > 0) {
|
|
61
|
+
const topFeature = features[0];
|
|
62
|
+
const mapLibreLayerId = topFeature.layer?.id;
|
|
63
|
+
const clickedLayer = getClickedLayerByMapLibreLayerId(layers, mapLibreLayerId);
|
|
64
|
+
const locationIndex = topFeature.properties?.["locationIndex"];
|
|
65
|
+
if (!clickedLayer?.dataView || locationIndex === undefined) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const { dataView, geoData, layerType } = clickedLayer;
|
|
69
|
+
const tooltipIndex = geoData?.tooltipText?.index;
|
|
70
|
+
const drillHeaders = getDrillHeaders(dataView, locationIndex, tooltipIndex);
|
|
71
|
+
if (drillHeaders.length === 0) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const isDrillable = drillHeaders.some((header) => isSomeHeaderPredicateMatched(drillablePredicates, header, dataView));
|
|
75
|
+
if (!isDrillable) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const intersection = getDrillIntersection(drillHeaders);
|
|
79
|
+
const drillEvent = {
|
|
80
|
+
dataView: dataView.dataView,
|
|
81
|
+
drillContext: {
|
|
82
|
+
type: GEO_LAYER_DRILL_TYPE[layerType],
|
|
83
|
+
element: GEO_LAYER_DRILL_ELEMENT[layerType],
|
|
84
|
+
intersection,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
onDrill(drillEvent);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
map.on("click", handleClick);
|
|
91
|
+
return () => {
|
|
92
|
+
map.off("click", handleClick);
|
|
93
|
+
};
|
|
94
|
+
}, [map, isMapReady, layers, drillablePredicates, onDrill]);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=useLayerClickEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLayerClickEvent.js","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useLayerClickEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IHeaderPredicate, OnFiredDrillEvent } from "@gooddata/sdk-ui";
|
|
2
2
|
interface IUseLayerSyncParams {
|
|
3
3
|
/**
|
|
4
4
|
* Drillable predicates for tooltip interactions.
|
|
5
5
|
*/
|
|
6
6
|
drillablePredicates: IHeaderPredicate[];
|
|
7
|
+
/**
|
|
8
|
+
* Callback fired when user triggers a drill.
|
|
9
|
+
*/
|
|
10
|
+
onDrill?: OnFiredDrillEvent;
|
|
7
11
|
}
|
|
8
12
|
/**
|
|
9
13
|
* Hook that syncs all pre-loaded layer data to the map.
|
|
@@ -19,6 +23,6 @@ interface IUseLayerSyncParams {
|
|
|
19
23
|
*
|
|
20
24
|
* @internal
|
|
21
25
|
*/
|
|
22
|
-
export declare function useSyncLayersToMap({ drillablePredicates }: IUseLayerSyncParams): void;
|
|
26
|
+
export declare function useSyncLayersToMap({ drillablePredicates, onDrill }: IUseLayerSyncParams): void;
|
|
23
27
|
export {};
|
|
24
28
|
//# sourceMappingURL=useSyncLayersToMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncLayersToMap.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useSyncLayersToMap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useSyncLayersToMap.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useSyncLayersToMap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAe5E,UAAU,mBAAmB;IACzB;;OAEG;IACH,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IAExC;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AA0BD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,mBAAmB,GAAG,IAAI,CAqJ9F"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
|
2
2
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
3
|
+
import { useLayerClickEvent } from "./useLayerClickEvent.js";
|
|
3
4
|
import { useLayerTooltips } from "./useLayerTooltips.js";
|
|
4
5
|
import { useGeoLayers } from "../../context/GeoLayersContext.js";
|
|
5
6
|
import { useGeoLegend } from "../../context/GeoLegendContext.js";
|
|
@@ -37,7 +38,7 @@ function syncLayerToMap(layerExecution, layerData, map, adapterContext) {
|
|
|
37
38
|
*
|
|
38
39
|
* @internal
|
|
39
40
|
*/
|
|
40
|
-
export function useSyncLayersToMap({ drillablePredicates }) {
|
|
41
|
+
export function useSyncLayersToMap({ drillablePredicates, onDrill }) {
|
|
41
42
|
const { map, isMapReady, tooltip, adapterContext } = useMapRuntime();
|
|
42
43
|
const { layers, layerExecutions } = useGeoLayers();
|
|
43
44
|
const { hiddenLayers, enabledItemsByLayer } = useGeoLegend();
|
|
@@ -156,5 +157,6 @@ export function useSyncLayersToMap({ drillablePredicates }) {
|
|
|
156
157
|
layers,
|
|
157
158
|
adapterContext,
|
|
158
159
|
});
|
|
160
|
+
useLayerClickEvent(map, isMapReady, layers, drillablePredicates, onDrill);
|
|
159
161
|
}
|
|
160
162
|
//# sourceMappingURL=useSyncLayersToMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncLayersToMap.js","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useSyncLayersToMap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAIhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAsB,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"useSyncLayersToMap.js","sourceRoot":"","sources":["../../../../src/next/hooks/layers/useSyncLayersToMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGeoPushData.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/pushData/useGeoPushData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"useGeoPushData.d.ts","sourceRoot":"","sources":["../../../../src/next/hooks/pushData/useGeoPushData.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,UAAU,cAAc;IACpB,gBAAgB,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;GAIG;AACH,UAAU,cAAc;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACxC;AAED,UAAU,qBAAqB,CAAC,MAAM,SAAS,cAAc,EAAE,cAAc,SAAS,cAAc;IAChG,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,cAAc,CAAC;IACvC,mBAAmB,CAAC,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,OAAO,CAAC;CAC1E;AAOD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,cAAc,EAAE,cAAc,SAAS,cAAc,EAC/F,aAAa,EAAE,cAAc,GAAG,IAAI,EACpC,YAAY,EAAE,aAAa,EAC3B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EAAE,qBAAqB,CAAC,MAAM,EAAE,cAAc,CAAC,GACnG,IAAI,CAsCN"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
|
2
|
-
import { useEffect } from "react";
|
|
2
|
+
import { useEffect, useMemo } from "react";
|
|
3
|
+
import { getMultiLayerDrillTargets } from "@gooddata/sdk-ui";
|
|
4
|
+
import { useGeoLayers } from "../../context/GeoLayersContext.js";
|
|
3
5
|
import { useInitialExecution } from "../../context/InitialExecutionContext.js";
|
|
4
6
|
const defaultLegendVisibility = (availableLegends) => {
|
|
5
7
|
const hasSizeLegend = availableLegends.hasSizeLegend ?? false;
|
|
@@ -14,15 +16,26 @@ export function useGeoPushData(colorStrategy, colorPalette, { useProps, useLegen
|
|
|
14
16
|
const props = useProps();
|
|
15
17
|
const { availableLegends } = useLegendContext();
|
|
16
18
|
const { initialDataView } = useInitialExecution();
|
|
19
|
+
const { layers } = useGeoLayers();
|
|
17
20
|
const { pushData } = props;
|
|
18
21
|
const legendVisibilitySelector = getLegendVisibility ?? defaultLegendVisibility;
|
|
19
22
|
const isLegendVisible = legendVisibilitySelector(availableLegends);
|
|
23
|
+
// Build drill targets from all layers (combines measures from all layers)
|
|
24
|
+
const layerDataViews = Array.from(layers.values()).map((l) => l.dataView);
|
|
25
|
+
const fingerprintsKey = layerDataViews.map((dv) => dv?.fingerprint() ?? "null").join("|");
|
|
26
|
+
// Use fingerprints key as dependency
|
|
27
|
+
// We can't use layers as dependency because they are not stable across renders resulting in infinite loop
|
|
28
|
+
const availableDrillTargets = useMemo(() => {
|
|
29
|
+
return getMultiLayerDrillTargets(layerDataViews, initialDataView);
|
|
30
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
}, [fingerprintsKey, initialDataView]);
|
|
20
32
|
useEffect(() => {
|
|
21
33
|
if (!pushData || !colorStrategy) {
|
|
22
34
|
return;
|
|
23
35
|
}
|
|
24
36
|
pushData({
|
|
25
37
|
dataView: initialDataView?.dataView,
|
|
38
|
+
availableDrillTargets,
|
|
26
39
|
propertiesMeta: {
|
|
27
40
|
legend_enabled: isLegendVisible,
|
|
28
41
|
},
|
|
@@ -31,6 +44,6 @@ export function useGeoPushData(colorStrategy, colorPalette, { useProps, useLegen
|
|
|
31
44
|
colorPalette,
|
|
32
45
|
},
|
|
33
46
|
});
|
|
34
|
-
}, [pushData, colorStrategy, colorPalette, initialDataView, isLegendVisible]);
|
|
47
|
+
}, [pushData, colorStrategy, colorPalette, initialDataView, isLegendVisible, availableDrillTargets]);
|
|
35
48
|
}
|
|
36
49
|
//# sourceMappingURL=useGeoPushData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGeoPushData.js","sourceRoot":"","sources":["../../../../src/next/hooks/pushData/useGeoPushData.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useGeoPushData.js","sourceRoot":"","sources":["../../../../src/next/hooks/pushData/useGeoPushData.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAkB,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAsB/E,MAAM,uBAAuB,GAAG,CAAC,gBAAmC,EAAW,EAAE;IAC7E,MAAM,aAAa,GAAG,gBAAgB,CAAC,aAAa,IAAI,KAAK,CAAC;IAC9D,OAAO,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,cAAc,IAAI,aAAa,CAAC,CAAC;AAC3G,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC1B,aAAoC,EACpC,YAA2B,EAC3B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAiD;IAElG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAChD,MAAM,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,wBAAwB,GAAG,mBAAmB,IAAI,uBAAuB,CAAC;IAEhF,MAAM,eAAe,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAEnE,0EAA0E;IAC1E,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE1F,qCAAqC;IACrC,0GAA0G;IAC1G,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,yBAAyB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAClE,uDAAuD;IAC3D,CAAC,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,QAAQ,CAAC;YACL,QAAQ,EAAE,eAAe,EAAE,QAAQ;YACnC,qBAAqB;YACrB,cAAc,EAAE;gBACZ,cAAc,EAAE,eAAe;aAClC;YACD,MAAM,EAAE;gBACJ,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,EAAE;gBACpD,YAAY;aACf;SACJ,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACzG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorStrategy.js","sourceRoot":"","sources":["../../../../../src/next/layers/area/coloring/colorStrategy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAmC,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE3G;;;;;;;;GAQG;AACH,MAAM,iBAAkB,SAAQ,aAAa;IACzC;;;;;;OAMG;IACO,qBAAqB,CAC3B,YAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"colorStrategy.js","sourceRoot":"","sources":["../../../../../src/next/layers/area/coloring/colorStrategy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAmC,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAE3G;;;;;;;;GAQG;AACH,MAAM,iBAAkB,SAAQ,aAAa;IACzC;;;;;;OAMG;IACO,qBAAqB,CAC3B,YAA2B,EAC3B,YAAyC,EACzC,aAAmC,EACnC,kBAA+C,EAC/C,EAAkB;QAElB,oCAAoC;QACpC,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;gBACH,mBAAmB,EAAE,IAAI,CAAC,4BAA4B,CAClD,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,EAAE,CACL;aACJ,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,OAAO;YACH,mBAAmB,EAAE;gBACjB,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,CAAC;aAClF;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACK,4BAA4B,CAChC,YAA2B,EAC3B,YAAyC,EACzC,kBAAwC,EACxC,EAAkB;QAElB,MAAM,aAAa,GAAmB,IAAI,sBAAsB,CAC5D,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,EAAE,CACL,CAAC;QAEF,OAAO,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,2BAA2B,CAC/B,YAA2B,EAC3B,YAAyC,EACzC,aAAmC,EACnC,EAAkB;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,KAAK,GACP,WAAW,KAAK,SAAS,IAAI,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;YACtE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9B,CAAC;QAEZ,OAAO;YACH,UAAU,EAAE,aAAa;YACzB,KAAK;SACR,CAAC;IACN,CAAC;CACJ;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAChC,YAA2B,EAC3B,YAA6B,EAC7B,OAAqB,EACrB,EAAkB;IAElB,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAA+B,6BAA6B,CACnG,EAAE,EACF,OAAO,CACV,CAAC;IAEF,MAAM,mBAAmB,GAAyB;QAC9C,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;KAChD,CAAC;IAEF,OAAO,IAAI,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC1G,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { GeoLayerType } from "../../types/layers/index.js";
|
|
2
|
+
export declare const MAPLIBRE_LAYER_TYPE_PREFIXES: Record<GeoLayerType, string>;
|
|
3
|
+
export declare const GEO_LAYER_DRILL_TYPE: {
|
|
4
|
+
readonly pushpin: "pushpin";
|
|
5
|
+
readonly area: "choropleth";
|
|
6
|
+
};
|
|
7
|
+
export declare const GEO_LAYER_DRILL_ELEMENT: {
|
|
8
|
+
readonly pushpin: "pushpin";
|
|
9
|
+
readonly area: "pushpin";
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/next/layers/common/constants.ts"],"names":[],"mappings":"AAEA,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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
export const MAPLIBRE_LAYER_TYPE_PREFIXES = {
|
|
3
|
+
pushpin: "pushpin-layer",
|
|
4
|
+
area: "area-fill",
|
|
5
|
+
};
|
|
6
|
+
export const GEO_LAYER_DRILL_TYPE = {
|
|
7
|
+
pushpin: "pushpin",
|
|
8
|
+
area: "choropleth",
|
|
9
|
+
};
|
|
10
|
+
export const GEO_LAYER_DRILL_ELEMENT = {
|
|
11
|
+
pushpin: "pushpin",
|
|
12
|
+
area: "pushpin",
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/next/layers/common/constants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorStrategy.js","sourceRoot":"","sources":["../../../../../src/next/layers/pushpin/coloring/colorStrategy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEH,gCAAgC,GACnC,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,oBAAqB,SAAQ,aAAa;IAC5C;;;;;;OAMG;IACO,qBAAqB,CAC3B,YAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"colorStrategy.js","sourceRoot":"","sources":["../../../../../src/next/layers/pushpin/coloring/colorStrategy.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EACH,sBAAsB,EACtB,aAAa,EAIb,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAEH,gCAAgC,GACnC,MAAM,2BAA2B,CAAC;AAEnC;;;;;;;;GAQG;AACH,MAAM,oBAAqB,SAAQ,aAAa;IAC5C;;;;;;OAMG;IACO,qBAAqB,CAC3B,YAA2B,EAC3B,YAAyC,EACzC,iBAAuC,EACvC,kBAA+C,EAC/C,EAAkB;QAElB,oCAAoC;QACpC,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;gBACH,mBAAmB,EAAE,IAAI,CAAC,4BAA4B,CAClD,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,EAAE,CACL;aACJ,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,OAAO;YACH,mBAAmB,EAAE;gBACjB,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC;aACtF;SACJ,CAAC;IACN,CAAC;IAED;;OAEG;IACK,4BAA4B,CAChC,YAA2B,EAC3B,YAAyC,EACzC,kBAAwC,EACxC,EAAkB;QAElB,MAAM,aAAa,GAAmB,IAAI,sBAAsB,CAC5D,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,kBAAkB,EAClB,EAAE,CACL,CAAC;QAEF,OAAO,aAAa,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,2BAA2B,CAC/B,YAA2B,EAC3B,YAAyC,EACzC,iBAAuC,EACvC,EAAkB;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GACP,WAAW,KAAK,SAAS,IAAI,kBAAkB,CAAC,WAAW,EAAE,YAAY,CAAC;YACtE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC;gBACI,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9B,CAAC;QAEZ,OAAO;YACH,UAAU,EAAE,iBAAiB;YAC7B,KAAK;SACR,CAAC;IACN,CAAC;CACJ;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CACnC,YAA2B,EAC3B,YAA6B,EAC7B,OAAwB,EACxB,EAAkB;IAElB,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAC3C,gCAAgC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,uBAAuB,GAAyB;QAClD,eAAe,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC;KACpD,CAAC;IAEF,OAAO,IAAI,oBAAoB,CAC3B,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,EAAE,CACL,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactElement, type RefObject } from "react";
|
|
2
2
|
import { type ContentRect } from "react-measure";
|
|
3
3
|
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
4
|
-
import {
|
|
4
|
+
import type { IHeaderPredicate, OnFiredDrillEvent } from "@gooddata/sdk-ui";
|
|
5
5
|
import { type CenterPositionChangedCallback, type ZoomChangedCallback } from "../types/common/callbacks.js";
|
|
6
6
|
import { type IGeoChartNextConfig } from "../types/config/unified.js";
|
|
7
7
|
import { type IMapViewport } from "../types/map/provider.js";
|
|
@@ -14,6 +14,7 @@ export type MapControllerProps = {
|
|
|
14
14
|
drillablePredicates: IHeaderPredicate[];
|
|
15
15
|
onCenterPositionChanged?: CenterPositionChangedCallback;
|
|
16
16
|
onZoomChanged?: ZoomChangedCallback;
|
|
17
|
+
onDrill?: OnFiredDrillEvent;
|
|
17
18
|
afterRender?: () => void;
|
|
18
19
|
config: IGeoChartNextConfig | undefined;
|
|
19
20
|
backend?: IAnalyticalBackend;
|
|
@@ -22,5 +23,5 @@ export type MapControllerProps = {
|
|
|
22
23
|
* Centralized map controller that wires up map initialization, resize handling,
|
|
23
24
|
* interaction callbacks, layer synchronization, and after-render signalling.
|
|
24
25
|
*/
|
|
25
|
-
export declare function MapController({ mapContainerRef, chartContainerRect, initialViewport, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, afterRender, config, backend, }: MapControllerProps): ReactElement | null;
|
|
26
|
+
export declare function MapController({ mapContainerRef, chartContainerRect, initialViewport, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, onDrill, afterRender, config, backend, }: MapControllerProps): ReactElement | null;
|
|
26
27
|
//# sourceMappingURL=MapController.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapController.d.ts","sourceRoot":"","sources":["../../../src/next/map/MapController.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MapController.d.ts","sourceRoot":"","sources":["../../../src/next/map/MapController.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAS5E,OAAO,EAAE,KAAK,6BAA6B,EAAE,KAAK,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,eAAe,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,kBAAkB,EAAE,WAAW,GAAG,IAAI,CAAC;IACvC,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,qBAAqB,EAAE,CAAC;IACzC,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IACxC,uBAAuB,CAAC,EAAE,6BAA6B,CAAC;IACxD,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC1B,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,EACN,OAAO,GACV,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAiC1C"}
|
|
@@ -12,7 +12,7 @@ import { useMapResize } from "../hooks/map/useMapResize.js";
|
|
|
12
12
|
* Centralized map controller that wires up map initialization, resize handling,
|
|
13
13
|
* interaction callbacks, layer synchronization, and after-render signalling.
|
|
14
14
|
*/
|
|
15
|
-
export function MapController({ mapContainerRef, chartContainerRect, initialViewport, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, afterRender, config, backend, }) {
|
|
15
|
+
export function MapController({ mapContainerRef, chartContainerRect, initialViewport, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, onDrill, afterRender, config, backend, }) {
|
|
16
16
|
const { map, tooltip, isMapReady } = useMapInitialization(mapContainerRef, config, initialViewport, backend);
|
|
17
17
|
const adapterContext = useGeoAdapterContext();
|
|
18
18
|
const runtimeValue = useMemo(() => ({
|
|
@@ -21,9 +21,9 @@ export function MapController({ mapContainerRef, chartContainerRect, initialView
|
|
|
21
21
|
isMapReady,
|
|
22
22
|
adapterContext,
|
|
23
23
|
}), [map, tooltip, isMapReady, adapterContext]);
|
|
24
|
-
return (_jsx(MapRuntimeProvider, { value: runtimeValue, children: _jsx(MapLifecycleEffects, { chartContainerRect: chartContainerRect, initialViewport: initialViewport, layerExecutions: layerExecutions, drillablePredicates: drillablePredicates, onCenterPositionChanged: onCenterPositionChanged, onZoomChanged: onZoomChanged, afterRender: afterRender }) }));
|
|
24
|
+
return (_jsx(MapRuntimeProvider, { value: runtimeValue, children: _jsx(MapLifecycleEffects, { chartContainerRect: chartContainerRect, initialViewport: initialViewport, layerExecutions: layerExecutions, drillablePredicates: drillablePredicates, onCenterPositionChanged: onCenterPositionChanged, onZoomChanged: onZoomChanged, onDrill: onDrill, afterRender: afterRender }) }));
|
|
25
25
|
}
|
|
26
|
-
function MapLifecycleEffects({ chartContainerRect, initialViewport, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, afterRender, }) {
|
|
26
|
+
function MapLifecycleEffects({ chartContainerRect, initialViewport, layerExecutions, drillablePredicates, onCenterPositionChanged, onZoomChanged, onDrill, afterRender, }) {
|
|
27
27
|
const { map, isMapReady } = useMapRuntime();
|
|
28
28
|
useMapResize(map, isMapReady, chartContainerRect, initialViewport);
|
|
29
29
|
useMapCallbacks(map, {
|
|
@@ -32,6 +32,7 @@ function MapLifecycleEffects({ chartContainerRect, initialViewport, layerExecuti
|
|
|
32
32
|
});
|
|
33
33
|
useSyncLayersToMap({
|
|
34
34
|
drillablePredicates,
|
|
35
|
+
onDrill,
|
|
35
36
|
});
|
|
36
37
|
useAfterRender(map, afterRender, layerExecutions);
|
|
37
38
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapController.js","sourceRoot":"","sources":["../../../src/next/map/MapController.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAqC,OAAO,EAAE,MAAM,OAAO,CAAC;AAOnE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"MapController.js","sourceRoot":"","sources":["../../../src/next/map/MapController.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAqC,OAAO,EAAE,MAAM,OAAO,CAAC;AAOnE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoB5D;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAC1B,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,OAAO,EACP,WAAW,EACX,MAAM,EACN,OAAO,GACU;IACjB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,oBAAoB,CACrD,eAAe,EACf,MAAM,EACN,eAAe,EACf,OAAO,CACV,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAE9C,MAAM,YAAY,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC;QACH,GAAG;QACH,OAAO;QACP,UAAU;QACV,cAAc;KACjB,CAAC,EACF,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAC7C,CAAC;IAEF,OAAO,CACH,KAAC,kBAAkB,IAAC,KAAK,EAAE,YAAY,YACnC,KAAC,mBAAmB,IAChB,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,GAC1B,GACe,CACxB,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,EACzB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,OAAO,EACP,WAAW,GAUd;IACG,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAE5C,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAEnE,eAAe,CAAC,GAAG,EAAE;QACjB,uBAAuB;QACvB,aAAa;KAChB,CAAC,CAAC;IAEH,kBAAkB,CAAC;QACf,mBAAmB;QACnB,OAAO;KACV,CAAC,CAAC;IAEH,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAElD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-geo",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.15.0-alpha.1",
|
|
4
4
|
"description": "GoodData.UI SDK - Geo Charts",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
"ts-invariant": "^0.7.5",
|
|
44
44
|
"tslib": "2.8.1",
|
|
45
45
|
"uuid": "^11.1.0",
|
|
46
|
-
"@gooddata/sdk-
|
|
47
|
-
"@gooddata/sdk-
|
|
48
|
-
"@gooddata/sdk-ui": "11.
|
|
49
|
-
"@gooddata/sdk-ui-
|
|
50
|
-
"@gooddata/sdk-
|
|
51
|
-
"@gooddata/sdk-ui-vis-commons": "11.
|
|
46
|
+
"@gooddata/sdk-model": "11.15.0-alpha.1",
|
|
47
|
+
"@gooddata/sdk-ui": "11.15.0-alpha.1",
|
|
48
|
+
"@gooddata/sdk-ui-theme-provider": "11.15.0-alpha.1",
|
|
49
|
+
"@gooddata/sdk-ui-kit": "11.15.0-alpha.1",
|
|
50
|
+
"@gooddata/sdk-backend-spi": "11.15.0-alpha.1",
|
|
51
|
+
"@gooddata/sdk-ui-vis-commons": "11.15.0-alpha.1"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@gooddata/stylelint-config": "^5.0.0",
|
|
@@ -92,8 +92,8 @@
|
|
|
92
92
|
"typescript": "5.8.3",
|
|
93
93
|
"vitest": "3.2.4",
|
|
94
94
|
"vitest-dom": "0.1.1",
|
|
95
|
-
"@gooddata/eslint-config": "11.
|
|
96
|
-
"@gooddata/sdk-backend-mockingbird": "11.
|
|
95
|
+
"@gooddata/eslint-config": "11.15.0-alpha.1",
|
|
96
|
+
"@gooddata/sdk-backend-mockingbird": "11.15.0-alpha.1"
|
|
97
97
|
},
|
|
98
98
|
"peerDependencies": {
|
|
99
99
|
"react": "^18.0.0 || ^19.0.0",
|