From 42352ae10a7b7a20f899a2fbec08b6155f794378 Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Tue, 19 Mar 2024 09:48:24 +0100 Subject: [PATCH] WIP: query panel --- src/components/fdos/create.tsx | 5 --- src/components/fdos/list.tsx | 1 - src/components/header/QueryPanel.tsx | 50 ++++++++++++++++++++++++++++ src/components/header/index.tsx | 2 ++ src/components/repositories/list.tsx | 1 - src/utils.tsx | 1 - 6 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 src/components/header/QueryPanel.tsx diff --git a/src/components/fdos/create.tsx b/src/components/fdos/create.tsx index f5b6d6c..470b37a 100644 --- a/src/components/fdos/create.tsx +++ b/src/components/fdos/create.tsx @@ -128,7 +128,6 @@ const FileUpload: React.FC<any> = ({ register, errors, name, label, setError }) validate }) - console.log(inputProps) const onChange = (e: any) => { setFiles(e.target?.files) inputProps.onChange(e) @@ -164,10 +163,8 @@ const StepData: React.FC<any> = ({ register, errors }) => { export const FdoCreate: React.FC<IResourceComponentsProps> = () => { const go = useGo() const accessToken = useAccessToken() - console.log('accessToken: ', accessToken) const formRet = useStepsForm<any, HttpError, any>({ defaultValues: { repository: '', profile: '' }, refineCoreProps: { meta: { headers: { Authentication: `Bearer ${accessToken}` } } } }) - console.log('formRet', formRet) const { setError, saveButtonProps, @@ -189,8 +186,6 @@ export const FdoCreate: React.FC<IResourceComponentsProps> = () => { } const onSubmit = (data: any) => { - console.log('data', data) - onFinish([{ fdo: data.repository }, data.fdo_data[0], data.fdo_metadata[0]]) } const theme = useTheme() diff --git a/src/components/fdos/list.tsx b/src/components/fdos/list.tsx index a026e79..3e7bd98 100644 --- a/src/components/fdos/list.tsx +++ b/src/components/fdos/list.tsx @@ -25,7 +25,6 @@ const columns: Array<GridColDef<OperationsLogRecord>> = [ flex: 1, type: 'string', renderCell: (params): any => { - console.log('params', params) return <Link href={`/fdo/show/${params.id}`}>{params.id}</Link> } }, { diff --git a/src/components/header/QueryPanel.tsx b/src/components/header/QueryPanel.tsx new file mode 100644 index 0000000..03357f3 --- /dev/null +++ b/src/components/header/QueryPanel.tsx @@ -0,0 +1,50 @@ +import { useState } from 'react' +import Paper from '@mui/material/Paper' +import InputBase from '@mui/material/InputBase' +import IconButton from '@mui/material/IconButton' +import SearchIcon from '@mui/icons-material/Search' +import FormHelperText from '@mui/material/FormHelperText' +import FormControl from '@mui/material/FormControl' +import { useGo, useNotification } from '@refinedev/core' + +export default function QueryPanel () { + const [pid, setPid] = useState('') + const [error, setError] = useState<string | boolean>(false) + const go = useGo() + const onChange = (e: any) => { + setPid(e.target.value) + setError(false) + } + const onSubmit = (e: any) => { + e.preventDefault() + if (!pid.includes('/')) { + setError('prefix / suffix') + return false + } + + const prefix = pid?.split('/', 1)[0] + const suffix = pid?.substring(prefix.length + 1) + go({ to: { resource: 'fdo', action: 'show', id: pid, meta: { prefix, suffix } }, type: 'push' }) + } + return ( + <FormControl error={!!error}> + <Paper + component="form" + sx={{ p: '2px 4px', display: 'flex', alignItems: 'center', width: 400 }} + onSubmit={onSubmit} + > + <FormHelperText>{error}</FormHelperText> + <InputBase + sx={{ flex: 1 }} + placeholder="Resolve PID" + inputProps={{ 'aria-label': 'resolve pid' }} + value={pid} + onChange={onChange} + /> + <IconButton onClick={onSubmit} type="button" sx={{ p: '10px' }} aria-label="search"> + <SearchIcon /> + </IconButton> + </Paper> + </FormControl> + ) +} diff --git a/src/components/header/index.tsx b/src/components/header/index.tsx index c10df7b..5aa8bee 100644 --- a/src/components/header/index.tsx +++ b/src/components/header/index.tsx @@ -16,6 +16,7 @@ import Link from 'next/link' import { useRouter } from 'next/router' import React, { useContext } from 'react' import UserComponent from './UserComponent' +import QueryPanel from './QueryPanel' export const Header: React.FC<RefineThemedLayoutV2HeaderProps> = ({ sticky = true @@ -38,6 +39,7 @@ export const Header: React.FC<RefineThemedLayoutV2HeaderProps> = ({ alignItems="center" gap="16px" > + <QueryPanel/> <FormControl sx={{ minWidth: 64 }}> <Select disableUnderline diff --git a/src/components/repositories/list.tsx b/src/components/repositories/list.tsx index 95088b5..b840c0e 100644 --- a/src/components/repositories/list.tsx +++ b/src/components/repositories/list.tsx @@ -43,7 +43,6 @@ const columns: Array<GridColDef<IRepository>> = [ export const RepositoriesList: React.FC<IResourceComponentsProps> = () => { const { dataGridProps } = useDataGrid<IRepository>() - console.log('repositoriesList', dataGridProps) return ( <List> diff --git a/src/utils.tsx b/src/utils.tsx index 756de8c..edc9cb2 100644 --- a/src/utils.tsx +++ b/src/utils.tsx @@ -14,7 +14,6 @@ export const useAccessToken: any = () => { const { mutate: logout } = useLogout() const { open } = useNotification() - console.log('useAccessToken', identity) const data = identity?.data?.data if (data?.accessToken == null) { -- GitLab