mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-19 22:30:31 +00:00
fix: bill edit form.
This commit is contained in:
@@ -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'} />}
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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),
|
||||||
),
|
),
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -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,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user