From 99d6f6a81754a19d247833a5a88e51b63563c31e Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 7 Jul 2026 00:28:21 +1000 Subject: [PATCH] Table refactor (#12309) * Refactor table components - Move underlying components into src/components/tables - Actual table implementation stay in src/tables * Fix vite warnings --- .../src/components/calendar/Calendar.tsx | 2 +- .../src/components/calendar/OrderCalendar.tsx | 4 +-- .../importer/ImportDataSelector.tsx | 2 +- .../src/components/plugins/PluginContext.tsx | 2 +- src/frontend/src/components/render/Part.tsx | 2 +- src/frontend/src/components/render/Stock.tsx | 2 +- .../tables/ColumnRenderers.tsx | 10 +++--- .../src/{ => components}/tables/Filter.tsx | 12 +++---- .../tables/FilterSelectDrawer.tsx | 4 +-- .../tables/InvenTreeTable.tsx | 10 +++--- .../tables/InvenTreeTableHeader.tsx | 6 ++-- .../tables/RowExpansionIcon.tsx | 0 .../tables/TableHoverCard.tsx | 2 +- .../components/wizards/OrderPartsWizard.tsx | 2 +- src/frontend/src/forms/BuildForms.tsx | 2 +- src/frontend/src/forms/ReturnOrderForms.tsx | 2 +- src/frontend/src/forms/SalesOrderForms.tsx | 2 +- src/frontend/src/forms/StockForms.tsx | 2 +- src/frontend/src/forms/TransferOrderForms.tsx | 2 +- .../AdminCenter/CurrencyManagementPanel.tsx | 2 +- .../AdminCenter/UnitManagementPanel.tsx | 4 +-- .../src/pages/part/PartStockHistoryDetail.tsx | 7 ++-- .../src/pages/part/bom/BomCompare.tsx | 2 +- .../pages/part/pricing/BomPricingPanel.tsx | 7 ++-- .../pages/part/pricing/PriceBreakPanel.tsx | 2 +- .../part/pricing/PurchaseHistoryPanel.tsx | 2 +- .../pages/part/pricing/SaleHistoryPanel.tsx | 4 +-- .../part/pricing/SupplierPricingPanel.tsx | 2 +- .../part/pricing/VariantPricingPanel.tsx | 7 ++-- .../src/tables/bom/BomSubassemblyTable.tsx | 8 ++--- src/frontend/src/tables/bom/BomTable.tsx | 26 +++++++------- src/frontend/src/tables/bom/UsedInTable.tsx | 16 ++++----- .../tables/build/BuildAllocatedStockTable.tsx | 25 +++++++------ .../src/tables/build/BuildLineTable.tsx | 28 +++++++-------- .../src/tables/build/BuildOrderFilters.tsx | 2 +- .../build/BuildOrderParametricTable.tsx | 4 +-- .../src/tables/build/BuildOrderTable.tsx | 12 +++---- .../src/tables/build/BuildOutputTable.tsx | 36 +++++++++---------- .../src/tables/company/AddressTable.tsx | 4 +-- .../src/tables/company/CompanyTable.tsx | 14 ++++---- .../src/tables/company/ContactTable.tsx | 2 +- .../tables/company/ParametricCompanyTable.tsx | 5 ++- .../src/tables/general/AttachmentTable.tsx | 2 +- .../src/tables/general/BarcodeScanTable.tsx | 2 +- .../src/tables/general/ExtraLineItemTable.tsx | 18 +++++----- .../src/tables/general/ParameterTable.tsx | 18 +++++----- .../tables/general/ParameterTemplateTable.tsx | 7 ++-- .../tables/general/ParametricDataTable.tsx | 9 +++-- .../src/tables/machine/MachineListTable.tsx | 4 +-- .../src/tables/machine/MachineTypeTable.tsx | 7 ++-- .../notifications/NotificationTable.tsx | 2 +- .../src/tables/part/ParametricPartTable.tsx | 5 ++- .../tables/part/PartBuildAllocationsTable.tsx | 10 +++--- .../src/tables/part/PartCategoryTable.tsx | 7 ++-- .../tables/part/PartCategoryTemplateTable.tsx | 2 +- .../tables/part/PartPurchaseOrdersTable.tsx | 15 +++++--- .../tables/part/PartSalesAllocationsTable.tsx | 10 +++--- src/frontend/src/tables/part/PartTable.tsx | 22 ++++++------ .../src/tables/part/PartTableFilters.tsx | 2 +- .../src/tables/part/PartTestResultTable.tsx | 20 ++++++----- .../src/tables/part/PartTestTemplateTable.tsx | 9 +++-- .../src/tables/part/RelatedPartTable.tsx | 4 +-- .../src/tables/plugin/PluginErrorTable.tsx | 2 +- .../src/tables/plugin/PluginListTable.tsx | 7 ++-- .../ManufacturerPartParametricTable.tsx | 6 +++- .../purchasing/ManufacturerPartTable.tsx | 18 +++++----- .../purchasing/PurchaseOrderFilters.tsx | 2 +- .../purchasing/PurchaseOrderLineItemTable.tsx | 28 +++++++-------- .../PurchaseOrderParametricTable.tsx | 2 +- .../tables/purchasing/PurchaseOrderTable.tsx | 12 +++---- .../SupplierPartParametricTable.tsx | 5 ++- .../tables/purchasing/SupplierPartTable.tsx | 26 +++++++------- .../purchasing/SupplierPriceBreakTable.tsx | 4 +-- .../src/tables/sales/ReturnOrderFilters.tsx | 2 +- .../tables/sales/ReturnOrderLineItemTable.tsx | 28 +++++++-------- .../sales/ReturnOrderParametricTable.tsx | 2 +- .../src/tables/sales/ReturnOrderTable.tsx | 12 +++---- .../sales/SalesOrderAllocationTable.tsx | 23 ++++++------ .../src/tables/sales/SalesOrderFilters.tsx | 2 +- .../tables/sales/SalesOrderLineItemTable.tsx | 28 +++++++-------- .../sales/SalesOrderParametricTable.tsx | 2 +- .../tables/sales/SalesOrderShipmentTable.tsx | 16 ++++----- .../src/tables/sales/SalesOrderTable.tsx | 12 +++---- .../src/tables/settings/ApiTokenTable.tsx | 9 +++-- .../src/tables/settings/AssetTable.tsx | 4 +-- .../settings/BarcodeScanHistoryTable.tsx | 4 +-- .../src/tables/settings/CustomStateTable.tsx | 2 +- .../src/tables/settings/CustomUnitsTable.tsx | 2 +- .../src/tables/settings/EmailTable.tsx | 4 +-- .../src/tables/settings/ErrorTable.tsx | 2 +- .../tables/settings/ExportSessionTable.tsx | 6 ++-- .../src/tables/settings/FailedTasksTable.tsx | 2 +- .../src/tables/settings/GroupTable.tsx | 2 +- .../tables/settings/ImportSessionTable.tsx | 12 +++++-- .../src/tables/settings/PendingTasksTable.tsx | 2 +- .../src/tables/settings/ProjectCodeTable.tsx | 12 +++---- .../tables/settings/ScheduledTasksTable.tsx | 2 +- .../tables/settings/SelectionListDrawer.tsx | 7 ++-- .../tables/settings/SelectionListTable.tsx | 7 ++-- .../src/tables/settings/SnippetTable.tsx | 4 +-- .../src/tables/settings/TemplateTable.tsx | 14 ++++---- .../src/tables/settings/UserTable.tsx | 4 +-- .../src/tables/stock/InstalledItemsTable.tsx | 14 ++++---- .../src/tables/stock/LocationTypesTable.tsx | 4 +-- .../src/tables/stock/StockItemTable.tsx | 22 ++++++------ .../tables/stock/StockItemTestResultTable.tsx | 16 ++++----- .../stock/StockLocationParametricTable.tsx | 2 +- .../src/tables/stock/StockLocationTable.tsx | 7 ++-- .../src/tables/stock/StockTrackingTable.tsx | 6 ++-- .../stock/TransferOrderAllocationTable.tsx | 21 ++++++----- .../src/tables/stock/TransferOrderFilters.tsx | 2 +- .../stock/TransferOrderLineItemTable.tsx | 22 ++++++------ .../stock/TransferOrderParametricTable.tsx | 7 ++-- .../src/tables/stock/TransferOrderTable.tsx | 10 +++--- 114 files changed, 508 insertions(+), 431 deletions(-) rename src/frontend/src/{ => components}/tables/ColumnRenderers.tsx (98%) rename src/frontend/src/{ => components}/tables/Filter.tsx (98%) rename src/frontend/src/{ => components}/tables/FilterSelectDrawer.tsx (99%) rename src/frontend/src/{ => components}/tables/InvenTreeTable.tsx (98%) rename src/frontend/src/{ => components}/tables/InvenTreeTableHeader.tsx (98%) rename src/frontend/src/{ => components}/tables/RowExpansionIcon.tsx (100%) rename src/frontend/src/{ => components}/tables/TableHoverCard.tsx (98%) diff --git a/src/frontend/src/components/calendar/Calendar.tsx b/src/frontend/src/components/calendar/Calendar.tsx index 0a4dd18096..62f0f6c890 100644 --- a/src/frontend/src/components/calendar/Calendar.tsx +++ b/src/frontend/src/components/calendar/Calendar.tsx @@ -52,7 +52,7 @@ import { import type { CalendarState } from '../../hooks/UseCalendar'; import { useLocalState } from '../../states/LocalState'; import { useGlobalSettingsState } from '../../states/SettingsStates'; -import { FilterSelectDrawer } from '../../tables/FilterSelectDrawer'; +import { FilterSelectDrawer } from '../tables/FilterSelectDrawer'; export interface InvenTreeCalendarProps extends CalendarOptions { enableDownload?: boolean; diff --git a/src/frontend/src/components/calendar/OrderCalendar.tsx b/src/frontend/src/components/calendar/OrderCalendar.tsx index e9c65e7e56..365d3d5ceb 100644 --- a/src/frontend/src/components/calendar/OrderCalendar.tsx +++ b/src/frontend/src/components/calendar/OrderCalendar.tsx @@ -23,14 +23,14 @@ import { useNavigate } from 'react-router-dom'; import { api } from '../../App'; import useCalendar from '../../hooks/UseCalendar'; import { useUserState } from '../../states/UserState'; +import { StatusRenderer, getStatusColor } from '../render/StatusRenderer'; import { AssignedToMeFilter, HasProjectCodeFilter, OrderStatusFilter, ProjectCodeFilter, ResponsibleFilter -} from '../../tables/Filter'; -import { StatusRenderer, getStatusColor } from '../render/StatusRenderer'; +} from '../tables/Filter'; import Calendar from './Calendar'; /** diff --git a/src/frontend/src/components/importer/ImportDataSelector.tsx b/src/frontend/src/components/importer/ImportDataSelector.tsx index cf426f5cf2..1fd0a45169 100644 --- a/src/frontend/src/components/importer/ImportDataSelector.tsx +++ b/src/frontend/src/components/importer/ImportDataSelector.tsx @@ -30,8 +30,8 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import type { ImportSessionState } from '../../hooks/UseImportSession'; -import { InvenTreeTable } from '../../tables/InvenTreeTable'; import { RenderRemoteInstance } from '../render/Instance'; +import { InvenTreeTable } from '../tables/InvenTreeTable'; function ImporterDataCell({ session, diff --git a/src/frontend/src/components/plugins/PluginContext.tsx b/src/frontend/src/components/plugins/PluginContext.tsx index e6790c4c49..748aaf0e70 100644 --- a/src/frontend/src/components/plugins/PluginContext.tsx +++ b/src/frontend/src/components/plugins/PluginContext.tsx @@ -47,11 +47,11 @@ import { } from '../../states/ImporterState'; import { usePluginState } from '../../states/PluginState'; import { useServerApiState } from '../../states/ServerApiState'; -import { InvenTreeTableInternal } from '../../tables/InvenTreeTable'; import { EditApiForm } from '../forms/ApiForm'; import { Thumbnail } from '../images/Thumbnail'; import { RenderInstance, RenderRemoteInstance } from '../render/Instance'; import { RenderInlineModel } from '../render/Instance'; +import { InvenTreeTableInternal } from '../tables/InvenTreeTable'; export const useInvenTreeContext = () => { const [locale, host] = useLocalState(useShallow((s) => [s.language, s.host])); diff --git a/src/frontend/src/components/render/Part.tsx b/src/frontend/src/components/render/Part.tsx index cd27bba85d..cfdfe51c47 100644 --- a/src/frontend/src/components/render/Part.tsx +++ b/src/frontend/src/components/render/Part.tsx @@ -6,8 +6,8 @@ import { ModelType } from '@lib/enums/ModelType'; import { formatDecimal } from '@lib/functions/Formatting'; import { getDetailUrl } from '@lib/functions/Navigation'; import { shortenString } from '@lib/functions/String'; -import { TableHoverCard } from '../../tables/TableHoverCard'; import { ApiIcon } from '../items/ApiIcon'; +import { TableHoverCard } from '../tables/TableHoverCard'; import { type InstanceRenderInterface, RenderInlineModel } from './Instance'; /** diff --git a/src/frontend/src/components/render/Stock.tsx b/src/frontend/src/components/render/Stock.tsx index 196eed5de1..358413bfde 100644 --- a/src/frontend/src/components/render/Stock.tsx +++ b/src/frontend/src/components/render/Stock.tsx @@ -6,8 +6,8 @@ import { ModelType } from '@lib/enums/ModelType'; import { formatDecimal } from '@lib/functions/Formatting'; import { getDetailUrl } from '@lib/functions/Navigation'; import { shortenString } from '@lib/functions/String'; -import { TableHoverCard } from '../../tables/TableHoverCard'; import { ApiIcon } from '../items/ApiIcon'; +import { TableHoverCard } from '../tables/TableHoverCard'; import { InlineSecondaryBadge, type InstanceRenderInterface, diff --git a/src/frontend/src/tables/ColumnRenderers.tsx b/src/frontend/src/components/tables/ColumnRenderers.tsx similarity index 98% rename from src/frontend/src/tables/ColumnRenderers.tsx rename to src/frontend/src/components/tables/ColumnRenderers.tsx index f4c8e9a65b..59db7402e4 100644 --- a/src/frontend/src/tables/ColumnRenderers.tsx +++ b/src/frontend/src/components/tables/ColumnRenderers.tsx @@ -25,18 +25,18 @@ import { resolveItem } from '@lib/functions/Conversion'; import { cancelEvent } from '@lib/functions/Events'; import type { TableColumn, TableColumnProps } from '@lib/types/Tables'; import type { ReactNode } from 'react'; -import { Thumbnail } from '../components/images/Thumbnail'; -import { TableStatusRenderer } from '../components/render/StatusRenderer'; -import { RenderOwner } from '../components/render/User'; import { formatCurrency, formatDate, formatDecimal -} from '../defaults/formatters'; +} from '../../defaults/formatters'; import { useGlobalSettingsState, useUserSettingsState -} from '../states/SettingsStates'; +} from '../../states/SettingsStates'; +import { Thumbnail } from '../images/Thumbnail'; +import { TableStatusRenderer } from '../render/StatusRenderer'; +import { RenderOwner } from '../render/User'; import { ProjectCodeHoverCard, TableHoverCard } from './TableHoverCard'; export type PartColumnProps = TableColumnProps & { diff --git a/src/frontend/src/tables/Filter.tsx b/src/frontend/src/components/tables/Filter.tsx similarity index 98% rename from src/frontend/src/tables/Filter.tsx rename to src/frontend/src/components/tables/Filter.tsx index eebf11501c..55acea4e41 100644 --- a/src/frontend/src/tables/Filter.tsx +++ b/src/frontend/src/components/tables/Filter.tsx @@ -5,15 +5,15 @@ import { ModelType } from '@lib/enums/ModelType'; import { apiUrl } from '@lib/functions/Api'; import { isTrue } from '@lib/functions/Conversion'; import type { TableFilter, TableFilterChoice } from '@lib/types/Filters'; -import type { - StatusCodeInterface, - StatusCodeListInterface -} from '../components/render/StatusRenderer'; import { type StatusLookup, useGlobalStatusState -} from '../states/GlobalStatusState'; -import { useGlobalSettingsState } from '../states/SettingsStates'; +} from '../../states/GlobalStatusState'; +import { useGlobalSettingsState } from '../../states/SettingsStates'; +import type { + StatusCodeInterface, + StatusCodeListInterface +} from '../render/StatusRenderer'; // Determine the appropriate display label for a given filter, based on its name and the list of available filters export function filterDisplayLabel( diff --git a/src/frontend/src/tables/FilterSelectDrawer.tsx b/src/frontend/src/components/tables/FilterSelectDrawer.tsx similarity index 99% rename from src/frontend/src/tables/FilterSelectDrawer.tsx rename to src/frontend/src/components/tables/FilterSelectDrawer.tsx index b923963652..2d86db74b3 100644 --- a/src/frontend/src/tables/FilterSelectDrawer.tsx +++ b/src/frontend/src/components/tables/FilterSelectDrawer.tsx @@ -34,8 +34,8 @@ import { IconReload, IconX } from '@tabler/icons-react'; -import { api } from '../App'; -import { StandaloneField } from '../components/forms/StandaloneField'; +import { api } from '../../App'; +import { StandaloneField } from '../forms/StandaloneField'; import { filterDisplayLabel, filterDisplayValue, diff --git a/src/frontend/src/tables/InvenTreeTable.tsx b/src/frontend/src/components/tables/InvenTreeTable.tsx similarity index 98% rename from src/frontend/src/tables/InvenTreeTable.tsx rename to src/frontend/src/components/tables/InvenTreeTable.tsx index 29ac6661cc..ae56b28219 100644 --- a/src/frontend/src/tables/InvenTreeTable.tsx +++ b/src/frontend/src/components/tables/InvenTreeTable.tsx @@ -33,11 +33,11 @@ import { import type React from 'react'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { useNavigate, useSearchParams } from 'react-router-dom'; -import { useApi } from '../contexts/ApiContext'; -import { extractAvailableFields } from '../functions/forms'; -import { showApiErrorMessage } from '../functions/notifications'; -import { useLocalState } from '../states/LocalState'; -import { useUserSettingsState } from '../states/SettingsStates'; +import { useApi } from '../../contexts/ApiContext'; +import { extractAvailableFields } from '../../functions/forms'; +import { showApiErrorMessage } from '../../functions/notifications'; +import { useLocalState } from '../../states/LocalState'; +import { useUserSettingsState } from '../../states/SettingsStates'; import { ColumnFilterPopover } from './FilterSelectDrawer'; import InvenTreeTableHeader from './InvenTreeTableHeader'; diff --git a/src/frontend/src/tables/InvenTreeTableHeader.tsx b/src/frontend/src/components/tables/InvenTreeTableHeader.tsx similarity index 98% rename from src/frontend/src/tables/InvenTreeTableHeader.tsx rename to src/frontend/src/components/tables/InvenTreeTableHeader.tsx index 2defcb7a22..11d019ef7e 100644 --- a/src/frontend/src/tables/InvenTreeTableHeader.tsx +++ b/src/frontend/src/components/tables/InvenTreeTableHeader.tsx @@ -33,9 +33,9 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableState } from '@lib/types/Tables'; import type { InvenTreeTableProps } from '@lib/types/Tables'; import { showNotification } from '@mantine/notifications'; -import { PrintingActions } from '../components/buttons/PrintingActions'; -import useDataExport from '../hooks/UseDataExport'; -import { useDeleteApiFormModal } from '../hooks/UseForm'; +import useDataExport from '../../hooks/UseDataExport'; +import { useDeleteApiFormModal } from '../../hooks/UseForm'; +import { PrintingActions } from '../buttons/PrintingActions'; import { FilterPreview, FilterSelectDrawer } from './FilterSelectDrawer'; /** diff --git a/src/frontend/src/tables/RowExpansionIcon.tsx b/src/frontend/src/components/tables/RowExpansionIcon.tsx similarity index 100% rename from src/frontend/src/tables/RowExpansionIcon.tsx rename to src/frontend/src/components/tables/RowExpansionIcon.tsx diff --git a/src/frontend/src/tables/TableHoverCard.tsx b/src/frontend/src/components/tables/TableHoverCard.tsx similarity index 98% rename from src/frontend/src/tables/TableHoverCard.tsx rename to src/frontend/src/components/tables/TableHoverCard.tsx index 913c6ced9b..054e5e83c6 100644 --- a/src/frontend/src/tables/TableHoverCard.tsx +++ b/src/frontend/src/components/tables/TableHoverCard.tsx @@ -10,7 +10,7 @@ import { import { type ReactNode, useMemo } from 'react'; import type { InvenTreeIconType } from '@lib/types/Icons'; -import { InvenTreeIcon } from '../functions/icons'; +import { InvenTreeIcon } from '../../functions/icons'; /* * A custom hovercard element for displaying extra information in a table cell. diff --git a/src/frontend/src/components/wizards/OrderPartsWizard.tsx b/src/frontend/src/components/wizards/OrderPartsWizard.tsx index 9db57a0eb3..0b2dd365b9 100644 --- a/src/frontend/src/components/wizards/OrderPartsWizard.tsx +++ b/src/frontend/src/components/wizards/OrderPartsWizard.tsx @@ -32,10 +32,10 @@ import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms'; import { useCreateApiFormModal } from '../../hooks/UseForm'; import { useInstance } from '../../hooks/UseInstance'; import useWizard from '../../hooks/UseWizard'; -import { RenderPartColumn } from '../../tables/ColumnRenderers'; import RemoveRowButton from '../buttons/RemoveRowButton'; import { StandaloneField } from '../forms/StandaloneField'; import Expand from '../items/Expand'; +import { RenderPartColumn } from '../tables/ColumnRenderers'; /** * Render the "requirements" info for a part diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx index 39fa22579e..8012bc44b8 100644 --- a/src/frontend/src/forms/BuildForms.tsx +++ b/src/frontend/src/forms/BuildForms.tsx @@ -29,13 +29,13 @@ import { RenderStockItem, RenderStockLocation } from '../components/render/Stock'; +import { RenderPartColumn } from '../components/tables/ColumnRenderers'; import { useCreateApiFormModal } from '../hooks/UseForm'; import { useBatchCodeGenerator, useSerialNumberGenerator } from '../hooks/UseGenerator'; import { useGlobalSettingsState } from '../states/SettingsStates'; -import { RenderPartColumn } from '../tables/ColumnRenderers'; import { DuplicateField, ProjectCodeField, TagsField } from './CommonFields'; /** diff --git a/src/frontend/src/forms/ReturnOrderForms.tsx b/src/frontend/src/forms/ReturnOrderForms.tsx index 463e7cc60a..17bbaac6fd 100644 --- a/src/frontend/src/forms/ReturnOrderForms.tsx +++ b/src/frontend/src/forms/ReturnOrderForms.tsx @@ -20,9 +20,9 @@ import type { } from '@lib/types/Forms'; import type { TableFieldRowProps } from '../components/forms/fields/TableField'; import { Thumbnail } from '../components/images/Thumbnail'; +import { StatusFilterOptions } from '../components/tables/Filter'; import { useCreateApiFormModal } from '../hooks/UseForm'; import { useGlobalSettingsState } from '../states/SettingsStates'; -import { StatusFilterOptions } from '../tables/Filter'; import { ProjectCodeField, TagsField } from './CommonFields'; export function useReturnOrderFields({ diff --git a/src/frontend/src/forms/SalesOrderForms.tsx b/src/frontend/src/forms/SalesOrderForms.tsx index 90ec80c034..40bb783133 100644 --- a/src/frontend/src/forms/SalesOrderForms.tsx +++ b/src/frontend/src/forms/SalesOrderForms.tsx @@ -29,11 +29,11 @@ import { TableFieldQuantityInput, type TableFieldRowProps } from '../components/forms/fields/TableField'; +import { RenderPartColumn } from '../components/tables/ColumnRenderers'; import useBackgroundTask from '../hooks/UseBackgroundTask'; import { useCreateApiFormModal, useEditApiFormModal } from '../hooks/UseForm'; import { useGlobalSettingsState } from '../states/SettingsStates'; import { useUserState } from '../states/UserState'; -import { RenderPartColumn } from '../tables/ColumnRenderers'; import { ProjectCodeField, TagsField } from './CommonFields'; export function useSalesOrderFields({ diff --git a/src/frontend/src/forms/StockForms.tsx b/src/frontend/src/forms/StockForms.tsx index c8c253fd66..51ec2541ad 100644 --- a/src/frontend/src/forms/StockForms.tsx +++ b/src/frontend/src/forms/StockForms.tsx @@ -56,6 +56,7 @@ import { import { Thumbnail } from '../components/images/Thumbnail'; import { StatusRenderer } from '../components/render/StatusRenderer'; import { RenderStockLocation } from '../components/render/Stock'; +import { StatusFilterOptions } from '../components/tables/Filter'; import { InvenTreeIcon } from '../functions/icons'; import { useApiFormModal, @@ -69,7 +70,6 @@ import { } from '../hooks/UseGenerator'; import useStatusCodes from '../hooks/UseStatusCodes'; import { useGlobalSettingsState } from '../states/SettingsStates'; -import { StatusFilterOptions } from '../tables/Filter'; import { TagsField } from './CommonFields'; /** diff --git a/src/frontend/src/forms/TransferOrderForms.tsx b/src/frontend/src/forms/TransferOrderForms.tsx index a3945fbec5..2b7d52c502 100644 --- a/src/frontend/src/forms/TransferOrderForms.tsx +++ b/src/frontend/src/forms/TransferOrderForms.tsx @@ -10,9 +10,9 @@ import { TableFieldQuantityInput, type TableFieldRowProps } from '../components/forms/fields/TableField'; +import { RenderPartColumn } from '../components/tables/ColumnRenderers'; import { useCreateApiFormModal } from '../hooks/UseForm'; import { useGlobalSettingsState } from '../states/SettingsStates'; -import { RenderPartColumn } from '../tables/ColumnRenderers'; import { ProjectCodeField, TagsField } from './CommonFields'; export function useTransferOrderFields({ diff --git a/src/frontend/src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx b/src/frontend/src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx index 7570736537..e3e96c673a 100644 --- a/src/frontend/src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx +++ b/src/frontend/src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx @@ -11,8 +11,8 @@ import useTable from '@lib/hooks/UseTable'; import { api } from '../../../../App'; import { FactCollection } from '../../../../components/settings/FactCollection'; import { GlobalSettingList } from '../../../../components/settings/SettingList'; +import { InvenTreeTable } from '../../../../components/tables/InvenTreeTable'; import { showApiErrorMessage } from '../../../../functions/notifications'; -import { InvenTreeTable } from '../../../../tables/InvenTreeTable'; /* * Table for displaying available currencies diff --git a/src/frontend/src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx b/src/frontend/src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx index 19be98e4a1..b6f50f3b4c 100644 --- a/src/frontend/src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx +++ b/src/frontend/src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx @@ -6,8 +6,8 @@ import { StylishText } from '@lib/components/StylishText'; import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; -import { BooleanColumn } from '../../../../tables/ColumnRenderers'; -import { InvenTreeTable } from '../../../../tables/InvenTreeTable'; +import { BooleanColumn } from '../../../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../../../components/tables/InvenTreeTable'; import CustomUnitsTable from '../../../../tables/settings/CustomUnitsTable'; function AllUnitTable() { diff --git a/src/frontend/src/pages/part/PartStockHistoryDetail.tsx b/src/frontend/src/pages/part/PartStockHistoryDetail.tsx index 683011874c..a2bc965a89 100644 --- a/src/frontend/src/pages/part/PartStockHistoryDetail.tsx +++ b/src/frontend/src/pages/part/PartStockHistoryDetail.tsx @@ -19,6 +19,11 @@ import { } from '@mantine/core'; import dayjs from 'dayjs'; import { useCallback, useMemo, useState } from 'react'; +import { + DateColumn, + DecimalColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { formatDate, formatPriceRange } from '../../defaults/formatters'; import { partStocktakeFields } from '../../forms/PartForms'; import { @@ -27,8 +32,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { DateColumn, DecimalColumn } from '../../tables/ColumnRenderers'; -import { InvenTreeTable } from '../../tables/InvenTreeTable'; import { StockTrackingTable } from '../../tables/stock/StockTrackingTable'; /* diff --git a/src/frontend/src/pages/part/bom/BomCompare.tsx b/src/frontend/src/pages/part/bom/BomCompare.tsx index be69f0968b..51e3986e77 100644 --- a/src/frontend/src/pages/part/bom/BomCompare.tsx +++ b/src/frontend/src/pages/part/bom/BomCompare.tsx @@ -26,7 +26,7 @@ import { useSearchParams } from 'react-router-dom'; import { api } from '../../../App'; import { StandaloneField } from '../../../components/forms/StandaloneField'; import Expand from '../../../components/items/Expand'; -import { RenderPartColumn } from '../../../tables/ColumnRenderers'; +import { RenderPartColumn } from '../../../components/tables/ColumnRenderers'; // Field to check for differences when comparing BOM items const DELTA_FIELDS = { diff --git a/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx b/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx index 9bc6ed2e0b..898fc9aeb8 100644 --- a/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx +++ b/src/frontend/src/pages/part/pricing/BomPricingPanel.tsx @@ -17,9 +17,12 @@ import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; import { CHART_COLORS } from '../../../components/charts/colors'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; +import { + DateColumn, + PartColumn +} from '../../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../../components/tables/InvenTreeTable'; import { formatDecimal, formatPriceRange } from '../../../defaults/formatters'; -import { DateColumn, PartColumn } from '../../../tables/ColumnRenderers'; -import { InvenTreeTable } from '../../../tables/InvenTreeTable'; import { LoadingPricingData, NoPricingData } from './PricingPanel'; // Display BOM data as a pie chart diff --git a/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx b/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx index 8151a55e62..c0baeed909 100644 --- a/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PriceBreakPanel.tsx @@ -16,6 +16,7 @@ import useTable from '@lib/hooks/UseTable'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; +import { InvenTreeTable } from '../../../components/tables/InvenTreeTable'; import { formatCurrency } from '../../../defaults/formatters'; import { useCreateApiFormModal, @@ -23,7 +24,6 @@ import { useEditApiFormModal } from '../../../hooks/UseForm'; import { useUserState } from '../../../states/UserState'; -import { InvenTreeTable } from '../../../tables/InvenTreeTable'; import { NoPricingData } from './PricingPanel'; export default function PriceBreakPanel({ diff --git a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx index 74c828a26f..25f2b9d9fa 100644 --- a/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx +++ b/src/frontend/src/pages/part/pricing/PurchaseHistoryPanel.tsx @@ -8,8 +8,8 @@ import { ModelType } from '@lib/enums/ModelType'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { InvenTreeTable } from '../../../components/tables/InvenTreeTable'; import { formatCurrency, formatDate } from '../../../defaults/formatters'; -import { InvenTreeTable } from '../../../tables/InvenTreeTable'; import { NoPricingData } from './PricingPanel'; export default function PurchaseHistoryPanel({ diff --git a/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx b/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx index 7ae4f1ba78..325d4bd3cc 100644 --- a/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx +++ b/src/frontend/src/pages/part/pricing/SaleHistoryPanel.tsx @@ -8,9 +8,9 @@ import { ModelType } from '@lib/enums/ModelType'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { DateColumn } from '../../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../../components/tables/InvenTreeTable'; import { formatCurrency } from '../../../defaults/formatters'; -import { DateColumn } from '../../../tables/ColumnRenderers'; -import { InvenTreeTable } from '../../../tables/InvenTreeTable'; import { NoPricingData } from './PricingPanel'; export default function SaleHistoryPanel({ diff --git a/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx b/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx index 48982989d5..f77a73b9c6 100644 --- a/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx +++ b/src/frontend/src/pages/part/pricing/SupplierPricingPanel.tsx @@ -8,7 +8,7 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; -import { InvenTreeTable } from '../../../tables/InvenTreeTable'; +import { InvenTreeTable } from '../../../components/tables/InvenTreeTable'; import { SupplierPriceBreakColumns, calculateSupplierPartUnitPrice diff --git a/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx b/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx index 6aa8911d75..7929a73dd6 100644 --- a/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx +++ b/src/frontend/src/pages/part/pricing/VariantPricingPanel.tsx @@ -9,9 +9,12 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; import { tooltipFormatter } from '../../../components/charts/tooltipFormatter'; +import { + DateColumn, + PartColumn +} from '../../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../../components/tables/InvenTreeTable'; import { formatCurrency } from '../../../defaults/formatters'; -import { DateColumn, PartColumn } from '../../../tables/ColumnRenderers'; -import { InvenTreeTable } from '../../../tables/InvenTreeTable'; import { NoPricingData } from './PricingPanel'; export default function VariantPricingPanel({ diff --git a/src/frontend/src/tables/bom/BomSubassemblyTable.tsx b/src/frontend/src/tables/bom/BomSubassemblyTable.tsx index badf18e75d..ea3341f375 100644 --- a/src/frontend/src/tables/bom/BomSubassemblyTable.tsx +++ b/src/frontend/src/tables/bom/BomSubassemblyTable.tsx @@ -4,14 +4,14 @@ import { Group, Paper } from '@mantine/core'; import { IconCornerLeftUp } from '@tabler/icons-react'; import { useMemo } from 'react'; import Expand from '../../components/items/Expand'; -import { useUserSettingsState } from '../../states/SettingsStates'; import { IPNColumn, ReferenceColumn, RenderPartColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { useUserSettingsState } from '../../states/SettingsStates'; export function subassemblyRowExpansion({ table diff --git a/src/frontend/src/tables/bom/BomTable.tsx b/src/frontend/src/tables/bom/BomTable.tsx index a1ead32be2..e570475eb8 100644 --- a/src/frontend/src/tables/bom/BomTable.tsx +++ b/src/frontend/src/tables/bom/BomTable.tsx @@ -30,6 +30,19 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { ActionDropdown } from '../../components/items/ActionDropdown'; import { RenderPart } from '../../components/render/Part'; +import { + BooleanColumn, + CategoryColumn, + DescriptionColumn, + IPNColumn, + NoteColumn, + ReferenceColumn, + RenderPartColumn +} from '../../components/tables/ColumnRenderers'; +import { PartCategoryFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { useApi } from '../../contexts/ApiContext'; import { formatDecimal, formatPriceRange } from '../../defaults/formatters'; import { bomItemFields, useEditBomSubstitutesForm } from '../../forms/BomForms'; @@ -45,19 +58,6 @@ import { useUserSettingsState } from '../../states/SettingsStates'; import { useUserState } from '../../states/UserState'; -import { - BooleanColumn, - CategoryColumn, - DescriptionColumn, - IPNColumn, - NoteColumn, - ReferenceColumn, - RenderPartColumn -} from '../ColumnRenderers'; -import { PartCategoryFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; -import { TableHoverCard } from '../TableHoverCard'; import { subassemblyRowExpansion } from './BomSubassemblyTable'; // Calculate the total stock quantity available for a given BomItem diff --git a/src/frontend/src/tables/bom/UsedInTable.tsx b/src/frontend/src/tables/bom/UsedInTable.tsx index 407e5203a5..2674a74021 100644 --- a/src/frontend/src/tables/bom/UsedInTable.tsx +++ b/src/frontend/src/tables/bom/UsedInTable.tsx @@ -11,6 +11,14 @@ import { ActionButton, UserRoles } from '@lib/index'; import type { TableFilter } from '@lib/types/Filters'; import type { RowAction, TableColumn } from '@lib/types/Tables'; import { IconExclamationCircle, IconReplace } from '@tabler/icons-react'; +import { + DescriptionColumn, + IPNColumn, + PartColumn, + ReferenceColumn, + RenderPartColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { formatDecimal } from '../../defaults/formatters'; import { bomItemFields } from '../../forms/BomForms'; import { @@ -18,14 +26,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - DescriptionColumn, - IPNColumn, - PartColumn, - ReferenceColumn, - RenderPartColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /* * For a given part, render a table showing all the assemblies the part is used in diff --git a/src/frontend/src/tables/build/BuildAllocatedStockTable.tsx b/src/frontend/src/tables/build/BuildAllocatedStockTable.tsx index 0addd40f7e..b76c32bff6 100644 --- a/src/frontend/src/tables/build/BuildAllocatedStockTable.tsx +++ b/src/frontend/src/tables/build/BuildAllocatedStockTable.tsx @@ -13,14 +13,6 @@ import type { StockOperationProps } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { Alert } from '@mantine/core'; import { IconCircleDashedCheck, IconCircleX } from '@tabler/icons-react'; -import { useConsumeBuildItemsForm } from '../../forms/BuildForms'; -import useBackgroundTask from '../../hooks/UseBackgroundTask'; -import { - useDeleteApiFormModal, - useEditApiFormModal -} from '../../hooks/UseForm'; -import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; -import { useUserState } from '../../states/UserState'; import { DecimalColumn, IPNColumn, @@ -29,9 +21,20 @@ import { ReferenceColumn, StatusColumn, StockColumn -} from '../ColumnRenderers'; -import { IncludeVariantsFilter, StockLocationFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/ColumnRenderers'; +import { + IncludeVariantsFilter, + StockLocationFilter +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { useConsumeBuildItemsForm } from '../../forms/BuildForms'; +import useBackgroundTask from '../../hooks/UseBackgroundTask'; +import { + useDeleteApiFormModal, + useEditApiFormModal +} from '../../hooks/UseForm'; +import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; +import { useUserState } from '../../states/UserState'; /** * Render a table of allocated stock for a build. diff --git a/src/frontend/src/tables/build/BuildLineTable.tsx b/src/frontend/src/tables/build/BuildLineTable.tsx index 27e68a38ed..576d8b31bd 100644 --- a/src/frontend/src/tables/build/BuildLineTable.tsx +++ b/src/frontend/src/tables/build/BuildLineTable.tsx @@ -25,6 +25,20 @@ import { import type { DataTableRowExpansionProps } from 'mantine-datatable'; import { useCallback, useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; +import { + BooleanColumn, + CategoryColumn, + DecimalColumn, + DescriptionColumn, + IPNColumn, + LocationColumn, + PartColumn, + RenderPartColumn +} from '../../components/tables/ColumnRenderers'; +import { PartCategoryFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; import { useAllocateStockToBuildForm, @@ -40,20 +54,6 @@ import { } from '../../hooks/UseForm'; import useStatusCodes from '../../hooks/UseStatusCodes'; import { useUserState } from '../../states/UserState'; -import { - BooleanColumn, - CategoryColumn, - DecimalColumn, - DescriptionColumn, - IPNColumn, - LocationColumn, - PartColumn, - RenderPartColumn -} from '../ColumnRenderers'; -import { PartCategoryFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; -import { TableHoverCard } from '../TableHoverCard'; /** * Return true if the given build line record is "effectively consumable" - diff --git a/src/frontend/src/tables/build/BuildOrderFilters.tsx b/src/frontend/src/tables/build/BuildOrderFilters.tsx index 69edccf4ac..1c0d271f22 100644 --- a/src/frontend/src/tables/build/BuildOrderFilters.tsx +++ b/src/frontend/src/tables/build/BuildOrderFilters.tsx @@ -25,7 +25,7 @@ import { TagsFilter, TargetDateAfterFilter, TargetDateBeforeFilter -} from '../Filter'; +} from '../../components/tables/Filter'; /** * Generate a set of common filters for the build order views diff --git a/src/frontend/src/tables/build/BuildOrderParametricTable.tsx b/src/frontend/src/tables/build/BuildOrderParametricTable.tsx index 4aac0bcf68..03a81771f4 100644 --- a/src/frontend/src/tables/build/BuildOrderParametricTable.tsx +++ b/src/frontend/src/tables/build/BuildOrderParametricTable.tsx @@ -3,12 +3,12 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { t } from '@lingui/core/macro'; import { type ReactNode, useMemo } from 'react'; -import { useGlobalSettingsState } from '../../states/SettingsStates'; import { DescriptionColumn, PartColumn, ReferenceColumn -} from '../ColumnRenderers'; +} from '../../components/tables/ColumnRenderers'; +import { useGlobalSettingsState } from '../../states/SettingsStates'; import ParametricDataTable from '../general/ParametricDataTable'; import BuildOrderFilters from './BuildOrderFilters'; diff --git a/src/frontend/src/tables/build/BuildOrderTable.tsx b/src/frontend/src/tables/build/BuildOrderTable.tsx index a913184a16..da99d41914 100644 --- a/src/frontend/src/tables/build/BuildOrderTable.tsx +++ b/src/frontend/src/tables/build/BuildOrderTable.tsx @@ -9,10 +9,6 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; -import { useBuildOrderFields } from '../../forms/BuildForms'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { useGlobalSettingsState } from '../../states/SettingsStates'; -import { useUserState } from '../../states/UserState'; import { BooleanColumn, CompletionDateColumn, @@ -28,8 +24,12 @@ import { StatusColumn, TargetDateColumn, UserColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { useBuildOrderFields } from '../../forms/BuildForms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; +import { useGlobalSettingsState } from '../../states/SettingsStates'; +import { useUserState } from '../../states/UserState'; import BuildOrderFilters from './BuildOrderFilters'; /* diff --git a/src/frontend/src/tables/build/BuildOutputTable.tsx b/src/frontend/src/tables/build/BuildOutputTable.tsx index 9f8df93b17..c482971903 100644 --- a/src/frontend/src/tables/build/BuildOutputTable.tsx +++ b/src/frontend/src/tables/build/BuildOutputTable.tsx @@ -33,6 +33,24 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { StockOperationProps } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; +import { + LocationColumn, + PartColumn, + RenderPartColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; +import { + BatchFilter, + HasBatchCodeFilter, + IsSerializedFilter, + SerialFilter, + SerialGTEFilter, + SerialLTEFilter, + StatusFilterOptions, + StockLocationFilter +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { useApi } from '../../contexts/ApiContext'; import { useBuildAutoAllocateFields, @@ -54,24 +72,6 @@ import { import useStatusCodes from '../../hooks/UseStatusCodes'; import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; import { useUserState } from '../../states/UserState'; -import { - LocationColumn, - PartColumn, - RenderPartColumn, - StatusColumn -} from '../ColumnRenderers'; -import { - BatchFilter, - HasBatchCodeFilter, - IsSerializedFilter, - SerialFilter, - SerialGTEFilter, - SerialLTEFilter, - StatusFilterOptions, - StockLocationFilter -} from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; import BuildLineTable from './BuildLineTable'; type TestResultOverview = { diff --git a/src/frontend/src/tables/company/AddressTable.tsx b/src/frontend/src/tables/company/AddressTable.tsx index 8114bf1f24..a683cfbd54 100644 --- a/src/frontend/src/tables/company/AddressTable.tsx +++ b/src/frontend/src/tables/company/AddressTable.tsx @@ -14,14 +14,14 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; +import { LinkColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { LinkColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; export function AddressTable({ companyId, diff --git a/src/frontend/src/tables/company/CompanyTable.tsx b/src/frontend/src/tables/company/CompanyTable.tsx index a3ebc82422..efdb1d0712 100644 --- a/src/frontend/src/tables/company/CompanyTable.tsx +++ b/src/frontend/src/tables/company/CompanyTable.tsx @@ -11,19 +11,19 @@ import { apiUrl } from '@lib/functions/Api'; import { navigateToLink } from '@lib/functions/Navigation'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; +import { + BooleanColumn, + CompanyColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { TagsFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { companyFields } from '../../forms/CompanyForms'; import { useCreateApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - BooleanColumn, - CompanyColumn, - DescriptionColumn -} from '../ColumnRenderers'; -import { TagsFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * A table which displays a list of company records, diff --git a/src/frontend/src/tables/company/ContactTable.tsx b/src/frontend/src/tables/company/ContactTable.tsx index b2dcbb95ce..dc449cfee3 100644 --- a/src/frontend/src/tables/company/ContactTable.tsx +++ b/src/frontend/src/tables/company/ContactTable.tsx @@ -17,13 +17,13 @@ import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { useNavigate } from 'react-router-dom'; import { RenderInlineModel } from '../../components/render/Instance'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; export function ContactTable({ companyId, diff --git a/src/frontend/src/tables/company/ParametricCompanyTable.tsx b/src/frontend/src/tables/company/ParametricCompanyTable.tsx index 23dae4e1a2..cad123743e 100644 --- a/src/frontend/src/tables/company/ParametricCompanyTable.tsx +++ b/src/frontend/src/tables/company/ParametricCompanyTable.tsx @@ -4,7 +4,10 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { t } from '@lingui/core/macro'; import { useMemo } from 'react'; -import { CompanyColumn, DescriptionColumn } from '../ColumnRenderers'; +import { + CompanyColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; export default function ParametricCompanyTable({ diff --git a/src/frontend/src/tables/general/AttachmentTable.tsx b/src/frontend/src/tables/general/AttachmentTable.tsx index 6db7a83766..a0e8cdcb3b 100644 --- a/src/frontend/src/tables/general/AttachmentTable.tsx +++ b/src/frontend/src/tables/general/AttachmentTable.tsx @@ -27,6 +27,7 @@ import type { TableFilter } from '@lib/types/Filters'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { AttachmentLink } from '../../components/items/AttachmentLink'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useApi } from '../../contexts/ApiContext'; import { formatFileSize } from '../../defaults/formatters'; import { @@ -35,7 +36,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Define set of columns to display for the attachment table diff --git a/src/frontend/src/tables/general/BarcodeScanTable.tsx b/src/frontend/src/tables/general/BarcodeScanTable.tsx index ad67ff523d..578749dd46 100644 --- a/src/frontend/src/tables/general/BarcodeScanTable.tsx +++ b/src/frontend/src/tables/general/BarcodeScanTable.tsx @@ -8,8 +8,8 @@ import { useCallback, useEffect, useMemo } from 'react'; import { useNavigate } from 'react-router-dom'; import type { BarcodeScanItem } from '../../components/barcodes/BarcodeScanItem'; import { RenderInstance } from '../../components/render/Instance'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * A table for showing barcode scan history data on the scan index page diff --git a/src/frontend/src/tables/general/ExtraLineItemTable.tsx b/src/frontend/src/tables/general/ExtraLineItemTable.tsx index 88b490a21f..f675b00aa2 100644 --- a/src/frontend/src/tables/general/ExtraLineItemTable.tsx +++ b/src/frontend/src/tables/general/ExtraLineItemTable.tsx @@ -13,6 +13,15 @@ import type { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { + DecimalColumn, + DescriptionColumn, + LineItemColumn, + LinkColumn, + NoteColumn, + ProjectCodeColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { formatCurrency } from '../../defaults/formatters'; import { extraLineItemFields } from '../../forms/CommonForms'; import { @@ -21,15 +30,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - DecimalColumn, - DescriptionColumn, - LineItemColumn, - LinkColumn, - NoteColumn, - ProjectCodeColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function ExtraLineItemTable({ endpoint, diff --git a/src/frontend/src/tables/general/ParameterTable.tsx b/src/frontend/src/tables/general/ParameterTable.tsx index 05f3ce1227..4acc4022d4 100644 --- a/src/frontend/src/tables/general/ParameterTable.tsx +++ b/src/frontend/src/tables/general/ParameterTable.tsx @@ -13,6 +13,15 @@ import { t } from '@lingui/core/macro'; import { IconFileUpload, IconPlus } from '@tabler/icons-react'; import { useCallback, useMemo, useState } from 'react'; import { ActionDropdown } from '../../components/items/ActionDropdown'; +import { + DateColumn, + DescriptionColumn, + NoteColumn, + UserColumn +} from '../../components/tables/ColumnRenderers'; +import { UserFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { useParameterFields } from '../../forms/CommonForms'; import { dataImporterSessionFields } from '../../forms/ImporterForms'; import { @@ -22,15 +31,6 @@ import { } from '../../hooks/UseForm'; import { useImporterState } from '../../states/ImporterState'; import { useUserState } from '../../states/UserState'; -import { - DateColumn, - DescriptionColumn, - NoteColumn, - UserColumn -} from '../ColumnRenderers'; -import { UserFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; /** * Construct a table listing parameters diff --git a/src/frontend/src/tables/general/ParameterTemplateTable.tsx b/src/frontend/src/tables/general/ParameterTemplateTable.tsx index 912c1a423d..b1ba48be40 100644 --- a/src/frontend/src/tables/general/ParameterTemplateTable.tsx +++ b/src/frontend/src/tables/general/ParameterTemplateTable.tsx @@ -15,6 +15,11 @@ import type { TableFilter } from '@lib/types/Filters'; import type { RowAction, TableColumn } from '@lib/types/Tables'; import { t } from '@lingui/core/macro'; import { useCallback, useMemo, useState } from 'react'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useParameterTemplateFields } from '../../forms/CommonForms'; import { useFilters } from '../../hooks/UseFilter'; import { @@ -23,8 +28,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Render a table of ParameterTemplate objects diff --git a/src/frontend/src/tables/general/ParametricDataTable.tsx b/src/frontend/src/tables/general/ParametricDataTable.tsx index 5634480925..780ffd871d 100644 --- a/src/frontend/src/tables/general/ParametricDataTable.tsx +++ b/src/frontend/src/tables/general/ParametricDataTable.tsx @@ -1,4 +1,5 @@ import { cancelEvent } from '@lib/functions/Events'; +import { getDetailUrl, navigateToLink } from '@lib/functions/Navigation'; import useTable from '@lib/hooks/UseTable'; import { ApiEndpoints, @@ -7,9 +8,7 @@ import { UserRoles, YesNoButton, apiUrl, - formatDecimal, - getDetailUrl, - navigateToLink + formatDecimal } from '@lib/index'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; @@ -20,6 +19,8 @@ import { IconCirclePlus } from '@tabler/icons-react'; import { useQuery } from '@tanstack/react-query'; import { type ReactNode, useCallback, useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { useApi } from '../../contexts/ApiContext'; import { formatDate } from '../../defaults/formatters'; import { useParameterFields } from '../../forms/CommonForms'; @@ -28,8 +29,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; import { PARAMETER_FILTER_OPERATORS, ParameterFilter diff --git a/src/frontend/src/tables/machine/MachineListTable.tsx b/src/frontend/src/tables/machine/MachineListTable.tsx index e8c3b99948..c78f673b86 100644 --- a/src/frontend/src/tables/machine/MachineListTable.tsx +++ b/src/frontend/src/tables/machine/MachineListTable.tsx @@ -50,14 +50,14 @@ import { TableStatusRenderer } from '../../components/render/StatusRenderer'; import { MachineSettingList } from '../../components/settings/SettingList'; +import { BooleanColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useApi } from '../../contexts/ApiContext'; import { useCreateApiFormModal, useDeleteApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; -import { BooleanColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; import type { MachineDriverI, MachineTypeI } from './MachineTypeTable'; interface MachineI { diff --git a/src/frontend/src/tables/machine/MachineTypeTable.tsx b/src/frontend/src/tables/machine/MachineTypeTable.tsx index 37f38cc4a0..2e4ff1659f 100644 --- a/src/frontend/src/tables/machine/MachineTypeTable.tsx +++ b/src/frontend/src/tables/machine/MachineTypeTable.tsx @@ -26,8 +26,11 @@ import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; import type { InvenTreeTableProps } from '@lib/types/Tables'; import { InfoItem } from '../../components/items/InfoItem'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { MachineListTable, useMachineTypeDriver } from './MachineListTable'; export interface MachineTypeI { diff --git a/src/frontend/src/tables/notifications/NotificationTable.tsx b/src/frontend/src/tables/notifications/NotificationTable.tsx index 40dd0b0aef..54ac608a0f 100644 --- a/src/frontend/src/tables/notifications/NotificationTable.tsx +++ b/src/frontend/src/tables/notifications/NotificationTable.tsx @@ -6,7 +6,7 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; import type { TableState } from '@lib/types/Tables'; import type { TableColumn } from '@lib/types/Tables'; -import { InvenTreeTable } from '../InvenTreeTable'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; export function NotificationTable({ params, diff --git a/src/frontend/src/tables/part/ParametricPartTable.tsx b/src/frontend/src/tables/part/ParametricPartTable.tsx index fa37cef90b..0d30102e1b 100644 --- a/src/frontend/src/tables/part/ParametricPartTable.tsx +++ b/src/frontend/src/tables/part/ParametricPartTable.tsx @@ -3,7 +3,10 @@ import { ModelType } from '@lib/enums/ModelType'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { useMemo } from 'react'; -import { DescriptionColumn, PartColumn } from '../ColumnRenderers'; +import { + DescriptionColumn, + PartColumn +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; import { PartTableFilters } from './PartTableFilters'; diff --git a/src/frontend/src/tables/part/PartBuildAllocationsTable.tsx b/src/frontend/src/tables/part/PartBuildAllocationsTable.tsx index 47b2dc5d42..2bd3ddbeef 100644 --- a/src/frontend/src/tables/part/PartBuildAllocationsTable.tsx +++ b/src/frontend/src/tables/part/PartBuildAllocationsTable.tsx @@ -14,16 +14,16 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { IconCircleCheck } from '@tabler/icons-react'; -import { useUserState } from '../../states/UserState'; import { DescriptionColumn, PartColumn, ProjectCodeColumn, StatusColumn -} from '../ColumnRenderers'; -import { IncludeVariantsFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; +} from '../../components/tables/ColumnRenderers'; +import { IncludeVariantsFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { useUserState } from '../../states/UserState'; import { BuildLineSubTable } from '../build/BuildLineTable'; /** diff --git a/src/frontend/src/tables/part/PartCategoryTable.tsx b/src/frontend/src/tables/part/PartCategoryTable.tsx index 649df800fd..a25aa5eca7 100644 --- a/src/frontend/src/tables/part/PartCategoryTable.tsx +++ b/src/frontend/src/tables/part/PartCategoryTable.tsx @@ -14,6 +14,11 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { ActionDropdown } from '../../components/items/ActionDropdown'; import { ApiIcon } from '../../components/items/ApiIcon'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { partCategoryFields } from '../../forms/PartForms'; import { InvenTreeIcon } from '../../functions/icons'; import { @@ -22,8 +27,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * PartCategoryTable - Displays a table of part categories diff --git a/src/frontend/src/tables/part/PartCategoryTemplateTable.tsx b/src/frontend/src/tables/part/PartCategoryTemplateTable.tsx index 90feb2d687..0d7537ec38 100644 --- a/src/frontend/src/tables/part/PartCategoryTemplateTable.tsx +++ b/src/frontend/src/tables/part/PartCategoryTemplateTable.tsx @@ -16,6 +16,7 @@ import type { TableFilter } from '@lib/types/Filters'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { IconInfoCircle } from '@tabler/icons-react'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useDynamicParameterValueField } from '../../forms/CommonForms'; import { useCreateApiFormModal, @@ -23,7 +24,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function PartCategoryTemplateTable({ categoryId diff --git a/src/frontend/src/tables/part/PartPurchaseOrdersTable.tsx b/src/frontend/src/tables/part/PartPurchaseOrdersTable.tsx index 93bb7b1805..41655fc00a 100644 --- a/src/frontend/src/tables/part/PartPurchaseOrdersTable.tsx +++ b/src/frontend/src/tables/part/PartPurchaseOrdersTable.tsx @@ -9,11 +9,18 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; +import { + DateColumn, + ReferenceColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; +import { + IncludeVariantsFilter, + StatusFilterOptions +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { formatCurrency, formatDecimal } from '../../defaults/formatters'; -import { DateColumn, ReferenceColumn, StatusColumn } from '../ColumnRenderers'; -import { IncludeVariantsFilter, StatusFilterOptions } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; export default function PartPurchaseOrdersTable({ partId diff --git a/src/frontend/src/tables/part/PartSalesAllocationsTable.tsx b/src/frontend/src/tables/part/PartSalesAllocationsTable.tsx index e74d4d7dad..eefa093079 100644 --- a/src/frontend/src/tables/part/PartSalesAllocationsTable.tsx +++ b/src/frontend/src/tables/part/PartSalesAllocationsTable.tsx @@ -13,17 +13,17 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; -import { useUserState } from '../../states/UserState'; import { DescriptionColumn, IPNColumn, PartColumn, ProjectCodeColumn, StatusColumn -} from '../ColumnRenderers'; -import { IncludeVariantsFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; +} from '../../components/tables/ColumnRenderers'; +import { IncludeVariantsFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { useUserState } from '../../states/UserState'; import SalesOrderAllocationTable from '../sales/SalesOrderAllocationTable'; export default function PartSalesAllocationsTable({ diff --git a/src/frontend/src/tables/part/PartTable.tsx b/src/frontend/src/tables/part/PartTable.tsx index fd3f124607..3122a94dcb 100644 --- a/src/frontend/src/tables/part/PartTable.tsx +++ b/src/frontend/src/tables/part/PartTable.tsx @@ -21,6 +21,17 @@ import { } from '@tabler/icons-react'; import { type ReactNode, useCallback, useMemo, useState } from 'react'; import { ActionDropdown } from '../../components/items/ActionDropdown'; +import { + BooleanColumn, + CategoryColumn, + DefaultLocationColumn, + DescriptionColumn, + IPNColumn, + LinkColumn, + PartColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import ImportPartWizard from '../../components/wizards/ImportPartWizard'; import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; import { formatDecimal, formatPriceRange } from '../../defaults/formatters'; @@ -37,17 +48,6 @@ import { usePluginsWithMixin } from '../../hooks/UsePlugins'; import { useImporterState } from '../../states/ImporterState'; import { useGlobalSettingsState } from '../../states/SettingsStates'; import { useUserState } from '../../states/UserState'; -import { - BooleanColumn, - CategoryColumn, - DefaultLocationColumn, - DescriptionColumn, - IPNColumn, - LinkColumn, - PartColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; import { PartTableFilters } from './PartTableFilters'; /** diff --git a/src/frontend/src/tables/part/PartTableFilters.tsx b/src/frontend/src/tables/part/PartTableFilters.tsx index 301f264b2c..ff3e2b25dd 100644 --- a/src/frontend/src/tables/part/PartTableFilters.tsx +++ b/src/frontend/src/tables/part/PartTableFilters.tsx @@ -1,7 +1,7 @@ import { ModelType } from '@lib/enums/ModelType'; import type { TableFilter } from '@lib/types/Filters'; import { t } from '@lingui/core/macro'; -import { TagsFilter } from '../Filter'; +import { TagsFilter } from '../../components/tables/Filter'; /** * Construct a set of filters for the part table diff --git a/src/frontend/src/tables/part/PartTestResultTable.tsx b/src/frontend/src/tables/part/PartTestResultTable.tsx index 7f956c68d0..fd2ab75646 100644 --- a/src/frontend/src/tables/part/PartTestResultTable.tsx +++ b/src/frontend/src/tables/part/PartTestResultTable.tsx @@ -22,11 +22,11 @@ import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import type { UseFormReturn } from 'react-hook-form'; import { RenderUser } from '../../components/render/User'; -import { useApi } from '../../contexts/ApiContext'; -import { formatDate } from '../../defaults/formatters'; -import { useTestResultFields } from '../../forms/StockForms'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { LocationColumn, PartColumn, StatusColumn } from '../ColumnRenderers'; +import { + LocationColumn, + PartColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; import { BatchFilter, HasBatchCodeFilter, @@ -36,9 +36,13 @@ import { SerialGTEFilter, SerialLTEFilter, StatusFilterOptions -} from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; +import { useApi } from '../../contexts/ApiContext'; +import { formatDate } from '../../defaults/formatters'; +import { useTestResultFields } from '../../forms/StockForms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; /** * A table which displays all "test results" for the outputs generated by a build order. diff --git a/src/frontend/src/tables/part/PartTestTemplateTable.tsx b/src/frontend/src/tables/part/PartTestTemplateTable.tsx index fc8bb02081..e50a0da5cc 100644 --- a/src/frontend/src/tables/part/PartTestTemplateTable.tsx +++ b/src/frontend/src/tables/part/PartTestTemplateTable.tsx @@ -21,15 +21,18 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { useCreateApiFormModal, useDeleteApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; export default function PartTestTemplateTable({ partId, diff --git a/src/frontend/src/tables/part/RelatedPartTable.tsx b/src/frontend/src/tables/part/RelatedPartTable.tsx index 1714239287..2f2245ebba 100644 --- a/src/frontend/src/tables/part/RelatedPartTable.tsx +++ b/src/frontend/src/tables/part/RelatedPartTable.tsx @@ -16,14 +16,14 @@ import useTable from '@lib/hooks/UseTable'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { Thumbnail } from '../../components/images/Thumbnail'; +import { NoteColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { NoteColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Construct a table listing related parts for a given part diff --git a/src/frontend/src/tables/plugin/PluginErrorTable.tsx b/src/frontend/src/tables/plugin/PluginErrorTable.tsx index bec6fda561..61a3708eca 100644 --- a/src/frontend/src/tables/plugin/PluginErrorTable.tsx +++ b/src/frontend/src/tables/plugin/PluginErrorTable.tsx @@ -6,7 +6,7 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; -import { InvenTreeTable } from '../InvenTreeTable'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; export interface PluginRegistryErrorI { id: number; diff --git a/src/frontend/src/tables/plugin/PluginListTable.tsx b/src/frontend/src/tables/plugin/PluginListTable.tsx index 525c8289a4..2d693b87ce 100644 --- a/src/frontend/src/tables/plugin/PluginListTable.tsx +++ b/src/frontend/src/tables/plugin/PluginListTable.tsx @@ -22,6 +22,11 @@ import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; import PluginDrawer from '../../components/plugins/PluginDrawer'; import type { PluginInterface } from '../../components/plugins/PluginInterface'; +import { + BooleanColumn, + LinkColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useApi } from '../../contexts/ApiContext'; import { useCreateApiFormModal, @@ -30,8 +35,6 @@ import { } from '../../hooks/UseForm'; import { useServerApiState } from '../../states/ServerApiState'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn, LinkColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Construct an indicator icon for a single plugin diff --git a/src/frontend/src/tables/purchasing/ManufacturerPartParametricTable.tsx b/src/frontend/src/tables/purchasing/ManufacturerPartParametricTable.tsx index e250d564ab..745c5f211b 100644 --- a/src/frontend/src/tables/purchasing/ManufacturerPartParametricTable.tsx +++ b/src/frontend/src/tables/purchasing/ManufacturerPartParametricTable.tsx @@ -3,7 +3,11 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { t } from '@lingui/core/macro'; import { type ReactNode, useMemo } from 'react'; -import { CompanyColumn, IPNColumn, PartColumn } from '../ColumnRenderers'; +import { + CompanyColumn, + IPNColumn, + PartColumn +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; export default function ManufacturerPartParametricTable({ diff --git a/src/frontend/src/tables/purchasing/ManufacturerPartTable.tsx b/src/frontend/src/tables/purchasing/ManufacturerPartTable.tsx index 20d4297661..cf8bdd476f 100644 --- a/src/frontend/src/tables/purchasing/ManufacturerPartTable.tsx +++ b/src/frontend/src/tables/purchasing/ManufacturerPartTable.tsx @@ -15,6 +15,15 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; +import { + CompanyColumn, + DescriptionColumn, + IPNColumn, + LinkColumn, + PartColumn +} from '../../components/tables/ColumnRenderers'; +import { TagsFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useManufacturerPartFields } from '../../forms/CompanyForms'; import { useCreateApiFormModal, @@ -22,15 +31,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - CompanyColumn, - DescriptionColumn, - IPNColumn, - LinkColumn, - PartColumn -} from '../ColumnRenderers'; -import { TagsFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; /* * Construct a table listing manufacturer parts diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderFilters.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderFilters.tsx index 348878046a..aa210b677b 100644 --- a/src/frontend/src/tables/purchasing/PurchaseOrderFilters.tsx +++ b/src/frontend/src/tables/purchasing/PurchaseOrderFilters.tsx @@ -24,7 +24,7 @@ import { TargetDateBeforeFilter, UpdatedAfterFilter, UpdatedBeforeFilter -} from '../Filter'; +} from '../../components/tables/Filter'; export default function PurchaseOrderFilters({ includeDateFilters = true diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx index 1ce809954a..f479c5e5bf 100644 --- a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx +++ b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx @@ -23,6 +23,20 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { useNavigate } from 'react-router-dom'; import { RenderInstance } from '../../components/render/Instance'; +import { + CurrencyColumn, + DescriptionColumn, + LineItemColumn, + LinkColumn, + LocationColumn, + NoteColumn, + PartColumn, + ProjectCodeColumn, + ReferenceColumn, + TargetDateColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { formatCurrency } from '../../defaults/formatters'; import { dataImporterSessionFields } from '../../forms/ImporterForms'; import { @@ -37,20 +51,6 @@ import { import useStatusCodes from '../../hooks/UseStatusCodes'; import { useImporterState } from '../../states/ImporterState'; import { useUserState } from '../../states/UserState'; -import { - CurrencyColumn, - DescriptionColumn, - LineItemColumn, - LinkColumn, - LocationColumn, - NoteColumn, - PartColumn, - ProjectCodeColumn, - ReferenceColumn, - TargetDateColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; /* * Display a table of purchase order line items, for a specific order diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderParametricTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderParametricTable.tsx index f2902e8632..3c16bedd97 100644 --- a/src/frontend/src/tables/purchasing/PurchaseOrderParametricTable.tsx +++ b/src/frontend/src/tables/purchasing/PurchaseOrderParametricTable.tsx @@ -8,7 +8,7 @@ import { CompanyColumn, DescriptionColumn, ReferenceColumn -} from '../ColumnRenderers'; +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; import PurchaseOrderFilters from './PurchaseOrderFilters'; diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderTable.tsx index af97a1f240..42c5c67211 100644 --- a/src/frontend/src/tables/purchasing/PurchaseOrderTable.tsx +++ b/src/frontend/src/tables/purchasing/PurchaseOrderTable.tsx @@ -8,10 +8,6 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; -import { formatCurrency } from '../../defaults/formatters'; -import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { useUserState } from '../../states/UserState'; import { CompanyColumn, CompletionDateColumn, @@ -27,8 +23,12 @@ import { StatusColumn, TargetDateColumn, UpdatedAtColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { formatCurrency } from '../../defaults/formatters'; +import { usePurchaseOrderFields } from '../../forms/PurchaseOrderForms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; +import { useUserState } from '../../states/UserState'; import PurchaseOrderFilters from './PurchaseOrderFilters'; /** diff --git a/src/frontend/src/tables/purchasing/SupplierPartParametricTable.tsx b/src/frontend/src/tables/purchasing/SupplierPartParametricTable.tsx index 1ee71094a1..dcb625e66c 100644 --- a/src/frontend/src/tables/purchasing/SupplierPartParametricTable.tsx +++ b/src/frontend/src/tables/purchasing/SupplierPartParametricTable.tsx @@ -3,7 +3,10 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { t } from '@lingui/core/macro'; import { type ReactNode, useMemo } from 'react'; -import { CompanyColumn, PartColumn } from '../ColumnRenderers'; +import { + CompanyColumn, + PartColumn +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; export default function SupplierPartParametricTable({ diff --git a/src/frontend/src/tables/purchasing/SupplierPartTable.tsx b/src/frontend/src/tables/purchasing/SupplierPartTable.tsx index b6e087fbf4..6e7c7d530f 100644 --- a/src/frontend/src/tables/purchasing/SupplierPartTable.tsx +++ b/src/frontend/src/tables/purchasing/SupplierPartTable.tsx @@ -18,15 +18,6 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { IconPackageImport } from '@tabler/icons-react'; -import ImportPartWizard from '../../components/wizards/ImportPartWizard'; -import { useSupplierPartFields } from '../../forms/CompanyForms'; -import { - useCreateApiFormModal, - useDeleteApiFormModal, - useEditApiFormModal -} from '../../hooks/UseForm'; -import { usePluginsWithMixin } from '../../hooks/UsePlugins'; -import { useUserState } from '../../states/UserState'; import { BooleanColumn, CompanyColumn, @@ -36,10 +27,19 @@ import { LinkColumn, NoteColumn, PartColumn -} from '../ColumnRenderers'; -import { TagsFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; +} from '../../components/tables/ColumnRenderers'; +import { TagsFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; +import ImportPartWizard from '../../components/wizards/ImportPartWizard'; +import { useSupplierPartFields } from '../../forms/CompanyForms'; +import { + useCreateApiFormModal, + useDeleteApiFormModal, + useEditApiFormModal +} from '../../hooks/UseForm'; +import { usePluginsWithMixin } from '../../hooks/UsePlugins'; +import { useUserState } from '../../states/UserState'; /* * Construct a table listing supplier parts diff --git a/src/frontend/src/tables/purchasing/SupplierPriceBreakTable.tsx b/src/frontend/src/tables/purchasing/SupplierPriceBreakTable.tsx index 4328a71db7..9bcd888be0 100644 --- a/src/frontend/src/tables/purchasing/SupplierPriceBreakTable.tsx +++ b/src/frontend/src/tables/purchasing/SupplierPriceBreakTable.tsx @@ -16,6 +16,8 @@ import { getDetailUrl } from '@lib/functions/Navigation'; import useTable from '@lib/hooks/UseTable'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; +import { CompanyColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { formatCurrency } from '../../defaults/formatters'; import { useCreateApiFormModal, @@ -23,8 +25,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { CompanyColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; export function calculateSupplierPartUnitPrice(record: any) { const pack_quantity = record?.part_detail?.pack_quantity_native ?? 1; diff --git a/src/frontend/src/tables/sales/ReturnOrderFilters.tsx b/src/frontend/src/tables/sales/ReturnOrderFilters.tsx index 97c1e02259..fcc3e0fc0d 100644 --- a/src/frontend/src/tables/sales/ReturnOrderFilters.tsx +++ b/src/frontend/src/tables/sales/ReturnOrderFilters.tsx @@ -25,7 +25,7 @@ import { TargetDateBeforeFilter, UpdatedAfterFilter, UpdatedBeforeFilter -} from '../Filter'; +} from '../../components/tables/Filter'; export default function ReturnOrderFilters({ partId, diff --git a/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx b/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx index 7211b12a77..18cbdeb7af 100644 --- a/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx +++ b/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx @@ -16,6 +16,20 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; +import { + DateColumn, + DescriptionColumn, + LineItemColumn, + LinkColumn, + NoteColumn, + PartColumn, + ProjectCodeColumn, + ReferenceColumn, + StatusColumn, + StockColumn +} from '../../components/tables/ColumnRenderers'; +import { StatusFilterOptions } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { formatCurrency } from '../../defaults/formatters'; import { useReceiveReturnOrderLineItems, @@ -28,20 +42,6 @@ import { } from '../../hooks/UseForm'; import useStatusCodes from '../../hooks/UseStatusCodes'; import { useUserState } from '../../states/UserState'; -import { - DateColumn, - DescriptionColumn, - LineItemColumn, - LinkColumn, - NoteColumn, - PartColumn, - ProjectCodeColumn, - ReferenceColumn, - StatusColumn, - StockColumn -} from '../ColumnRenderers'; -import { StatusFilterOptions } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function ReturnOrderLineItemTable({ orderId, diff --git a/src/frontend/src/tables/sales/ReturnOrderParametricTable.tsx b/src/frontend/src/tables/sales/ReturnOrderParametricTable.tsx index e8df641d6a..72252f79cc 100644 --- a/src/frontend/src/tables/sales/ReturnOrderParametricTable.tsx +++ b/src/frontend/src/tables/sales/ReturnOrderParametricTable.tsx @@ -8,7 +8,7 @@ import { CompanyColumn, DescriptionColumn, ReferenceColumn -} from '../ColumnRenderers'; +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; import ReturnOrderFilters from './ReturnOrderFilters'; diff --git a/src/frontend/src/tables/sales/ReturnOrderTable.tsx b/src/frontend/src/tables/sales/ReturnOrderTable.tsx index 261c6a7629..8ba181260c 100644 --- a/src/frontend/src/tables/sales/ReturnOrderTable.tsx +++ b/src/frontend/src/tables/sales/ReturnOrderTable.tsx @@ -8,10 +8,6 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; -import { formatCurrency } from '../../defaults/formatters'; -import { useReturnOrderFields } from '../../forms/ReturnOrderForms'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { useUserState } from '../../states/UserState'; import { CompanyColumn, CompletionDateColumn, @@ -27,8 +23,12 @@ import { StatusColumn, TargetDateColumn, UpdatedAtColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { formatCurrency } from '../../defaults/formatters'; +import { useReturnOrderFields } from '../../forms/ReturnOrderForms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; +import { useUserState } from '../../states/UserState'; import ReturnOrderFilters from './ReturnOrderFilters'; export function ReturnOrderTable({ diff --git a/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx b/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx index 4fc03e9f68..59ae5495f8 100644 --- a/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx @@ -18,6 +18,19 @@ import type { TableColumn } from '@lib/types/Tables'; import { Alert } from '@mantine/core'; import { IconCircleX, IconTruckDelivery } from '@tabler/icons-react'; import { useNavigate } from 'react-router-dom'; +import { + DescriptionColumn, + IPNColumn, + LocationColumn, + PartColumn, + ReferenceColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; +import { + IncludeVariantsFilter, + StockLocationFilter +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { formatDate } from '../../defaults/formatters'; import { useSalesOrderAllocationFields } from '../../forms/SalesOrderForms'; import { @@ -27,16 +40,6 @@ import { } from '../../hooks/UseForm'; import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; import { useUserState } from '../../states/UserState'; -import { - DescriptionColumn, - IPNColumn, - LocationColumn, - PartColumn, - ReferenceColumn, - StatusColumn -} from '../ColumnRenderers'; -import { IncludeVariantsFilter, StockLocationFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function SalesOrderAllocationTable({ partId, diff --git a/src/frontend/src/tables/sales/SalesOrderFilters.tsx b/src/frontend/src/tables/sales/SalesOrderFilters.tsx index 2146782b9c..3f13735bde 100644 --- a/src/frontend/src/tables/sales/SalesOrderFilters.tsx +++ b/src/frontend/src/tables/sales/SalesOrderFilters.tsx @@ -25,7 +25,7 @@ import { TargetDateBeforeFilter, UpdatedAfterFilter, UpdatedBeforeFilter -} from '../Filter'; +} from '../../components/tables/Filter'; export default function SalesOrderFilters({ partId, diff --git a/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx b/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx index 4b6e3781fd..411c715de2 100644 --- a/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx @@ -30,6 +30,20 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { RenderPart } from '../../components/render/Part'; +import { + DateColumn, + DecimalColumn, + DescriptionColumn, + IPNColumn, + LineItemColumn, + LinkColumn, + ProjectCodeColumn, + ReferenceColumn, + RenderPartColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; import { formatCurrency, formatDecimal } from '../../defaults/formatters'; import { useBuildOrderFields } from '../../forms/BuildForms'; @@ -46,20 +60,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - DateColumn, - DecimalColumn, - DescriptionColumn, - IPNColumn, - LineItemColumn, - LinkColumn, - ProjectCodeColumn, - ReferenceColumn, - RenderPartColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; -import { TableHoverCard } from '../TableHoverCard'; import SalesOrderAllocationTable from './SalesOrderAllocationTable'; export default function SalesOrderLineItemTable({ diff --git a/src/frontend/src/tables/sales/SalesOrderParametricTable.tsx b/src/frontend/src/tables/sales/SalesOrderParametricTable.tsx index 2d39c6728e..542833902a 100644 --- a/src/frontend/src/tables/sales/SalesOrderParametricTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderParametricTable.tsx @@ -8,7 +8,7 @@ import { CompanyColumn, DescriptionColumn, ReferenceColumn -} from '../ColumnRenderers'; +} from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; import SalesOrderFilters from './SalesOrderFilters'; diff --git a/src/frontend/src/tables/sales/SalesOrderShipmentTable.tsx b/src/frontend/src/tables/sales/SalesOrderShipmentTable.tsx index 26cf4433ce..f2996948ce 100644 --- a/src/frontend/src/tables/sales/SalesOrderShipmentTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderShipmentTable.tsx @@ -22,6 +22,14 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; +import { + CompanyColumn, + DateColumn, + LinkColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; +import { TagsFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCheckShipmentForm, useCompleteShipmentForm, @@ -34,14 +42,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - CompanyColumn, - DateColumn, - LinkColumn, - StatusColumn -} from '../ColumnRenderers'; -import { TagsFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function SalesOrderShipmentTable({ showOrderInfo = false, diff --git a/src/frontend/src/tables/sales/SalesOrderTable.tsx b/src/frontend/src/tables/sales/SalesOrderTable.tsx index fa99b08092..67103b7dd7 100644 --- a/src/frontend/src/tables/sales/SalesOrderTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderTable.tsx @@ -9,10 +9,6 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; -import { formatCurrency } from '../../defaults/formatters'; -import { useSalesOrderFields } from '../../forms/SalesOrderForms'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { useUserState } from '../../states/UserState'; import { AllocatedLinesProgressColumn, CompanyColumn, @@ -29,8 +25,12 @@ import { StatusColumn, TargetDateColumn, UpdatedAtColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { formatCurrency } from '../../defaults/formatters'; +import { useSalesOrderFields } from '../../forms/SalesOrderForms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; +import { useUserState } from '../../states/UserState'; import SalesOrderFilters from './SalesOrderFilters'; export function SalesOrderTable({ diff --git a/src/frontend/src/tables/settings/ApiTokenTable.tsx b/src/frontend/src/tables/settings/ApiTokenTable.tsx index ead1d0b50d..be846f7457 100644 --- a/src/frontend/src/tables/settings/ApiTokenTable.tsx +++ b/src/frontend/src/tables/settings/ApiTokenTable.tsx @@ -13,11 +13,14 @@ import { useDisclosure } from '@mantine/hooks'; import { IconCircleX } from '@tabler/icons-react'; import { useCallback, useMemo, useState } from 'react'; import { api } from '../../App'; +import { + BooleanColumn, + UserColumn +} from '../../components/tables/ColumnRenderers'; +import { UserFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { showApiErrorMessage } from '../../functions/notifications'; import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { BooleanColumn, UserColumn } from '../ColumnRenderers'; -import { UserFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export function ApiTokenTable({ only_myself = true diff --git a/src/frontend/src/tables/settings/AssetTable.tsx b/src/frontend/src/tables/settings/AssetTable.tsx index a04ac10af0..bf4a4165f8 100644 --- a/src/frontend/src/tables/settings/AssetTable.tsx +++ b/src/frontend/src/tables/settings/AssetTable.tsx @@ -10,13 +10,13 @@ import { Alert, Text } from '@mantine/core'; import { IconInfoCircle } from '@tabler/icons-react'; import { type ReactNode, useCallback, useMemo, useState } from 'react'; import { AttachmentLink } from '../../components/items/AttachmentLink'; +import { DescriptionColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; export type AssetI = { pk: number; diff --git a/src/frontend/src/tables/settings/BarcodeScanHistoryTable.tsx b/src/frontend/src/tables/settings/BarcodeScanHistoryTable.tsx index 80b06490f6..f9a2928575 100644 --- a/src/frontend/src/tables/settings/BarcodeScanHistoryTable.tsx +++ b/src/frontend/src/tables/settings/BarcodeScanHistoryTable.tsx @@ -26,11 +26,11 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { RenderUser } from '../../components/render/User'; +import { UserFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useDeleteApiFormModal } from '../../hooks/UseForm'; import { useGlobalSettingsState } from '../../states/SettingsStates'; import { useUserState } from '../../states/UserState'; -import { UserFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; /* * Render detail information for a particular barcode scan result. diff --git a/src/frontend/src/tables/settings/CustomStateTable.tsx b/src/frontend/src/tables/settings/CustomStateTable.tsx index 668875a8e2..d38ac0e9f0 100644 --- a/src/frontend/src/tables/settings/CustomStateTable.tsx +++ b/src/frontend/src/tables/settings/CustomStateTable.tsx @@ -19,6 +19,7 @@ import type { StatusCodeInterface, StatusCodeListInterface } from '../../components/render/StatusRenderer'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { statusColorMap } from '../../defaults/backendMappings'; import { useCustomStateFields } from '../../forms/CommonForms'; import { @@ -28,7 +29,6 @@ import { } from '../../hooks/UseForm'; import { useGlobalStatusState } from '../../states/GlobalStatusState'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Table for displaying list of custom states diff --git a/src/frontend/src/tables/settings/CustomUnitsTable.tsx b/src/frontend/src/tables/settings/CustomUnitsTable.tsx index e0e89f357d..f1d34b5367 100644 --- a/src/frontend/src/tables/settings/CustomUnitsTable.tsx +++ b/src/frontend/src/tables/settings/CustomUnitsTable.tsx @@ -12,6 +12,7 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { customUnitsFields } from '../../forms/CommonForms'; import { useCreateApiFormModal, @@ -19,7 +20,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Table for displaying list of custom physical units diff --git a/src/frontend/src/tables/settings/EmailTable.tsx b/src/frontend/src/tables/settings/EmailTable.tsx index a36b4e4e52..74fed345e3 100644 --- a/src/frontend/src/tables/settings/EmailTable.tsx +++ b/src/frontend/src/tables/settings/EmailTable.tsx @@ -7,13 +7,13 @@ import { t } from '@lingui/core/macro'; import { ActionIcon, Alert, Badge, Group, HoverCard } from '@mantine/core'; import { IconExclamationCircle, IconTestPipe } from '@tabler/icons-react'; import { type ReactNode, useCallback, useMemo, useState } from 'react'; +import { DateColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { DateColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; function EmailStatusBadge({ status diff --git a/src/frontend/src/tables/settings/ErrorTable.tsx b/src/frontend/src/tables/settings/ErrorTable.tsx index 57ed35e8e4..4518ee00cc 100644 --- a/src/frontend/src/tables/settings/ErrorTable.tsx +++ b/src/frontend/src/tables/settings/ErrorTable.tsx @@ -10,10 +10,10 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useDeleteApiFormModal } from '../../hooks/UseForm'; import { useInstance } from '../../hooks/UseInstance'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; function ErrorDetail({ errorId }: Readonly<{ errorId?: number }>) { const { id } = useParams(); diff --git a/src/frontend/src/tables/settings/ExportSessionTable.tsx b/src/frontend/src/tables/settings/ExportSessionTable.tsx index 06819f2354..94ec9dfcc9 100644 --- a/src/frontend/src/tables/settings/ExportSessionTable.tsx +++ b/src/frontend/src/tables/settings/ExportSessionTable.tsx @@ -8,10 +8,10 @@ import { t } from '@lingui/core/macro'; import { useCallback, useMemo, useState } from 'react'; import { AttachmentLink } from '../../components/items/AttachmentLink'; import { RenderUser } from '../../components/render/User'; +import { DateColumn } from '../../components/tables/ColumnRenderers'; +import { UserFilter } from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useDeleteApiFormModal } from '../../hooks/UseForm'; -import { DateColumn } from '../ColumnRenderers'; -import { UserFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function ExportSessionTable() { const table = useTable('exportsession'); diff --git a/src/frontend/src/tables/settings/FailedTasksTable.tsx b/src/frontend/src/tables/settings/FailedTasksTable.tsx index 8bbdd77dcd..f3dfa7ab13 100644 --- a/src/frontend/src/tables/settings/FailedTasksTable.tsx +++ b/src/frontend/src/tables/settings/FailedTasksTable.tsx @@ -10,8 +10,8 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function FailedTasksTable({ onRecordsUpdated diff --git a/src/frontend/src/tables/settings/GroupTable.tsx b/src/frontend/src/tables/settings/GroupTable.tsx index cafb9121d4..34c687b556 100644 --- a/src/frontend/src/tables/settings/GroupTable.tsx +++ b/src/frontend/src/tables/settings/GroupTable.tsx @@ -23,13 +23,13 @@ import { IconUsersGroup } from '@tabler/icons-react'; import { useNavigate } from 'react-router-dom'; import { EditApiForm } from '../../components/forms/ApiForm'; import { RoleTable, type RuleSet } from '../../components/items/RoleTable'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal } from '../../hooks/UseForm'; import { useInstance } from '../../hooks/UseInstance'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; export interface GroupDetailI { pk: number; diff --git a/src/frontend/src/tables/settings/ImportSessionTable.tsx b/src/frontend/src/tables/settings/ImportSessionTable.tsx index 6dfd8101a4..91850613e5 100644 --- a/src/frontend/src/tables/settings/ImportSessionTable.tsx +++ b/src/frontend/src/tables/settings/ImportSessionTable.tsx @@ -12,6 +12,15 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { AttachmentLink } from '../../components/items/AttachmentLink'; import { RenderUser } from '../../components/render/User'; +import { + DateColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; +import { + StatusFilterOptions, + UserFilter +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { dataImporterSessionFields } from '../../forms/ImporterForms'; import { useFilters } from '../../hooks/UseFilter'; import { @@ -20,9 +29,6 @@ import { } from '../../hooks/UseForm'; import useStatusCodes from '../../hooks/UseStatusCodes'; import { useImporterState } from '../../states/ImporterState'; -import { DateColumn, StatusColumn } from '../ColumnRenderers'; -import { StatusFilterOptions, UserFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function ImportSessionTable() { const table = useTable('importsession'); diff --git a/src/frontend/src/tables/settings/PendingTasksTable.tsx b/src/frontend/src/tables/settings/PendingTasksTable.tsx index 7c31364d97..2c7ff4a669 100644 --- a/src/frontend/src/tables/settings/PendingTasksTable.tsx +++ b/src/frontend/src/tables/settings/PendingTasksTable.tsx @@ -10,8 +10,8 @@ import type { TableColumn } from '@lib/types/Tables'; import { notifications, showNotification } from '@mantine/notifications'; import { IconTrashXFilled, IconX } from '@tabler/icons-react'; import { api } from '../../App'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useUserState } from '../../states/UserState'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function PendingTasksTable({ onRecordsUpdated diff --git a/src/frontend/src/tables/settings/ProjectCodeTable.tsx b/src/frontend/src/tables/settings/ProjectCodeTable.tsx index e20e3210ed..ad78fcb67c 100644 --- a/src/frontend/src/tables/settings/ProjectCodeTable.tsx +++ b/src/frontend/src/tables/settings/ProjectCodeTable.tsx @@ -13,6 +13,12 @@ import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/index'; import type { TableColumn } from '@lib/types/Tables'; +import { + BooleanColumn, + DescriptionColumn, + ResponsibleColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { projectCodeFields } from '../../forms/CommonForms'; import { useCreateApiFormModal, @@ -20,12 +26,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - BooleanColumn, - DescriptionColumn, - ResponsibleColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Table for displaying list of project codes diff --git a/src/frontend/src/tables/settings/ScheduledTasksTable.tsx b/src/frontend/src/tables/settings/ScheduledTasksTable.tsx index 904632a1c2..d66d1e767b 100644 --- a/src/frontend/src/tables/settings/ScheduledTasksTable.tsx +++ b/src/frontend/src/tables/settings/ScheduledTasksTable.tsx @@ -7,7 +7,7 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; -import { InvenTreeTable } from '../InvenTreeTable'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; export default function ScheduledTasksTable() { const table = useTable('tasks-scheduled'); diff --git a/src/frontend/src/tables/settings/SelectionListDrawer.tsx b/src/frontend/src/tables/settings/SelectionListDrawer.tsx index 4f3ab3d133..a2e17ff1f0 100644 --- a/src/frontend/src/tables/settings/SelectionListDrawer.tsx +++ b/src/frontend/src/tables/settings/SelectionListDrawer.tsx @@ -12,6 +12,11 @@ import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { IconLock } from '@tabler/icons-react'; import { EditApiForm } from '../../components/forms/ApiForm'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { selectionEntryFields, selectionListFields @@ -22,8 +27,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useInstance } from '../../hooks/UseInstance'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; function SelectionListEntriesTable({ id, diff --git a/src/frontend/src/tables/settings/SelectionListTable.tsx b/src/frontend/src/tables/settings/SelectionListTable.tsx index 91e2aec2dc..86dcd402e2 100644 --- a/src/frontend/src/tables/settings/SelectionListTable.tsx +++ b/src/frontend/src/tables/settings/SelectionListTable.tsx @@ -14,14 +14,17 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { selectionListFields } from '../../forms/CommonForms'; import { useCreateApiFormModal, useDeleteApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; import SelectionListDrawer from './SelectionListDrawer'; /** diff --git a/src/frontend/src/tables/settings/SnippetTable.tsx b/src/frontend/src/tables/settings/SnippetTable.tsx index 1abb3e2b13..68bde47739 100644 --- a/src/frontend/src/tables/settings/SnippetTable.tsx +++ b/src/frontend/src/tables/settings/SnippetTable.tsx @@ -28,6 +28,8 @@ import { TemplateEditor } from '../../components/editors/TemplateEditor'; import { AttachmentLink } from '../../components/items/AttachmentLink'; +import { DescriptionColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal, @@ -35,8 +37,6 @@ import { } from '../../hooks/UseForm'; import { useInstance } from '../../hooks/UseInstance'; import { useUserState } from '../../states/UserState'; -import { DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; import type { TemplateI } from './TemplateTable'; export type SnippetI = { diff --git a/src/frontend/src/tables/settings/TemplateTable.tsx b/src/frontend/src/tables/settings/TemplateTable.tsx index 69cea1fd55..cf5334cb1a 100644 --- a/src/frontend/src/tables/settings/TemplateTable.tsx +++ b/src/frontend/src/tables/settings/TemplateTable.tsx @@ -39,6 +39,13 @@ import type { TemplateEditorUIFeature, TemplatePreviewUIFeature } from '../../components/plugins/PluginUIFeatureTypes'; +import { + BooleanColumn, + DescriptionColumn, + UserColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import { formatDate } from '../../defaults/formatters'; import { useFilters } from '../../hooks/UseFilter'; import { @@ -49,13 +56,6 @@ import { import { useInstance } from '../../hooks/UseInstance'; import { usePluginUIFeature } from '../../hooks/UsePluginUIFeature'; import { useUserState } from '../../states/UserState'; -import { - BooleanColumn, - DescriptionColumn, - UserColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import { TableHoverCard } from '../TableHoverCard'; export type TemplateI = { pk: number; diff --git a/src/frontend/src/tables/settings/UserTable.tsx b/src/frontend/src/tables/settings/UserTable.tsx index cd8c189511..7f40a5056c 100644 --- a/src/frontend/src/tables/settings/UserTable.tsx +++ b/src/frontend/src/tables/settings/UserTable.tsx @@ -36,6 +36,8 @@ import { TransferList, type TransferListItem } from '../../components/items/TransferList'; +import { BooleanColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { showApiErrorMessage } from '../../functions/notifications'; import { useApiFormModal, @@ -44,8 +46,6 @@ import { } from '../../hooks/UseForm'; import { useInstance } from '../../hooks/UseInstance'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; import type { GroupDetailI } from './GroupTable'; export interface UserDetailI { diff --git a/src/frontend/src/tables/stock/InstalledItemsTable.tsx b/src/frontend/src/tables/stock/InstalledItemsTable.tsx index ed3cfe1c16..1f586f4790 100644 --- a/src/frontend/src/tables/stock/InstalledItemsTable.tsx +++ b/src/frontend/src/tables/stock/InstalledItemsTable.tsx @@ -10,19 +10,19 @@ import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; import useTable from '@lib/hooks/UseTable'; import type { TableColumn } from '@lib/types/Tables'; +import { + IPNColumn, + PartColumn, + StatusColumn, + StockColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useStockItemInstallFields, useStockItemUninstallFields } from '../../forms/StockForms'; import { useCreateApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - IPNColumn, - PartColumn, - StatusColumn, - StockColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function InstalledItemsTable({ stockItem diff --git a/src/frontend/src/tables/stock/LocationTypesTable.tsx b/src/frontend/src/tables/stock/LocationTypesTable.tsx index 89b7cb747f..88d2e67d78 100644 --- a/src/frontend/src/tables/stock/LocationTypesTable.tsx +++ b/src/frontend/src/tables/stock/LocationTypesTable.tsx @@ -14,14 +14,14 @@ import useTable from '@lib/hooks/UseTable'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { ApiIcon } from '../../components/items/ApiIcon'; +import { DescriptionColumn } from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useCreateApiFormModal, useDeleteApiFormModal, useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function LocationTypesTable() { const table = useTable('location-types'); diff --git a/src/frontend/src/tables/stock/StockItemTable.tsx b/src/frontend/src/tables/stock/StockItemTable.tsx index e296fdadd3..007022bb84 100644 --- a/src/frontend/src/tables/stock/StockItemTable.tsx +++ b/src/frontend/src/tables/stock/StockItemTable.tsx @@ -11,14 +11,6 @@ import useTable from '@lib/hooks/UseTable'; import type { TableFilter } from '@lib/types/Filters'; import type { StockOperationProps } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; -import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; -import { formatCurrency, formatPriceRange } from '../../defaults/formatters'; -import { useStockFields } from '../../forms/StockForms'; -import { InvenTreeIcon } from '../../functions/icons'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; -import { useGlobalSettingsState } from '../../states/SettingsStates'; -import { useUserState } from '../../states/UserState'; import { DateColumn, DescriptionColumn, @@ -27,7 +19,7 @@ import { PartColumn, StatusColumn, StockColumn -} from '../ColumnRenderers'; +} from '../../components/tables/ColumnRenderers'; import { BatchFilter, CreatedAfterFilter, @@ -45,8 +37,16 @@ import { TagsFilter, UpdatedAfterFilter, UpdatedBeforeFilter -} from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; +import { formatCurrency, formatPriceRange } from '../../defaults/formatters'; +import { useStockFields } from '../../forms/StockForms'; +import { InvenTreeIcon } from '../../functions/icons'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; +import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; +import { useGlobalSettingsState } from '../../states/SettingsStates'; +import { useUserState } from '../../states/UserState'; /** * Construct a list of columns for the stock item table diff --git a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx index cb5d9098e3..4cbe2412c9 100644 --- a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx +++ b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx @@ -26,6 +26,14 @@ import type { TableFilter } from '@lib/types/Filters'; import type { ApiFormFieldSet } from '@lib/types/Forms'; import type { TableColumn } from '@lib/types/Tables'; import { AttachmentLink } from '../../components/items/AttachmentLink'; +import { + DateColumn, + DescriptionColumn, + NoteColumn, + UserColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; import { useApi } from '../../contexts/ApiContext'; import { formatDate } from '../../defaults/formatters'; import { useTestResultFields } from '../../forms/StockForms'; @@ -36,14 +44,6 @@ import { } from '../../hooks/UseForm'; import { useGlobalSettingsState } from '../../states/SettingsStates'; import { useUserState } from '../../states/UserState'; -import { - DateColumn, - DescriptionColumn, - NoteColumn, - UserColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; export default function StockItemTestResultTable({ partId, diff --git a/src/frontend/src/tables/stock/StockLocationParametricTable.tsx b/src/frontend/src/tables/stock/StockLocationParametricTable.tsx index 1c34581921..b78e8814c8 100644 --- a/src/frontend/src/tables/stock/StockLocationParametricTable.tsx +++ b/src/frontend/src/tables/stock/StockLocationParametricTable.tsx @@ -4,7 +4,7 @@ import type { TableColumn } from '@lib/types/Tables'; import { Group } from '@mantine/core'; import { type ReactNode, useMemo } from 'react'; import { ApiIcon } from '../../components/items/ApiIcon'; -import { DescriptionColumn } from '../ColumnRenderers'; +import { DescriptionColumn } from '../../components/tables/ColumnRenderers'; import ParametricDataTable from '../general/ParametricDataTable'; export default function StockLocationParametricTable({ diff --git a/src/frontend/src/tables/stock/StockLocationTable.tsx b/src/frontend/src/tables/stock/StockLocationTable.tsx index de1ca7795b..d86a83ac73 100644 --- a/src/frontend/src/tables/stock/StockLocationTable.tsx +++ b/src/frontend/src/tables/stock/StockLocationTable.tsx @@ -13,6 +13,11 @@ import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { ActionDropdown } from '../../components/items/ActionDropdown'; import { ApiIcon } from '../../components/items/ApiIcon'; +import { + BooleanColumn, + DescriptionColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { stockLocationFields } from '../../forms/StockForms'; import { InvenTreeIcon } from '../../functions/icons'; import { @@ -21,8 +26,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; /** * Stock location table diff --git a/src/frontend/src/tables/stock/StockTrackingTable.tsx b/src/frontend/src/tables/stock/StockTrackingTable.tsx index 6e91c8b5b9..581c075124 100644 --- a/src/frontend/src/tables/stock/StockTrackingTable.tsx +++ b/src/frontend/src/tables/stock/StockTrackingTable.tsx @@ -31,14 +31,14 @@ import { IPNColumn, PartColumn, StockColumn -} from '../ColumnRenderers'; +} from '../../components/tables/ColumnRenderers'; import { IncludeVariantsFilter, MaxDateFilter, MinDateFilter, UserFilter -} from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; type StockTrackingEntry = { label: string; diff --git a/src/frontend/src/tables/stock/TransferOrderAllocationTable.tsx b/src/frontend/src/tables/stock/TransferOrderAllocationTable.tsx index 4d51bafdff..5e2640bec4 100644 --- a/src/frontend/src/tables/stock/TransferOrderAllocationTable.tsx +++ b/src/frontend/src/tables/stock/TransferOrderAllocationTable.tsx @@ -11,6 +11,18 @@ import { t } from '@lingui/core/macro'; import { Alert } from '@mantine/core'; import { IconCircleX } from '@tabler/icons-react'; import { useCallback, useMemo, useState } from 'react'; +import { + DescriptionColumn, + LocationColumn, + PartColumn, + ReferenceColumn, + StatusColumn +} from '../../components/tables/ColumnRenderers'; +import { + IncludeVariantsFilter, + StockLocationFilter +} from '../../components/tables/Filter'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; import { useTransferOrderAllocationFields } from '../../forms/TransferOrderForms'; import { useDeleteApiFormModal, @@ -18,15 +30,6 @@ import { } from '../../hooks/UseForm'; import { useStockAdjustActions } from '../../hooks/UseStockAdjustActions'; import { useUserState } from '../../states/UserState'; -import { - DescriptionColumn, - LocationColumn, - PartColumn, - ReferenceColumn, - StatusColumn -} from '../ColumnRenderers'; -import { IncludeVariantsFilter, StockLocationFilter } from '../Filter'; -import { InvenTreeTable } from '../InvenTreeTable'; export default function TransferOrderAllocationTable({ partId, diff --git a/src/frontend/src/tables/stock/TransferOrderFilters.tsx b/src/frontend/src/tables/stock/TransferOrderFilters.tsx index f7d427d840..05b4b510d9 100644 --- a/src/frontend/src/tables/stock/TransferOrderFilters.tsx +++ b/src/frontend/src/tables/stock/TransferOrderFilters.tsx @@ -21,7 +21,7 @@ import { TagsFilter, TargetDateAfterFilter, TargetDateBeforeFilter -} from '../Filter'; +} from '../../components/tables/Filter'; export default function TransferOrderFilters({ partId, diff --git a/src/frontend/src/tables/stock/TransferOrderLineItemTable.tsx b/src/frontend/src/tables/stock/TransferOrderLineItemTable.tsx index c59fedceed..3f21fd5d4d 100644 --- a/src/frontend/src/tables/stock/TransferOrderLineItemTable.tsx +++ b/src/frontend/src/tables/stock/TransferOrderLineItemTable.tsx @@ -30,6 +30,17 @@ import type { DataTableRowExpansionProps } from 'mantine-datatable'; import { type ReactNode, useCallback, useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { RenderPart } from '../../components/render/Part'; +import { + DateColumn, + DecimalColumn, + DescriptionColumn, + LinkColumn, + ProjectCodeColumn, + RenderPartColumn +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import RowExpansionIcon from '../../components/tables/RowExpansionIcon'; +import { TableHoverCard } from '../../components/tables/TableHoverCard'; import OrderPartsWizard from '../../components/wizards/OrderPartsWizard'; import { useBuildOrderFields } from '../../forms/BuildForms'; import { @@ -43,17 +54,6 @@ import { useEditApiFormModal } from '../../hooks/UseForm'; import { useUserState } from '../../states/UserState'; -import { - DateColumn, - DecimalColumn, - DescriptionColumn, - LinkColumn, - ProjectCodeColumn, - RenderPartColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; -import RowExpansionIcon from '../RowExpansionIcon'; -import { TableHoverCard } from '../TableHoverCard'; import TransferOrderAllocationTable from './TransferOrderAllocationTable'; export default function TransferOrderLineItemTable({ diff --git a/src/frontend/src/tables/stock/TransferOrderParametricTable.tsx b/src/frontend/src/tables/stock/TransferOrderParametricTable.tsx index 0bdba4fcee..29e15a10c9 100644 --- a/src/frontend/src/tables/stock/TransferOrderParametricTable.tsx +++ b/src/frontend/src/tables/stock/TransferOrderParametricTable.tsx @@ -3,7 +3,10 @@ import { ModelType } from '@lib/enums/ModelType'; import type { TableFilter } from '@lib/types/Filters'; import type { TableColumn } from '@lib/types/Tables'; import { type ReactNode, useMemo } from 'react'; -import { DescriptionColumn, ReferenceColumn } from '../ColumnRenderers'; +import { + DescriptionColumn, + ReferenceColumn +} from '../../components/tables/ColumnRenderers'; import { AssignedToMeFilter, OrderStatusFilter, @@ -11,7 +14,7 @@ import { OverdueFilter, ProjectCodeFilter, ResponsibleFilter -} from '../Filter'; +} from '../../components/tables/Filter'; import ParametricDataTable from '../general/ParametricDataTable'; export default function TransferOrderParametricTable({ diff --git a/src/frontend/src/tables/stock/TransferOrderTable.tsx b/src/frontend/src/tables/stock/TransferOrderTable.tsx index adb4f26343..455c60b293 100644 --- a/src/frontend/src/tables/stock/TransferOrderTable.tsx +++ b/src/frontend/src/tables/stock/TransferOrderTable.tsx @@ -5,9 +5,6 @@ import { AddItemButton, UserRoles, useTable } from '@lib/index'; import type { TableFilter } from '@lib/types/Filters'; import { t } from '@lingui/core/macro'; import { useMemo } from 'react'; -import { useTransferOrderFields } from '../../forms/TransferOrderForms'; -import { useCreateApiFormModal } from '../../hooks/UseForm'; -import { useUserState } from '../../states/UserState'; import { BooleanColumn, CompletionDateColumn, @@ -21,8 +18,11 @@ import { StartDateColumn, StatusColumn, TargetDateColumn -} from '../ColumnRenderers'; -import { InvenTreeTable } from '../InvenTreeTable'; +} from '../../components/tables/ColumnRenderers'; +import { InvenTreeTable } from '../../components/tables/InvenTreeTable'; +import { useTransferOrderFields } from '../../forms/TransferOrderForms'; +import { useCreateApiFormModal } from '../../hooks/UseForm'; +import { useUserState } from '../../states/UserState'; import TransferOrderFilters from './TransferOrderFilters'; export function TransferOrderTable({