Skip to content

Commit

Permalink
ISSUE #5173 - extract units
Browse files Browse the repository at this point in the history
  • Loading branch information
Amantini1997 committed Sep 25, 2024
1 parent 12b952e commit 57b85eb
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 61 deletions.
28 changes: 0 additions & 28 deletions frontend/src/v5/store/containers/containers.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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) => (
<MenuItem key={unit.value} value={unit.value}>
{unit.name}
</MenuItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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) => (
<MenuItem key={unit.value} value={unit.value}>
{unit.name}
</MenuItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -57,7 +57,7 @@ export const CreateFederationFormSettings = () => {
})}
control={control}
>
{CONTAINER_UNITS.map(({ name, value }) => (
{MODEL_UNITS.map(({ name, value }) => (
<MenuItem key={value} value={value}>
{name}
</MenuItem>
Expand Down
46 changes: 46 additions & 0 deletions frontend/src/v5/ui/routes/dashboard/projects/models.helpers.ts
Original file line number Diff line number Diff line change
@@ -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 <http://www.gnu.org/licenses/>.
*/

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' }),
},
];
Original file line number Diff line number Diff line change
Expand Up @@ -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' }),
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -275,7 +253,7 @@ export const SettingsModal = ({
control={control}
disabled={!isProjectAdmin}
>
{UNITS.map(({ name, abbreviation }) => (
{MODEL_UNITS.map(({ name, abbreviation }) => (
<MenuItem key={abbreviation} value={abbreviation}>
{name}
</MenuItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 = () => (
<ToolbarButton
Expand Down Expand Up @@ -117,7 +117,7 @@ export const VerticalRange = ({ hidden }) => {
const isMetric = unit !== 'ft';
const conversionFactor = isMetric ? UNITS_CONVERSION_FACTORS_TO_METRES[unit] : 1;
const rangeValue = ((verticalPlanes?.[1] - verticalPlanes?.[0]) / conversionFactor).toFixed(2);
const unitLabel = CONTAINER_UNITS.find(({ value }) => value === (isMetric ? 'm' : 'ft')).abbreviation;
const unitLabel = MODEL_UNITS.find(({ value }) => value === (isMetric ? 'm' : 'ft')).abbreviation;
return (
<VerticalRangeContainer hidden={hidden}>
<VerticalRangeValue>{rangeValue}</VerticalRangeValue>{unitLabel}
Expand Down

0 comments on commit 57b85eb

Please sign in to comment.