@ts4nfdi/terminology-service-suite
v6.4.5
Published
This project includes a widget component library derived from the semantic lookup service SemLookP. The Terminology Service is a repository for biomedical resources that aims to provide a single point of access to the latest ontology and terminology versi
Readme
Usage
Demo projects:
A minimal Next.js React app using the NPM React package
Projects, which use the widgets in production:
Usage of the NPM package
- Install the package
npm install @ts4nfdi/terminology-service-suite- Install peer dependencies
npm install @elastic/[email protected] @emotion/[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] @elastic/[email protected]- In the 'Docs' tab of the widgets in the React Storybook, a code snippet is provided in the
Show codedrop-down below the sample widget. Copy the snippet, add into your app and replace with your parameters. See example below:
<AutocompleteWidget
api="https://semanticlookup.zbmed.de/ols/api/"
placeholder="Search for a Concept"
selectionChangedEvent={() => {console.log("selectionChangedEvent")}}
/>- Wrap inside QueryClientProvider
The widgets use react-query to fetch data. To make the widgets work properly, you have to wrap the component inside aQueryClientProvider. For help see QueryClient.
import {QueryClient, QueryClientProvider} from "react-query";
const queryClient = new QueryClient();
<QueryClientProvider client={queryClient}>
<AutocompleteWidget
...
/>
</QueryClientProvider>Hints:
- The TSS is a client library - in a Next.js app, the 'use client'-directive is needed
- We can provide server functions at user request, e.g.
getBreadcrumbData()to allow server side data fetching. Pull request
Usage of older versions
Versions older than 5.0 are published at GitHub.
To install the GitHub package, you need to authenticate to GitHub.com. Detailed documentation on this topic can be found here.
- Create a Personal Access Token (PAT), see Creating a personal access token (classic). To download and install packages from a repository, your personal access token must have the
read:packagesscope, and your user account must have read permission. - Create a local
~/.npmrcfile add the following two lines to it. ReplaceTOKENwith your personal access token
//npm.pkg.github.com/:_authToken=TOKEN
@ts4nfdi:registry=https://npm.pkg.github.com- Install the package
npm install @ts4nfdi/terminology-service-suite- Install peer dependencies (package versions depend on the respective widget version)
npm install @elastic/[email protected] @emotion/[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] @elastic/[email protected]- Implement as described above.
Development instructions
https://github.com/ts4nfdi/terminology-service-suite/wiki/Development-instructions
