mirror of
https://github.com/nowcommunity/nowdatabase.git
synced 2026-10-12 19:13:52 +03:00
Locality: Get hominin skeletal remains value via function on write, refactor it in frontend
This commit is contained in:
@@ -2,6 +2,7 @@ import { EditDataType, LocalityDetailsType, Reference } from '../../../../fronte
|
||||
import { NOW_DB_NAME } from '../../utils/config'
|
||||
import { WriteHandler } from '../writeOperations/writeHandler'
|
||||
import { getFieldsOfTables } from '../../utils/db'
|
||||
import { getHomininSkeletalRemains } from '../../../../frontend/src/types'
|
||||
|
||||
export const writeLocality = async (
|
||||
locality: EditDataType<LocalityDetailsType>,
|
||||
@@ -25,6 +26,8 @@ export const writeLocality = async (
|
||||
type: locality.lid ? 'update' : 'add',
|
||||
})
|
||||
|
||||
locality.hominin_skeletal_remains = getHomininSkeletalRemains(locality)
|
||||
|
||||
try {
|
||||
await writeHandler.start()
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import { LocalityDetailsType } from '@/backendTypes'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { getHomininSkeletalRemains } from '@/types'
|
||||
|
||||
export const ArchaeologyTab = () => {
|
||||
const { dropdown, radioSelection, data } = useDetailContext<LocalityDetailsType>()
|
||||
@@ -41,21 +42,8 @@ export const ArchaeologyTab = () => {
|
||||
{ display: 'Tabun B', value: 'tabun_b' },
|
||||
]
|
||||
|
||||
const hominins = [
|
||||
'sahelanthropus',
|
||||
'orrorin',
|
||||
'ardipithecus',
|
||||
'kenyanthropus',
|
||||
'australopithecus',
|
||||
'paranthropus',
|
||||
'homo',
|
||||
]
|
||||
|
||||
const archaeology = [
|
||||
[
|
||||
'Hominin skeletal remains',
|
||||
data.now_ls.find(({ com_species }) => hominins.includes(com_species.genus_name.toLowerCase())) ? 'Yes' : 'No',
|
||||
],
|
||||
['Hominin skeletal remains', getHomininSkeletalRemains(data) ? 'Yes' : 'No'],
|
||||
[
|
||||
'Stone tool cut marks on bones',
|
||||
radioSelection(
|
||||
|
||||
+16
-1
@@ -8,7 +8,7 @@ export enum Role {
|
||||
ReadOnly = 7,
|
||||
}
|
||||
|
||||
import { LocalityDetailsType } from '../src/backendTypes'
|
||||
import { EditDataType, LocalityDetailsType } from '../src/backendTypes'
|
||||
|
||||
export const calculateMeanHypsodonty = (locality: LocalityDetailsType) => {
|
||||
// Mean hypsodonty calculation has been made based on html/include/database.php line 2567 onwards
|
||||
@@ -44,3 +44,18 @@ export const calculateMeanHypsodonty = (locality: LocalityDetailsType) => {
|
||||
const meanHypsodonty = species.length > 0 ? sum / (species.length * 1.0) : 0.0
|
||||
return parseFloat((Math.floor(meanHypsodonty * 100) / 100).toFixed(2))
|
||||
}
|
||||
|
||||
const hominins = [
|
||||
'sahelanthropus',
|
||||
'orrorin',
|
||||
'ardipithecus',
|
||||
'kenyanthropus',
|
||||
'australopithecus',
|
||||
'paranthropus',
|
||||
'homo',
|
||||
]
|
||||
|
||||
export const getHomininSkeletalRemains = (locality: EditDataType<LocalityDetailsType>) =>
|
||||
!!locality.now_ls.find(
|
||||
({ com_species }) => com_species?.genus_name && hominins.includes(com_species.genus_name.toLowerCase())
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user