Skip to content

Commit 3ea7302

Browse files
authored
Merge 836e7f4 into d51afe4
2 parents d51afe4 + 836e7f4 commit 3ea7302

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

data-browser/src/hooks/useQueryScope.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { useCallback } from 'react';
2+
import { useNavigate } from 'react-router';
23
import { useQueryString } from '../helpers/navigation';
34

45
export interface QueryScopeHandler {
@@ -11,10 +12,14 @@ export function useQueryScopeHandler(subject: string): QueryScopeHandler;
1112
export function useQueryScopeHandler(): Omit<QueryScopeHandler, 'enableScope'>;
1213
export function useQueryScopeHandler(subject?: string): QueryScopeHandler {
1314
const [scope, setScope] = useQueryString('queryscope');
15+
const navigate = useNavigate();
1416

1517
const enableScope = useCallback(() => {
16-
setScope(subject);
17-
// setQuery('');
18+
const params = new URLSearchParams({
19+
queryscope: subject ?? '',
20+
});
21+
22+
navigate(`/app/search?${params.toString()}`, { replace: true });
1823
}, [setScope, subject]);
1924

2025
const clearScope = useCallback(() => {
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { urls, useResource, useString, useTitle } from '@tomic/react';
2+
import React from 'react';
3+
import { AtomicLink } from '../../components/AtomicLink';
4+
import Markdown from '../../components/datatypes/Markdown';
5+
import { CardViewProps } from './CardViewProps';
6+
7+
export function ElementCard({ resource }: CardViewProps): JSX.Element {
8+
const [documentSubject] = useString(resource, urls.properties.parent);
9+
const document = useResource(documentSubject);
10+
const [documentTitle] = useTitle(document);
11+
12+
const [text] = useString(resource, urls.properties.description);
13+
14+
return (
15+
<>
16+
<AtomicLink subject={document.getSubject()}>
17+
<h2>{documentTitle}</h2>
18+
</AtomicLink>
19+
<Markdown text={text ?? ''} />
20+
</>
21+
);
22+
}

data-browser/src/views/Card/ResourceCard.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { defaultHiddenProps } from '../ResourcePageDefault';
1818
import { MessageCard } from './MessageCard';
1919
import { BookmarkCard } from './BookmarkCard.jsx';
2020
import { CardViewPropsBase } from './CardViewProps';
21+
import { ElementCard } from './ElementCard';
2122

2223
interface ResourceCardProps extends CardViewPropsBase {
2324
/** The subject URL - the identifier of the resource. */
@@ -96,6 +97,8 @@ function ResourceCardInner(props: ResourceCardProps): JSX.Element {
9697
return <MessageCard resource={resource} {...props} />;
9798
case urls.classes.bookmark:
9899
return <BookmarkCard resource={resource} {...props} />;
100+
case urls.classes.elements.paragraph:
101+
return <ElementCard resource={resource} {...props} />;
99102
}
100103

101104
return (

0 commit comments

Comments
 (0)