2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-12-16 09:18:10 +00:00

Add parameteric build order table

This commit is contained in:
Oliver Walters
2025-11-26 00:41:32 +00:00
parent e95a138152
commit 2bca07c0ef
2 changed files with 53 additions and 1 deletions

View File

@@ -1,6 +1,11 @@
import { t } from '@lingui/core/macro'; import { t } from '@lingui/core/macro';
import { Stack } from '@mantine/core'; import { Stack } from '@mantine/core';
import { IconCalendar, IconTable, IconTools } from '@tabler/icons-react'; import {
IconCalendar,
IconListDetails,
IconTable,
IconTools
} from '@tabler/icons-react';
import { useMemo } from 'react'; import { useMemo } from 'react';
import { ModelType } from '@lib/enums/ModelType'; import { ModelType } from '@lib/enums/ModelType';
@@ -16,6 +21,7 @@ import SegmentedControlPanel from '../../components/panels/SegmentedControlPanel
import { useGlobalSettingsState } from '../../states/SettingsStates'; import { useGlobalSettingsState } from '../../states/SettingsStates';
import { useUserState } from '../../states/UserState'; import { useUserState } from '../../states/UserState';
import { PartCategoryFilter } from '../../tables/Filter'; import { PartCategoryFilter } from '../../tables/Filter';
import BuildOrderParametricTable from '../../tables/build/BuildOrderParametricTable';
import { BuildOrderTable } from '../../tables/build/BuildOrderTable'; import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
function BuildOrderCalendar() { function BuildOrderCalendar() {
@@ -74,6 +80,12 @@ export default function BuildIndex() {
label: t`Calendar View`, label: t`Calendar View`,
icon: <IconCalendar />, icon: <IconCalendar />,
content: <BuildOrderCalendar /> content: <BuildOrderCalendar />
},
{
value: 'parametric',
label: t`Parametric View`,
icon: <IconListDetails />,
content: <BuildOrderParametricTable />
} }
] ]
}) })

View File

@@ -0,0 +1,40 @@
import { ApiEndpoints, ModelType } from '@lib/index';
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 { OrderStatusFilter, OutstandingFilter } from '../Filter';
import ParametricDataTable from '../general/ParametricDataTable';
export default function BuildOrderParametricTable({
queryParams
}: {
queryParams?: Record<string, any>;
}): ReactNode {
const customColumns: TableColumn[] = useMemo(() => {
return [
ReferenceColumn({
switchable: false
}),
DescriptionColumn({
accessor: 'title'
})
];
}, []);
const customFilters: TableFilter[] = useMemo(() => {
return [OutstandingFilter(), OrderStatusFilter({ model: ModelType.build })];
}, []);
return (
<ParametricDataTable
modelType={ModelType.build}
endpoint={ApiEndpoints.build_order_list}
customColumns={customColumns}
customFilters={customFilters}
queryParams={{
...queryParams
}}
/>
);
}