mirror of
https://github.com/nowcommunity/nowdatabase.git
synced 2026-10-12 19:13:52 +03:00
refactor: move shared code to frontend/src/shared
This commit is contained in:
+4
-4
@@ -4,13 +4,13 @@ ENV TZ="Europe/Helsinki"
|
||||
|
||||
RUN npm i -g npm
|
||||
WORKDIR /usr/src/app
|
||||
RUN mkdir -p /usr/src/app/frontend/src/validators
|
||||
RUN mkdir -p /usr/src/app/frontend/src/shared/validators
|
||||
|
||||
USER node
|
||||
|
||||
COPY --chown=node frontend/src/backendTypes.d.ts /usr/src/app/frontend/src/backendTypes.d.ts
|
||||
COPY --chown=node frontend/src/shared/types.d.ts /usr/src/app/frontend/src/shared/types.d.ts
|
||||
COPY --chown=node frontend/src/types.ts /usr/src/app/frontend/src/types.ts
|
||||
COPY --chown=node frontend/src/validators /usr/src/app/frontend/src/validators
|
||||
COPY --chown=node frontend/src/validators /usr/src/app/frontend/src/shared/validators
|
||||
COPY --chown=node backend/package.json backend/
|
||||
COPY --chown=node backend/package-lock.json backend/
|
||||
COPY --chown=node backend/prisma/schema.prisma backend
|
||||
@@ -41,7 +41,7 @@ RUN chown node:node /usr/src/app -R
|
||||
WORKDIR /usr/src/app
|
||||
USER node
|
||||
|
||||
COPY --from=backend-build --chown=node /usr/src/app/frontend/src/backendTypes.d.ts ../frontend/src/backendTypes.d.ts
|
||||
COPY --from=backend-build --chown=node /usr/src/app/frontend/src/shared/types.d.ts ../frontend/src/shared/types.d.ts
|
||||
COPY --from=backend-build --chown=node /usr/src/app/frontend/src/types.ts ../frontend/src/types.ts
|
||||
COPY --from=backend-build --chown=node /usr/src/app/backend/build .
|
||||
COPY --from=backend-build --chown=node /usr/src/app/backend/node_modules ./backend/node_modules
|
||||
|
||||
@@ -8,7 +8,7 @@ RUN npm i -g npm
|
||||
USER node
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN mkdir -p /usr/src/app/frontend/src/validators
|
||||
RUN mkdir -p /usr/src/app/frontend/src/shared/validators
|
||||
|
||||
COPY --chown=node ./backend/package.json backend/
|
||||
COPY --chown=node ./backend/package-lock.json backend/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { CrossSearch } from '../../../../frontend/src/backendTypes'
|
||||
import type { CrossSearch } from '../../../../frontend/src/shared/types'
|
||||
import { beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { resetDatabase, send, resetDatabaseTimeout, login, logout } from '../utils'
|
||||
import { pool } from '../../utils/db'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { LocalityDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { LocalityDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { editedLocality, newLocalityBasis } from './data'
|
||||
import { login, resetDatabase, send, resetDatabaseTimeout } from '../utils'
|
||||
import { pool } from '../../utils/db'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { newLocalityBasis } from './data'
|
||||
import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Reference, SpeciesDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { Reference, SpeciesDetailsType } from '../../../../frontend/src/shared/types'
|
||||
|
||||
export const newLocalityBasis = {
|
||||
bfa_max: 'bahean',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { editedLocality } from './data'
|
||||
import { login, resetDatabase, send, testLogRows, resetDatabaseTimeout } from '../utils'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { ReferenceDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { ReferenceDetailsType } from '../../../../frontend/src/shared/types'
|
||||
//import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { newReferenceBasis, emptyReferenceBasis } from './data'
|
||||
import { login, logout, resetDatabase, send, /*testLogRows,*/ resetDatabaseTimeout, noPermError } from '../utils'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, /*EditMetaData, Reference,*/ ReferenceDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, /*EditMetaData, Reference,*/ ReferenceDetailsType } from '../../../../frontend/src/shared/types'
|
||||
|
||||
/*
|
||||
"ref_type_id": 1, "ref_type": "Journal"'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { afterAll, beforeAll, beforeEach, describe, expect, it } from '@jest/globals'
|
||||
import { pool } from '../../utils/db'
|
||||
import { login, logout, resetDatabase, resetDatabaseTimeout, send } from '../utils'
|
||||
import { ReferenceDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { ReferenceDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import Prisma from '../../../prisma/generated/now_test_client'
|
||||
import { newReferenceBasis } from './data'
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { LocalityDetailsType, SpeciesDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { newSpeciesBasis, newSpeciesWithoutRequiredFields } from './data'
|
||||
import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, EditMetaData, Reference, SpeciesDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, EditMetaData, Reference, SpeciesDetailsType } from '../../../../frontend/src/shared/types'
|
||||
|
||||
export const newSpeciesBasis: EditDataType<SpeciesDetailsType> = {
|
||||
class_name: 'Mammalia',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { EditMetaData, SpeciesDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditMetaData, SpeciesDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { login, resetDatabase, send, testLogRows, resetDatabaseTimeout } from '../utils'
|
||||
import { editedSpecies } from './data'
|
||||
|
||||
@@ -2,7 +2,7 @@ import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/glo
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils'
|
||||
import { newTimeBoundBasis } from './data'
|
||||
import { TimeBoundDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { TimeBoundDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { pool } from '../../utils/db'
|
||||
|
||||
let createdTimeBound: TimeBoundDetailsType | null = null
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, EditMetaData, Reference, TimeBoundDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, EditMetaData, Reference, TimeBoundDetailsType } from '../../../../frontend/src/shared/types'
|
||||
|
||||
export const newTimeBoundBasis: EditDataType<TimeBoundDetailsType & EditMetaData> = {
|
||||
b_name: 'C2N-y',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { describe, it, beforeAll, afterAll, beforeEach, expect } from '@jest/globals'
|
||||
import { editedTimeBound, newTimeBoundBasis } from './data'
|
||||
import { send, resetDatabase, login, resetDatabaseTimeout, testLogRows } from '../utils'
|
||||
import { TimeBoundDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { TimeBoundDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { pool } from '../../utils/db'
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { beforeEach, beforeAll, afterAll, describe, it, expect } from '@jest/globals'
|
||||
import { TimeUnitDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { TimeUnitDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../../services/write/writeOperations/types'
|
||||
import { login, logout, resetDatabase, send, testLogRows, resetDatabaseTimeout, noPermError } from '../utils'
|
||||
import { newTimeUnitBasis } from './data'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, EditMetaData, Reference, TimeUnitDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, EditMetaData, Reference, TimeUnitDetailsType } from '../../../../frontend/src/shared/types'
|
||||
|
||||
export const newTimeUnitBasis: EditDataType<TimeUnitDetailsType & EditMetaData> = {
|
||||
tu_display_name: 'Bahean Test',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { describe, it, beforeEach, beforeAll, afterAll, expect } from '@jest/globals'
|
||||
import { TimeUnitDetailsType, EditDataType, EditMetaData } from '../../../../frontend/src/backendTypes'
|
||||
import { TimeUnitDetailsType, EditDataType, EditMetaData } from '../../../../frontend/src/shared/types'
|
||||
import { login, resetDatabase, send, resetDatabaseTimeout, testLogRows } from '../utils'
|
||||
import { editedTimeUnit, newTimeUnitBasis, conflictingTimeUnit } from './data'
|
||||
import { pool } from '../../utils/db'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import request from 'supertest'
|
||||
import app from '../app'
|
||||
import { expect } from '@jest/globals'
|
||||
import { UpdateLog } from '../../../frontend/src/backendTypes'
|
||||
import { UpdateLog } from '../../../frontend/src/shared/types'
|
||||
import { LogRow } from '../services/write/writeOperations/types'
|
||||
|
||||
let token: string | null = null
|
||||
|
||||
@@ -2,7 +2,7 @@ import { Middleware } from '../types'
|
||||
import { SECRET } from '../utils/config'
|
||||
import jwt, { Secret, TokenExpiredError } from 'jsonwebtoken'
|
||||
import { nowDb } from '../utils/db'
|
||||
import { User } from '../../../frontend/src/backendTypes'
|
||||
import { User } from '../../../frontend/src/shared/types'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request, Router } from 'express'
|
||||
import { getAllLocalities, getLocalityDetails, validateEntireLocality } from '../services/locality'
|
||||
import { fixBigInt } from '../utils/common'
|
||||
import { EditDataType, EditMetaData, LocalityDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { EditDataType, EditMetaData, LocalityDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { requireOneOf } from '../middlewares/authorizer'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { deleteLocality, writeLocality } from '../services/write/locality'
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
} from '../services/reference'
|
||||
import { requireOneOf } from '../middlewares/authorizer'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { EditMetaData, ReferenceDetailsType, EditDataType } from '../../../frontend/src/backendTypes'
|
||||
import { EditMetaData, ReferenceDetailsType, EditDataType } from '../../../frontend/src/shared/types'
|
||||
import { deleteReference, writeReference } from '../services/write/reference'
|
||||
|
||||
const router = Router()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Request, Router } from 'express'
|
||||
import { getAllSpecies, getSpeciesDetails, validateEntireSpecies } from '../services/species'
|
||||
import { fixBigInt } from '../utils/common'
|
||||
import { EditMetaData, SpeciesDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { EditMetaData, SpeciesDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { deleteSpecies, writeSpecies } from '../services/write/species'
|
||||
import { requireOneOf } from '../middlewares/authorizer'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Request, Router } from 'express'
|
||||
import { EditDataType, EditMetaData, TimeBoundDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { EditDataType, EditMetaData, TimeBoundDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { requireOneOf } from '../middlewares/authorizer'
|
||||
import {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Request, Router } from 'express'
|
||||
import { EditDataType, EditMetaData, TimeUnitDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { EditDataType, EditMetaData, TimeUnitDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { requireOneOf } from '../middlewares/authorizer'
|
||||
import { getAllSequences } from '../services/sequence'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { User, CrossSearch } from '../../../frontend/src/backendTypes'
|
||||
import { User, CrossSearch } from '../../../frontend/src//shared/types'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { nowDb } from '../utils/db'
|
||||
import {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { EditDataType, LocalityDetailsType, User } from '../../../frontend/src/backendTypes'
|
||||
import { EditDataType, LocalityDetailsType, User } from '../../../frontend/src/shared/types'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { validateLocality } from '../../../frontend/src/validators/locality'
|
||||
import { ValidationObject } from '../../../frontend/src/validators/validator'
|
||||
import { validateLocality } from '../../../frontend/src/shared/validators/locality'
|
||||
import { ValidationObject } from '../../../frontend/src/shared/validators/validator'
|
||||
import Prisma from '../../prisma/generated/now_test_client'
|
||||
import { AccessError } from '../middlewares/authorizer'
|
||||
import { fixBigInt } from '../utils/common'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { PoolConnection } from 'mariadb'
|
||||
import { User } from '../../../frontend/src/backendTypes'
|
||||
import { User } from '../../../frontend/src/shared/types'
|
||||
import { NOW_DB_NAME } from '../utils/config'
|
||||
import { Role } from '../../../frontend/src/types'
|
||||
import { pool } from '../utils/db'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { nowDb } from '../utils/db'
|
||||
import { EditDataType, ReferenceDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { ValidationObject } from '../../../frontend/src/validators/validator'
|
||||
import { validateReference } from '../../../frontend/src/validators/reference'
|
||||
import { EditDataType, ReferenceDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { ValidationObject } from '../../../frontend/src/shared/validators/validator'
|
||||
import { validateReference } from '../../../frontend/src/shared/validators/reference'
|
||||
import Prisma from '../../prisma/generated/now_test_client'
|
||||
|
||||
export const getAllReferences = async () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { EditDataType, SpeciesDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { validateSpecies } from '../../../frontend/src/validators/species'
|
||||
import { ValidationObject } from '../../../frontend/src/validators/validator'
|
||||
import { EditDataType, SpeciesDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { validateSpecies } from '../../../frontend/src/shared/validators/species'
|
||||
import { ValidationObject } from '../../../frontend/src/shared/validators/validator'
|
||||
import Prisma from '../../prisma/generated/now_test_client'
|
||||
import { fixBigInt } from '../utils/common'
|
||||
import { logDb, nowDb } from '../utils/db'
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { logDb, nowDb } from '../utils/db'
|
||||
import { validateTimeBound } from '../../../frontend/src/validators/timeBound'
|
||||
import { TimeBoundDetailsType, EditDataType } from '../../../frontend/src/backendTypes'
|
||||
import { validateTimeBound } from '../../../frontend/src/shared/validators/timeBound'
|
||||
import { TimeBoundDetailsType, EditDataType } from '../../../frontend/src/shared/types'
|
||||
import Prisma from '../../prisma/generated/now_test_client'
|
||||
import { ValidationObject } from '../../../frontend/src/validators/validator'
|
||||
import { ValidationObject } from '../../../frontend/src/shared/validators/validator'
|
||||
|
||||
export const getAllTimeBounds = async () => {
|
||||
const result = await nowDb.now_tu_bound.findMany({
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { logDb, nowDb } from '../utils/db'
|
||||
import { EditDataType, TimeUnitDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { ValidationObject } from '../../../frontend/src/validators/validator'
|
||||
import { validateTimeUnit } from '../../../frontend/src/validators/timeUnit'
|
||||
import { EditDataType, TimeUnitDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { ValidationObject } from '../../../frontend/src/shared/validators/validator'
|
||||
import { validateTimeUnit } from '../../../frontend/src/shared/validators/timeUnit'
|
||||
|
||||
export const getAllTimeUnits = async () => {
|
||||
const result = await nowDb.now_time_unit.findMany({
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, FixBigInt, ReferenceAuthorType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, FixBigInt, ReferenceAuthorType } from '../../../../frontend/src/shared/types'
|
||||
import { getFieldsOfTables, nowDb } from '../../utils/db'
|
||||
import { filterAllowedKeys } from './writeOperations/utils'
|
||||
import Prisma from '../../../prisma/generated/now_test_client'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, FixBigInt, ReferenceJournalType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, FixBigInt, ReferenceJournalType } from '../../../../frontend/src/shared/types'
|
||||
import { getFieldsOfTables, nowDb } from '../../utils/db'
|
||||
import { filterAllowedKeys } from './writeOperations/utils'
|
||||
import Prisma from '../../../prisma/generated/now_test_client'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, LocalityDetailsType, Reference, User } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, LocalityDetailsType, Reference, User } from '../../../../frontend/src/shared/types'
|
||||
import { NOW_DB_NAME } from '../../utils/config'
|
||||
import { WriteHandler } from './writeOperations/writeHandler'
|
||||
import { getFieldsOfTables } from '../../utils/db'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, FixBigInt, ReferenceDetailsType } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, FixBigInt, ReferenceDetailsType } from '../../../../frontend/src/shared/types'
|
||||
import { getFieldsOfTables, nowDb } from '../../utils/db'
|
||||
import { getReferenceDetails } from '../reference'
|
||||
import { filterAllowedKeys, convertToPrismaDate } from './writeOperations/utils'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, FixBigInt, Reference, SpeciesDetailsType, User } from '../../../../frontend/src/backendTypes'
|
||||
import { EditDataType, FixBigInt, Reference, SpeciesDetailsType, User } from '../../../../frontend/src/shared/types'
|
||||
import { NOW_DB_NAME } from '../../utils/config'
|
||||
import { WriteHandler } from './writeOperations/writeHandler'
|
||||
import { getFieldsOfTables } from '../../utils/db'
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
LocalityDetailsType,
|
||||
TimeUnitDetailsType,
|
||||
User,
|
||||
} from '../../../../frontend/src/backendTypes'
|
||||
} from '../../../../frontend/src/shared/types'
|
||||
import { NOW_DB_NAME } from '../../utils/config'
|
||||
import { WriteHandler } from './writeOperations/writeHandler'
|
||||
import { getFieldsOfTables } from '../../utils/db'
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
TimeUnitDetailsType,
|
||||
LocalityDetailsType,
|
||||
User,
|
||||
} from '../../../../frontend/src/backendTypes'
|
||||
} from '../../../../frontend/src/shared/types'
|
||||
import { NOW_DB_NAME } from '../../utils/config'
|
||||
import { WriteHandler } from './writeOperations/writeHandler'
|
||||
import { getFieldsOfTables } from '../../utils/db'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Reference } from '../../../../../../frontend/src/backendTypes'
|
||||
import { Reference } from '../../../../../../frontend/src/shared/types'
|
||||
import { COORDINATOR } from '../../../../utils/config'
|
||||
import { AllowedTables, ActionType, Item, LogRow, PrimaryTables, WriteItem, UpdateEntry } from '../types'
|
||||
import { WriteHandler } from '../writeHandler'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Reference } from '../../../../../../frontend/src/backendTypes'
|
||||
import { Reference } from '../../../../../../frontend/src/shared/types'
|
||||
import { LOG_DB_NAME } from '../../../../utils/config'
|
||||
import { LogRow, ActionType, AllowedTables, UpdateEntry } from '../types'
|
||||
import { WriteHandler } from '../writeHandler'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable } from '../../../../../frontend/src/backendTypes'
|
||||
import { Editable } from '../../../../../frontend/src/shared/types'
|
||||
import { DbWriteItem } from './databaseHandler'
|
||||
import { DbValue } from './types'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Reference, RowState } from '../../../../../frontend/src/backendTypes'
|
||||
import { Reference, RowState } from '../../../../../frontend/src/shared/types'
|
||||
import { logger } from '../../../utils/logger'
|
||||
import { logAllUpdates } from './updateLogger/prepareUpdates'
|
||||
import { DatabaseHandler, DbWriteItem } from './databaseHandler'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, TimeUnitDetailsType, TimeBoundDetailsType } from '../../../frontend/src/backendTypes'
|
||||
import { EditDataType, TimeUnitDetailsType, TimeBoundDetailsType } from '../../../frontend/src/shared/types'
|
||||
import { nowDb } from './db'
|
||||
import { calculateLocalityMaxAge, calculateLocalityMinAge } from './ageCalculator'
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ The context can also be used to access, for example, the **setEditData** setter,
|
||||
|
||||
**Documentation for validators**
|
||||
|
||||
[Validators](../../frontend/src/validators/README.md)
|
||||
[Validators](../../frontend/src/shared/validators/README.md)
|
||||
|
||||
**editingComponents**
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ Not possible trough the interface. However if still necessary, here's some thing
|
||||
* You should create a new entry to the table for all of the connections between the new field & the 14 reference types & set the visibility to true or false depending on if you want the new field to be visible to the reference type
|
||||
* The field itself is not defined in one specific place and is something more of an emergent entity from all of these connections
|
||||
* The new field's field_name needs to match the name of the field in ref_ref where the information will be saved
|
||||
* Most of the types relating to references need to be edited in forntend/src/backendTypes.ts
|
||||
* Most of the types relating to references need to be edited in forntend/src/shared/types.ts
|
||||
|
||||
* You can accomplish the above in testdata/sqlfiles/now_test.sql by adding some rows. Rows 3200+ add the existing fields so looks for help there
|
||||
|
||||
|
||||
@@ -8,6 +8,6 @@ Both editing and creating new entries go via same route in the app. Following th
|
||||
- A validator and a write functions in [services](../../backend/src/services/species.ts) for the route to call.
|
||||
|
||||
- Frontend:
|
||||
- [Spesific validators](../../frontend/src/validators/species.ts) are defined here.
|
||||
- [Spesific validators](../../frontend/src/shared/validators/species.ts) are defined here.
|
||||
- An api-endpoint for edit needs to be defined in [reducers](../../frontend/src/redux/speciesReducer.ts) (this serves for creating a new entry as well)
|
||||
- An onWrite-function needs to be defined with the help of the api-endpoint and call navigate-function to end up in the [details-view](../../frontend/src/components/Species/SpeciesDetails.tsx) of the edited/created entry. (At the moment there's a 15ms time-out before the navigation for species as sometimes it tried to navigate before knowing where to (no id yet). This could be investigated if this is a more general bug or something weird happening only in species)
|
||||
|
||||
@@ -10,7 +10,7 @@ Following things are needed to create a new page with a table (examples are all
|
||||
- Earlier we used prisma.findMany-function to fetch the data, but with cross search's 90k rows, the GET-call took approx 40s in staging environment. We found out that prisma.rawSQL with LEFT JOIN would reduce time of the call from 10s to 3s in dev environment. This reduced the call time for staging to approx 10s. Could possible be implemented for other tables also for better performance.
|
||||
|
||||
- Frontend:
|
||||
- Create necessary types in [backendtypes](../../frontend/src/backendTypes.d.ts)
|
||||
- Create necessary types in [backendtypes](../../frontend/src/shared/types.d.ts)
|
||||
- Create a button for the component in [navigation bar](../../frontend/src/components/NavBar.tsx)
|
||||
- Create a relevant page-object for [Pages](../../frontend/src/components/pages.tsx)
|
||||
- Add a route for the component to [App](../../frontend/src/App.tsx)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { MRT_ColumnDef } from 'material-react-table'
|
||||
import { Reference } from './backendTypes'
|
||||
import { Reference } from './shared/types'
|
||||
import { Cell } from './components/commonComponents'
|
||||
|
||||
export const formatLastLoginDate = (date: Date) => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { CrossSearch } from '@/backendTypes'
|
||||
import { CrossSearch } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
import { useGetAllCrossSearchQuery } from '@/redux/crossSearchReducer'
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
import { ReactNode, createContext, useState, JSX, useEffect, Context, useContext } from 'react'
|
||||
import { DropdownOption } from '../common/editingComponents'
|
||||
import { cloneDeep } from 'lodash-es'
|
||||
import { ValidationObject } from '@/validators/validator'
|
||||
import { EditDataType } from '@/backendTypes'
|
||||
import { ValidationObject } from '@/shared/validators/validator'
|
||||
import { EditDataType } from '@/shared/types'
|
||||
import { TextFieldOptions, OptionalRadioSelectionProps } from '../DetailView'
|
||||
|
||||
export type ModeOptions = 'read' | 'new' | 'edit' | 'staging-edit' | 'staging-new'
|
||||
|
||||
@@ -14,8 +14,8 @@ import {
|
||||
import { DetailBrowser } from './DetailBrowser'
|
||||
import { StagingView } from './StagingView'
|
||||
import { ReturnButton, WriteButton } from './components'
|
||||
import { ValidationObject } from '@/validators/validator'
|
||||
import { EditDataType } from '@/backendTypes'
|
||||
import { ValidationObject } from '@/shared/validators/validator'
|
||||
import { EditDataType } from '@/shared/types'
|
||||
import { usePageContext } from '../Page'
|
||||
|
||||
export type TabType = {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { SelectingTable } from './common/SelectingTable'
|
||||
import { useGetAllReferencesQuery } from '@/redux/referenceReducer'
|
||||
import { referenceTableColumns } from '@/common'
|
||||
import { MRT_RowData } from 'material-react-table'
|
||||
import { Editable, Reference } from '@/backendTypes'
|
||||
import { Editable, Reference } from '@/shared/types'
|
||||
import { EditableTable } from './common/EditableTable'
|
||||
|
||||
export const StagingView = <T extends MRT_RowData>() => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, RowState } from '@/backendTypes'
|
||||
import { EditDataType, RowState } from '@/shared/types'
|
||||
import { CircularProgress, Box, Button } from '@mui/material'
|
||||
import {
|
||||
type MRT_ColumnDef,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Box, TextField } from '@mui/material'
|
||||
import { EditingModal } from './EditingModal'
|
||||
import { useForm } from 'react-hook-form'
|
||||
import { EditDataType, Editable } from '@/backendTypes'
|
||||
import { EditDataType, Editable } from '@/shared/types'
|
||||
import { useDetailContext } from '../Context/DetailContext'
|
||||
|
||||
export type EditingFormField = { name: string; label: string; required?: boolean }
|
||||
|
||||
@@ -4,7 +4,7 @@ import { TableView } from '@/components/TableView/TableView'
|
||||
import { useDetailContext } from '../Context/DetailContext'
|
||||
import { useMemo } from 'react'
|
||||
import { Box, CircularProgress } from '@mui/material'
|
||||
import { EditDataType } from '@/backendTypes'
|
||||
import { EditDataType } from '@/shared/types'
|
||||
|
||||
/*
|
||||
If editabletable has different type than selectingtable rows,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ReferenceOfUpdate, UpdateLog } from '@/backendTypes'
|
||||
import { ReferenceOfUpdate, UpdateLog } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { EditingModal } from '@/components/DetailView/common/EditingModal'
|
||||
import { SimpleTable } from '@/components/DetailView/common/SimpleTable'
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
SpeciesDetailsType,
|
||||
TimeBoundDetailsType,
|
||||
TimeUnitDetailsType,
|
||||
} from '@/backendTypes'
|
||||
} from '@/shared/types'
|
||||
|
||||
export const emptyLocality = {
|
||||
bfa_max: '',
|
||||
|
||||
@@ -19,7 +19,7 @@ import { RegisterOptions, FieldValues, UseFormRegisterReturn, FieldErrors } from
|
||||
import { useDetailContext } from '../Context/DetailContext'
|
||||
import { DataValue } from './tabLayoutHelpers'
|
||||
import { modalStyle } from './misc'
|
||||
import { EditDataType } from '@/backendTypes'
|
||||
import { EditDataType } from '@/shared/types'
|
||||
import { calculateLocalityMinAge, calculateLocalityMaxAge } from '@/util/ageCalculator'
|
||||
|
||||
const fieldWidth = '14em'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { Card, Typography, Box, Grid, Divider } from '@mui/material'
|
||||
import { ReactNode } from 'react'
|
||||
import { useDetailContext } from '../Context/DetailContext'
|
||||
import { EditDataType } from '@/backendTypes'
|
||||
import { EditDataType } from '@/shared/types'
|
||||
|
||||
export const ArrayToTable = ({ array, half }: { array: Array<Array<ReactNode>>; half?: boolean }) => {
|
||||
const maxRowLength = Math.max(...array.map(row => row.length))
|
||||
|
||||
@@ -4,7 +4,7 @@ import ArrowBackIcon from '@mui/icons-material/ArrowBack'
|
||||
import SaveIcon from '@mui/icons-material/Save'
|
||||
import { usePageContext } from '../Page'
|
||||
import { useDetailContext } from './Context/DetailContext'
|
||||
import { EditDataType } from '@/backendTypes'
|
||||
import { EditDataType } from '@/shared/types'
|
||||
import { useState, useEffect } from 'react'
|
||||
|
||||
export const WriteButton = <T,>({
|
||||
|
||||
@@ -16,8 +16,8 @@ import { MuseumTab } from './Tabs/MuseumTab'
|
||||
import { ProjectTab } from './Tabs/ProjectTab'
|
||||
import { SpeciesTab } from './Tabs/SpeciesTab'
|
||||
import { TaphonomyTab } from './Tabs/TaphonomyTab'
|
||||
import { EditDataType, LocalityDetailsType, ValidationErrors } from '@/backendTypes'
|
||||
import { validateLocality } from '@/validators/locality'
|
||||
import { EditDataType, LocalityDetailsType, ValidationErrors } from '@/shared/types'
|
||||
import { validateLocality } from '@/shared/validators/locality'
|
||||
import { UpdateTab } from '../DetailView/common/UpdateTab'
|
||||
import { emptyLocality } from '../DetailView/common/defaultValues'
|
||||
import { useNotify } from '@/hooks/notification'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { useGetAllLocalitiesQuery, useGetLocalitySpeciesListMutation } from '../../redux/localityReducer'
|
||||
import { Locality } from '@/backendTypes'
|
||||
import { Locality } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
import { useNotify } from '@/hooks/notification'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LocalityDetailsType, TimeUnitDetailsType } from '@/backendTypes'
|
||||
import { LocalityDetailsType, TimeUnitDetailsType } from '@/shared/types'
|
||||
import { BasisForAgeSelection } from '@/components/DetailView/common/editingComponents'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LocalityDetailsType } from '@/backendTypes'
|
||||
import { LocalityDetailsType } from '@/shared/types'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LocalityDetailsType } from '@/backendTypes'
|
||||
import { LocalityDetailsType } from '@/shared/types'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LocalityDetailsType } from '@/backendTypes'
|
||||
import { LocalityDetailsType } from '@/shared/types'
|
||||
import { ArrayFrame } from '../../DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { calculateMeanHypsodonty } from '@/types'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, LocalityDetailsType, SedimentaryStructure, SedimentaryStructureValues } from '@/backendTypes'
|
||||
import { Editable, LocalityDetailsType, SedimentaryStructure, SedimentaryStructureValues } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, LocalityDetailsType, LocalitySynonym } from '@/backendTypes'
|
||||
import { Editable, LocalityDetailsType, LocalitySynonym } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { Grouped, ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { Box, TextField } from '@mui/material'
|
||||
@@ -10,7 +10,7 @@ import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { CoordinateSelectionMap } from '@/components/Map/CoordinateSelectionMap'
|
||||
import { useState } from 'react'
|
||||
import { convertDmsToDec, convertDecToDms } from '@/util/coordinateConversion'
|
||||
import { validCountries } from '@/validators/countryList'
|
||||
import { validCountries } from '@/shared/validators/countryList'
|
||||
|
||||
export const LocalityTab = () => {
|
||||
const { textField, radioSelection, dropdown, dropdownWithSearch, mode, bigTextField } =
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, LocalityDetailsType, Museum } from '@/backendTypes'
|
||||
import { Editable, LocalityDetailsType, Museum } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, LocalityDetailsType, Project } from '@/backendTypes'
|
||||
import { Editable, LocalityDetailsType, Project } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { LocalityDetailsType, LocalitySpecies, Species, SpeciesDetailsType } from '@/backendTypes'
|
||||
import { LocalityDetailsType, LocalitySpecies, Species, SpeciesDetailsType } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { EditingForm } from '@/components/DetailView/common/EditingForm'
|
||||
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, LocalityDetailsType, CollectingMethod } from '@/backendTypes'
|
||||
import { Editable, LocalityDetailsType, CollectingMethod } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { Grouped, ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { MRT_ColumnDef } from 'material-react-table'
|
||||
|
||||
@@ -4,7 +4,7 @@ import { CircularProgress } from '@mui/material'
|
||||
import { DetailView, TabType } from '../DetailView/DetailView'
|
||||
import { PersonTab } from './Tabs/PersonTab'
|
||||
import { useUser } from '@/hooks/user'
|
||||
import { EditDataType, PersonDetailsType } from '@/backendTypes'
|
||||
import { EditDataType, PersonDetailsType } from '@/shared/types'
|
||||
|
||||
export const PersonDetails = () => {
|
||||
const { id: idFromUrl } = useParams()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { useGetAllPersonsQuery } from '../../redux/personReducer'
|
||||
import { PersonDetailsType } from '@/backendTypes'
|
||||
import { PersonDetailsType } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
import { formatLastLoginDate } from '@/common'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { PersonDetailsType } from '@/backendTypes'
|
||||
import { PersonDetailsType } from '@/shared/types'
|
||||
import { ArrayFrame, Grouped } from '../../DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { formatLastLoginDate } from '@/common'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { useGetAllProjectsQuery } from '../../redux/projectReducer'
|
||||
import { Project } from '@/backendTypes'
|
||||
import { Project } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
|
||||
export const ProjectTable = ({ selectorFn }: { selectorFn?: (id: Project) => void }) => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ProjectDetailsType, ProjectPeople } from '@/backendTypes'
|
||||
import { ProjectDetailsType, ProjectPeople } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { ArrayFrame, Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { MRT_ColumnDef } from 'material-react-table'
|
||||
|
||||
@@ -7,9 +7,9 @@ import {
|
||||
useGetReferenceDetailsQuery,
|
||||
useDeleteReferenceMutation,
|
||||
} from '@/redux/referenceReducer'
|
||||
import { EditDataType, ReferenceDetailsType, ValidationErrors } from '@/backendTypes'
|
||||
import { EditDataType, ReferenceDetailsType, ValidationErrors } from '@/shared/types'
|
||||
import { emptyReference } from '../DetailView/common/defaultValues'
|
||||
import { validateReference } from '@/validators/reference'
|
||||
import { validateReference } from '@/shared/validators/reference'
|
||||
import { useNotify } from '@/hooks/notification'
|
||||
import { useEffect } from 'react'
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useGetAllReferencesQuery } from '../../redux/referenceReducer'
|
||||
import { Reference } from '@/backendTypes'
|
||||
import { Reference } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
import { referenceTableColumns } from '@/common'
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React, { useEffect } from 'react'
|
||||
import { ReferenceDetailsType, ReferenceAuthorType, RowState, EditDataType } from '@/backendTypes'
|
||||
import { ReferenceDetailsType, ReferenceAuthorType, RowState, EditDataType } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { EditingForm } from '@/components/DetailView/common/EditingForm'
|
||||
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* eslint-disable react/prop-types */
|
||||
import { ReferenceDetailsType, ReferenceJournalType } from '@/backendTypes'
|
||||
import { ReferenceDetailsType, ReferenceJournalType } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { EditingForm } from '@/components/DetailView/common/EditingForm'
|
||||
import { SelectingTable } from '@/components/DetailView/common/SelectingTable'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ReferenceDetailsType } from '@/backendTypes'
|
||||
import { ReferenceDetailsType } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useGetReferenceTypesQuery } from '@/redux/referenceReducer'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { useGetAllRegionsQuery } from '../../redux/regionReducer'
|
||||
import { Region } from '@/backendTypes'
|
||||
import { Region } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
|
||||
export const RegionTable = ({ selectorFn }: { selectorFn?: (id: Region) => void }) => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RegionDetails, RegionCoordinator, RegionCountry } from '@/backendTypes'
|
||||
import { RegionDetails, RegionCoordinator, RegionCountry } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { MRT_ColumnDef } from 'material-react-table'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { useGetSequencesQuery } from '../../redux/timeUnitReducer'
|
||||
import { Sequence } from '@/backendTypes'
|
||||
import { Sequence } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
|
||||
export const SequenceTable = ({ selectorFn }: { selectorFn?: (id: Sequence) => void }) => {
|
||||
|
||||
@@ -11,8 +11,8 @@ import { SynonymTab } from './Tabs/SynonymTab'
|
||||
import { TaxonomyTab } from './Tabs/TaxonomyTab'
|
||||
import { TeethTab } from './Tabs/TeethTab'
|
||||
import { UpdateTab } from '../DetailView/common/UpdateTab'
|
||||
import { EditDataType, SpeciesDetailsType, ValidationErrors } from '@/backendTypes'
|
||||
import { validateSpecies } from '@/validators/species'
|
||||
import { EditDataType, SpeciesDetailsType, ValidationErrors } from '@/shared/types'
|
||||
import { validateSpecies } from '@/shared/validators/species'
|
||||
import { emptySpecies } from '../DetailView/common/defaultValues'
|
||||
import { useNotify } from '@/hooks/notification'
|
||||
import { useEffect } from 'react'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useMemo } from 'react'
|
||||
import { type MRT_ColumnDef } from 'material-react-table'
|
||||
import { useGetAllSpeciesQuery } from '../../redux/speciesReducer'
|
||||
import { Species } from '@/backendTypes'
|
||||
import { Species } from '@/shared/types'
|
||||
import { TableView } from '../TableView/TableView'
|
||||
|
||||
export const SpeciesTable = ({ selectorFn }: { selectorFn?: (id: Species) => void }) => {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SpeciesDetailsType } from '@/backendTypes'
|
||||
import { SpeciesDetailsType } from '@/shared/types'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, SpeciesDetailsType, SpeciesLocality } from '@/backendTypes'
|
||||
import { Editable, SpeciesDetailsType, SpeciesLocality } from '@/shared/types'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { EditingModal } from '@/components/DetailView/common/EditingModal'
|
||||
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, Locality, SpeciesDetailsType } from '@/backendTypes'
|
||||
import { Editable, Locality, SpeciesDetailsType } from '@/shared/types'
|
||||
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { EditableTable } from '@/components/DetailView/common/EditableTable'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SpeciesDetailsType } from '@/backendTypes'
|
||||
import { SpeciesDetailsType } from '@/shared/types'
|
||||
import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SpeciesDetailsType } from '@/backendTypes'
|
||||
import { SpeciesDetailsType } from '@/shared/types'
|
||||
import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@components/DetailView/Context/DetailContext'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Editable, EditDataType, Species, SpeciesDetailsType, SpeciesSynonym } from '@/backendTypes'
|
||||
import { Editable, EditDataType, Species, SpeciesDetailsType, SpeciesSynonym } from '@/shared/types'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
import { Grouped } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { MRT_ColumnDef } from 'material-react-table'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SpeciesDetailsType } from '@/backendTypes'
|
||||
import { SpeciesDetailsType } from '@/shared/types'
|
||||
import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { SpeciesDetailsType } from '@/backendTypes'
|
||||
import { SpeciesDetailsType } from '@/shared/types'
|
||||
import { emptyOption } from '@/components/DetailView/common/misc'
|
||||
import { ArrayFrame, HalfFrames } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TimeBoundDetailsType } from '@/backendTypes'
|
||||
import { TimeBoundDetailsType } from '@/shared/types'
|
||||
import { ArrayFrame } from '@/components/DetailView/common/tabLayoutHelpers'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { TimeUnit, TimeBoundDetailsType } from '@/backendTypes'
|
||||
import { TimeUnit, TimeBoundDetailsType } from '@/shared/types'
|
||||
import { useGetTimeBoundTimeUnitsQuery } from '@/redux/timeBoundReducer'
|
||||
import { CircularProgress } from '@mui/material'
|
||||
import { useDetailContext } from '@/components/DetailView/Context/DetailContext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { EditDataType, TimeBoundDetailsType, ValidationErrors } from '@/backendTypes.js'
|
||||
import { EditDataType, TimeBoundDetailsType, ValidationErrors } from '@/shared/types.js'
|
||||
import { useNotify } from '@/hooks/notification.ts'
|
||||
import { CircularProgress } from '@mui/material'
|
||||
import { useEffect } from 'react'
|
||||
@@ -13,7 +13,7 @@ import { UpdateTab } from '../DetailView/common/UpdateTab.tsx'
|
||||
import { DetailView, TabType } from '../DetailView/DetailView'
|
||||
import { BoundTab } from './Tabs/BoundTab'
|
||||
import { TimeUnitTab } from './Tabs/TimeUnitTab.tsx'
|
||||
import { validateTimeBound } from '@/validators/timeBound.ts'
|
||||
import { validateTimeBound } from '@/shared/validators/timeBound.ts'
|
||||
|
||||
export const TimeBoundDetails = () => {
|
||||
const { id } = useParams()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user