fix: bill edit form.

This commit is contained in:
a.bouhuolia
2021-08-04 18:29:35 +02:00
parent 6e92fd67de
commit 1672a9dc0f
6 changed files with 22 additions and 8 deletions

View File

@@ -146,7 +146,7 @@ export default function BillFloatingActions() {
<If condition={bill && bill?.is_open}> <If condition={bill && bill?.is_open}>
<ButtonGroup> <ButtonGroup>
<Button <Button
disabled={isSubmitting} loading={isSubmitting}
intent={Intent.PRIMARY} intent={Intent.PRIMARY}
onClick={handleSubmitOpenBtnClick} onClick={handleSubmitOpenBtnClick}
text={<T id={'save'} />} text={<T id={'save'} />}

View File

@@ -2,6 +2,7 @@ import React, { useMemo } from 'react';
import { Formik, Form } from 'formik'; import { Formik, Form } from 'formik';
import { Intent } from '@blueprintjs/core'; import { Intent } from '@blueprintjs/core';
import classNames from 'classnames'; import classNames from 'classnames';
import * as R from 'ramda';
import intl from 'react-intl-universal'; import intl from 'react-intl-universal';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import { isEmpty, omit } from 'lodash'; import { isEmpty, omit } from 'lodash';
@@ -44,7 +45,6 @@ function BillForm({
} }
: { : {
...defaultBill, ...defaultBill,
entries: orderingLinesIndexes(defaultBill.entries),
currency_code: baseCurrency, currency_code: baseCurrency,
}), }),
}), }),
@@ -81,7 +81,7 @@ function BillForm({
const form = { const form = {
...values, ...values,
open: submitPayload.status, open: submitPayload.status,
entries: entries.map((entry) => ({ ...omit(entry, ['total']) })), entries: R.compose(orderingLinesIndexes)(entries),
}; };
// Handle the request success. // Handle the request success.
const onSuccess = (response) => { const onSuccess = (response) => {

View File

@@ -8,10 +8,10 @@ import 'style/pages/Bills/PageForm.scss';
export default function BillFormPage() { export default function BillFormPage() {
const { id } = useParams(); const { id } = useParams();
const idInt = parseInt(id, 10); const billId = parseInt(id, 10);
return ( return (
<BillFormProvider billId={idInt}> <BillFormProvider billId={billId}>
<BillForm /> <BillForm />
</BillFormProvider> </BillFormProvider>
); );

View File

@@ -39,11 +39,11 @@ export const defaultBill = {
export const transformToEditForm = (bill) => { export const transformToEditForm = (bill) => {
const initialEntries = [ const initialEntries = [
...bill.entries.map((bill) => ({ ...bill.entries.map((entry) => ({
...transformToForm(bill, defaultBill.entries[0]), ...transformToForm(entry, defaultBillEntry),
})), })),
...repeatValue( ...repeatValue(
defaultBill, defaultBillEntry,
Math.max(MIN_LINES_NUMBER - bill.entries.length, 0), Math.max(MIN_LINES_NUMBER - bill.entries.length, 0),
), ),
]; ];

View File

@@ -53,6 +53,9 @@ export function useEditBill(props) {
onSuccess: (res, [id, values]) => { onSuccess: (res, [id, values]) => {
// Common invalidate queries. // Common invalidate queries.
commonInvalidateQueries(queryClient); commonInvalidateQueries(queryClient);
// Invalidate bill query.
queryClient.invalidateQueries([t.BILL, id]);
}, },
...props, ...props,
}, },
@@ -70,6 +73,9 @@ export function useOpenBill(props) {
onSuccess: (res, id) => { onSuccess: (res, id) => {
// Common invalidate queries. // Common invalidate queries.
commonInvalidateQueries(queryClient); commonInvalidateQueries(queryClient);
// Invalidate bill query.
queryClient.invalidateQueries([t.BILL, id]);
}, },
...props, ...props,
}); });
@@ -86,6 +92,9 @@ export function useDeleteBill(props) {
onSuccess: (res, id) => { onSuccess: (res, id) => {
// Common invalidate queries. // Common invalidate queries.
commonInvalidateQueries(queryClient); commonInvalidateQueries(queryClient);
// Invalidate bill query.
queryClient.invalidateQueries([t.BILL, id]);
}, },
...props, ...props,
}); });

View File

@@ -219,6 +219,7 @@ $dashboard-views-bar-height: 44px;
.bp3-control.bp3-switch{ .bp3-control.bp3-switch{
margin-bottom: 0; margin-bottom: 0;
margin-left: 8px; margin-left: 8px;
color: #3d3b53;
.bp3-control-indicator{ .bp3-control-indicator{
height: 16px; height: 16px;
@@ -508,6 +509,10 @@ $dashboard-views-bar-height: 44px;
.bp3-navbar-group{ .bp3-navbar-group{
height: $dashboard-views-bar-height; height: $dashboard-views-bar-height;
} }
.bp3-tab[aria-selected="true"]{
box-shadow: inset 0 -2px 0 #0052cc;
}
} }
.navbar-omnibar { .navbar-omnibar {