diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx index 3fd3acbc41..2ff3c0bd53 100644 --- a/src/frontend/src/forms/BuildForms.tsx +++ b/src/frontend/src/forms/BuildForms.tsx @@ -5,7 +5,6 @@ import { IconCircleCheck, IconInfoCircle, IconLink, - IconList, IconSitemap, IconTruckDelivery, IconUsersGroup @@ -36,7 +35,7 @@ import { } from '../hooks/UseGenerator'; import { useGlobalSettingsState } from '../states/SettingsStates'; import { RenderPartColumn } from '../tables/ColumnRenderers'; -import { TagsField } from './CommonFields'; +import { ProjectCodeField, TagsField } from './CommonFields'; /** * Field set for BuildOrder forms @@ -93,9 +92,7 @@ export function useBuildOrderFields({ }, title: {}, quantity: {}, - project_code: { - icon: - }, + project_code: ProjectCodeField(), priority: {}, parent: { icon: , diff --git a/src/frontend/src/forms/CommonFields.tsx b/src/frontend/src/forms/CommonFields.tsx index 9fcd5fd25b..07f16e0bb9 100644 --- a/src/frontend/src/forms/CommonFields.tsx +++ b/src/frontend/src/forms/CommonFields.tsx @@ -1,5 +1,6 @@ import type { ApiFormFieldType } from '@lib/types/Forms'; import { t } from '@lingui/core/macro'; +import { IconList } from '@tabler/icons-react'; export function TagsField({ label, @@ -17,3 +18,14 @@ export function TagsField({ placeholder: placeholder ?? t`Select tags` }; } + +export function ProjectCodeField(): ApiFormFieldType { + return { + filters: { + active: true + }, + label: t`Project Code`, + description: t`Select project code for this item`, + icon: + }; +} diff --git a/src/frontend/src/forms/CommonForms.tsx b/src/frontend/src/forms/CommonForms.tsx index 37108b7282..3bd64bc0d0 100644 --- a/src/frontend/src/forms/CommonForms.tsx +++ b/src/frontend/src/forms/CommonForms.tsx @@ -5,7 +5,6 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { ModelType } from '@lib/enums/ModelType'; import { apiUrl } from '@lib/functions/Api'; import type { ApiFormFieldSet, ApiFormFieldType } from '@lib/types/Forms'; -import { t } from '@lingui/core/macro'; import type { StatusCodeInterface, StatusCodeListInterface @@ -13,6 +12,7 @@ import type { import { useApi } from '../contexts/ApiContext'; import { useGlobalStatusState } from '../states/GlobalStatusState'; import { useUserState } from '../states/UserState'; +import { ProjectCodeField } from './CommonFields'; export function projectCodeFields(): ApiFormFieldSet { return { @@ -91,9 +91,7 @@ export function extraLineItemFields(): ApiFormFieldSet { quantity: {}, price: {}, price_currency: {}, - project_code: { - description: t`Select project code for this line item` - }, + project_code: ProjectCodeField(), notes: {}, link: {} }; diff --git a/src/frontend/src/forms/PurchaseOrderForms.tsx b/src/frontend/src/forms/PurchaseOrderForms.tsx index 4faf5756ad..3dce873eb6 100644 --- a/src/frontend/src/forms/PurchaseOrderForms.tsx +++ b/src/frontend/src/forms/PurchaseOrderForms.tsx @@ -20,7 +20,6 @@ import { IconHash, IconInfoCircle, IconLink, - IconList, IconNotes, IconSitemap, IconUser, @@ -57,7 +56,7 @@ import { useSerialNumberGenerator } from '../hooks/UseGenerator'; import { useGlobalSettingsState } from '../states/SettingsStates'; -import { TagsField } from './CommonFields'; +import { ProjectCodeField, TagsField } from './CommonFields'; /* * Construct a set of fields for creating / editing a PurchaseOrderLineItem instance */ @@ -191,9 +190,7 @@ export function usePurchaseOrderLineItemFields({ value: autoPricing, onValueChange: setAutoPricing }, - project_code: { - description: t`Select project code for this line item` - }, + project_code: ProjectCodeField(), target_date: { icon: }, @@ -271,9 +268,7 @@ export function usePurchaseOrderFields({ } }, supplier_reference: {}, - project_code: { - icon: - }, + project_code: ProjectCodeField(), order_currency: { icon: }, diff --git a/src/frontend/src/forms/ReturnOrderForms.tsx b/src/frontend/src/forms/ReturnOrderForms.tsx index ea919f5da7..3377ff1f22 100644 --- a/src/frontend/src/forms/ReturnOrderForms.tsx +++ b/src/frontend/src/forms/ReturnOrderForms.tsx @@ -23,7 +23,7 @@ import { Thumbnail } from '../components/images/Thumbnail'; import { useCreateApiFormModal } from '../hooks/UseForm'; import { useGlobalSettingsState } from '../states/SettingsStates'; import { StatusFilterOptions } from '../tables/Filter'; -import { TagsField } from './CommonFields'; +import { ProjectCodeField, TagsField } from './CommonFields'; export function useReturnOrderFields({ duplicateOrderId @@ -44,7 +44,7 @@ export function useReturnOrderFields({ } }, customer_reference: {}, - project_code: {}, + project_code: ProjectCodeField(), order_currency: {}, start_date: { icon: @@ -138,9 +138,7 @@ export function useReturnOrderLineItemFields({ }, price: {}, price_currency: {}, - project_code: { - description: t`Select project code for this line item` - }, + project_code: ProjectCodeField(), target_date: {}, notes: {}, link: {} diff --git a/src/frontend/src/forms/SalesOrderForms.tsx b/src/frontend/src/forms/SalesOrderForms.tsx index 125ca7f894..a863a51852 100644 --- a/src/frontend/src/forms/SalesOrderForms.tsx +++ b/src/frontend/src/forms/SalesOrderForms.tsx @@ -31,7 +31,7 @@ import { useCreateApiFormModal, useEditApiFormModal } from '../hooks/UseForm'; import { useGlobalSettingsState } from '../states/SettingsStates'; import { useUserState } from '../states/UserState'; import { RenderPartColumn } from '../tables/ColumnRenderers'; -import { TagsField } from './CommonFields'; +import { ProjectCodeField, TagsField } from './CommonFields'; export function useSalesOrderFields({ duplicateOrderId @@ -57,7 +57,7 @@ export function useSalesOrderFields({ } }, customer_reference: {}, - project_code: {}, + project_code: ProjectCodeField(), order_currency: {}, start_date: { icon: @@ -194,9 +194,7 @@ export function useSalesOrderLineItemFields({ value: partCurrency, onValueChange: setPartCurrency }, - project_code: { - description: t`Select project code for this line item` - }, + project_code: ProjectCodeField(), target_date: {}, notes: {}, link: {} diff --git a/src/frontend/src/forms/TransferOrderForms.tsx b/src/frontend/src/forms/TransferOrderForms.tsx index 3935d89b92..638028603d 100644 --- a/src/frontend/src/forms/TransferOrderForms.tsx +++ b/src/frontend/src/forms/TransferOrderForms.tsx @@ -10,7 +10,7 @@ import type { TableFieldRowProps } from '../components/forms/fields/TableField'; import { useCreateApiFormModal } from '../hooks/UseForm'; import { useGlobalSettingsState } from '../states/SettingsStates'; import { RenderPartColumn } from '../tables/ColumnRenderers'; -import { TagsField } from './CommonFields'; +import { ProjectCodeField, TagsField } from './CommonFields'; export function useTransferOrderFields({ duplicateOrderId @@ -23,7 +23,7 @@ export function useTransferOrderFields({ const fields: ApiFormFieldSet = { reference: {}, description: {}, - project_code: {}, + project_code: ProjectCodeField(), start_date: { icon: }, @@ -91,9 +91,7 @@ export function useTransferOrderLineItemFields({ }, reference: {}, quantity: {}, - project_code: { - description: t`Select project code for this line item` - }, + project_code: ProjectCodeField(), target_date: {}, notes: {}, link: {}