TaphonomyTab

This commit is contained in:
karilint
2024-05-08 17:19:48 +03:00
parent 5636cf5f71
commit 6422123e7b
3 changed files with 237 additions and 97 deletions
@@ -5,6 +5,7 @@ import { DetailView, TabType } from '../DetailView/DetailView'
import { AgeTab } from './Tabs/AgeTab'
import { LithologyTab } from './Tabs/LithologyTab'
import { LocalityTab } from './Tabs/LocalityTab'
import { TaphonomyTab } from './Tabs/TaphonomyTab'
export const LocalityDetails = () => {
const { id } = useParams()
@@ -26,6 +27,10 @@ export const LocalityDetails = () => {
title: 'Lithology',
content: <LithologyTab />,
},
{
title: 'Taphonomy',
content: <TaphonomyTab />,
},
]
return <DetailView tabs={tabs} data={data} />
@@ -4,7 +4,6 @@ import { ArrayFrame } from '../../DetailView/common/FormComponents'
import { useDetailContext } from '@/components/DetailView/hooks'
export const LithologyTab = () => {
const { textField } = useDetailContext<LocalityDetails>()
const { dropdown } = useDetailContext<LocalityDetails>()
@@ -22,7 +21,7 @@ export const LithologyTab = () => {
'shale',
'siltstone',
'tuff',
]
]
const generalOptions = [
'',
@@ -40,116 +39,117 @@ export const LithologyTab = () => {
'marine',
'trap',
'volcanic',
]
const specificOptions = [
'',
'ab_chan_fill',
'alluvial_fan',
'beach',
'cave',
'chan_bar',
'channel',
'crev_splay',
'deep_lake',
'dry_floodplain',
'dune',
'estuary',
'fissure',
'floodplain',
'interdist_bay',
'interdune',
'interfluv',
'lagoon',
'lake_margin',
'levee',
'loess',
'offshore',
'overbank',
'paleosol',
'raised_bog',
'shallow_lake',
'sinkhole',
'spring',
'swamp',
'wet_floodplain',
]
]
const circumstanceOptions = [
'',
'airfall',
'amber',
'burrow',
'coprolite',
'explosion',
'flood',
'midden',
'mudflow',
'paleosol',
'storm',
'tar',
'tree_trunk',
]
const specificOptions = [
'',
'ab_chan_fill',
'alluvial_fan',
'beach',
'cave',
'chan_bar',
'channel',
'crev_splay',
'deep_lake',
'dry_floodplain',
'dune',
'estuary',
'fissure',
'floodplain',
'interdist_bay',
'interdune',
'interfluv',
'lagoon',
'lake_margin',
'levee',
'loess',
'offshore',
'overbank',
'paleosol',
'raised_bog',
'shallow_lake',
'sinkhole',
'spring',
'swamp',
'wet_floodplain',
]
const depoContext1Options = [
'',
{ display: 'FC: Floodplain Channel', value: 'FC' },
{ display: 'FP: Floodplain', value: 'FP' },
{ display: 'FL: Float', value: 'FL' },
{ display: 'MC: Major Channel', value: 'MC' },
{ display: 'SD: Sheet Deposit', value: 'SD' },
'multiple',
'unknown', ]
const circumstanceOptions = [
'',
'airfall',
'amber',
'burrow',
'coprolite',
'explosion',
'flood',
'midden',
'mudflow',
'paleosol',
'storm',
'tar',
'tree_trunk',
]
const depoContext1Options = [
'',
{ display: 'FC: Floodplain Channel', value: 'FC' },
{ display: 'FP: Floodplain', value: 'FP' },
{ display: 'FL: Float', value: 'FL' },
{ display: 'MC: Major Channel', value: 'MC' },
{ display: 'SD: Sheet Deposit', value: 'SD' },
'multiple',
'unknown',
]
const depoContext2Options = [
'',
{ display: 'FC-C: Complex Fill', value: 'FC-C' },
{ display: 'FC-S: Simple Fill', value: 'FC-S' },
{ display: 'FP-C: Continuous', value: 'FP-C' },
{ display: 'FP-L: Laminated', value: 'FP-L' },
{ display: 'FP-P: Patchy', value: 'FP-P' },
{ display: 'MC-L: Lower', value: 'MC-L' },
{ display: 'MC-U: Upper', value: 'MC-U' },
{ display: 'Display value', value: 'actualvalue' },
'multiple',
]
const depoContext3Options = [
'',
{ display: 'FC-C1: Basal Lag and Bar', value: 'FC-C1' },
{ display: 'FC-C2: Cross-cutting Lenses', value: 'FC-C2' },
{ display: 'FC-S1: Basal Lag and Bar', value: 'FC-S1' },
{ display: 'FC-S2: Mixed Lithologies', value: 'FC-S2' },
{ display: 'FC-S3: Fine-grained', value: 'FC-S3' },
{ display: 'MC-U1: Channel Bar', value: 'MC-U1' },
{ display: 'MC-U2: Large-scale Channel Fill', value: 'MC-U2' },
{ display: 'MC-U3: Small-scale Channel Fill', value: 'MC-U3' },
'multiple',
]
const depoContext4Options = [
'',
{ display: 'MC-U2a: Coarse-grained', value: 'MC-U2a' },
{ display: 'MC-U2b: Fine-grained', value: 'MC-U2b' },
{ display: 'MC-U3a: Coarse-grained', value: 'MC-U3a' },
{ display: 'MC-U3b: Fine-grained', value: 'MC-U3b' },
'multiple',
]
const depoContext2Options = [
'',
{ display: 'FC-C: Complex Fill', value: 'FC-C' },
{ display: 'FC-S: Simple Fill', value: 'FC-S' },
{ display: 'FP-C: Continuous', value: 'FP-C' },
{ display: 'FP-L: Laminated', value: 'FP-L' },
{ display: 'FP-P: Patchy', value: 'FP-P' },
{ display: 'MC-L: Lower', value: 'MC-L' },
{ display: 'MC-U: Upper', value: 'MC-U' },
{ display: 'Display value', value: 'actualvalue' },
'multiple'
]
const depoContext3Options = [
'',
{ display: 'FC-C1: Basal Lag and Bar', value: 'FC-C1' },
{ display: 'FC-C2: Cross-cutting Lenses', value: 'FC-C2' },
{ display: 'FC-S1: Basal Lag and Bar', value: 'FC-S1' },
{ display: 'FC-S2: Mixed Lithologies', value: 'FC-S2' },
{ display: 'FC-S3: Fine-grained', value: 'FC-S3' },
{ display: 'MC-U1: Channel Bar', value: 'MC-U1' },
{ display: 'MC-U2: Large-scale Channel Fill', value: 'MC-U2' },
{ display: 'MC-U3: Small-scale Channel Fill', value: 'MC-U3' },
'multiple',
]
const depoContext4Options = [
'',
{ display: 'MC-U2a: Coarse-grained', value: 'MC-U2a' },
{ display: 'MC-U2b: Fine-grained', value: 'MC-U2b' },
{ display: 'MC-U3a: Coarse-grained', value: 'MC-U3a' },
{ display: 'MC-U3b: Fine-grained', value: 'MC-U3b' },
'multiple',
]
const lithology = [
['Rock Type', dropdown('rock_type', rockTypeOptions, 'Rock Type')],
['Short Descriptor', textField('rt_adj')],
['Comments', textField('lith_comm')],
]
const sedimentryEnvironment = [
const sedimentryEnvironment = [
['General', dropdown('sed_env_1', generalOptions, 'General')],
['Specific', dropdown('sed_env_2', specificOptions, 'Specific')],
['GeneralEvent / Circumstance', dropdown('event_circum', circumstanceOptions, 'Event / Circumstance')],
['Comments', textField('se_comm')],
]
const depositionalContext = [
const depositionalContext = [
['Depo Context 1', dropdown('depo_context1', depoContext1Options, 'Depo Context 1')],
['Depo Context 2', dropdown('depo_context2', depoContext2Options, 'Depo Context 2')],
['Depo Context 3', dropdown('depo_context3', depoContext3Options, 'Depo Context 3')],
@@ -0,0 +1,135 @@
import { Box } from '@mui/material'
import { LocalityDetails } from '@/backendTypes'
import { ArrayFrame } from '../../DetailView/common/FormComponents'
import { useDetailContext } from '@/components/DetailView/hooks'
export const TaphonomyTab = () => {
const { textField } = useDetailContext<LocalityDetails>()
const { dropdown } = useDetailContext<LocalityDetails>()
const assemblageFormationOptions = [
'',
{ display: 'Attritional', value: 'attritional' },
{ display: 'Bone collecting vertebrate', value: 'bone_collctr' },
{ display: 'Carnivore ingestion', value: 'carn_ingest' },
{ display: 'Herbivore accumulation', value: 'herb_accum' },
{ display: 'Isolated death', value: 'isol_death' },
{ display: 'Mass death', value: 'mass_death' },
]
const transportOptions = [
'',
{ display: 'Highly transported', value: 'high_trans' },
{ display: 'All three', value: 'high_trans_winn' },
{ display: 'Transported', value: 'trans' },
{ display: 'Transported and winnowed', value: 'trans_winn' },
{ display: 'Untransported', value: 'untrans' },
{ display: 'Untransported and winnowed', value: 'untrans_winn' },
]
const abrasionOptions = [
'',
{ display: 'Abraded', value: 'abraded' },
{ display: 'Mixed', value: 'mixed_abr' },
{ display: 'Unabraded', value: 'unabrade' },
]
const weatheringTramplingOptions = [
'',
{ display: 'Mixed weathered and unweathered', value: 'mx' },
{ display: 'Mixed weathered and trampled', value: 'mx_trmp' },
{ display: 'Trampled', value: 'trmp' },
{ display: 'Unweathered', value: 'unwe' },
{ display: 'Unweathered and trampled', value: 'unwe_trmp' },
{ display: 'Weathered', value: 'we' },
{ display: 'Weathered and trampled', value: 'we_trmp' },
]
const partConcentrationOptions = [
'',
'1-10/m2',
'10-100/m2',
'100-1000/m2',
'>1000/m2',
'<1/100m2',
'1-10/100m2',
'1-10/m3',
'10-100/m3',
'100-1000/m3',
'1000-10000/m3',
'>10000/m3',
'<1/100m3',
'1-10/100m3',
'<10^2/cm3',
'10^2-10^3/cm3',
'10^3-10^4/cm3',
'10^4-10^5/cm3',
'10^5-10^6/cm3',
'>10^6/cm3',
{ display: 'Isolated occurrence', value: 'isol_occur' },
]
const assemblageComponentSizeOptions = ['', 'both', 'macro', 'micro']
const timeRepresentedOptions = [
'',
'<1',
'1-10^1',
'10^1-10^2',
'10^2-10^3',
'10^3-10^4',
'10^4-10^5',
'10^5-10^6',
'>10^6',
]
const vertebratePreservationOptions = [
'',
'artic_pts',
'assoc_pts',
'compression',
'delic_frags',
'disartic_pts',
'isol_teeth',
'mixed_assem',
'not_known',
]
const unbiasedCollectingOptions = [
'',
{ display: 'Yes', value: 'y' },
{ display: 'No', value: 'n' },
]
const speciesListCompleteOptions = [
'',
{ display: 'Yes', value: 'y' },
{ display: 'No', value: 'n' },
]
const fossilAssemblage = [
['Assemblage Formation', dropdown('assem_fm', timeRepresentedOptions, 'Assemblage Formation')],
['Transport', dropdown('transport', transportOptions, 'Transport')],
['Abrasion', dropdown('trans_mod', abrasionOptions, 'Abrasion')],
['Weathering / Trampling', dropdown('weath_trmp', weatheringTramplingOptions, 'Weathering / Trampling')],
['Part Concentration', dropdown('pt_conc', partConcentrationOptions, 'Part Concentration')],
['Assemblage Component Size', dropdown('size_type', assemblageComponentSizeOptions, 'Assemblage Component Size')],
]
const taphonomy = [
['Time Represented (years)', dropdown('time_rep', timeRepresentedOptions, 'Time Represented (years)')],
['Vertebrate Preservation', dropdown('vert_pres', vertebratePreservationOptions, 'Vertebrate Preservation')],
['Approx. Number of Specimens', textField('appr_num_spm')],
['Exact Number of Specimens', textField('num_spm')],
['Number of Quadrats', textField('num_quad')],
['Unbiased Collecting', dropdown('true_quant', unbiasedCollectingOptions, 'Unbiased Collecting')],
['Species List Complete', dropdown('complete', speciesListCompleteOptions, 'Species List Complete')],
]
return (
<Box>
<ArrayFrame array={fossilAssemblage} title="Fossil Assemblage" />
<ArrayFrame array={taphonomy} title="Taphonomy" />
</Box>
)
}