Skip to content
Snippets Groups Projects
collection_editor.js 2 KiB
Newer Older
  • Learn to ignore specific revisions
  • fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    // import './login.css';
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    import { Backdrop, Box, Button, CircularProgress, TextField } from '@mui/material';
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    import React, { useState, useEffect } from 'react'
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    import { dbGetCollection, dbUpdateCollectionGlob, dbUpdateCollectionSummary } from './database_util';
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    
    const CollectionEditor = (props) => {
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
        const [open, setOpen] = React.useState(false);
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    
    
        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";
            }
        }
    
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
        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()
            await dbUpdateCollectionSummary(id)
            console.log(id,props.collection)
            props.onCollectionUpdate(await dbGetCollection(id))
            setOpen(false);
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    
        return (
            <Box>
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
                <h2>{props.collection["collection_name"]}</h2>
                <h3>Debug Collection Glob:</h3>
                <TextField multiline maxRows={15} fullWidth label="(Debug) Raw text:" value={getGlob()} onChange={(e) => updateGlob(e)}/>
                <h3>Generated Summary:</h3>
                <TextField disabled multiline maxRows={20} fullWidth label="Summary:" value={props.collection["collection_summary"]}/>
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
    
    
                <Button onClick={saveGlob}>(Debug) Save Glob</Button>
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
                <Button onClick={generateSummary}>Generate Summary</Button>
    
    
                <Backdrop
                    open={open}
                >
                    <CircularProgress/>
                </Backdrop>
    
    fcrisafulli-dev's avatar
    fcrisafulli-dev committed
            </Box>
        );
    }
    
    export default CollectionEditor;