mirror of
https://github.com/inventree/InvenTree.git
synced 2026-03-15 08:33:42 +00:00
Allow disable edit for ParameterTable
This commit is contained in:
@@ -7,10 +7,12 @@ import type { PanelType } from './Panel';
|
||||
|
||||
export default function ParametersPanel({
|
||||
model_type,
|
||||
model_id
|
||||
model_id,
|
||||
allowEdit = true
|
||||
}: {
|
||||
model_type: ModelType;
|
||||
model_id: number | undefined;
|
||||
allowEdit?: boolean;
|
||||
}): PanelType {
|
||||
return {
|
||||
name: 'parameters',
|
||||
@@ -18,7 +20,11 @@ export default function ParametersPanel({
|
||||
icon: <IconListDetails />,
|
||||
content:
|
||||
model_type && model_id ? (
|
||||
<ParameterTable modelType={model_type} modelId={model_id} />
|
||||
<ParameterTable
|
||||
allowEdit={allowEdit}
|
||||
modelType={model_type}
|
||||
modelId={model_id}
|
||||
/>
|
||||
) : (
|
||||
<Skeleton />
|
||||
)
|
||||
|
||||
@@ -23,6 +23,7 @@ import {
|
||||
IconInfoCircle,
|
||||
IconLayersLinked,
|
||||
IconListCheck,
|
||||
IconListDetails,
|
||||
IconListTree,
|
||||
IconLock,
|
||||
IconPackages,
|
||||
@@ -73,7 +74,6 @@ import AttachmentPanel from '../../components/panels/AttachmentPanel';
|
||||
import NotesPanel from '../../components/panels/NotesPanel';
|
||||
import type { PanelType } from '../../components/panels/Panel';
|
||||
import { PanelGroup } from '../../components/panels/PanelGroup';
|
||||
import ParametersPanel from '../../components/panels/ParametersPanel';
|
||||
import { RenderPart } from '../../components/render/Part';
|
||||
import { RenderUser } from '../../components/render/User';
|
||||
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
||||
@@ -97,6 +97,7 @@ import { useUserState } from '../../states/UserState';
|
||||
import { BomTable } from '../../tables/bom/BomTable';
|
||||
import { UsedInTable } from '../../tables/bom/UsedInTable';
|
||||
import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
|
||||
import { ParameterTable } from '../../tables/general/ParameterTable';
|
||||
import PartPurchaseOrdersTable from '../../tables/part/PartPurchaseOrdersTable';
|
||||
import PartTestResultTable from '../../tables/part/PartTestResultTable';
|
||||
import PartTestTemplateTable from '../../tables/part/PartTestTemplateTable';
|
||||
@@ -937,10 +938,30 @@ export default function PartDetail() {
|
||||
icon: <IconLayersLinked />,
|
||||
content: <RelatedPartTable partId={part.pk} />
|
||||
},
|
||||
ParametersPanel({
|
||||
model_type: ModelType.part,
|
||||
model_id: part?.pk
|
||||
}),
|
||||
{
|
||||
name: 'parameters',
|
||||
label: t`Parameters`,
|
||||
icon: <IconListDetails />,
|
||||
content: (
|
||||
<>
|
||||
{part.locked && (
|
||||
<Alert
|
||||
title={t`Part is Locked`}
|
||||
color='orange'
|
||||
icon={<IconLock />}
|
||||
p='xs'
|
||||
>
|
||||
<Text>{t`Part parameters cannot be edited, as the part is locked`}</Text>
|
||||
</Alert>
|
||||
)}
|
||||
<ParameterTable
|
||||
modelType={ModelType.part}
|
||||
modelId={part?.pk}
|
||||
allowEdit={part?.locked != true}
|
||||
/>
|
||||
</>
|
||||
)
|
||||
},
|
||||
AttachmentPanel({
|
||||
model_type: ModelType.part,
|
||||
model_id: part?.pk
|
||||
|
||||
@@ -38,10 +38,12 @@ import { TableHoverCard } from '../TableHoverCard';
|
||||
*/
|
||||
export function ParameterTable({
|
||||
modelType,
|
||||
modelId
|
||||
modelId,
|
||||
allowEdit = true
|
||||
}: {
|
||||
modelType: ModelType;
|
||||
modelId: number;
|
||||
allowEdit?: boolean;
|
||||
}) {
|
||||
const table = useTable('parameters');
|
||||
const user = useUserState();
|
||||
@@ -211,7 +213,7 @@ export function ParameterTable({
|
||||
]}
|
||||
/>
|
||||
];
|
||||
}, [user]);
|
||||
}, [allowEdit, user]);
|
||||
|
||||
const rowActions = useCallback(
|
||||
(record: any) => {
|
||||
@@ -249,10 +251,10 @@ export function ParameterTable({
|
||||
columns={tableColumns}
|
||||
props={{
|
||||
enableDownload: true,
|
||||
enableBulkDelete: true,
|
||||
enableSelection: true,
|
||||
rowActions: rowActions,
|
||||
tableActions: tableActions,
|
||||
enableBulkDelete: allowEdit != false,
|
||||
enableSelection: allowEdit != false,
|
||||
rowActions: allowEdit == false ? undefined : rowActions,
|
||||
tableActions: allowEdit == false ? undefined : tableActions,
|
||||
tableFilters: tableFilters,
|
||||
params: {
|
||||
model_type: modelType,
|
||||
|
||||
Reference in New Issue
Block a user