Type fixes; comment species selecting out for now, editdatatype is not working

This commit is contained in:
ShootingStar91
2024-06-10 12:57:36 +03:00
parent 4a86a6f3e8
commit 62806a18c6
3 changed files with 24 additions and 16 deletions
+7 -5
View File
@@ -13,7 +13,7 @@ type PartialExceptArrays<T> = {
// This is used for editData, which is all the same stuff as data, but for writing actions,
// so must include references and have fields as partial.
type EditDataType<T> = PartialExceptArrays<T> & { references: Reference[] }
export type SpeciesType = Prisma.com_species
export type RowState = 'new' | 'removed' | 'cancelled' | 'clean'
export type UpdateComment = { update_comment: string }
// Use this for fields that include array that has to be edited by EditableTable.
@@ -22,7 +22,7 @@ export type Editable<T> = T & { rowState?: RowState }
export type SedimentaryStructureValues = Prisma.now_ss_values
export type CollectingMethod = Prisma.now_coll_meth
export type LocalityProject = Prisma.now_plr & { now_proj: Prisma.now_proj }
export type LocalitySpecies = Prisma.now_ls & { com_species: Prisma.com_species }
export type LocalitySpecies = Omit<Prisma.now_ls, 'com_species'> & { com_species: SpeciesType }
export type SpeciesLocality = Prisma.now_ls & { now_loc: Prisma.now_loc }
export type LocalityUpdate = Prisma.now_lau & { now_lr: Prisma.now_lr }
export type SpeciesUpdate = Prisma.now_sau & { now_lr: Prisma.now_sr }
@@ -98,7 +98,7 @@ export type Reference = {
title_secondary: string
}
export type ReferenceDetailsType = Prisma.ref_ref
export type ReferenceDetailsType = EditDataType<Prisma.ref_ref>
export type RegionDetails = Prisma.now_reg_coord & { now_reg_coord_people: Array<RegionCoordinator> } & {
now_reg_coord_country: Array<RegionCountry>
}
@@ -133,9 +133,11 @@ export type TimeUnit = {
export type TimeBoundUpdate = Prisma.now_bau & { now_br: Prisma.now_br }
export type TimeUnitSequence = Prisma.now_tu_sequence
export type TimeUnitDetailsType = EditDataType<Prisma.now_time_unit & { now_tu_sequence: Array<SequenceDetailsType> }>
export type TimeUnitUpdate = Prisma.now_time_update & { now_br: Prisma.now_tr }
export type TimeUnitUpdate = Prisma.now_time_update & { now_tr: Prisma.now_tr }
export type TimeUnitDetailsType = EditDataType<
Prisma.now_time_unit & { now_tu_sequence: Array<SequenceDetailsType> }
> & { now_tau: Array<TimeUnitUpdate> }
export type ReferenceType = Prisma.ref_ref_type & { ref_field_name: Prisma.ref_field_name[] }
@@ -1,9 +1,7 @@
//import { Editable, LocalityDetailsType, Museum } from '@/backendTypes'
import { Editable, LocalityDetailsType, Species } from '@/backendTypes'
import { LocalityDetailsType, Species } from '@/backendTypes'
import { EditableTable } from '@/components/DetailView/common/EditableTable'
import { EditingForm } from '@/components/DetailView/common/EditingForm'
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
import { useGetAllSpeciesQuery } from '@/redux/speciesReducer'
import { Box, CircularProgress } from '@mui/material'
@@ -69,18 +67,24 @@ export const SpeciesTab = () => {
<EditingForm<Species, LocalityDetailsType>
buttonText="Add new Species"
formFields={formFields}
arrayFieldName="species"
arrayFieldName="now_ls"
/>
<SelectingTable<Species, LocalityDetailsType>
{/*
TODO fix this. EditDataType still doesn't work correctly: requires now_ls all fields
<SelectingTable<EditDataType<SpeciesType>, EditDataType<LocalityDetailsType>>
buttonText="Select Species"
data={speciesData}
columns={columns}
fieldName="species"
fieldName="now_ls"
idFieldName="species_id"
/>
editingAction={(newSpecies: SpeciesType) => {
setEditData({ ...editData, now_ls: [...editData.now_ls, { com_species: newSpecies }] })
}}
/>*/}
</Box>
)}
<EditableTable<Editable<Species>, LocalityDetailsType> columns={columns} field="species" />
<EditableTable<Species, LocalityDetailsType> columns={columns} field="now_ls" />
</Grouped>
)
}
@@ -1,10 +1,12 @@
import { Editable, TimeUnitDetailsType, TimeUnitUpdate } from '@/backendTypes'
import { EditableTable } from '@/components/DetailView/common/EditableTable'
import { TimeUnitDetailsType, TimeUnitUpdate } from '@/backendTypes'
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
import { SimpleTable } from '@/components/DetailView/common/SimpleTable'
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
import { Box } from '@mui/material'
import { MRT_ColumnDef } from 'material-react-table'
export const UpdateTab = () => {
const { data } = useDetailContext<TimeUnitDetailsType>()
const formatDate = (date: Date | null) => {
if (!date) return 'No date'
return new Date(date).toISOString().split('T')[0]
@@ -33,7 +35,7 @@ export const UpdateTab = () => {
return (
<Grouped title="Updates">
<EditableTable<Editable<TimeUnitUpdate>, TimeUnitDetailsType> columns={columns} field="now_tau" />
<SimpleTable columns={columns} data={data.now_tau} />
</Grouped>
)
}