fix: defaultEstimate

This commit is contained in:
elforjani3
2020-12-20 16:25:40 +02:00
parent 8035fa3466
commit c186cd9caf
3 changed files with 25 additions and 19 deletions

View File

@@ -43,8 +43,8 @@ const MIN_LINES_NUMBER = 4;
const defaultEstimate = {
index: 0,
item_id: '',
rate: 0,
discount: '',
rate: '',
discount: 0,
quantity: 1,
description: '',
};
@@ -164,6 +164,8 @@ const EstimateForm = ({
values,
{ setSubmitting, setErrors, resetForm },
) => {
setSubmitting(true);
const entries = values.entries.filter(
(item) => item.item_id && item.quantity,
);
@@ -211,7 +213,9 @@ const EstimateForm = ({
};
const onError = (errors) => {
handleErrors(errors, { setErrors });
if (errors) {
handleErrors(errors, { setErrors });
}
setSubmitting(false);
};
@@ -246,11 +250,13 @@ const EstimateForm = ({
);
return (
<div className={classNames(
CLASSES.PAGE_FORM,
CLASSES.PAGE_FORM_STRIP_STYLE,
CLASSES.PAGE_FORM_ESTIMATE,
)}>
<div
className={classNames(
CLASSES.PAGE_FORM,
CLASSES.PAGE_FORM_STRIP_STYLE,
CLASSES.PAGE_FORM_ESTIMATE,
)}
>
<Formik
validationSchema={
isNewMode ? CreateEstimateFormSchema : EditEstimateFormSchema
@@ -258,13 +264,13 @@ const EstimateForm = ({
initialValues={initialValues}
onSubmit={handleFormSubmit}
>
{({ isSubmitting ,values }) => (
{({ isSubmitting, values }) => (
<Form>
<EstimateFormHeader
onEstimateNumberChanged={handleEstimateNumberChange}
/>
<EstimateNumberWatcher estimateNumber={estimateNumber} />
<EstimateFormBody />
<EstimateFormBody defaultEstimate={defaultEstimate} />
<EstimateFormFooter />
<EstimateFloatingActions
isSubmitting={isSubmitting}

View File

@@ -27,7 +27,7 @@ const Schema = Yup.object().shape({
.min(1)
.max(DATATYPES_LENGTH.TEXT)
.label(formatMessage({ id: 'note' })),
delivered: Yup.boolean().required(),
delivered: Yup.boolean(),
entries: Yup.array().of(
Yup.object().shape({
quantity: Yup.number()
@@ -44,7 +44,7 @@ const Schema = Yup.object().shape({
is: (quantity, rate) => !isBlank(quantity) && !isBlank(rate),
then: Yup.number().required(),
}),
discount: Yup.number().nullable().min(0).max(DATATYPES_LENGTH.INT_10),
discount: Yup.number().nullable().min(0).max(100),
description: Yup.string().nullable().max(DATATYPES_LENGTH.TEXT),
}),
),

View File

@@ -3,13 +3,13 @@ import classNames from 'classnames';
import { CLASSES } from 'common/classes';
import EditableItemsEntriesTable from 'containers/Entries/EditableItemsEntriesTable';
export default function EstimateFormBody() {
export default function EstimateFormBody({ defaultEstimate }) {
return (
<div className={classNames(CLASSES.PAGE_FORM_BODY)}>
<EditableItemsEntriesTable filterSellableItems={true} />
<EditableItemsEntriesTable
defaultEntry={defaultEstimate}
filterSellableItems={true}
/>
</div>
)
}
);
}