diff --git a/client/src/components/jobs-convert-button/jobs-convert-button.component.jsx b/client/src/components/jobs-convert-button/jobs-convert-button.component.jsx
index 29160eff3..9fce25ec7 100644
--- a/client/src/components/jobs-convert-button/jobs-convert-button.component.jsx
+++ b/client/src/components/jobs-convert-button/jobs-convert-button.component.jsx
@@ -1,7 +1,8 @@
import { useMutation } from "@apollo/client";
import { Button, Form, Input, Popover, Select, Space, Switch } from "antd";
import axios from "axios";
-import React, { useState } from "react";
+import { some } from "lodash";
+import React, { useCallback, useState } from "react";
import { useTranslation } from "react-i18next";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
@@ -19,7 +20,14 @@ const mapStateToProps = createStructuredSelector({
jobRO: selectJobReadOnly
});
const mapDispatchToProps = (dispatch) => ({
- insertAuditTrail: ({ jobid, operation, type }) => dispatch(insertAuditTrail({ jobid, operation, type }))
+ insertAuditTrail: ({ jobid, operation, type }) =>
+ dispatch(
+ insertAuditTrail({
+ jobid,
+ operation,
+ type
+ })
+ )
});
export function JobsConvertButton({ bodyshop, job, refetch, jobRO, insertAuditTrail, parentFormIsFieldsTouched }) {
@@ -29,6 +37,7 @@ export function JobsConvertButton({ bodyshop, job, refetch, jobRO, insertAuditTr
const { t } = useTranslation();
const [form] = Form.useForm();
const notification = useNotification();
+ const allFormValues = Form.useWatch([], form);
const handleConvert = async ({ employee_csr, category, ...values }) => {
if (parentFormIsFieldsTouched()) {
@@ -71,6 +80,8 @@ export function JobsConvertButton({ bodyshop, job, refetch, jobRO, insertAuditTr
setLoading(false);
};
+ const submitDisabled = useCallback(() => some(allFormValues, (v) => v === undefined), [allFormValues]);
+
const popMenu = (
-