Skip to content

Commit 9f88517

Browse files
authored
Merge pull request #1281 from visualize-admin/feat/common-joinby-dimension
refactor: Common joinBy dimension
2 parents 7a4bec9 + df5db9d commit 9f88517

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+518
-158
lines changed

app/browse/datatable.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ export const DataSetTable = ({
267267
cubeFilters: chartConfig.cubes.map((cube) => ({
268268
iri: cube.iri,
269269
componentIris,
270+
joinBy: cube.joinBy,
270271
})),
271272
},
272273
});

app/browser/dataset-preview.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ export const DataSetPreview = ({
9292
}) => {
9393
const footnotesClasses = useFootnotesStyles({ useMarginTop: false });
9494
const locale = useLocale();
95-
const filters = [{ iri: dataSetIri }];
95+
const cubeFilters = [{ iri: dataSetIri }];
9696
const [
9797
{ data: previewData, fetching: fetchingPreview, error: previewError },
9898
] = useDataCubePreviewQuery({
@@ -114,7 +114,7 @@ export const DataSetPreview = ({
114114
sourceType: dataSource.type,
115115
sourceUrl: dataSource.url,
116116
locale,
117-
cubeFilters: filters,
117+
cubeFilters,
118118
},
119119
});
120120
const classes = useStyles({
@@ -197,7 +197,7 @@ export const DataSetPreview = ({
197197
<DataDownloadMenu
198198
dataSource={dataSource}
199199
title={dataCubeByIri.title}
200-
filters={filters}
200+
filters={cubeFilters}
201201
/>
202202
{dataCubeByIri.observations.sparqlEditorUrl && (
203203
<RunSparqlQuery

app/charts/area/chart-area.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export const ChartAreasVisualization = ({
5555
cubeFilters: chartConfig.cubes.map((cube) => ({
5656
iri: cube.iri,
5757
componentIris,
58+
joinBy: cube.joinBy,
5859
})),
5960
},
6061
});

app/charts/column/chart-column.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export const ChartColumnsVisualization = ({
6969
cubeFilters: chartConfig.cubes.map((cube) => ({
7070
iri: cube.iri,
7171
componentIris,
72+
joinBy: cube.joinBy,
7273
})),
7374
},
7475
});

app/charts/column/columns-state.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,8 @@ const useColumnsState = (
235235
return `${getYError(d)}${yErrorMeasure?.unit ?? ""}`;
236236
};
237237

238+
const y = getY(d);
239+
238240
return {
239241
xAnchor,
240242
yAnchor,
@@ -246,7 +248,7 @@ const useColumnsState = (
246248
xValue: xTimeUnit ? timeFormatUnit(xLabel, xTimeUnit) : xLabel,
247249
datum: {
248250
label: undefined,
249-
value: `${yValueFormatter(getY(d))}`,
251+
value: y !== null && isNaN(y) ? "-" : `${yValueFormatter(getY(d))}`,
250252
error: getError(d),
251253
color: "",
252254
},

app/charts/column/columns.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ export const Columns = () => {
9696
return chartData.map((d) => {
9797
const key = getRenderingKey(d);
9898
const xScaled = xScale(getX(d)) as number;
99-
const y = getY(d) ?? NaN;
99+
const yRaw = getY(d);
100+
const y = yRaw === null || isNaN(yRaw) ? 0 : yRaw;
100101
const yScaled = yScale(y);
101102
const yRender = yScale(Math.max(y, 0));
102103
const height = Math.abs(yScaled - y0);

app/charts/combo/chart-combo-line-column.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export const ChartComboLineColumnVisualization = (
5151
cubeFilters: chartConfig.cubes.map((cube) => ({
5252
iri: cube.iri,
5353
componentIris,
54+
joinBy: cube.joinBy,
5455
})),
5556
},
5657
});

app/charts/combo/chart-combo-line-dual.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export const ChartComboLineDualVisualization = (
5151
cubeFilters: chartConfig.cubes.map((cube) => ({
5252
iri: cube.iri,
5353
componentIris,
54+
joinBy: cube.joinBy,
5455
})),
5556
},
5657
});

app/charts/combo/chart-combo-line-single.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export const ChartComboLineSingleVisualization = (
5656
cubeFilters: chartConfig.cubes.map((cube) => ({
5757
iri: cube.iri,
5858
componentIris,
59+
joinBy: cube.joinBy,
5960
})),
6061
},
6162
});

app/charts/index.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export const chartTypesOrder: { [k in ChartType]: number } = {
137137
* @param dimensions
138138
* @param preferredType
139139
*/
140-
export const findPreferredDimension = (
140+
const findPreferredDimension = (
141141
dimensions: Component[],
142142
preferredType?: DimensionType
143143
) => {
@@ -1885,9 +1885,11 @@ const adjustSegmentSorting = ({
18851885
export const getPossibleChartTypes = ({
18861886
dimensions,
18871887
measures,
1888+
allowedChartTypes,
18881889
}: {
18891890
dimensions: Dimension[];
18901891
measures: Measure[];
1892+
allowedChartTypes?: ChartType[];
18911893
}): ChartType[] => {
18921894
const numericalMeasures = measures.filter(isNumericalMeasure);
18931895
const ordinalMeasures = measures.filter(isOrdinalMeasure);
@@ -1945,7 +1947,11 @@ export const getPossibleChartTypes = ({
19451947
}
19461948

19471949
return chartTypes
1948-
.filter((d) => possibles.includes(d))
1950+
.filter(
1951+
(d) =>
1952+
possibles.includes(d) &&
1953+
(!allowedChartTypes || allowedChartTypes.includes(d))
1954+
)
19491955
.sort((a, b) => chartTypesOrder[a] - chartTypesOrder[b]);
19501956
};
19511957

0 commit comments

Comments
 (0)