diff --git a/.storybook/preview.ts b/.storybook/preview.ts index 716b440..e4f4d1e 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -9,8 +9,19 @@ const preview: Preview = { date: /Date$/, }, }, + viewport: { + viewports: { + website: { + name: 'Website', + styles: { + width: '766px', + height: '600px', + }, + type: 'desktop', + }, + }, + }, }, - tags: ['autodocs'] }; diff --git a/package.json b/package.json index 78cc7fc..d0e7932 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@statisticsfinland/pxvisualizer", - "version": "1.2.1", + "version": "1.2.2", "description": "Component library for visualizing PxGraf data", "main": "./dist/pxv.cjs", "jestSonar": { diff --git a/src/core/chartOptions/Utility/fixtures/linechartViews.ts b/src/core/chartOptions/Utility/fixtures/linechartViews.ts index e22aea8..4ee1481 100644 --- a/src/core/chartOptions/Utility/fixtures/linechartViews.ts +++ b/src/core/chartOptions/Utility/fixtures/linechartViews.ts @@ -2083,4 +2083,1354 @@ export const combinationValuesLinechartViewFixture: View = { "cutValueAxis": false }, "seriesType": 0 +} + +export const multiselectableLineChartViewFixture: View = +{ + "header": { + "fi": "Neliövuokra (eur/m2), Vapaarahoitteinen 2015Q1-2022Q4 muuttujina Alue, Huoneluku", + "sv": "Kvadratmeterspris (eur/m2), Fri finansierad 2015Q1-2022Q4 efter Område, Antal rum", + "en": "Rents per square meter (eur/m2), Non subsidised 2015Q1-2022Q4 by Region, Number of rooms" + }, + "tableReferenceName": "table.px", + "subheaderValues": [], + "units": [ + { + "name": { + "fi": "Neliövuokra (eur/m2)", + "sv": "Kvadratmeterspris (eur/m2)", + "en": "Rents per square meter (eur/m2)" + }, + "unit": { + "fi": "eur / m2", + "sv": "eur / m2", + "en": "eur / m2" + } + } + ], + "sources": [ + { + "fi": "PxVisualizer-fi", + "sv": "PxVisualizer-sv", + "en": "PxVisualizer-en" + } + ], + "columnNameGroups": [ + [ + { + "fi": "2015Q1", + "sv": "2015Q1", + "en": "2015Q1" + } + ], + [ + { + "fi": "2015Q2", + "sv": "2015Q2", + "en": "2015Q2" + } + ], + [ + { + "fi": "2015Q3", + "sv": "2015Q3", + "en": "2015Q3" + } + ], + [ + { + "fi": "2015Q4", + "sv": "2015Q4", + "en": "2015Q4" + } + ], + [ + { + "fi": "2016Q1", + "sv": "2016Q1", + "en": "2016Q1" + } + ], + [ + { + "fi": "2016Q2", + "sv": "2016Q2", + "en": "2016Q2" + } + ], + [ + { + "fi": "2016Q3", + "sv": "2016Q3", + "en": "2016Q3" + } + ], + [ + { + "fi": "2016Q4", + "sv": "2016Q4", + "en": "2016Q4" + } + ], + [ + { + "fi": "2017Q1", + "sv": "2017Q1", + "en": "2017Q1" + } + ], + [ + { + "fi": "2017Q2", + "sv": "2017Q2", + "en": "2017Q2" + } + ], + [ + { + "fi": "2017Q3", + "sv": "2017Q3", + "en": "2017Q3" + } + ], + [ + { + "fi": "2017Q4", + "sv": "2017Q4", + "en": "2017Q4" + } + ], + [ + { + "fi": "2018Q1", + "sv": "2018Q1", + "en": "2018Q1" + } + ], + [ + { + "fi": "2018Q2", + "sv": "2018Q2", + "en": "2018Q2" + } + ], + [ + { + "fi": "2018Q3", + "sv": "2018Q3", + "en": "2018Q3" + } + ], + [ + { + "fi": "2018Q4", + "sv": "2018Q4", + "en": "2018Q4" + } + ], + [ + { + "fi": "2019Q1", + "sv": "2019Q1", + "en": "2019Q1" + } + ], + [ + { + "fi": "2019Q2", + "sv": "2019Q2", + "en": "2019Q2" + } + ], + [ + { + "fi": "2019Q3", + "sv": "2019Q3", + "en": "2019Q3" + } + ], + [ + { + "fi": "2019Q4", + "sv": "2019Q4", + "en": "2019Q4" + } + ], + [ + { + "fi": "2020Q1", + "sv": "2020Q1", + "en": "2020Q1" + } + ], + [ + { + "fi": "2020Q2", + "sv": "2020Q2", + "en": "2020Q2" + } + ], + [ + { + "fi": "2020Q3", + "sv": "2020Q3", + "en": "2020Q3" + } + ], + [ + { + "fi": "2020Q4", + "sv": "2020Q4", + "en": "2020Q4" + } + ], + [ + { + "fi": "2021Q1", + "sv": "2021Q1", + "en": "2021Q1" + } + ], + [ + { + "fi": "2021Q2", + "sv": "2021Q2", + "en": "2021Q2" + } + ], + [ + { + "fi": "2021Q3", + "sv": "2021Q3", + "en": "2021Q3" + } + ], + [ + { + "fi": "2021Q4", + "sv": "2021Q4", + "en": "2021Q4" + } + ], + [ + { + "fi": "2022Q1", + "sv": "2022Q1", + "en": "2022Q1" + } + ], + [ + { + "fi": "2022Q2", + "sv": "2022Q2", + "en": "2022Q2" + } + ], + [ + { + "fi": "2022Q3", + "sv": "2022Q3", + "en": "2022Q3" + } + ], + [ + { + "fi": "2022Q4", + "sv": "2022Q4", + "en": "2022Q4" + } + ] + ], + "series": [ + { + "rowNameGroup": [ + { + "fi": "Yksiöt", + "sv": "Enrumslägenhet", + "en": "One-room flat" + }, + { + "fi": "Helsinki", + "sv": "Helsingfors", + "en": "Helsinki" + } + ], + "series": [ + { + "value": 22.68, + "precision": 2, + "preliminary": false + }, + { + "value": 22.87, + "precision": 2, + "preliminary": false + }, + { + "value": 23.1, + "precision": 2, + "preliminary": false + }, + { + "value": 23.23, + "precision": 2, + "preliminary": false + }, + { + "value": 23.5, + "precision": 2, + "preliminary": false + }, + { + "value": 23.68, + "precision": 2, + "preliminary": false + }, + { + "value": 23.78, + "precision": 2, + "preliminary": false + }, + { + "value": 23.89, + "precision": 2, + "preliminary": false + }, + { + "value": 24.07, + "precision": 2, + "preliminary": false + }, + { + "value": 24.08, + "precision": 2, + "preliminary": false + }, + { + "value": 24.45, + "precision": 2, + "preliminary": false + }, + { + "value": 24.55, + "precision": 2, + "preliminary": false + }, + { + "value": 24.54, + "precision": 2, + "preliminary": false + }, + { + "value": 24.65, + "precision": 2, + "preliminary": false + }, + { + "value": 24.72, + "precision": 2, + "preliminary": false + }, + { + "value": 25.13, + "precision": 2, + "preliminary": false + }, + { + "value": 25.09, + "precision": 2, + "preliminary": false + }, + { + "value": 25.22, + "precision": 2, + "preliminary": false + }, + { + "value": 25.44, + "precision": 2, + "preliminary": false + }, + { + "value": 25.87, + "precision": 2, + "preliminary": false + }, + { + "value": 26.15, + "precision": 2, + "preliminary": false + }, + { + "value": 26.27, + "precision": 2, + "preliminary": false + }, + { + "value": 26.36, + "precision": 2, + "preliminary": false + }, + { + "value": 26.51, + "precision": 2, + "preliminary": false + }, + { + "value": 26.59, + "precision": 2, + "preliminary": false + }, + { + "value": 26.68, + "precision": 2, + "preliminary": false + }, + { + "value": 26.72, + "precision": 2, + "preliminary": false + }, + { + "value": 26.75, + "precision": 2, + "preliminary": false + }, + { + "value": 26.64, + "precision": 2, + "preliminary": false + }, + { + "value": 26.82, + "precision": 2, + "preliminary": false + }, + { + "value": 26.93, + "precision": 2, + "preliminary": false + }, + { + "value": 26.93, + "precision": 2, + "preliminary": false + } + ] + }, + { + "rowNameGroup": [ + { + "fi": "Yksiöt", + "sv": "Enrumslägenhet", + "en": "One-room flat" + }, + { + "fi": "Turku", + "sv": "Åbo", + "en": "Turku" + } + ], + "series": [ + { + "value": 15.15, + "precision": 2, + "preliminary": false + }, + { + "value": 15.18, + "precision": 2, + "preliminary": false + }, + { + "value": 15.32, + "precision": 2, + "preliminary": false + }, + { + "value": 15.41, + "precision": 2, + "preliminary": false + }, + { + "value": 15.56, + "precision": 2, + "preliminary": false + }, + { + "value": 15.58, + "precision": 2, + "preliminary": false + }, + { + "value": 15.72, + "precision": 2, + "preliminary": false + }, + { + "value": 15.8, + "precision": 2, + "preliminary": false + }, + { + "value": 15.96, + "precision": 2, + "preliminary": false + }, + { + "value": 15.93, + "precision": 2, + "preliminary": false + }, + { + "value": 16.11, + "precision": 2, + "preliminary": false + }, + { + "value": 16.24, + "precision": 2, + "preliminary": false + }, + { + "value": 16.18, + "precision": 2, + "preliminary": false + }, + { + "value": 16.25, + "precision": 2, + "preliminary": false + }, + { + "value": 16.4, + "precision": 2, + "preliminary": false + }, + { + "value": 16.68, + "precision": 2, + "preliminary": false + }, + { + "value": 16.62, + "precision": 2, + "preliminary": false + }, + { + "value": 16.71, + "precision": 2, + "preliminary": false + }, + { + "value": 16.83, + "precision": 2, + "preliminary": false + }, + { + "value": 17.2, + "precision": 2, + "preliminary": false + }, + { + "value": 17.45, + "precision": 2, + "preliminary": false + }, + { + "value": 17.48, + "precision": 2, + "preliminary": false + }, + { + "value": 17.57, + "precision": 2, + "preliminary": false + }, + { + "value": 17.64, + "precision": 2, + "preliminary": false + }, + { + "value": 17.76, + "precision": 2, + "preliminary": false + }, + { + "value": 17.88, + "precision": 2, + "preliminary": false + }, + { + "value": 17.95, + "precision": 2, + "preliminary": false + }, + { + "value": 18.01, + "precision": 2, + "preliminary": false + }, + { + "value": 18.16, + "precision": 2, + "preliminary": false + }, + { + "value": 18.32, + "precision": 2, + "preliminary": false + }, + { + "value": 18.44, + "precision": 2, + "preliminary": false + }, + { + "value": 18.53, + "precision": 2, + "preliminary": false + } + ] + }, + { + "rowNameGroup": [ + { + "fi": "Yksiöt", + "sv": "Enrumslägenhet", + "en": "One-room flat" + }, + { + "fi": "Tampere", + "sv": "Tammerfors", + "en": "Tampere" + } + ], + "series": [ + { + "value": 16.34, + "precision": 2, + "preliminary": false + }, + { + "value": 16.38, + "precision": 2, + "preliminary": false + }, + { + "value": 16.49, + "precision": 2, + "preliminary": false + }, + { + "value": 16.54, + "precision": 2, + "preliminary": false + }, + { + "value": 16.32, + "precision": 2, + "preliminary": false + }, + { + "value": 16.7, + "precision": 2, + "preliminary": false + }, + { + "value": 16.92, + "precision": 2, + "preliminary": false + }, + { + "value": 16.98, + "precision": 2, + "preliminary": false + }, + { + "value": 17.48, + "precision": 2, + "preliminary": false + }, + { + "value": 17.58, + "precision": 2, + "preliminary": false + }, + { + "value": 17.67, + "precision": 2, + "preliminary": false + }, + { + "value": 17.71, + "precision": 2, + "preliminary": false + }, + { + "value": 17.48, + "precision": 2, + "preliminary": false + }, + { + "value": 17.62, + "precision": 2, + "preliminary": false + }, + { + "value": 17.71, + "precision": 2, + "preliminary": false + }, + { + "value": 17.91, + "precision": 2, + "preliminary": false + }, + { + "value": 17.9, + "precision": 2, + "preliminary": false + }, + { + "value": 17.97, + "precision": 2, + "preliminary": false + }, + { + "value": 18.11, + "precision": 2, + "preliminary": false + }, + { + "value": 18.33, + "precision": 2, + "preliminary": false + }, + { + "value": 18.59, + "precision": 2, + "preliminary": false + }, + { + "value": 18.61, + "precision": 2, + "preliminary": false + }, + { + "value": 18.7, + "precision": 2, + "preliminary": false + }, + { + "value": 18.78, + "precision": 2, + "preliminary": false + }, + { + "value": 18.93, + "precision": 2, + "preliminary": false + }, + { + "value": 19.14, + "precision": 2, + "preliminary": false + }, + { + "value": 19.2, + "precision": 2, + "preliminary": false + }, + { + "value": 19.21, + "precision": 2, + "preliminary": false + }, + { + "value": 19.39, + "precision": 2, + "preliminary": false + }, + { + "value": 19.6, + "precision": 2, + "preliminary": false + }, + { + "value": 19.73, + "precision": 2, + "preliminary": false + }, + { + "value": 19.87, + "precision": 2, + "preliminary": false + } + ] + }, + { + "rowNameGroup": [ + { + "fi": "Kaksiot", + "sv": "Tvårumslägenhet", + "en": "Two-room flat" + }, + { + "fi": "Helsinki", + "sv": "Helsingfors", + "en": "Helsinki" + } + ], + "series": [ + { + "value": 15.77, + "precision": 2, + "preliminary": false + }, + { + "value": 15.95, + "precision": 2, + "preliminary": false + }, + { + "value": 16.12, + "precision": 2, + "preliminary": false + }, + { + "value": 16.04, + "precision": 2, + "preliminary": false + }, + { + "value": 16.4, + "precision": 2, + "preliminary": false + }, + { + "value": 16.71, + "precision": 2, + "preliminary": false + }, + { + "value": 16.85, + "precision": 2, + "preliminary": false + }, + { + "value": 16.82, + "precision": 2, + "preliminary": false + }, + { + "value": 17.14, + "precision": 2, + "preliminary": false + }, + { + "value": 17.3, + "precision": 2, + "preliminary": false + }, + { + "value": 18.63, + "precision": 2, + "preliminary": false + }, + { + "value": 18.93, + "precision": 2, + "preliminary": false + }, + { + "value": 18.68, + "precision": 2, + "preliminary": false + }, + { + "value": 18.71, + "precision": 2, + "preliminary": false + }, + { + "value": 18.83, + "precision": 2, + "preliminary": false + }, + { + "value": 19.11, + "precision": 2, + "preliminary": false + }, + { + "value": 18.9, + "precision": 2, + "preliminary": false + }, + { + "value": 19.02, + "precision": 2, + "preliminary": false + }, + { + "value": 19.21, + "precision": 2, + "preliminary": false + }, + { + "value": 19.72, + "precision": 2, + "preliminary": false + }, + { + "value": 19.85, + "precision": 2, + "preliminary": false + }, + { + "value": 19.92, + "precision": 2, + "preliminary": false + }, + { + "value": 20.02, + "precision": 2, + "preliminary": false + }, + { + "value": 20.1, + "precision": 2, + "preliminary": false + }, + { + "value": 20.01, + "precision": 2, + "preliminary": false + }, + { + "value": 20.14, + "precision": 2, + "preliminary": false + }, + { + "value": 20.21, + "precision": 2, + "preliminary": false + }, + { + "value": 20.19, + "precision": 2, + "preliminary": false + }, + { + "value": 20.22, + "precision": 2, + "preliminary": false + }, + { + "value": 20.45, + "precision": 2, + "preliminary": false + }, + { + "value": 20.59, + "precision": 2, + "preliminary": false + }, + { + "value": 20.66, + "precision": 2, + "preliminary": false + } + ] + }, + { + "rowNameGroup": [ + { + "fi": "Kaksiot", + "sv": "Tvårumslägenhet", + "en": "Two-room flat" + }, + { + "fi": "Turku", + "sv": "Åbo", + "en": "Turku" + } + ], + "series": [ + { + "value": 10.5, + "precision": 2, + "preliminary": false + }, + { + "value": 10.57, + "precision": 2, + "preliminary": false + }, + { + "value": 10.65, + "precision": 2, + "preliminary": false + }, + { + "value": 10.64, + "precision": 2, + "preliminary": false + }, + { + "value": 10.85, + "precision": 2, + "preliminary": false + }, + { + "value": 11.1, + "precision": 2, + "preliminary": false + }, + { + "value": 11.23, + "precision": 2, + "preliminary": false + }, + { + "value": 11.24, + "precision": 2, + "preliminary": false + }, + { + "value": 11.42, + "precision": 2, + "preliminary": false + }, + { + "value": 11.44, + "precision": 2, + "preliminary": false + }, + { + "value": 12.53, + "precision": 2, + "preliminary": false + }, + { + "value": 12.83, + "precision": 2, + "preliminary": false + }, + { + "value": 12.67, + "precision": 2, + "preliminary": false + }, + { + "value": 12.74, + "precision": 2, + "preliminary": false + }, + { + "value": 12.79, + "precision": 2, + "preliminary": false + }, + { + "value": 13.12, + "precision": 2, + "preliminary": false + }, + { + "value": 12.93, + "precision": 2, + "preliminary": false + }, + { + "value": 13, + "precision": 2, + "preliminary": false + }, + { + "value": 13.11, + "precision": 2, + "preliminary": false + }, + { + "value": 13.52, + "precision": 2, + "preliminary": false + }, + { + "value": 13.57, + "precision": 2, + "preliminary": false + }, + { + "value": 13.61, + "precision": 2, + "preliminary": false + }, + { + "value": 13.65, + "precision": 2, + "preliminary": false + }, + { + "value": 13.73, + "precision": 2, + "preliminary": false + }, + { + "value": 13.76, + "precision": 2, + "preliminary": false + }, + { + "value": 13.88, + "precision": 2, + "preliminary": false + }, + { + "value": 13.93, + "precision": 2, + "preliminary": false + }, + { + "value": 13.98, + "precision": 2, + "preliminary": false + }, + { + "value": 14.07, + "precision": 2, + "preliminary": false + }, + { + "value": 14.27, + "precision": 2, + "preliminary": false + }, + { + "value": 14.37, + "precision": 2, + "preliminary": false + }, + { + "value": 14.48, + "precision": 2, + "preliminary": false + } + ] + }, + { + "rowNameGroup": [ + { + "fi": "Kaksiot", + "sv": "Tvårumslägenhet", + "en": "Two-room flat" + }, + { + "fi": "Tampere", + "sv": "Tammerfors", + "en": "Tampere" + } + ], + "series": [ + { + "value": 11.56, + "precision": 2, + "preliminary": false + }, + { + "value": 11.61, + "precision": 2, + "preliminary": false + }, + { + "value": 11.69, + "precision": 2, + "preliminary": false + }, + { + "value": 11.74, + "precision": 2, + "preliminary": false + }, + { + "value": 11.76, + "precision": 2, + "preliminary": false + }, + { + "value": 11.96, + "precision": 2, + "preliminary": false + }, + { + "value": 12.07, + "precision": 2, + "preliminary": false + }, + { + "value": 12.09, + "precision": 2, + "preliminary": false + }, + { + "value": 12.52, + "precision": 2, + "preliminary": false + }, + { + "value": 12.64, + "precision": 2, + "preliminary": false + }, + { + "value": 13.48, + "precision": 2, + "preliminary": false + }, + { + "value": 13.68, + "precision": 2, + "preliminary": false + }, + { + "value": 13.45, + "precision": 2, + "preliminary": false + }, + { + "value": 13.5, + "precision": 2, + "preliminary": false + }, + { + "value": 13.57, + "precision": 2, + "preliminary": false + }, + { + "value": 13.85, + "precision": 2, + "preliminary": false + }, + { + "value": 13.67, + "precision": 2, + "preliminary": false + }, + { + "value": 13.77, + "precision": 2, + "preliminary": false + }, + { + "value": 13.85, + "precision": 2, + "preliminary": false + }, + { + "value": 14.16, + "precision": 2, + "preliminary": false + }, + { + "value": 14.25, + "precision": 2, + "preliminary": false + }, + { + "value": 14.26, + "precision": 2, + "preliminary": false + }, + { + "value": 14.31, + "precision": 2, + "preliminary": false + }, + { + "value": 14.35, + "precision": 2, + "preliminary": false + }, + { + "value": 14.38, + "precision": 2, + "preliminary": false + }, + { + "value": 14.52, + "precision": 2, + "preliminary": false + }, + { + "value": 14.57, + "precision": 2, + "preliminary": false + }, + { + "value": 14.58, + "precision": 2, + "preliminary": false + }, + { + "value": 14.68, + "precision": 2, + "preliminary": false + }, + { + "value": 14.87, + "precision": 2, + "preliminary": false + }, + { + "value": 14.95, + "precision": 2, + "preliminary": false + }, + { + "value": 15.09, + "precision": 2, + "preliminary": false + } + ] + } + ], + "colVarNames": [ + { + "fi": "Vuosineljännes", + "sv": "Kvartal", + "en": "Quarter" + } + ], + "rowVarNames": [ + { + "fi": "Huoneluku", + "sv": "Antal rum", + "en": "Number of rooms" + }, + { + "fi": "Alue", + "sv": "Område", + "en": "Region" + } + ], + "selectableVarNames": [ + { + "fi": "Huoneluku", + "sv": "Antal rum", + "en": "Number of rooms" + } + ], + "visualizationSettings": { + "visualizationType": EVisualizationType.LineChart, + "multiselectableVariableCode": "Huoneluku", + "timeVariableIntervals": ETimeVariableInterval.Quarter, + "timeSeriesStartingPoint": "2015-01-01T00:00:00", + "cutValueAxis": false + }, + "seriesType": 0 } \ No newline at end of file diff --git a/src/core/chartOptions/Utility/formatters.test.ts b/src/core/chartOptions/Utility/formatters.test.ts index d745d39..faa118a 100644 --- a/src/core/chartOptions/Utility/formatters.test.ts +++ b/src/core/chartOptions/Utility/formatters.test.ts @@ -1,6 +1,6 @@ import { DataLabelsOptions, Point, Tooltip } from "highcharts"; import { formatLocale, getDataFormattedForChartType, getDataLabelFormatterFunction, getLineChartToolTipFormatterFunction, getToolTipFormatterFunction, parseScreenReaderFriendlyTimePeriods, shortenStringValue } from "./formatters"; -import { combinationValuesLinechartViewFixture, simpleQuarterLinechartViewFixture } from "./fixtures/linechartViews"; +import { combinationValuesLinechartViewFixture, multiselectableLineChartViewFixture, simpleQuarterLinechartViewFixture } from "./fixtures/linechartViews"; import { simpleHorizontalBarchartViewFixture } from "./fixtures/horizontalbarchartViews"; import { simpleGroupHorizontalBarchartViewFixture } from "./fixtures/grouphorizontalbarchartViews"; import { View } from "../../types/view"; @@ -296,6 +296,25 @@ describe('getLineChartToolTipFormatterFunction tests', () => { const expectedtooltipString = "Alue: Helsinki
Huoneluku: Kaksiot
Vuosineljännes: testPointName
"; expect(formatter.apply(mockPoint, [mockTooltip])).toEqual(expectedtooltipString); }); + + it('The returned formatter function should return tooltip with names of multiselected selectable values', () => { + const mockTooltip: Tooltip = {} as unknown as Tooltip; + const mockPoint = { + series: { + name: 'testSeriesName', + index: 1 + }, + name: 'testPointName', + options: { + custom: { + "preliminary": false + } + } + } as unknown as Point; + const formatter = getLineChartToolTipFormatterFunction(multiselectableLineChartViewFixture, 'fi'); + const expectedtooltipString = "Huoneluku: Yksiöt
Alue: Turku
Vuosineljännes: testPointName
"; + expect(formatter.apply(mockPoint, [mockTooltip])).toEqual(expectedtooltipString); + }); }); describe('getDataFormattedForChartType tests', () => { diff --git a/src/core/conversion/viewUtils.test.ts b/src/core/conversion/viewUtils.test.ts index 9e99d09..b936219 100644 --- a/src/core/conversion/viewUtils.test.ts +++ b/src/core/conversion/viewUtils.test.ts @@ -2456,6 +2456,11 @@ describe('line chart view conversion', () => { } ], rowVarNames: [ + { + "en": "Number of rooms", + "fi": "Huoneluku", + "sv": "Antal rum", + }, { "en": "Region", "fi": "Alue", diff --git a/src/core/conversion/viewUtils.ts b/src/core/conversion/viewUtils.ts index 9260c6e..e33eea2 100644 --- a/src/core/conversion/viewUtils.ts +++ b/src/core/conversion/viewUtils.ts @@ -64,6 +64,13 @@ function convert(responseObj: IQueryVisualizationResponse, selectedValueCodes: T const selectableVariables = getSelectableVariables(metaData, selectableVariableCodes); const contentVar = getContentVariable(metaData); const unsortedSeries = buildSeries(responseObj, selectedValueCodes); + // Row variable names are derived from both directionless multiselected selectable and row variables + const directionlessMultiselectVarNames = responseObj.selectableVariableCodes.filter(code => + selectedValueAmounts[code] > 1 && + !responseObj.rowVariableCodes.includes(code) && + !responseObj.columnVariableCodes.includes(code)); + const rowVarNames = getVariableNames(directionlessMultiselectVarNames, metaData) + .concat(getVariableNames(responseObj.rowVariableCodes, responseObj.metaData)); return { header: responseObj.header, @@ -73,8 +80,8 @@ function convert(responseObj: IQueryVisualizationResponse, selectedValueCodes: T sources: getContentProperty(contentVar, selectedValueCodes, (cc) => cc?.source ?? Translations.empty), columnNameGroups: unsortedSeries.columnNameGroups, series: unsortedSeries.series, + rowVarNames: rowVarNames, colVarNames: getVariableNames(responseObj.columnVariableCodes, responseObj.metaData), - rowVarNames: getVariableNames(responseObj.rowVariableCodes, responseObj.metaData), selectableVarNames: getVariableNames(responseObj.selectableVariableCodes, responseObj.metaData), visualizationSettings: responseObj.visualizationSettings, seriesType: getSeriesType(responseObj.columnVariableCodes, responseObj.metaData) diff --git a/src/core/highcharts/themes.ts b/src/core/highcharts/themes.ts index 120e326..961d356 100644 --- a/src/core/highcharts/themes.ts +++ b/src/core/highcharts/themes.ts @@ -26,7 +26,8 @@ export const defaultTheme: (locale: string) => Highcharts.Options = (locale) => }, exporting: { enabled: false, - fallbackToExportServer: false + fallbackToExportServer: false, + allowHTML: true, }, lang: { accessibility: {