mirror of
https://github.com/inventree/InvenTree.git
synced 2025-07-30 16:41:35 +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:
@@ -5,6 +5,7 @@ import { AddItemButton } from '@lib/components/AddItemButton';
|
|||||||
import {
|
import {
|
||||||
type RowAction,
|
type RowAction,
|
||||||
RowDeleteAction,
|
RowDeleteAction,
|
||||||
|
RowDuplicateAction,
|
||||||
RowEditAction
|
RowEditAction
|
||||||
} from '@lib/components/RowActions';
|
} from '@lib/components/RowActions';
|
||||||
import { ApiEndpoints } from '@lib/enums/ApiEndpoints';
|
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
|
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({
|
const editTemplate = useEditApiFormModal({
|
||||||
url: ApiEndpoints.part_parameter_template_list,
|
url: ApiEndpoints.part_parameter_template_list,
|
||||||
pk: selectedTemplate,
|
pk: selectedTemplate?.pk,
|
||||||
title: t`Edit Parameter Template`,
|
title: t`Edit Parameter Template`,
|
||||||
table: table,
|
table: table,
|
||||||
fields: useMemo(
|
fields: useMemo(
|
||||||
@@ -112,7 +124,7 @@ export default function PartParameterTemplateTable() {
|
|||||||
|
|
||||||
const deleteTemplate = useDeleteApiFormModal({
|
const deleteTemplate = useDeleteApiFormModal({
|
||||||
url: ApiEndpoints.part_parameter_template_list,
|
url: ApiEndpoints.part_parameter_template_list,
|
||||||
pk: selectedTemplate,
|
pk: selectedTemplate?.pk,
|
||||||
title: t`Delete Parameter Template`,
|
title: t`Delete Parameter Template`,
|
||||||
table: table
|
table: table
|
||||||
});
|
});
|
||||||
@@ -124,14 +136,21 @@ export default function PartParameterTemplateTable() {
|
|||||||
RowEditAction({
|
RowEditAction({
|
||||||
hidden: !user.hasChangeRole(UserRoles.part),
|
hidden: !user.hasChangeRole(UserRoles.part),
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
setSelectedTemplate(record.pk);
|
setSelectedTemplate(record);
|
||||||
editTemplate.open();
|
editTemplate.open();
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
RowDuplicateAction({
|
||||||
|
hidden: !user.hasAddRole(UserRoles.part),
|
||||||
|
onClick: () => {
|
||||||
|
setSelectedTemplate(record);
|
||||||
|
duplicateTemplate.open();
|
||||||
|
}
|
||||||
|
}),
|
||||||
RowDeleteAction({
|
RowDeleteAction({
|
||||||
hidden: !user.hasDeleteRole(UserRoles.part),
|
hidden: !user.hasDeleteRole(UserRoles.part),
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
setSelectedTemplate(record.pk);
|
setSelectedTemplate(record);
|
||||||
deleteTemplate.open();
|
deleteTemplate.open();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -155,6 +174,7 @@ export default function PartParameterTemplateTable() {
|
|||||||
<>
|
<>
|
||||||
{newTemplate.modal}
|
{newTemplate.modal}
|
||||||
{editTemplate.modal}
|
{editTemplate.modal}
|
||||||
|
{duplicateTemplate.modal}
|
||||||
{deleteTemplate.modal}
|
{deleteTemplate.modal}
|
||||||
<InvenTreeTable
|
<InvenTreeTable
|
||||||
url={apiUrl(ApiEndpoints.part_parameter_template_list)}
|
url={apiUrl(ApiEndpoints.part_parameter_template_list)}
|
||||||
|
Reference in New Issue
Block a user