mirror of
https://github.com/inventree/InvenTree.git
synced 2025-10-23 17:37:38 +00:00
[UI] Category Parameters (#10633)
- Add category parameters table to the part category page
This commit is contained in:
@@ -3,6 +3,7 @@ import { Group, LoadingOverlay, Skeleton, Stack, Text } from '@mantine/core';
|
|||||||
import {
|
import {
|
||||||
IconCategory,
|
IconCategory,
|
||||||
IconInfoCircle,
|
IconInfoCircle,
|
||||||
|
IconListCheck,
|
||||||
IconListDetails,
|
IconListDetails,
|
||||||
IconPackages,
|
IconPackages,
|
||||||
IconSitemap
|
IconSitemap
|
||||||
@@ -41,6 +42,7 @@ import { useInstance } from '../../hooks/UseInstance';
|
|||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import ParametricPartTable from '../../tables/part/ParametricPartTable';
|
import ParametricPartTable from '../../tables/part/ParametricPartTable';
|
||||||
import { PartCategoryTable } from '../../tables/part/PartCategoryTable';
|
import { PartCategoryTable } from '../../tables/part/PartCategoryTable';
|
||||||
|
import PartCategoryTemplateTable from '../../tables/part/PartCategoryTemplateTable';
|
||||||
import { PartListTable } from '../../tables/part/PartTable';
|
import { PartListTable } from '../../tables/part/PartTable';
|
||||||
import { StockItemTable } from '../../tables/stock/StockItemTable';
|
import { StockItemTable } from '../../tables/stock/StockItemTable';
|
||||||
|
|
||||||
@@ -297,6 +299,13 @@ export default function CategoryDetail() {
|
|||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'category_parameters',
|
||||||
|
label: t`Category Parameters`,
|
||||||
|
icon: <IconListCheck />,
|
||||||
|
hidden: !id || !category.pk,
|
||||||
|
content: <PartCategoryTemplateTable categoryId={category?.pk} />
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'parameters',
|
name: 'parameters',
|
||||||
label: t`Part Parameters`,
|
label: t`Part Parameters`,
|
||||||
|
@@ -23,17 +23,24 @@ import { useTable } from '../../hooks/UseTable';
|
|||||||
import { useUserState } from '../../states/UserState';
|
import { useUserState } from '../../states/UserState';
|
||||||
import { InvenTreeTable } from '../InvenTreeTable';
|
import { InvenTreeTable } from '../InvenTreeTable';
|
||||||
|
|
||||||
export default function PartCategoryTemplateTable() {
|
export default function PartCategoryTemplateTable({
|
||||||
|
categoryId
|
||||||
|
}: {
|
||||||
|
categoryId?: number;
|
||||||
|
}) {
|
||||||
const table = useTable('part-category-parameter-templates');
|
const table = useTable('part-category-parameter-templates');
|
||||||
const user = useUserState();
|
const user = useUserState();
|
||||||
|
|
||||||
const formFields: ApiFormFieldSet = useMemo(() => {
|
const formFields: ApiFormFieldSet = useMemo(() => {
|
||||||
return {
|
return {
|
||||||
category: {},
|
category: {
|
||||||
|
value: categoryId,
|
||||||
|
disabled: categoryId !== undefined
|
||||||
|
},
|
||||||
parameter_template: {},
|
parameter_template: {},
|
||||||
default_value: {}
|
default_value: {}
|
||||||
};
|
};
|
||||||
}, []);
|
}, [categoryId]);
|
||||||
|
|
||||||
const [selectedTemplate, setSelectedTemplate] = useState<number>(0);
|
const [selectedTemplate, setSelectedTemplate] = useState<number>(0);
|
||||||
|
|
||||||
@@ -153,7 +160,10 @@ export default function PartCategoryTemplateTable() {
|
|||||||
rowActions: rowActions,
|
rowActions: rowActions,
|
||||||
tableFilters: tableFilters,
|
tableFilters: tableFilters,
|
||||||
tableActions: tableActions,
|
tableActions: tableActions,
|
||||||
enableDownload: true
|
enableDownload: true,
|
||||||
|
params: {
|
||||||
|
category: categoryId
|
||||||
|
}
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
|
Reference in New Issue
Block a user