From cd223116b55651a27d5114036b0513aa2e91b9a8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 26 Jun 2025 01:12:38 +1000 Subject: [PATCH] [UI] Description col tweaks (#9859) * Refactoring * More refactoring * Remove debug msg --- src/frontend/src/tables/ColumnRenderers.tsx | 1 + src/frontend/src/tables/bom/UsedInTable.tsx | 14 ++++++++------ src/frontend/src/tables/build/BuildLineTable.tsx | 15 +++++++++------ .../src/tables/general/ExtraLineItemTable.tsx | 6 ++---- .../src/tables/machine/MachineTypeTable.tsx | 12 +++--------- .../src/tables/part/SelectionListTable.tsx | 7 +++---- .../purchasing/PurchaseOrderLineItemTable.tsx | 8 ++++---- .../tables/sales/ReturnOrderLineItemTable.tsx | 8 ++++---- .../tables/sales/SalesOrderAllocationTable.tsx | 14 ++++++-------- .../src/tables/sales/SalesOrderLineItemTable.tsx | 16 +++++++++------- .../src/tables/settings/TemplateTable.tsx | 6 +++--- .../src/tables/stock/LocationTypesTable.tsx | 6 ++---- .../tables/stock/StockItemTestResultTable.tsx | 4 +--- 13 files changed, 55 insertions(+), 62 deletions(-) diff --git a/src/frontend/src/tables/ColumnRenderers.tsx b/src/frontend/src/tables/ColumnRenderers.tsx index db133b3b4e..9323f84b7e 100644 --- a/src/frontend/src/tables/ColumnRenderers.tsx +++ b/src/frontend/src/tables/ColumnRenderers.tsx @@ -96,6 +96,7 @@ export function DescriptionColumn(props: TableColumnProps): TableColumn { title: t`Description`, sortable: false, switchable: true, + width: 300, ...props }; } diff --git a/src/frontend/src/tables/bom/UsedInTable.tsx b/src/frontend/src/tables/bom/UsedInTable.tsx index 27cb9e38b3..b32f3cb8af 100644 --- a/src/frontend/src/tables/bom/UsedInTable.tsx +++ b/src/frontend/src/tables/bom/UsedInTable.tsx @@ -9,7 +9,11 @@ import type { TableFilter } from '@lib/types/Filters'; import { formatDecimal } from '../../defaults/formatters'; import { useTable } from '../../hooks/UseTable'; import type { TableColumn } from '../Column'; -import { PartColumn, ReferenceColumn } from '../ColumnRenderers'; +import { + DescriptionColumn, + PartColumn, + ReferenceColumn +} from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; /* @@ -43,11 +47,9 @@ export function UsedInTable({ title: t`Revision`, sortable: true }, - { - accessor: 'part_detail.description', - sortable: false, - title: t`Description` - }, + DescriptionColumn({ + accessor: 'part_detail.description' + }), { accessor: 'sub_part', sortable: true, diff --git a/src/frontend/src/tables/build/BuildLineTable.tsx b/src/frontend/src/tables/build/BuildLineTable.tsx index 00e5a86940..7307b563e1 100644 --- a/src/frontend/src/tables/build/BuildLineTable.tsx +++ b/src/frontend/src/tables/build/BuildLineTable.tsx @@ -32,7 +32,12 @@ import useStatusCodes from '../../hooks/UseStatusCodes'; import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; -import { BooleanColumn, LocationColumn, PartColumn } from '../ColumnRenderers'; +import { + BooleanColumn, + DescriptionColumn, + LocationColumn, + PartColumn +} from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { type RowAction, @@ -323,11 +328,9 @@ export default function BuildLineTable({ sortable: false, title: t`IPN` }, - { - accessor: 'part_detail.description', - sortable: false, - title: t`Description` - }, + DescriptionColumn({ + accessor: 'part_detail.description' + }), { accessor: 'bom_item_detail.reference', ordering: 'reference', diff --git a/src/frontend/src/tables/general/ExtraLineItemTable.tsx b/src/frontend/src/tables/general/ExtraLineItemTable.tsx index 1ad2d3207f..5a355abb3d 100644 --- a/src/frontend/src/tables/general/ExtraLineItemTable.tsx +++ b/src/frontend/src/tables/general/ExtraLineItemTable.tsx @@ -15,7 +15,7 @@ import { import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; -import { LinkColumn, NoteColumn } from '../ColumnRenderers'; +import { DescriptionColumn, LinkColumn, NoteColumn } from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { type RowAction, @@ -46,9 +46,7 @@ export default function ExtraLineItemTable({ accessor: 'reference', switchable: false }, - { - accessor: 'description' - }, + DescriptionColumn({}), { accessor: 'quantity', switchable: false diff --git a/src/frontend/src/tables/machine/MachineTypeTable.tsx b/src/frontend/src/tables/machine/MachineTypeTable.tsx index d01145c12c..bf4c23cb6b 100644 --- a/src/frontend/src/tables/machine/MachineTypeTable.tsx +++ b/src/frontend/src/tables/machine/MachineTypeTable.tsx @@ -25,7 +25,7 @@ import { StylishText } from '../../components/items/StylishText'; import { DetailDrawer } from '../../components/nav/DetailDrawer'; import { useTable } from '../../hooks/UseTable'; import type { TableColumn } from '../Column'; -import { BooleanColumn } from '../ColumnRenderers'; +import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; import { InvenTreeTable, type InvenTreeTableProps } from '../InvenTreeTable'; import { MachineListTable, useMachineTypeDriver } from './MachineListTable'; @@ -70,10 +70,7 @@ function MachineTypeDrawer({ accessor: 'name', title: t`Name` }, - { - accessor: 'description', - title: t`Description` - }, + DescriptionColumn({}), BooleanColumn({ accessor: 'is_builtin', title: t`Builtin driver` @@ -340,10 +337,7 @@ export function MachineTypeListTable({ accessor: 'name', title: t`Name` }, - { - accessor: 'description', - title: t`Description` - }, + DescriptionColumn({}), BooleanColumn({ accessor: 'is_builtin', title: t`Builtin type` diff --git a/src/frontend/src/tables/part/SelectionListTable.tsx b/src/frontend/src/tables/part/SelectionListTable.tsx index f14f502c4c..d30a6e3f11 100644 --- a/src/frontend/src/tables/part/SelectionListTable.tsx +++ b/src/frontend/src/tables/part/SelectionListTable.tsx @@ -14,7 +14,7 @@ import { import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; -import { BooleanColumn } from '../ColumnRenderers'; +import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { type RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; @@ -32,10 +32,9 @@ export default function SelectionListTable() { accessor: 'name', sortable: true }, - { - accessor: 'description', + DescriptionColumn({ sortable: true - }, + }), BooleanColumn({ accessor: 'active' }), diff --git a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx index 3211107e2f..078954d484 100644 --- a/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx +++ b/src/frontend/src/tables/purchasing/PurchaseOrderLineItemTable.tsx @@ -31,6 +31,7 @@ import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; import { CurrencyColumn, + DescriptionColumn, LinkColumn, NoteColumn, PartColumn, @@ -143,10 +144,9 @@ export function PurchaseOrderLineItemTable({ sortable: true, ordering: 'IPN' }, - { - accessor: 'part_detail.description', - sortable: false - }, + DescriptionColumn({ + accessor: 'part_detail.description' + }), ReferenceColumn({}), { accessor: 'build_order', diff --git a/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx b/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx index 2a89021612..4925fd0638 100644 --- a/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx +++ b/src/frontend/src/tables/sales/ReturnOrderLineItemTable.tsx @@ -25,6 +25,7 @@ import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; import { DateColumn, + DescriptionColumn, LinkColumn, NoteColumn, PartColumn, @@ -111,10 +112,9 @@ export default function ReturnOrderLineItemTable({ accessor: 'part_detail.IPN', sortable: false }, - { - accessor: 'part_detail.description', - sortable: false - }, + DescriptionColumn({ + accessor: 'part_detail.description' + }), { accessor: 'item_detail.serial', title: t`Quantity`, diff --git a/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx b/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx index 14100df22a..61ed983d06 100644 --- a/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderAllocationTable.tsx @@ -19,6 +19,7 @@ import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; import { + DescriptionColumn, LocationColumn, PartColumn, ReferenceColumn, @@ -105,11 +106,10 @@ export default function SalesOrderAllocationTable({ sortable: true, hidden: showOrderInfo != true }), - { + DescriptionColumn({ accessor: 'order_detail.description', - title: t`Description`, hidden: showOrderInfo != true - }, + }), StatusColumn({ accessor: 'order_detail.status', model: ModelType.salesorder, @@ -124,12 +124,10 @@ export default function SalesOrderAllocationTable({ switchable: false, render: (record: any) => PartColumn({ part: record.part_detail }) }, - { + DescriptionColumn({ accessor: 'part_detail.description', - title: t`Description`, - hidden: showPartInfo != true, - sortable: false - }, + hidden: showPartInfo != true + }), { accessor: 'part_detail.IPN', title: t`IPN`, diff --git a/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx b/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx index a727513c10..273225a895 100644 --- a/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx +++ b/src/frontend/src/tables/sales/SalesOrderLineItemTable.tsx @@ -36,7 +36,12 @@ import { import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; -import { DateColumn, LinkColumn, PartColumn } from '../ColumnRenderers'; +import { + DateColumn, + DescriptionColumn, + LinkColumn, + PartColumn +} from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { type RowAction, @@ -89,12 +94,9 @@ export default function SalesOrderLineItemTable({ title: t`IPN`, switchable: true }, - { - accessor: 'part_detail.description', - title: t`Description`, - sortable: false, - switchable: true - }, + DescriptionColumn({ + accessor: 'part_detail.description' + }), { accessor: 'reference', sortable: false, diff --git a/src/frontend/src/tables/settings/TemplateTable.tsx b/src/frontend/src/tables/settings/TemplateTable.tsx index 0d2394177f..651219c1e8 100644 --- a/src/frontend/src/tables/settings/TemplateTable.tsx +++ b/src/frontend/src/tables/settings/TemplateTable.tsx @@ -43,7 +43,7 @@ import { usePluginUIFeature } from '../../hooks/UsePluginUIFeature'; import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; -import { BooleanColumn } from '../ColumnRenderers'; +import { BooleanColumn, DescriptionColumn } from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { type RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; @@ -204,11 +204,11 @@ export function TemplateTable({ sortable: true, switchable: false }, - { + DescriptionColumn({ accessor: 'description', sortable: false, switchable: true - }, + }), { accessor: 'template', sortable: false, diff --git a/src/frontend/src/tables/stock/LocationTypesTable.tsx b/src/frontend/src/tables/stock/LocationTypesTable.tsx index de1d5f042b..9f76168aeb 100644 --- a/src/frontend/src/tables/stock/LocationTypesTable.tsx +++ b/src/frontend/src/tables/stock/LocationTypesTable.tsx @@ -15,6 +15,7 @@ import { import { useTable } from '../../hooks/UseTable'; import { useUserState } from '../../states/UserState'; import type { TableColumn } from '../Column'; +import { DescriptionColumn } from '../ColumnRenderers'; import { InvenTreeTable } from '../InvenTreeTable'; import { type RowAction, RowDeleteAction, RowEditAction } from '../RowActions'; @@ -69,10 +70,7 @@ export default function LocationTypesTable() { title: t`Name`, sortable: true }, - { - accessor: 'description', - title: t`Description` - }, + DescriptionColumn({}), { accessor: 'location_count', sortable: true diff --git a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx index 3dcf1a2453..57a1ab8f8d 100644 --- a/src/frontend/src/tables/stock/StockItemTestResultTable.tsx +++ b/src/frontend/src/tables/stock/StockItemTestResultTable.tsx @@ -185,9 +185,7 @@ export default function StockItemTestResultTable({ } } }, - DescriptionColumn({ - accessor: 'description' - }), + DescriptionColumn({}), { accessor: 'value', title: t`Value`