diff --git a/frontend/src/v5/store/containers/containers.types.ts b/frontend/src/v5/store/containers/containers.types.ts index 69740737141..6ae3d81b262 100644 --- a/frontend/src/v5/store/containers/containers.types.ts +++ b/frontend/src/v5/store/containers/containers.types.ts @@ -80,34 +80,6 @@ export const CONTAINER_TYPES = [ }, ]; -export const CONTAINER_UNITS = [ - { - value: 'mm', - name: formatMessage({ id: 'containers.unit.name.mm', defaultMessage: 'Millimetres' }), - abbreviation: formatMessage({ id: 'containers.unit.abbreviation.mm', defaultMessage: 'mm' }), - }, - { - value: 'cm', - name: formatMessage({ id: 'containers.unit.name.cm', defaultMessage: 'Centimetres' }), - abbreviation: formatMessage({ id: 'containers.unit.abbreviation.cm', defaultMessage: 'cm' }), - }, - { - value: 'dm', - name: formatMessage({ id: 'containers.unit.name.dm', defaultMessage: 'Decimetres' }), - abbreviation: formatMessage({ id: 'containers.unit.abbreviation.dm', defaultMessage: 'dm' }), - }, - { - value: 'm', - name: formatMessage({ id: 'containers.unit.name.m', defaultMessage: 'Metres' }), - abbreviation: formatMessage({ id: 'containers.unit.abbreviation.m', defaultMessage: 'm' }), - }, - { - value: 'ft', - name: formatMessage({ id: 'containers.unit.name.ft', defaultMessage: 'Feet and Inches' }), - abbreviation: formatMessage({ id: 'containers.unit.abbreviation.ft', defaultMessage: 'ft' }), - }, -]; - export interface MinimumContainer { _id: string, name: string, diff --git a/frontend/src/v5/ui/routes/dashboard/projects/containers/createContainerForm/createContainerForm.component.tsx b/frontend/src/v5/ui/routes/dashboard/projects/containers/createContainerForm/createContainerForm.component.tsx index 87e8ef017f7..22947c7c289 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/containers/createContainerForm/createContainerForm.component.tsx +++ b/frontend/src/v5/ui/routes/dashboard/projects/containers/createContainerForm/createContainerForm.component.tsx @@ -20,7 +20,8 @@ import { yupResolver } from '@hookform/resolvers/yup'; import { FormModal } from '@controls/formModal/formModal.component'; import { useForm, SubmitHandler } from 'react-hook-form'; import { ContainersActionsDispatchers } from '@/v5/services/actionsDispatchers'; -import { CONTAINER_TYPES, CONTAINER_UNITS } from '@/v5/store/containers/containers.types'; +import { CONTAINER_TYPES } from '@/v5/store/containers/containers.types'; +import { MODEL_UNITS } from '../../models.helpers'; import { CreateContainerSchema } from '@/v5/validation/containerAndFederationSchemes/containerSchemes'; import { FormSelect, FormTextField } from '@controls/inputs/formInputs.component'; import { MenuItem } from '@mui/material'; @@ -101,7 +102,7 @@ export const CreateContainerForm = ({ open, onClickClose }: ICreateContainer): J name="unit" label={formatMessage({ id: 'containers.creation.form.units', defaultMessage: 'Units' })} > - {CONTAINER_UNITS.map((unit) => ( + {MODEL_UNITS.map((unit) => ( {unit.name} diff --git a/frontend/src/v5/ui/routes/dashboard/projects/containers/uploadContainerRevisionForm/sidebarForm/sidebarForm.component.tsx b/frontend/src/v5/ui/routes/dashboard/projects/containers/uploadContainerRevisionForm/sidebarForm/sidebarForm.component.tsx index 8b7fca4399e..8ce486a2550 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/containers/uploadContainerRevisionForm/sidebarForm/sidebarForm.component.tsx +++ b/frontend/src/v5/ui/routes/dashboard/projects/containers/uploadContainerRevisionForm/sidebarForm/sidebarForm.component.tsx @@ -18,7 +18,8 @@ import { formatMessage } from '@/v5/services/intl'; import { FormattedMessage } from 'react-intl'; import { useFormContext } from 'react-hook-form'; -import { CONTAINER_TYPES, CONTAINER_UNITS } from '@/v5/store/containers/containers.types'; +import { CONTAINER_TYPES } from '@/v5/store/containers/containers.types'; +import { MODEL_UNITS } from '../../../models.helpers'; import * as countriesAndTimezones from 'countries-and-timezones'; import { MenuItem } from '@mui/material'; import { FormSelect, FormTextField } from '@controls/inputs/formInputs.component'; @@ -71,7 +72,7 @@ export const SidebarForm = () => { name={`${revisionPrefix}.containerUnit`} label={formatMessage({ id: 'containers.creation.form.units', defaultMessage: 'Units' })} > - {CONTAINER_UNITS.map((unit) => ( + {MODEL_UNITS.map((unit) => ( {unit.name} diff --git a/frontend/src/v5/ui/routes/dashboard/projects/federations/createFederationForm/createFederationSettings/createFederationSettings.component.tsx b/frontend/src/v5/ui/routes/dashboard/projects/federations/createFederationForm/createFederationSettings/createFederationSettings.component.tsx index c8cb15e5cbd..b83df34dd3b 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/federations/createFederationForm/createFederationSettings/createFederationSettings.component.tsx +++ b/frontend/src/v5/ui/routes/dashboard/projects/federations/createFederationForm/createFederationSettings/createFederationSettings.component.tsx @@ -16,7 +16,7 @@ */ import { formatMessage } from '@/v5/services/intl'; -import { CONTAINER_UNITS } from '@/v5/store/containers/containers.types'; +import { MODEL_UNITS } from '../../../models.helpers'; import { FormSelect, FormTextField } from '@controls/inputs/formInputs.component'; import { MenuItem } from '@mui/material'; import { useFormContext } from 'react-hook-form'; @@ -57,7 +57,7 @@ export const CreateFederationFormSettings = () => { })} control={control} > - {CONTAINER_UNITS.map(({ name, value }) => ( + {MODEL_UNITS.map(({ name, value }) => ( {name} diff --git a/frontend/src/v5/ui/routes/dashboard/projects/models.helpers.ts b/frontend/src/v5/ui/routes/dashboard/projects/models.helpers.ts new file mode 100644 index 00000000000..12866424b1d --- /dev/null +++ b/frontend/src/v5/ui/routes/dashboard/projects/models.helpers.ts @@ -0,0 +1,46 @@ +/** + * Copyright (C) 2024 3D Repo Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +import { formatMessage } from '@/v5/services/intl'; + +export const MODEL_UNITS = [ + { + value: 'mm', + name: formatMessage({ id: 'containers.unit.name.mm', defaultMessage: 'Millimetres' }), + abbreviation: formatMessage({ id: 'containers.unit.abbreviation.mm', defaultMessage: 'mm' }), + }, + { + value: 'cm', + name: formatMessage({ id: 'containers.unit.name.cm', defaultMessage: 'Centimetres' }), + abbreviation: formatMessage({ id: 'containers.unit.abbreviation.cm', defaultMessage: 'cm' }), + }, + { + value: 'dm', + name: formatMessage({ id: 'containers.unit.name.dm', defaultMessage: 'Decimetres' }), + abbreviation: formatMessage({ id: 'containers.unit.abbreviation.dm', defaultMessage: 'dm' }), + }, + { + value: 'm', + name: formatMessage({ id: 'containers.unit.name.m', defaultMessage: 'Metres' }), + abbreviation: formatMessage({ id: 'containers.unit.abbreviation.m', defaultMessage: 'm' }), + }, + { + value: 'ft', + name: formatMessage({ id: 'containers.unit.name.ft', defaultMessage: 'Feet and Inches' }), + abbreviation: formatMessage({ id: 'containers.unit.abbreviation.ft', defaultMessage: 'ft' }), + }, +]; diff --git a/frontend/src/v5/ui/routes/dashboard/projects/settingsModal/settingsModal.component.tsx b/frontend/src/v5/ui/routes/dashboard/projects/settingsModal/settingsModal.component.tsx index faa7d27db99..4cbf80077d7 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/settingsModal/settingsModal.component.tsx +++ b/frontend/src/v5/ui/routes/dashboard/projects/settingsModal/settingsModal.component.tsx @@ -32,29 +32,7 @@ import { UnhandledErrorInterceptor } from '@controls/errorMessage/unhandledError import { FormNumberField, FormSelect, FormSelectView, FormTextField } from '@controls/inputs/formInputs.component'; import { ProjectsHooksSelectors, TeamspacesHooksSelectors } from '@/v5/services/selectorsHooks'; import { FlexContainer, SectionTitle, Placeholder, HiddenMenuItem } from './settingsModal.styles'; - -const UNITS = [ - { - name: formatMessage({ id: 'units.mm.name', defaultMessage: 'Millimetres' }), - abbreviation: formatMessage({ id: 'units.mm.abbreviation', defaultMessage: 'mm' }), - }, - { - name: formatMessage({ id: 'units.cm.name', defaultMessage: 'Centimetres' }), - abbreviation: formatMessage({ id: 'units.cm.abbreviation', defaultMessage: 'cm' }), - }, - { - name: formatMessage({ id: 'units.dm.name', defaultMessage: 'Decimetres' }), - abbreviation: formatMessage({ id: 'units.dm.abbreviation', defaultMessage: 'dm' }), - }, - { - name: formatMessage({ id: 'units.m.name', defaultMessage: 'Metres' }), - abbreviation: formatMessage({ id: 'units.m.abbreviation', defaultMessage: 'm' }), - }, - { - name: formatMessage({ id: 'units.ft.name', defaultMessage: 'Feet and inches' }), - abbreviation: formatMessage({ id: 'units.ft.abbreviation', defaultMessage: 'ft' }), - }, -]; +import { MODEL_UNITS } from '../models.helpers'; const CONTAINER_TYPES = [ formatMessage({ id: 'settings.type.uncategorised', defaultMessage: 'Uncategorised' }), @@ -88,7 +66,7 @@ interface IFormInput { } const getDefaultValues = (containerOrFederation: IContainer | IFederation, isContainer?: boolean) => { - const DEFAULT_UNIT = UNITS[0]; + const DEFAULT_UNIT = MODEL_UNITS[0]; const { unit = DEFAULT_UNIT.abbreviation, angleFromNorth, @@ -275,7 +253,7 @@ export const SettingsModal = ({ control={control} disabled={!isProjectAdmin} > - {UNITS.map(({ name, abbreviation }) => ( + {MODEL_UNITS.map(({ name, abbreviation }) => ( {name} diff --git a/frontend/src/v5/ui/routes/viewer/toolbar/buttons/toolbarButtons.component.tsx b/frontend/src/v5/ui/routes/viewer/toolbar/buttons/toolbarButtons.component.tsx index 339aaacd5d0..b985c963086 100644 --- a/frontend/src/v5/ui/routes/viewer/toolbar/buttons/toolbarButtons.component.tsx +++ b/frontend/src/v5/ui/routes/viewer/toolbar/buttons/toolbarButtons.component.tsx @@ -30,7 +30,7 @@ import { VerticalRangeContainer, VerticalRangeValue } from '../selectionToolbar/ import { useContext } from 'react'; import { CalibrationContext } from '../../../dashboard/projects/calibration/calibrationContext'; import { UNITS_CONVERSION_FACTORS_TO_METRES } from '../../../dashboard/projects/calibration/calibration.helpers'; -import { CONTAINER_UNITS } from '@/v5/store/containers/containers.types'; +import { MODEL_UNITS } from '../../../dashboard/projects/models.helpers'; export const HomeButton = () => (