From 0f62218a81287577736b953f4c225deafa197763 Mon Sep 17 00:00:00 2001 From: "@s.roertgen" Date: Wed, 27 Mar 2024 09:49:52 +0100 Subject: [PATCH] WIP Add scopeNote to search widget #285 --- config.default.yaml | 1 + gatsby-node.js | 5 +++++ src/components/Search.jsx | 2 +- src/queries.js | 3 +++ src/templates/helpers.js | 5 +++++ 5 files changed, 15 insertions(+), 1 deletion(-) diff --git a/config.default.yaml b/config.default.yaml index 06fab5e..e1f6e95 100644 --- a/config.default.yaml +++ b/config.default.yaml @@ -10,6 +10,7 @@ searchableAttributes: - "hiddenLabel" - "example" - "definition" + - "scopeNote" ui: title: "SkoHub Vocabs" # Title is mandatory logo: "skohub-signet-color.svg" # Path diff --git a/gatsby-node.js b/gatsby-node.js index 04fa0d7..9f6c549 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -296,6 +296,7 @@ exports.createPages = async ({ graphql, actions: { createPage } }) => { "hiddenLabel", "definition", "example", + "scopeNote" ], }, }) @@ -364,6 +365,10 @@ exports.createPages = async ({ graphql, actions: { createPage } }) => { Object.hasOwn(concept.example, language) && { example: i18n(language)(concept.example), }), + ...(concept.scopeNote && + Object.hasOwn(concept.scopeNote, language) && { + scopeNote: i18n(language)(concept.scopeNote), + }), notation: concept.notation, } indexes[language].add(document) diff --git a/src/components/Search.jsx b/src/components/Search.jsx index 0a790e8..22568ba 100644 --- a/src/components/Search.jsx +++ b/src/components/Search.jsx @@ -53,7 +53,7 @@ const Search = ({ handleQueryInput, labels, onLabelClick }) => { closeModal={() => setModal(false)} id="settingsModal" > -

Which labels do you want to include in the search?

+

Which fields do you want to include in the search?

diff --git a/src/queries.js b/src/queries.js index d14c8ca..1211c14 100644 --- a/src/queries.js +++ b/src/queries.js @@ -191,6 +191,9 @@ module.exports.allConceptScheme = (languages) => ` example { ${[...languages].join(" ")} } + scopeNote { + ${[...languages].join(" ")} + } deprecated } ` diff --git a/src/templates/helpers.js b/src/templates/helpers.js index fafe5ec..6e87d6b 100644 --- a/src/templates/helpers.js +++ b/src/templates/helpers.js @@ -43,6 +43,10 @@ export const handleKeypresses = (labels, setLabels) => { e.preventDefault() Object.keys(labels).includes("hiddenLabel") && setLabels({ ...labels, ["hiddenLabel"]: !labels["hiddenLabel"] }) + } else if (e.altKey && e.which === 83) { + e.preventDefault() + Object.keys(labels).includes("scopeNote") && + setLabels({ ...labels, ["scopeNote"]: !labels["scopeNote"] }) } } document.addEventListener("keydown", handleKeyDown) @@ -75,6 +79,7 @@ export const importIndex = async ( "hiddenLabel", "definition", "example", + "scopeNote" ], }, })