1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-24 14:04:19 +00:00
pds-2021-g2-nest/nest_frontend/components/interactive/BoxVisualizationWordcloud.js

38 lines
1 KiB
JavaScript
Raw Normal View History

2021-05-23 03:03:41 +00:00
import React, { useCallback, useContext } from "react"
2021-05-20 09:39:40 +00:00
import BoxWordcloud from "../base/BoxWordcloud"
2021-05-20 13:34:05 +00:00
import BoxFull from "../base/BoxFull"
import Empty from "./Empty"
2021-05-21 14:37:30 +00:00
import ContextRepositoryViewer from "../../contexts/ContextRepositoryViewer"
2021-05-23 03:03:41 +00:00
import { FilterContains } from "../../objects/Filter"
import useStrings from "../../hooks/useStrings"
2021-05-20 09:39:40 +00:00
2021-05-21 14:37:30 +00:00
export default function BoxVisualizationWordcloud({ ...props }) {
const strings = useStrings()
const { words, appendFilter } = useContext(ContextRepositoryViewer)
2021-05-20 09:39:40 +00:00
2021-05-20 13:34:05 +00:00
if(words.length === 0) {
return (
<BoxFull header={strings.wordcloud} {...props}>
<Empty/>
</BoxFull>
)
}
2021-05-23 03:03:41 +00:00
const onWordClick = useCallback(
word => {
appendFilter(new FilterContains(word.text))
},
2021-05-23 14:20:53 +00:00
[appendFilter],
2021-05-23 03:03:41 +00:00
)
2021-05-20 09:39:40 +00:00
return (
<BoxWordcloud
header={strings.wordcloud}
words={words}
callbacks={{ onWordClick }}
{...props}
/>
2021-05-20 09:39:40 +00:00
)
}