@@ -14,6 +14,7 @@ import { LinesState } from "@/charts/line/lines-state";
1414import { MapState } from "@/charts/map/map-state" ;
1515import { PieState } from "@/charts/pie/pie-state" ;
1616import { ScatterplotState } from "@/charts/scatterplot/scatterplot-state" ;
17+ import { DimensionsByIri , MeasuresByIri } from "@/charts/shared/ChartProps" ;
1718import {
1819 getLabelWithUnit ,
1920 useDimensionWithAbbreviations ,
@@ -22,15 +23,14 @@ import {
2223 useTemporalEntityVariable ,
2324 useTemporalVariable ,
2425} from "@/charts/shared/chart-helpers" ;
25- import { DimensionsByIri , MeasuresByIri } from "@/charts/shared/ChartProps" ;
2626import { Bounds } from "@/charts/shared/use-width" ;
2727import { TableChartState } from "@/charts/table/table-state" ;
2828import {
2929 ChartConfig ,
3030 ChartType ,
3131 GenericField ,
32- getAnimationField ,
3332 InteractiveFiltersConfig ,
33+ getAnimationField ,
3434} from "@/configurator" ;
3535import {
3636 parseDate ,
@@ -44,17 +44,18 @@ import {
4444 DimensionValue ,
4545 GeoCoordinatesDimension ,
4646 GeoShapesDimension ,
47- isNumericalMeasure ,
48- isTemporalDimension ,
49- isTemporalEntityDimension ,
5047 Measure ,
5148 NumericalMeasure ,
5249 Observation ,
5350 ObservationValue ,
5451 TemporalDimension ,
5552 TemporalEntityDimension ,
53+ isNumericalMeasure ,
54+ isTemporalDimension ,
55+ isTemporalEntityDimension ,
5656} from "@/domain/data" ;
5757import { Has } from "@/domain/types" ;
58+ import { getOriginalIris , isJoinById } from "@/graphql/join" ;
5859import { TimeUnit } from "@/graphql/resolver-types" ;
5960import {
6061 useChartInteractiveFilters ,
@@ -437,10 +438,15 @@ export const useChartData = (
437438 const interactiveTimeRangeFilters = useMemo ( ( ) => {
438439 const isDashboardFilterActive = ! ! dashboardFilters . sharedFilters . find (
439440 ( f ) => {
440- if ( f . type !== "timeRange" ) {
441+ const timeRangeFilterIri = interactiveTimeRange ?. componentIri ;
442+ if ( f . type !== "timeRange" || ! timeRangeFilterIri ) {
441443 return false ;
442444 }
443- return f . componentIri === interactiveTimeRange ?. componentIri ;
445+ return isJoinById ( timeRangeFilterIri )
446+ ? getOriginalIris ( timeRangeFilterIri , chartConfig ) . includes (
447+ f . componentIri
448+ )
449+ : f . componentIri === timeRangeFilterIri ;
444450 }
445451 ) ;
446452 const interactiveTimeRangeFilter : ValuePredicate | null =
@@ -462,6 +468,7 @@ export const useChartData = (
462468 interactiveToTime ,
463469 interactiveTimeRange ?. active ,
464470 interactiveTimeRange ?. componentIri ,
471+ chartConfig ,
465472 ] ) ;
466473
467474 // interactive time slider
0 commit comments