Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@statisticsfinland/pxvisualizer",
"version": "1.4.1",
"version": "1.4.2",
"description": "Component library for visualizing PxGraf data",
"main": "./dist/pxv.cjs",
"jestSonar": {
Expand Down
72 changes: 40 additions & 32 deletions src/core/tables/__snapshots__/htmlTable.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -261,12 +261,13 @@ exports[`Html table render tests should match snapshot: Table with column variab
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: lukumäärä
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;

Expand Down Expand Up @@ -431,12 +432,13 @@ exports[`Html table render tests should match snapshot: Table with missing data
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: Eur / m2
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;

Expand All @@ -462,12 +464,13 @@ exports[`Html table render tests should match snapshot: Table with only one cell
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: lukumäärä
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;

Expand Down Expand Up @@ -1104,12 +1107,13 @@ exports[`Html table render tests should match snapshot: Table with row and colum
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: Lukumäärä: lukumäärä, Neliövuokra (eur/m2): eur / m2
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;

Expand Down Expand Up @@ -1746,9 +1750,9 @@ exports[`Html table render tests should match snapshot: Table with row and colum
</tr>
</tbody>
</table>
<p>
<span>
Test footnote
</p>
</span>
</div>"
`;

Expand Down Expand Up @@ -2378,12 +2382,13 @@ exports[`Html table render tests should match snapshot: Table with row and colum
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: Lukumäärä: lukumäärä, Neliövuokra (eur/m2): eur / m2
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;

Expand Down Expand Up @@ -3548,12 +3553,13 @@ exports[`Html table render tests should match snapshot: Table with row variables
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: lukumäärä
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;

Expand All @@ -3579,14 +3585,16 @@ exports[`Html table render tests should match snapshot: Table with source and fo
</tr>
</tbody>
</table>
<p>
<span>
Yksikkö: lukumäärä
</p>
<p>
</span>
<span>
<br />
Test footnote
</p>
<p>
</span>
<span>
<br />
Lähde: PxVisualizer-fi
</p>
</span>
</div>"
`;
27 changes: 15 additions & 12 deletions src/core/tables/htmlTable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,38 +33,41 @@ export function renderHtmlTable(view: View, locale: string, options: IChartOptio

container.append(table);

let isFirstMetadata: boolean = true;

// Helper function to add metadata elements
const addMetadata = (text: string) => {
const span = document.createElement('span');
if (!isFirstMetadata) span.append(document.createElement('br'));
span.append(text);
container.append(span);
isFirstMetadata = false;
};

// Units
if (options.showUnits) {
const pUnits = document.createElement('p');
const unitName = getFormattedUnits(view.units, locale);
const units: string = `${Translations.unit[locale]}: ${unitName}`;
pUnits.append(units);
container.append(pUnits);
addMetadata(units);
}

// Footnote
if (footnote) {
const pFootnote = document.createElement('p');
pFootnote.append(footnote);
container.append(pFootnote);
addMetadata(footnote);
}

// Last Updated
if (options.showLastUpdated && view.lastUpdated) {
const pLastUpdated = document.createElement('p');
const lastUpdatedText = getFormattedLastUpdatedText(view.lastUpdated, locale);
if (lastUpdatedText) {
pLastUpdated.append(lastUpdatedText);
container.append(pLastUpdated);
addMetadata(lastUpdatedText);
}
}

// Sources
if (options.showSources) {
const pSources = document.createElement('p');
const sources: string = `${Translations.source[locale]}: ${view.sources.map(source => source[locale]).join(', ')}`;
pSources.append(sources);
container.append(pSources);
addMetadata(sources);
}

} catch (error) {
Expand Down
Loading