From 2ce148af0fef28a9ad08727d0089915207ee4d8d Mon Sep 17 00:00:00 2001 From: mabarber92 Date: Thu, 24 Jul 2025 10:18:56 +0100 Subject: [PATCH 1/2] fix metadata export for selection closes #26 --- package-lock.json | 18 +++--- .../NavigationAndStats/DownloadData.js | 57 +++++++++---------- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 60e8458..246af98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5143,12 +5143,13 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.2.48", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", - "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", + "version": "17.0.87", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.87.tgz", + "integrity": "sha512-wpg9AbtJ6agjA+BKYmhG6dRWEU/2DHYwMzCaBzsz137ft6IyuqZ5fI4ic1DWL4DrI03Zy78IyVE6ucrXl0mu4g==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", + "@types/scheduler": "^0.16", "csstype": "^3.0.2" } }, @@ -19135,16 +19136,17 @@ } }, "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=14.17" + "node": ">=4.2.0" } }, "node_modules/unbox-primitive": { diff --git a/src/components/CorpusMetadata/NavigationAndStats/DownloadData.js b/src/components/CorpusMetadata/NavigationAndStats/DownloadData.js index 6631b35..ab37759 100644 --- a/src/components/CorpusMetadata/NavigationAndStats/DownloadData.js +++ b/src/components/CorpusMetadata/NavigationAndStats/DownloadData.js @@ -4,39 +4,38 @@ import React, { useContext } from "react"; import { CSVLink } from "react-csv"; import { Context } from "../../../App"; +// Function to flatten data for export (ChatGPT suggestion) +const flattenItem = (item) => ({ + id: item?.id, + release_code: item?.release_version?.release_code, + release_date: item?.release_version?.release_date, + version_code: item?.version_code, + version_uri: item?.version_uri, + pdf_url: item?.edition?.pdf_url, + language: item?.language, + analysis_priority: item?.release_version?.analysis_priority, + annotation_status: item?.release_version?.annotation_status, + token_length: item?.release_version?.tok_length, + char_length: item?.release_version?.char_length, + url: item?.release_version?.url, + text_tags: item?.text?.tags, + text_uri: item?.text?.text_uri, + title_ar_prefered: item?.text?.title_ar_prefered, + title_lat_prefered: item?.text?.title_lat_prefered, + author_uri: item?.text?.author?.[0]?.author_uri, + author_ar_prefered: item?.text?.author?.[0]?.author_ar_prefered, + author_lat_prefered: item?.text?.author?.[0]?.author_lat_prefered, + author_date_AH: item?.text?.author?.[0]?.date_AH, + author_date_CE: item?.text?.author?.[0]?.date_CE, +}); + + const DownloadData = ({ data, status }) => { const { checkedBooks } = useContext(Context); // format metadata for download - const specificData = - checkedBooks.length !== 0 - ? checkedBooks - : data.map((item) => { - const dataObject = { - id: item?.id, - release_code: item?.release_version?.release_code, - release_date: item?.release_version?.release_date, - version_code: item?.version_code, - version_uri: item?.version_uri, - pdf_url: item?.edition?.pdf_url, - language: item?.language, - analysis_priority: item?.release_version?.analysis_priority, - annotation_status: item?.release_version?.annotation_status, - token_length: item?.release_version?.tok_length, - char_length: item?.release_version?.char_length, - url: item?.release_version?.url, - text_tags: item?.text?.tags, - text_uri: item?.text?.text_uri, - title_ar_prefered: item?.text?.title_ar_prefered, - title_lat_prefered: item?.text?.title_lat_prefered, - author_uri: item?.text?.author[0]?.author_uri, - author_ar_prefered: item?.text?.author[0]?.author_ar_prefered, - author_lat_prefered: item?.text?.author[0]?.author_lat_prefered, - author_date_AH: item?.text?.author[0]?.date_AH, - author_date_CE: item?.text?.author[0]?.date_CE, - }; - return dataObject; - }); + const specificData = (checkedBooks.length !== 0 ? checkedBooks : data).map(flattenItem); + return ( Date: Mon, 28 Jul 2025 17:27:51 +0100 Subject: [PATCH 2/2] Improve tooltips for pairwise download --- src/components/CorpusMetadata/NavigationAndStats/index.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/CorpusMetadata/NavigationAndStats/index.js b/src/components/CorpusMetadata/NavigationAndStats/index.js index 9a2b3d5..8cc8c15 100644 --- a/src/components/CorpusMetadata/NavigationAndStats/index.js +++ b/src/components/CorpusMetadata/NavigationAndStats/index.js @@ -351,7 +351,7 @@ const NavigationAndStats = () => { title={ checkedBooks.length < 3 ? pairwiseUrl === null ? "Pairwise File not available for selected books" - : "Download Pairwise File in CSV format" + : "Download Pairwise Text Reuse Data (larger file, excl. actual text alignments)" : "Select 2 books to download a file with pairwise text reuse" } placement="top" @@ -380,9 +380,9 @@ const NavigationAndStats = () => {