2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-30 00:21:34 +00:00

Add "duplicate" action for PartParameterTEmplate (#10076)

* Add "duplicate" action for PartParameterTEmplate

* Update src/frontend/src/tables/part/PartParameterTemplateTable.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix style

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Oliver
2025-07-25 16:15:12 +10:00
committed by GitHub
parent 0e0abf2d75
commit 6e81fa2e7b

View File

@@ -5,6 +5,7 @@ import { AddItemButton } from '@lib/components/AddItemButton';
import {
type RowAction,
RowDeleteAction,
RowDuplicateAction,
RowEditAction
} from '@lib/components/RowActions';
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
@@ -95,13 +96,24 @@ export default function PartParameterTemplateTable() {
)
});
const [selectedTemplate, setSelectedTemplate] = useState<number | undefined>(
const [selectedTemplate, setSelectedTemplate] = useState<any | undefined>(
undefined
);
const duplicateTemplate = useCreateApiFormModal({
url: ApiEndpoints.part_parameter_template_list,
title: t`Duplicate Parameter Template`,
table: table,
fields: useMemo(
() => ({ ...partParameterTemplateFields }),
[partParameterTemplateFields]
),
initialData: selectedTemplate
});
const editTemplate = useEditApiFormModal({
url: ApiEndpoints.part_parameter_template_list,
pk: selectedTemplate,
pk: selectedTemplate?.pk,
title: t`Edit Parameter Template`,
table: table,
fields: useMemo(
@@ -112,7 +124,7 @@ export default function PartParameterTemplateTable() {
const deleteTemplate = useDeleteApiFormModal({
url: ApiEndpoints.part_parameter_template_list,
pk: selectedTemplate,
pk: selectedTemplate?.pk,
title: t`Delete Parameter Template`,
table: table
});
@@ -124,14 +136,21 @@ export default function PartParameterTemplateTable() {
RowEditAction({
hidden: !user.hasChangeRole(UserRoles.part),
onClick: () => {
setSelectedTemplate(record.pk);
setSelectedTemplate(record);
editTemplate.open();
}
}),
RowDuplicateAction({
hidden: !user.hasAddRole(UserRoles.part),
onClick: () => {
setSelectedTemplate(record);
duplicateTemplate.open();
}
}),
RowDeleteAction({
hidden: !user.hasDeleteRole(UserRoles.part),
onClick: () => {
setSelectedTemplate(record.pk);
setSelectedTemplate(record);
deleteTemplate.open();
}
})
@@ -155,6 +174,7 @@ export default function PartParameterTemplateTable() {
<>
{newTemplate.modal}
{editTemplate.modal}
{duplicateTemplate.modal}
{deleteTemplate.modal}
<InvenTreeTable
url={apiUrl(ApiEndpoints.part_parameter_template_list)}