Fixed circular call issue

This commit is contained in:
Colin Dawson 2026-01-31 22:23:55 +00:00
parent 94675ed655
commit f8a5681b88
2 changed files with 8 additions and 15 deletions

View File

@ -112,7 +112,8 @@ const TemplateFiller = forwardRef<TemplateFillerHandle, TemplateFillerProps>(
customFields: newCustomFields, customFields: newCustomFields,
}); });
setTemplate(newTemplate); setTemplate(newTemplate);
}, [templateId, formInstanceId, form]); // eslint-disable-next-line react-hooks/exhaustive-deps
}, [templateId, formInstanceId]);
useEffect(() => { useEffect(() => {
void loadTemplate(); void loadTemplate();

View File

@ -71,17 +71,13 @@ const SpecificationsDetails: React.FC<SpecificationsDetailsProps> = ({
const isEditMode = () => editMode; const isEditMode = () => editMode;
const loadFormTemplate = useCallback( const loadFormTemplate = useCallback(
async (printSpecifications?: GeneralIdRef) => { async (printSpecArray: CustomFieldValue[]) => {
const { data } = form.state;
const printSpecArray =
(data.printSpecifications as CustomFieldValue[]) || [];
if (printSpecArray && printSpecArray.length > 0) { if (printSpecArray && printSpecArray.length > 0) {
if ( if (
((printSpecArray[0] as CustomFieldValue).value as GeneralIdRef).id === ((printSpecArray[0] as CustomFieldValue).value as GeneralIdRef).id ===
BigInt(0) BigInt(0)
) { ) {
data.printSpecifications = undefined; return;
} }
} }
@ -95,12 +91,9 @@ const SpecificationsDetails: React.FC<SpecificationsDetailsProps> = ({
} }
if (template) { if (template) {
setFormTemplate(template); setFormTemplate(template);
form.setState({ loaded: true });
} else {
form.setState({ loaded: false });
} }
}, },
[form], [],
); );
const handleValidationChanged = useCallback(() => { const handleValidationChanged = useCallback(() => {
@ -142,11 +135,10 @@ const SpecificationsDetails: React.FC<SpecificationsDetailsProps> = ({
const { printSpecifications } = form.state.data; const { printSpecifications } = form.state.data;
const printSpecArray = (printSpecifications as CustomFieldValue[]) || []; const printSpecArray = (printSpecifications as CustomFieldValue[]) || [];
if (printSpecArray && printSpecArray.length > 0) { if (printSpecArray && printSpecArray.length > 0) {
loadFormTemplate( loadFormTemplate(printSpecArray);
(printSpecArray[0] as CustomFieldValue).value as GeneralIdRef,
);
} }
}, [form.state.data.printSpecifications, loadFormTemplate, form]); // eslint-disable-next-line react-hooks/exhaustive-deps
}, [form.state.data.printSpecifications]);
const doSubmit = async (buttonName: string) => { const doSubmit = async (buttonName: string) => {
try { try {