mirror of
https://github.com/inventree/InvenTree.git
synced 2026-04-05 02:50:58 +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({
|
export default function ParametersPanel({
|
||||||
model_type,
|
model_type,
|
||||||
model_id
|
model_id,
|
||||||
|
allowEdit = true
|
||||||
}: {
|
}: {
|
||||||
model_type: ModelType;
|
model_type: ModelType;
|
||||||
model_id: number | undefined;
|
model_id: number | undefined;
|
||||||
|
allowEdit?: boolean;
|
||||||
}): PanelType {
|
}): PanelType {
|
||||||
return {
|
return {
|
||||||
name: 'parameters',
|
name: 'parameters',
|
||||||
@@ -18,7 +20,11 @@ export default function ParametersPanel({
|
|||||||
icon: <IconListDetails />,
|
icon: <IconListDetails />,
|
||||||
content:
|
content:
|
||||||
model_type && model_id ? (
|
model_type && model_id ? (
|
||||||
<ParameterTable modelType={model_type} modelId={model_id} />
|
<ParameterTable
|
||||||
|
allowEdit={allowEdit}
|
||||||
|
modelType={model_type}
|
||||||
|
modelId={model_id}
|
||||||
|
/>
|
||||||
) : (
|
) : (
|
||||||
<Skeleton />
|
<Skeleton />
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import {
|
|||||||
IconInfoCircle,
|
IconInfoCircle,
|
||||||
IconLayersLinked,
|
IconLayersLinked,
|
||||||
IconListCheck,
|
IconListCheck,
|
||||||
|
IconListDetails,
|
||||||
IconListTree,
|
IconListTree,
|
||||||
IconLock,
|
IconLock,
|
||||||
IconPackages,
|
IconPackages,
|
||||||
@@ -73,7 +74,6 @@ import AttachmentPanel from '../../components/panels/AttachmentPanel';
|
|||||||
import NotesPanel from '../../components/panels/NotesPanel';
|
import NotesPanel from '../../components/panels/NotesPanel';
|
||||||
import type { PanelType } from '../../components/panels/Panel';
|
import type { PanelType } from '../../components/panels/Panel';
|
||||||
import { PanelGroup } from '../../components/panels/PanelGroup';
|
import { PanelGroup } from '../../components/panels/PanelGroup';
|
||||||
import ParametersPanel from '../../components/panels/ParametersPanel';
|
|
||||||
import { RenderPart } from '../../components/render/Part';
|
import { RenderPart } from '../../components/render/Part';
|
||||||
import { RenderUser } from '../../components/render/User';
|
import { RenderUser } from '../../components/render/User';
|
||||||
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
||||||
@@ -97,6 +97,7 @@ import { useUserState } from '../../states/UserState';
|
|||||||
import { BomTable } from '../../tables/bom/BomTable';
|
import { BomTable } from '../../tables/bom/BomTable';
|
||||||
import { UsedInTable } from '../../tables/bom/UsedInTable';
|
import { UsedInTable } from '../../tables/bom/UsedInTable';
|
||||||
import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
|
import { BuildOrderTable } from '../../tables/build/BuildOrderTable';
|
||||||
|
import { ParameterTable } from '../../tables/general/ParameterTable';
|
||||||
import PartPurchaseOrdersTable from '../../tables/part/PartPurchaseOrdersTable';
|
import PartPurchaseOrdersTable from '../../tables/part/PartPurchaseOrdersTable';
|
||||||
import PartTestResultTable from '../../tables/part/PartTestResultTable';
|
import PartTestResultTable from '../../tables/part/PartTestResultTable';
|
||||||
import PartTestTemplateTable from '../../tables/part/PartTestTemplateTable';
|
import PartTestTemplateTable from '../../tables/part/PartTestTemplateTable';
|
||||||
@@ -937,10 +938,30 @@ export default function PartDetail() {
|
|||||||
icon: <IconLayersLinked />,
|
icon: <IconLayersLinked />,
|
||||||
content: <RelatedPartTable partId={part.pk} />
|
content: <RelatedPartTable partId={part.pk} />
|
||||||
},
|
},
|
||||||
ParametersPanel({
|
{
|
||||||
model_type: ModelType.part,
|
name: 'parameters',
|
||||||
model_id: part?.pk
|
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({
|
AttachmentPanel({
|
||||||
model_type: ModelType.part,
|
model_type: ModelType.part,
|
||||||
model_id: part?.pk
|
model_id: part?.pk
|
||||||
|
|||||||
@@ -38,10 +38,12 @@ import { TableHoverCard } from '../TableHoverCard';
|
|||||||
*/
|
*/
|
||||||
export function ParameterTable({
|
export function ParameterTable({
|
||||||
modelType,
|
modelType,
|
||||||
modelId
|
modelId,
|
||||||
|
allowEdit = true
|
||||||
}: {
|
}: {
|
||||||
modelType: ModelType;
|
modelType: ModelType;
|
||||||
modelId: number;
|
modelId: number;
|
||||||
|
allowEdit?: boolean;
|
||||||
}) {
|
}) {
|
||||||
const table = useTable('parameters');
|
const table = useTable('parameters');
|
||||||
const user = useUserState();
|
const user = useUserState();
|
||||||
@@ -211,7 +213,7 @@ export function ParameterTable({
|
|||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
];
|
];
|
||||||
}, [user]);
|
}, [allowEdit, user]);
|
||||||
|
|
||||||
const rowActions = useCallback(
|
const rowActions = useCallback(
|
||||||
(record: any) => {
|
(record: any) => {
|
||||||
@@ -249,10 +251,10 @@ export function ParameterTable({
|
|||||||
columns={tableColumns}
|
columns={tableColumns}
|
||||||
props={{
|
props={{
|
||||||
enableDownload: true,
|
enableDownload: true,
|
||||||
enableBulkDelete: true,
|
enableBulkDelete: allowEdit != false,
|
||||||
enableSelection: true,
|
enableSelection: allowEdit != false,
|
||||||
rowActions: rowActions,
|
rowActions: allowEdit == false ? undefined : rowActions,
|
||||||
tableActions: tableActions,
|
tableActions: allowEdit == false ? undefined : tableActions,
|
||||||
tableFilters: tableFilters,
|
tableFilters: tableFilters,
|
||||||
params: {
|
params: {
|
||||||
model_type: modelType,
|
model_type: modelType,
|
||||||
|
|||||||
Reference in New Issue
Block a user