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:
@@ -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 />
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|||||||
40
src/frontend/src/tables/build/BuildOrderParametricTable.tsx
Normal file
40
src/frontend/src/tables/build/BuildOrderParametricTable.tsx
Normal 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
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user