Refactor
This commit is contained in:
parent
669ca7ef82
commit
9a2ed789c1
|
|
@ -36,7 +36,7 @@ import {
|
||||||
} from '../hooks/UseGenerator';
|
} from '../hooks/UseGenerator';
|
||||||
import { useGlobalSettingsState } from '../states/SettingsStates';
|
import { useGlobalSettingsState } from '../states/SettingsStates';
|
||||||
import { RenderPartColumn } from '../tables/ColumnRenderers';
|
import { RenderPartColumn } from '../tables/ColumnRenderers';
|
||||||
import { ProjectCodeField, TagsField } from './CommonFields';
|
import { DuplicateField, ProjectCodeField, TagsField } from './CommonFields';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field set for BuildOrder forms
|
* Field set for BuildOrder forms
|
||||||
|
|
@ -136,15 +136,12 @@ export function useBuildOrderFields({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
external: {},
|
external: {},
|
||||||
duplicate: {
|
duplicate: DuplicateField({
|
||||||
children: {
|
originalId: duplicateBuildId,
|
||||||
original: {
|
extraFields: {
|
||||||
value: duplicateBuildId,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
copy_parameters: {}
|
copy_parameters: {}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!globalSettings.isSet('PROJECT_CODES_ENABLED', true)) {
|
if (!globalSettings.isSet('PROJECT_CODES_ENABLED', true)) {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,26 @@ import type { ApiFormFieldType } from '@lib/types/Forms';
|
||||||
import { t } from '@lingui/core/macro';
|
import { t } from '@lingui/core/macro';
|
||||||
import { IconList } from '@tabler/icons-react';
|
import { IconList } from '@tabler/icons-react';
|
||||||
|
|
||||||
|
// Generic field for implementing a "duplication options" form field
|
||||||
|
export function DuplicateField({
|
||||||
|
originalId,
|
||||||
|
extraFields
|
||||||
|
}: Readonly<{
|
||||||
|
originalId?: number | null;
|
||||||
|
extraFields?: Record<string, any>;
|
||||||
|
}>): ApiFormFieldType {
|
||||||
|
return {
|
||||||
|
children: {
|
||||||
|
original: {
|
||||||
|
value: originalId,
|
||||||
|
hidden: true
|
||||||
|
},
|
||||||
|
...extraFields
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Generic field for rendering a list of tags within a form
|
||||||
export function TagsField({
|
export function TagsField({
|
||||||
label,
|
label,
|
||||||
description,
|
description,
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ import {
|
||||||
IconPhone
|
IconPhone
|
||||||
} from '@tabler/icons-react';
|
} from '@tabler/icons-react';
|
||||||
import { useMemo, useState } from 'react';
|
import { useMemo, useState } from 'react';
|
||||||
import { TagsField } from './CommonFields';
|
import { DuplicateField, TagsField } from './CommonFields';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field set for SupplierPart instance
|
* Field set for SupplierPart instance
|
||||||
|
|
@ -98,15 +98,12 @@ export function useSupplierPartFields({
|
||||||
},
|
},
|
||||||
primary: {},
|
primary: {},
|
||||||
active: {},
|
active: {},
|
||||||
duplicate: {
|
duplicate: DuplicateField({
|
||||||
children: {
|
originalId: duplicateSupplierPartId,
|
||||||
original: {
|
extraFields: {
|
||||||
value: duplicateSupplierPartId,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
copy_parameters: {}
|
copy_parameters: {}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!duplicateSupplierPartId) {
|
if (!duplicateSupplierPartId) {
|
||||||
|
|
@ -146,15 +143,12 @@ export function useManufacturerPartFields({
|
||||||
description: {},
|
description: {},
|
||||||
tags: TagsField({}),
|
tags: TagsField({}),
|
||||||
link: {},
|
link: {},
|
||||||
duplicate: {
|
duplicate: DuplicateField({
|
||||||
children: {
|
originalId: duplicateManufacturerPartId,
|
||||||
original: {
|
extraFields: {
|
||||||
value: duplicateManufacturerPartId,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
copy_parameters: {}
|
copy_parameters: {}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!duplicateManufacturerPartId) {
|
if (!duplicateManufacturerPartId) {
|
||||||
|
|
@ -194,15 +188,12 @@ export function companyFields({
|
||||||
is_manufacturer: {},
|
is_manufacturer: {},
|
||||||
is_customer: {},
|
is_customer: {},
|
||||||
active: {},
|
active: {},
|
||||||
duplicate: {
|
duplicate: DuplicateField({
|
||||||
children: {
|
originalId: duplicateCompanyId,
|
||||||
original: {
|
extraFields: {
|
||||||
value: duplicateCompanyId,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
copy_parameters: {}
|
copy_parameters: {}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!duplicateCompanyId) {
|
if (!duplicateCompanyId) {
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ import { ActionDropdown } from '../../components/items/ActionDropdown';
|
||||||
import ImportPartWizard from '../../components/wizards/ImportPartWizard';
|
import ImportPartWizard from '../../components/wizards/ImportPartWizard';
|
||||||
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
import OrderPartsWizard from '../../components/wizards/OrderPartsWizard';
|
||||||
import { formatDecimal, formatPriceRange } from '../../defaults/formatters';
|
import { formatDecimal, formatPriceRange } from '../../defaults/formatters';
|
||||||
|
import { DuplicateField } from '../../forms/CommonFields';
|
||||||
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
import { dataImporterSessionFields } from '../../forms/ImporterForms';
|
||||||
import { usePartFields } from '../../forms/PartForms';
|
import { usePartFields } from '../../forms/PartForms';
|
||||||
import { InvenTreeIcon } from '../../functions/icons';
|
import { InvenTreeIcon } from '../../functions/icons';
|
||||||
|
|
@ -312,12 +313,9 @@ export function PartListTable({
|
||||||
const duplicatePartFields: ApiFormFieldSet = useMemo(() => {
|
const duplicatePartFields: ApiFormFieldSet = useMemo(() => {
|
||||||
return {
|
return {
|
||||||
...createPartFields,
|
...createPartFields,
|
||||||
duplicate: {
|
duplicate: DuplicateField({
|
||||||
children: {
|
originalId: selectedPart.pk,
|
||||||
part: {
|
extraFields: {
|
||||||
value: selectedPart.pk,
|
|
||||||
hidden: true
|
|
||||||
},
|
|
||||||
copy_image: {
|
copy_image: {
|
||||||
value: true
|
value: true
|
||||||
},
|
},
|
||||||
|
|
@ -337,7 +335,7 @@ export function PartListTable({
|
||||||
hidden: !selectedPart.testable
|
hidden: !selectedPart.testable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
};
|
};
|
||||||
}, [createPartFields, globalSettings, selectedPart]);
|
}, [createPartFields, globalSettings, selectedPart]);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue