Fixed vendor form issues IO-444

This commit is contained in:
Patrick Fic
2020-12-08 11:28:36 -08:00
parent bb8343f966
commit 83a90779a8
3 changed files with 27 additions and 12 deletions

View File

@@ -6,14 +6,14 @@ import {
InputNumber,
Select,
Space,
Typography
Typography,
} from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import InputNumberCalculator from "../form-input-number-calculator/form-input-number-calculator.component";
import FormItemEmail from "../form-items-formatted/email-form-item.component";
import PhoneFormItem, {
PhoneItemFormatterValidation
PhoneItemFormatterValidation,
} from "../form-items-formatted/phone-form-item.component";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
@@ -23,6 +23,7 @@ export default function VendorsFormComponent({
handleDelete,
responsibilityCenters,
}) {
console.log("🚀 ~ file: vendors-form.component.jsx ~ line 26 ~ formLoading", formLoading)
const { t } = useTranslation();
const { getFieldValue } = form;
return (
@@ -40,7 +41,13 @@ export default function VendorsFormComponent({
</Button>
</Space>
<LayoutFormRow grow>
<Form.Item label={t("vendors.fields.name")} name="name">
<Form.Item
label={t("vendors.fields.name")}
name="name"
rules={[
{ required: true, message: t("general.validation.required") },
]}
>
<Input />
</Form.Item>
<Form.Item
@@ -59,6 +66,7 @@ export default function VendorsFormComponent({
label={t("vendors.fields.phone")}
name="phone"
rules={[
{ required: true, message: t("general.validation.required") },
({ getFieldValue }) =>
PhoneItemFormatterValidation(getFieldValue, "phone"),
]}

View File

@@ -38,20 +38,24 @@ function VendorsFormContainer({ refetch, bodyshop }) {
const [deleteVendor] = useMutation(DELETE_VENDOR);
const handleDelete = () => {
setFormLoading(true);
deleteVendor({ variables: { id: selectedvendor } })
deleteVendor({
variables: { id: selectedvendor },
refetchQueries: ["QUERY_ALL_VENDORS"],
})
.then((r) => {
notification["success"]({
message: t("vendors.successes.deleted"),
});
//TODO Better way to reset the field decorators?
if (refetch) refetch().then((r) => form.resetFields());
setFormLoading(false);
})
.catch((error) => {
notification["error"]({
message: t("vendors.errors.deleting"),
});
setFormLoading(false);
});
setFormLoading(false);
};
const handleFinish = (values) => {
@@ -60,6 +64,7 @@ function VendorsFormContainer({ refetch, bodyshop }) {
//It's a vendor to update.
updateVendor({
variables: { id: selectedvendor, vendor: values },
refetchQueries: ["QUERY_ALL_VENDORS"],
})
.then((r) => {
notification["success"]({
@@ -67,17 +72,20 @@ function VendorsFormContainer({ refetch, bodyshop }) {
});
//TODO Better way to reset the field decorators?
if (refetch) refetch().form.resetFields();
setFormLoading(false);
})
.catch((error) => {
notification["error"]({
message: t("vendors.errors.saving"),
});
console.log("error", error);
setFormLoading(false);
});
} else {
//It's a new vendor to insert.
insertvendor({
variables: { vendorInput: [{ ...values, bodyshopid: bodyshop.id }] },
refetchQueries: ["QUERY_ALL_VENDORS"],
})
.then((r) => {
notification["success"]({
@@ -86,14 +94,15 @@ function VendorsFormContainer({ refetch, bodyshop }) {
//TODO Better way to reset the field decorators?
if (refetch) refetch();
form.resetFields();
setFormLoading(false);
})
.catch((error) => {
notification["error"]({
message: t("vendors.errors.saving"),
});
setFormLoading(false);
});
}
setFormLoading(false);
};
useEffect(() => {