Newer
Older
import { Backdrop, Box, Button, CircularProgress, TextField, List, ListItem, ListItemButton, ListItemText, ListItemIcon, Select, MenuItem } from '@mui/material';
import { dbGetCollection, dbGetItems, dbUpdateCollectionGlob, dbUpdateCollectionSummary, dbUpdateCollectionSummaryNLTK, dbUpdateCollectionSummaryBERT } from './database_util';
const [summarizer, setSummarizer] = useState('');
const updateGlob = (event) => {
// console.log();
let copy = JSON.parse(JSON.stringify(props.collection))
copy["collection_data"]["glob"] = event.target.value
props.onCollectionUpdate(copy)
// console.log(copy);
}
const getGlob = () => {
try{
let v = props.collection["collection_data"]["glob"];
return v;
} catch {
return "null";
}
}
const saveGlob = async () => {
await dbUpdateCollectionGlob(props.collection["collection_id"],props.collection["collection_data"]["glob"])
}
const generateSummary = async () => {
setOpen(true);
let id = props.collection["collection_id"]
await saveGlob()
if (summarizer === "T5 Summarizer") {
await dbUpdateCollectionSummary(id)
} else if (summarizer === "BERT Summarizer") {
await dbUpdateCollectionSummaryBERT(id)
} else if (summarizer === "NLTK Summarizer") {
await dbUpdateCollectionSummaryNLTK(id)
}
// await dbUpdateCollectionSummaryBERT(id)
console.log(id,props.collection)
props.onCollectionUpdate(await dbGetCollection(id))
setOpen(false);
}
// console.log("loadedRawFiles", props.loadedRawFiles)
<h1>{props.collection["collection_name"]}</h1>
<h3>Loaded Files</h3>
<List sx={{boxShadow:1}}>
{
props.loadedRawFiles.map((f) => {
return (
<ListItem>
<ListItemButton>
<ListItemText>
{f.path}
</ListItemText>
</ListItemButton>
</ListItem>
);
})
}
</List>
<List sx={{boxShadow:1}}>
<ListItem>
<ListItemText>
Please select which summarizer you would like to use to generate the summary
</ListItemText>
<Select
value={summarizer}
onChange={(e) => setSummarizer(e.target.value)}
sx={{ width: "300px" }}
>
<MenuItem value="T5 Summarizer">T5 Summarizer</MenuItem>
<MenuItem value="NLTK Summarizer">NLTK Summarizer</MenuItem>
<MenuItem value="BERT Summarizer">BERT Summarizer</MenuItem>
</Select>
</ListItem>
</List>
<h3>Generated Summary:</h3>
<TextField disabled multiline maxRows={20} fullWidth label="Summary:" value={props.collection["collection_summary"]}/>
<Button onClick={generateSummary}>Generate Summary</Button>
<Backdrop
open={open}
>
<CircularProgress/>
</Backdrop>
</Box>
);
}
export default CollectionEditor;