diff --git a/client/src/components/AccountsMultiSelect.js b/client/src/components/AccountsMultiSelect.js
index 0e00a40e4..b32833f56 100644
--- a/client/src/components/AccountsMultiSelect.js
+++ b/client/src/components/AccountsMultiSelect.js
@@ -4,9 +4,8 @@ import {
MenuItem,
Button
} from '@blueprintjs/core';
-// import {Select} from '@blueprintjs/select';
import MultiSelect from 'components/MultiSelect';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
export default function AccountsMultiSelect({
accounts,
diff --git a/client/src/components/App.js b/client/src/components/App.js
index 12345fa04..ce0c9f11b 100644
--- a/client/src/components/App.js
+++ b/client/src/components/App.js
@@ -1,8 +1,7 @@
import React from 'react';
-import PropTypes from 'prop-types';
import { IntlProvider } from 'react-intl';
import { connect } from 'react-redux';
-import { Router, Switch, Redirect } from 'react-router';
+import { Router } from 'react-router';
import { createBrowserHistory } from 'history';
import PrivateRoute from 'components/PrivateRoute';
import Authentication from 'components/Authentication';
diff --git a/client/src/components/Authentication.js b/client/src/components/Authentication.js
index 84c534c8d..3382cd975 100644
--- a/client/src/components/Authentication.js
+++ b/client/src/components/Authentication.js
@@ -2,7 +2,7 @@ import React from 'react';
import { Redirect, Route, Switch, Link } from 'react-router-dom';
import BodyClassName from 'react-body-classname';
import authenticationRoutes from 'routes/authentication';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
export default function AuthenticationWrapper({
isAuthenticated = false,
diff --git a/client/src/components/CurrenciesSelectList.js b/client/src/components/CurrenciesSelectList.js
index 63e23cb4f..590cdefc8 100644
--- a/client/src/components/CurrenciesSelectList.js
+++ b/client/src/components/CurrenciesSelectList.js
@@ -10,7 +10,7 @@ import {
Select
} from '@blueprintjs/select';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
export default function CurrenciesSelectList(props) {
const {formGroupProps, selectProps, onItemSelect} = props;
diff --git a/client/src/components/Dashboard/DashboardBreadcrumbs.js b/client/src/components/Dashboard/DashboardBreadcrumbs.js
index a6d0905b0..bf73a8916 100644
--- a/client/src/components/Dashboard/DashboardBreadcrumbs.js
+++ b/client/src/components/Dashboard/DashboardBreadcrumbs.js
@@ -5,7 +5,6 @@ import {
Classes,
Boundary,
} from '@blueprintjs/core';
-import classNames from 'classnames';
import withBreadcrumbs from 'react-router-breadcrumbs-hoc';
import routes from 'routes/dashboard';
import { useHistory } from 'react-router-dom';
diff --git a/client/src/components/Dashboard/DashboardTopbar.js b/client/src/components/Dashboard/DashboardTopbar.js
index 7cb5aabbf..0dbb29003 100644
--- a/client/src/components/Dashboard/DashboardTopbar.js
+++ b/client/src/components/Dashboard/DashboardTopbar.js
@@ -7,12 +7,15 @@ import {
Button,
Classes,
} from '@blueprintjs/core';
-import DashboardBreadcrumbs from 'components/Dashboard/DashboardBreadcrumbs';
+import { FormattedMessage as T } from 'react-intl';
+
import DashboardTopbarUser from 'components/Dashboard/TopbarUser';
-import Icon from 'components/Icon';
+import DashboardBreadcrumbs from 'components/Dashboard/DashboardBreadcrumbs';
import SearchConnect from 'connectors/Search.connect';
+import Icon from 'components/Icon';
+
import { compose } from 'utils';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+
function DashboardTopbar({
pageTitle,
diff --git a/client/src/components/Dashboard/TopbarUser.js b/client/src/components/Dashboard/TopbarUser.js
index fd197850a..6412833c0 100644
--- a/client/src/components/Dashboard/TopbarUser.js
+++ b/client/src/components/Dashboard/TopbarUser.js
@@ -8,8 +8,9 @@ import {
Button,
Popover
} from '@blueprintjs/core';
+import { FormattedMessage as T } from 'react-intl';
import t from 'store/types';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+
function DashboardTopbarUser({ logout }) {
const history = useHistory();
diff --git a/client/src/components/DataTable.js b/client/src/components/DataTable.js
index f8c63d862..e41f4a5ca 100644
--- a/client/src/components/DataTable.js
+++ b/client/src/components/DataTable.js
@@ -51,21 +51,12 @@ export default function DataTable({
prepareRow,
page,
rows,
- canPreviousPage,
- canNextPage,
- pageOptions,
- pageCount,
- gotoPage,
- nextPage,
- previousPage,
- setPageSize,
selectedFlatRows,
- totalColumnsWidth,
getToggleAllRowsExpandedProps,
isAllRowsExpanded,
// Get the state from the instance
- state: { pageIndex, pageSize, sortBy, selectedRowIds, selectedRows },
+ state: { pageIndex, pageSize, sortBy, selectedRowIds},
} = useTable(
{
columns,
@@ -128,7 +119,7 @@ export default function DataTable({
} else {
onFetchData && onFetchData({ pageIndex, pageSize, sortBy })
}
- }, [pageIndex, pageSize, sortBy]);
+ }, [pageIndex, pageSize, sortBy,onFetchData]);
useUpdateEffect(() => {
onSelectedRowsChange && onSelectedRowsChange(selectedFlatRows);
diff --git a/client/src/components/Dragzone.js b/client/src/components/Dragzone.js
index d5331ef5f..fe627ac01 100644
--- a/client/src/components/Dragzone.js
+++ b/client/src/components/Dragzone.js
@@ -1,6 +1,5 @@
-import React, { useState, useMemo, useCallback, useEffect } from 'react'
+import React, { useState, useCallback, useEffect } from 'react'
import { useDropzone } from 'react-dropzone'
-import { pullAt } from 'lodash';
import classNames from 'classnames';
import Icon from 'components/Icon';
diff --git a/client/src/components/Expenses/ExpensesActionsBar.js b/client/src/components/Expenses/ExpensesActionsBar.js
index 9386dcfd7..c9b0d1a40 100644
--- a/client/src/components/Expenses/ExpensesActionsBar.js
+++ b/client/src/components/Expenses/ExpensesActionsBar.js
@@ -13,14 +13,13 @@ import {
Intent,
} from '@blueprintjs/core';
import { useRouteMatch } from 'react-router-dom'
+import { FormattedMessage as T } from 'react-intl';
import classNames from 'classnames';
+
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar';
import Icon from 'components/Icon';
-import { FormattedMessage as T, useIntl } from 'react-intl';
-export default function ExpensesActionsBar({
-
-}) {
+export default function ExpensesActionsBar() {
const {path} = useRouteMatch();
const onClickNewAccount = () => {};
const views = [];
diff --git a/client/src/components/FilterDropdown.js b/client/src/components/FilterDropdown.js
index 30397f06a..6009028c4 100644
--- a/client/src/components/FilterDropdown.js
+++ b/client/src/components/FilterDropdown.js
@@ -24,7 +24,7 @@ export default function FilterDropdown({
const conditionalsItems = useMemo(() => [
{ value: 'and', label:formatMessage({id:'and'}) },
{ value: 'or', label: formatMessage({id:'or'}) },
- ], []);
+ ], [formatMessage]);
const resourceFields = useMemo(() => [
...fields.map((field) => ({ value: field.key, label: field.label_name, })),
@@ -36,7 +36,7 @@ export default function FilterDropdown({
{value: 'not_equal', label: formatMessage({id:'not_equal'})},
{value: 'contain', label: formatMessage({id:'contain'})},
{value: 'not_contain', label: formatMessage({id:'not_contain'})},
- ], []);
+ ], [formatMessage]);
const defaultFilterCondition = useMemo(() => ({
condition: 'and',
@@ -49,8 +49,6 @@ export default function FilterDropdown({
setFieldValue,
getFieldProps,
values,
- errors,
- touched,
} = useFormik({
enableReinitialize: true,
initialValues: {
@@ -82,7 +80,7 @@ export default function FilterDropdown({
if (!isEqual(prevConditions, filteredFilterConditions) && prevConditions) {
onFilterChangeThrottled.current(filteredFilterConditions);
}
- }, [filteredFilterConditions]);
+ }, [filteredFilterConditions,prevConditions]);
// Handle click remove condition.
const onClickRemoveCondition = (index) => () => {
diff --git a/client/src/components/FinancialSheet.js b/client/src/components/FinancialSheet.js
index aed91dbba..1456ee218 100644
--- a/client/src/components/FinancialSheet.js
+++ b/client/src/components/FinancialSheet.js
@@ -25,7 +25,7 @@ export default function FinancialSheet({
cash: formatMessage({id:'cash'}),
accrual: formatMessage({id:'accrual'}),
}),
- []
+ [formatMessage]
);
const getBasisLabel = useCallback((b) => methodsLabels[b], [methodsLabels]);
const basisLabel = useMemo(() => getBasisLabel(basis), [
diff --git a/client/src/components/MenuItem.js b/client/src/components/MenuItem.js
index 5e9ef659f..639b1acca 100644
--- a/client/src/components/MenuItem.js
+++ b/client/src/components/MenuItem.js
@@ -15,7 +15,7 @@
*/
import classNames from "classnames";
-import React, {useState} from "react";
+import React from "react";
// import {
// ,
diff --git a/client/src/components/MultiSelect.js b/client/src/components/MultiSelect.js
index c8048b57b..efa28e8a9 100644
--- a/client/src/components/MultiSelect.js
+++ b/client/src/components/MultiSelect.js
@@ -20,7 +20,6 @@ import {
DISPLAYNAME_PREFIX,
Popover,
Position,
- TagInput,
Utils,
} from "@blueprintjs/core";
import {
diff --git a/client/src/components/NProgress/AppProgress.js b/client/src/components/NProgress/AppProgress.js
index 39f9e4093..e0f052187 100644
--- a/client/src/components/NProgress/AppProgress.js
+++ b/client/src/components/NProgress/AppProgress.js
@@ -1,11 +1,8 @@
-
import React from 'react';
import Progress from './Progress';
-import {queryCache, useIsFetching} from 'react-query';
+import {useIsFetching} from 'react-query';
-function AppProgress({
-
-}) {
+function AppProgress() {
const isFetching = useIsFetching();
return (
diff --git a/client/src/components/NProgress/Progress.js b/client/src/components/NProgress/Progress.js
index 48aa3332b..8e47d8a8d 100644
--- a/client/src/components/NProgress/Progress.js
+++ b/client/src/components/NProgress/Progress.js
@@ -1,9 +1,10 @@
+import React from 'react'
import { useNProgress } from '@tanem/react-nprogress'
import PropTypes from 'prop-types'
-import React from 'react'
+
import Bar from './Bar'
import Container from './Container'
-import Spinner from './Spinner'
+
const Progress = ({
isAnimating,
diff --git a/client/src/components/SelectList.js b/client/src/components/SelectList.js
index 7e6acc10e..c9d904d8a 100644
--- a/client/src/components/SelectList.js
+++ b/client/src/components/SelectList.js
@@ -1,4 +1,4 @@
-import React, {useState, useMemo, useCallback} from 'react';
+import React from 'react';
import {Button} from '@blueprintjs/core';
import {Select} from '@blueprintjs/select';
diff --git a/client/src/components/Sidebar/SidebarHead.js b/client/src/components/Sidebar/SidebarHead.js
index 73401a545..883553c42 100644
--- a/client/src/components/Sidebar/SidebarHead.js
+++ b/client/src/components/Sidebar/SidebarHead.js
@@ -1,7 +1,6 @@
import React from 'react';
import appMeta from 'config/app';
import Icon from 'components/Icon';
-
export default function() {
return (
diff --git a/client/src/components/Sidebar/SidebarMenu.js b/client/src/components/Sidebar/SidebarMenu.js
index 4b2b3e35f..99ff73662 100644
--- a/client/src/components/Sidebar/SidebarMenu.js
+++ b/client/src/components/Sidebar/SidebarMenu.js
@@ -1,5 +1,5 @@
-import React, { useState } from 'react';
-import {Menu, MenuDivider, Collapse} from "@blueprintjs/core";
+import React from 'react';
+import {Menu, MenuDivider} from "@blueprintjs/core";
import {useHistory, useLocation} from 'react-router-dom';
import sidebarMenuList from 'config/sidebarMenu';
import Icon from 'components/Icon';
diff --git a/client/src/config/preferencesMenu.js b/client/src/config/preferencesMenu.js
index f65e307bd..ddf3532a9 100644
--- a/client/src/config/preferencesMenu.js
+++ b/client/src/config/preferencesMenu.js
@@ -1,5 +1,5 @@
import React from 'react'
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T} from 'react-intl';
export default [
{
diff --git a/client/src/config/sidebarMenu.js b/client/src/config/sidebarMenu.js
index f93c29cb1..b5f3b14f4 100644
--- a/client/src/config/sidebarMenu.js
+++ b/client/src/config/sidebarMenu.js
@@ -1,5 +1,5 @@
import React from 'react'
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T} from 'react-intl';
export default [
{
diff --git a/client/src/connectors/Search.connect.js b/client/src/connectors/Search.connect.js
index 28fe31705..9845c4fbf 100644
--- a/client/src/connectors/Search.connect.js
+++ b/client/src/connectors/Search.connect.js
@@ -1,6 +1,5 @@
import { connect } from 'react-redux';
import t from 'store/types';
-import { generalSearch } from 'store/search/search.actions';
export const mapStateToProps = (state, props) => ({
resultSearch: state.globalSearch.searches,
diff --git a/client/src/connectors/Settings.connect.js b/client/src/connectors/Settings.connect.js
index a972ffe8b..b4b1d35b8 100644
--- a/client/src/connectors/Settings.connect.js
+++ b/client/src/connectors/Settings.connect.js
@@ -1,6 +1,5 @@
import { connect } from 'react-redux';
import {
- FetchOption,
FetchOptions,
submitOptions,
} from 'store/settings/settings.actions';
diff --git a/client/src/containers/Accounting/MakeJournalEntriesFooter.js b/client/src/containers/Accounting/MakeJournalEntriesFooter.js
index 0b90ed418..1d8e0cb1a 100644
--- a/client/src/containers/Accounting/MakeJournalEntriesFooter.js
+++ b/client/src/containers/Accounting/MakeJournalEntriesFooter.js
@@ -1,6 +1,6 @@
-import React, { useMemo } from 'react';
+import React from 'react';
import { Intent, Button } from '@blueprintjs/core';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
export default function MakeJournalEntriesFooter({
formik: { isSubmitting },
diff --git a/client/src/containers/Accounting/MakeJournalEntriesForm.js b/client/src/containers/Accounting/MakeJournalEntriesForm.js
index 4f72313ce..0aa08f529 100644
--- a/client/src/containers/Accounting/MakeJournalEntriesForm.js
+++ b/client/src/containers/Accounting/MakeJournalEntriesForm.js
@@ -3,7 +3,7 @@ import * as Yup from 'yup';
import { useFormik } from "formik";
import moment from 'moment';
import { Intent } from '@blueprintjs/core';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { useIntl } from 'react-intl';
import { pick } from 'lodash';
import MakeJournalEntriesHeader from './MakeJournalEntriesHeader';
@@ -60,7 +60,7 @@ function MakeJournalEntriesForm({
} else {
changePageTitle(formatMessage({id:'new_journal'}));
}
- }, [changePageTitle, changePageSubtitle, manualJournal]);
+ }, [changePageTitle, changePageSubtitle, manualJournal,formatMessage]);
const validationSchema = Yup.object().shape({
journal_number: Yup.string().required().label(formatMessage({id:'journal_number_'})),
diff --git a/client/src/containers/Accounting/MakeJournalEntriesHeader.js b/client/src/containers/Accounting/MakeJournalEntriesHeader.js
index 8a766f018..7b4d4d839 100644
--- a/client/src/containers/Accounting/MakeJournalEntriesHeader.js
+++ b/client/src/containers/Accounting/MakeJournalEntriesHeader.js
@@ -6,10 +6,11 @@ import {
Position,
} from '@blueprintjs/core';
import {DateInput} from '@blueprintjs/datetime';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
import {Row, Col} from 'react-grid-system';
import moment from 'moment';
import {momentFormatter} from 'utils';
+
import Icon from 'components/Icon';
import CurrenciesSelectList from 'components/CurrenciesSelectList';
import ErrorMessage from 'components/ErrorMessage';
@@ -17,7 +18,6 @@ import ErrorMessage from 'components/ErrorMessage';
export default function MakeJournalEntriesHeader({
formik: { errors, touched, setFieldValue, getFieldProps }
}) {
- const {formatMessage} = useIntl();
const handleDateChange = useCallback((date) => {
const formatted = moment(date).format('YYYY-MM-DD');
diff --git a/client/src/containers/Accounting/MakeJournalEntriesTable.js b/client/src/containers/Accounting/MakeJournalEntriesTable.js
index 55aceaab7..c1c4bbca5 100644
--- a/client/src/containers/Accounting/MakeJournalEntriesTable.js
+++ b/client/src/containers/Accounting/MakeJournalEntriesTable.js
@@ -1,5 +1,7 @@
import React, { useState, useMemo, useEffect, useCallback } from 'react';
import { Button, Intent } from '@blueprintjs/core';
+import { FormattedMessage as T, useIntl } from 'react-intl';
+
import DataTable from 'components/DataTable';
import Icon from 'components/Icon';
import { compose, formattedAmount } from 'utils';
@@ -9,9 +11,7 @@ import {
InputGroupCell,
} from 'components/DataTableCells';
import { omit } from 'lodash';
-
import withAccounts from 'containers/Accounts/withAccounts';
-import { FormattedMessage as T, useIntl } from 'react-intl';
// Actions cell renderer.
const ActionsCellRenderer = ({
@@ -188,7 +188,7 @@ function MakeJournalEntriesTable({
width: 45,
},
],
- []
+ [formatMessage]
);
// Handles click new line.
diff --git a/client/src/containers/Accounting/ManualJournalActionsBar.js b/client/src/containers/Accounting/ManualJournalActionsBar.js
index 8d052611f..43fc278b8 100644
--- a/client/src/containers/Accounting/ManualJournalActionsBar.js
+++ b/client/src/containers/Accounting/ManualJournalActionsBar.js
@@ -1,4 +1,4 @@
-import React, { useMemo, useState, useCallback } from 'react';
+import React, { useMemo, useCallback } from 'react';
import Icon from 'components/Icon';
import {
Button,
@@ -14,7 +14,8 @@ import {
} from '@blueprintjs/core';
import classNames from 'classnames';
import { useRouteMatch, useHistory } from 'react-router-dom';
-import { compose } from 'utils';
+import { FormattedMessage as T } from 'react-intl';
+
import FilterDropdown from 'components/FilterDropdown';
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar';
@@ -25,7 +26,8 @@ import withResourceDetail from 'containers/Resources/withResourceDetails';
import withManualJournals from 'containers/Accounting/withManualJournals';
import withManualJournalsActions from 'containers/Accounting/withManualJournalsActions';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { compose } from 'utils';
+
function ManualJournalActionsBar({
@@ -45,7 +47,6 @@ function ManualJournalActionsBar({
}) {
const { path } = useRouteMatch();
const history = useHistory();
- const {formatMessage} = useIntl();
const viewsMenuItems = manualJournalsViews.map(view => {
return (
diff --git a/client/src/containers/Accounting/ManualJournalsDataTable.js b/client/src/containers/Accounting/ManualJournalsDataTable.js
index 15b37d880..e2c6e11f8 100644
--- a/client/src/containers/Accounting/ManualJournalsDataTable.js
+++ b/client/src/containers/Accounting/ManualJournalsDataTable.js
@@ -97,8 +97,29 @@ function ManualJournalsDataTable({
[onDeleteJournal]
);
- const actionMenuList = (journal) => (
-
- ), [handleEditAccount, onDeleteAccount, onInactiveAccount]);
+ ), [handleEditAccount, onDeleteAccount, onInactiveAccount,handleNewParentAccount]);
const columns = useMemo(() => [
{
@@ -166,7 +166,7 @@ function AccountsDataTable({
className: 'actions',
width: 50,
}
- ], [actionMenuList]);
+ ], [actionMenuList,formatMessage]);
const selectionColumn = useMemo(() => ({
minWidth: 50,
diff --git a/client/src/containers/Accounts/AccountsViewsTabs.js b/client/src/containers/Accounts/AccountsViewsTabs.js
index 4d5974bf9..815fa3af9 100644
--- a/client/src/containers/Accounts/AccountsViewsTabs.js
+++ b/client/src/containers/Accounts/AccountsViewsTabs.js
@@ -1,4 +1,4 @@
-import React, {useEffect, useCallback} from 'react';
+import React, {useEffect} from 'react';
import { useHistory } from 'react-router';
import { connect } from 'react-redux';
import {
@@ -12,14 +12,15 @@ import {
import { useParams, withRouter } from 'react-router-dom';
import Icon from 'components/Icon';
import { Link } from 'react-router-dom';
-import { compose } from 'utils';
+import { FormattedMessage as T } from 'react-intl';
import {useUpdateEffect} from 'hooks';
import withDashboard from 'containers/Dashboard/withDashboard';
import withAccounts from 'containers/Accounts/withAccounts';
import withAccountsTableActions from 'containers/Accounts/withAccountsTableActions';
import withViewDetail from 'containers/Views/withViewDetails';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+
+import { compose } from 'utils';
function AccountsViewsTabs({
// #withViewDetail
diff --git a/client/src/containers/Authentication/InviteAccept.js b/client/src/containers/Authentication/InviteAccept.js
index cb746408a..3c8411bce 100644
--- a/client/src/containers/Authentication/InviteAccept.js
+++ b/client/src/containers/Authentication/InviteAccept.js
@@ -1,12 +1,6 @@
import React, { useCallback, useMemo, useState } from 'react';
import * as Yup from 'yup';
import { useFormik } from 'formik';
-import { FormattedMessage as T, useIntl } from 'react-intl';
-import ErrorMessage from 'components/ErrorMessage';
-import AppToaster from 'components/AppToaster';
-import { compose } from 'utils';
-import withAuthenticationActions from './withAuthenticationActions';
-import { useParams } from 'react-router-dom';
import {
Button,
InputGroup,
@@ -15,13 +9,23 @@ import {
Position,
Spinner,
} from '@blueprintjs/core';
+import { useParams } from 'react-router-dom';
+import { Row, Col } from 'react-grid-system';
+import { Link, useHistory } from 'react-router-dom';
+import { FormattedMessage as T, useIntl } from 'react-intl';
+
+
+import AppToaster from 'components/AppToaster';
+import ErrorMessage from 'components/ErrorMessage';
import Icon from 'components/Icon';
-import { Row, Col } from 'react-grid-system';
-import AuthInsider from 'containers/Authentication/AuthInsider';
-import { Link, useHistory } from 'react-router-dom';
-import useAsync from 'hooks/async';
import { If } from 'components';
+import useAsync from 'hooks/async';
+import AuthInsider from 'containers/Authentication/AuthInsider';
+
+import withAuthenticationActions from './withAuthenticationActions';
+
+import { compose } from 'utils';
function Invite({ requestInviteAccept, requestInviteMetaByToken }) {
const { formatMessage } = useIntl();
@@ -74,7 +78,6 @@ function Invite({ requestInviteAccept, requestInviteMetaByToken }) {
);
const {
- values,
touched,
errors,
handleSubmit,
diff --git a/client/src/containers/Authentication/Login.js b/client/src/containers/Authentication/Login.js
index fe6b47ce8..e15c3322e 100644
--- a/client/src/containers/Authentication/Login.js
+++ b/client/src/containers/Authentication/Login.js
@@ -1,8 +1,6 @@
import React, { useMemo, useState } from 'react';
import { Link, useHistory } from 'react-router-dom';
import * as Yup from 'yup';
-
-
import { useFormik } from 'formik';
import { FormattedMessage as T, useIntl } from 'react-intl';
import {
@@ -12,6 +10,7 @@ import {
FormGroup,
Checkbox,
} from '@blueprintjs/core';
+
import Toaster from 'components/AppToaster';
import ErrorMessage from 'components/ErrorMessage';
import AuthInsider from 'containers/Authentication/AuthInsider';
@@ -49,7 +48,6 @@ function Login({
// Formik validation schema and submit handler.
const {
- values,
touched,
errors,
handleSubmit,
diff --git a/client/src/containers/Authentication/Register.js b/client/src/containers/Authentication/Register.js
index 3c89112c6..89135623e 100644
--- a/client/src/containers/Authentication/Register.js
+++ b/client/src/containers/Authentication/Register.js
@@ -1,8 +1,8 @@
import React, { useMemo, useState, useCallback } from 'react';
import * as Yup from 'yup';
import { useFormik } from 'formik';
-import { FormattedMessage as T, useIntl } from 'react-intl';
-
+import { Row, Col } from 'react-grid-system';
+import { Link, useHistory } from 'react-router-dom';
import {
Button,
InputGroup,
@@ -10,16 +10,17 @@ import {
FormGroup,
Spinner,
} from '@blueprintjs/core';
+import { FormattedMessage as T, useIntl } from 'react-intl';
-import { Row, Col } from 'react-grid-system';
-import { Link, useHistory } from 'react-router-dom';
-import withAuthenticationActions from './withAuthenticationActions';
-import ErrorMessage from 'components/ErrorMessage';
import AppToaster from 'components/AppToaster';
-import AuthInsider from 'containers/Authentication/AuthInsider';
-import { compose } from 'utils';
+
+import ErrorMessage from 'components/ErrorMessage';
import Icon from 'components/Icon';
import { If } from 'components';
+import AuthInsider from 'containers/Authentication/AuthInsider';
+import withAuthenticationActions from './withAuthenticationActions';
+
+import { compose } from 'utils';
function Register({ requestRegister }) {
const { formatMessage } = useIntl();
@@ -60,8 +61,6 @@ function Register({ requestRegister }) {
const {
errors,
touched,
- values,
- setFieldValue,
handleSubmit,
getFieldProps,
isSubmitting,
diff --git a/client/src/containers/Authentication/ResetPassword.js b/client/src/containers/Authentication/ResetPassword.js
index 4a5d6ee4a..f824fdd67 100644
--- a/client/src/containers/Authentication/ResetPassword.js
+++ b/client/src/containers/Authentication/ResetPassword.js
@@ -1,4 +1,4 @@
-import React, { useEffect, useMemo } from 'react';
+import React, { useMemo } from 'react';
import * as Yup from 'yup';
import { useFormik } from 'formik';
@@ -10,13 +10,15 @@ import {
Position,
} from '@blueprintjs/core';
import { Link, useParams, useHistory } from 'react-router-dom';
-import ErrorMessage from 'components/ErrorMessage';
-import AppToaster from 'components/AppToaster';
-import { compose } from 'utils';
-import withAuthenticationActions from './withAuthenticationActions';
-import AuthInsider from 'containers/Authentication/AuthInsider';
import { FormattedMessage as T, useIntl } from 'react-intl';
+import AppToaster from 'components/AppToaster';
+import ErrorMessage from 'components/ErrorMessage';
+import AuthInsider from 'containers/Authentication/AuthInsider';
+import withAuthenticationActions from './withAuthenticationActions';
+
+import { compose } from 'utils';
+
function ResetPassword({ requestResetPassword }) {
@@ -44,10 +46,8 @@ function ResetPassword({ requestResetPassword }) {
const {
touched,
- values,
errors,
handleSubmit,
- setFieldValue,
getFieldProps,
isSubmitting,
} = useFormik({
diff --git a/client/src/containers/Authentication/SendResetPassword.js b/client/src/containers/Authentication/SendResetPassword.js
index fd0dda868..12195b289 100644
--- a/client/src/containers/Authentication/SendResetPassword.js
+++ b/client/src/containers/Authentication/SendResetPassword.js
@@ -34,12 +34,10 @@ function SendResetPassword({ requestSendResetPassword }) {
// Formik validation
const {
- values,
errors,
touched,
handleSubmit,
getFieldProps,
- setFieldValue,
isSubmitting,
} = useFormik({
enableReinitialize: true,
diff --git a/client/src/containers/Dialogs/AccountFormDialog.js b/client/src/containers/Dialogs/AccountFormDialog.js
index ccd467084..c68516872 100644
--- a/client/src/containers/Dialogs/AccountFormDialog.js
+++ b/client/src/containers/Dialogs/AccountFormDialog.js
@@ -16,7 +16,7 @@ import { useFormik } from 'formik';
import { FormattedMessage as T, useIntl } from 'react-intl';
import { omit } from 'lodash';
-import { useQuery, queryCache } from 'react-query';
+import { useQuery } from 'react-query';
import Dialog from 'components/Dialog';
import AppToaster from 'components/AppToaster';
@@ -228,13 +228,13 @@ function AccountFormDialog({
fetchAccountsList.refetch();
fetchAccountsTypes.refetch();
fetchAccount.refetch();
- }, []);
+ }, [ fetchAccount, fetchAccountsList, fetchAccountsTypes]);
const onChangeAccountType = useCallback(
(accountType) => {
formik.setFieldValue('account_type_id', accountType.id);
},
- [setSelectedAccountType, formik]
+ [formik]
);
// Handles change sub-account.
diff --git a/client/src/containers/Dialogs/CurrencyDialog.js b/client/src/containers/Dialogs/CurrencyDialog.js
index a96fed3d3..1bd8ed1a2 100644
--- a/client/src/containers/Dialogs/CurrencyDialog.js
+++ b/client/src/containers/Dialogs/CurrencyDialog.js
@@ -11,20 +11,21 @@ import { FormattedMessage as T, useIntl } from 'react-intl';
import { useFormik } from 'formik';
import { useQuery } from 'react-query';
import { connect } from 'react-redux';
+import { pick } from 'lodash';
-import { compose } from 'utils';
-import Dialog from 'components/Dialog';
import AppToaster from 'components/AppToaster';
-import DialogConnect from 'connectors/Dialog.connector';
+import Dialog from 'components/Dialog';
import DialogReduxConnect from 'components/DialogReduxConnect';
+import ErrorMessage from 'components/ErrorMessage';
+import classNames from 'classnames';
+import DialogConnect from 'connectors/Dialog.connector';
+import { getDialogPayload } from 'store/dashboard/dashboard.reducer';
+
import withCurrency from 'containers/Currencies/withCurrency';
import withCurrenciesActions from 'containers/Currencies/withCurrenciesActions';
-import ErrorMessage from 'components/ErrorMessage';
-import classNames from 'classnames';
-import { pick } from 'lodash';
-import { getDialogPayload } from 'store/dashboard/dashboard.reducer';
+import { compose } from 'utils';
@@ -59,11 +60,9 @@ function CurrencyDialog({
}), []);
const {
- values,
errors,
touched,
isSubmitting,
- setFieldValue,
getFieldProps,
handleSubmit,
resetForm,
@@ -118,7 +117,7 @@ function CurrencyDialog({
const onDialogClosed = useCallback(() => {
resetForm();
closeDialog(name);
- }, [closeDialog, name]);
+ }, [closeDialog, name,resetForm]);
const requiredSpan = useMemo(() =>
*, []);
diff --git a/client/src/containers/Dialogs/ExchangeRateDialog.js b/client/src/containers/Dialogs/ExchangeRateDialog.js
index 7541a572d..810faabb2 100644
--- a/client/src/containers/Dialogs/ExchangeRateDialog.js
+++ b/client/src/containers/Dialogs/ExchangeRateDialog.js
@@ -1,4 +1,4 @@
-import React, { useState, useMemo, useCallback, useEffect } from 'react';
+import React, { useState, useMemo, useCallback } from 'react';
import {
Button,
Classes,
@@ -12,17 +12,17 @@ import { pick } from 'lodash';
import * as Yup from 'yup';
import { FormattedMessage as T, useIntl } from 'react-intl';
import { useFormik } from 'formik';
-import Dialog from 'components/Dialog';
-import AppToaster from 'components/AppToaster';
-
-import { useQuery, queryCache } from 'react-query';
-import ErrorMessage from 'components/ErrorMessage';
-import classNames from 'classnames';
import { Select } from '@blueprintjs/select';
+import { useQuery } from 'react-query';
import moment from 'moment';
import { DateInput } from '@blueprintjs/datetime';
import { momentFormatter } from 'utils';
+import AppToaster from 'components/AppToaster';
+import Dialog from 'components/Dialog';
+import ErrorMessage from 'components/ErrorMessage';
+import classNames from 'classnames';
+
import withExchangeRatesDialog from './ExchangeRateDialog.container';
@@ -61,7 +61,6 @@ function ExchangeRateDialog({
}), []);
const {
- values,
touched,
errors,
isSubmitting,
@@ -117,7 +116,7 @@ function ExchangeRateDialog({
const onDialogClosed = useCallback(() => {
resetForm();
closeDialog(name);
- }, [closeDialog, name]);
+ }, [closeDialog, name,resetForm]);
const onDialogOpening = useCallback(() => {
fetchExchangeRatesDialog.refetch();
diff --git a/client/src/containers/Dialogs/InviteUserDialog.js b/client/src/containers/Dialogs/InviteUserDialog.js
index dab39129c..a6345b8cd 100644
--- a/client/src/containers/Dialogs/InviteUserDialog.js
+++ b/client/src/containers/Dialogs/InviteUserDialog.js
@@ -10,14 +10,17 @@ import {
Intent,
Classes,
} from '@blueprintjs/core';
-import UserListDialogConnect from 'connectors/UsersList.connector';
-import DialogReduxConnect from 'components/DialogReduxConnect';
-import useAsync from 'hooks/async';
import { objectKeysTransform } from 'utils';
import { pick, snakeCase } from 'lodash';
-import ErrorMessage from 'components/ErrorMessage';
-import classNames from 'classnames';
+
import AppToaster from 'components/AppToaster';
+
+import DialogReduxConnect from 'components/DialogReduxConnect';
+import UserListDialogConnect from 'connectors/UsersList.connector';
+import ErrorMessage from 'components/ErrorMessage';
+import useAsync from 'hooks/async';
+import classNames from 'classnames';
+
import { compose } from 'utils';
function InviteUserDialog({
@@ -84,7 +87,7 @@ function InviteUserDialog({
}
},
});
- const { values, errors, touched } = useMemo(() => formik, [formik]);
+ const { errors, touched } = useMemo(() => formik, [formik]);
const onDialogOpening = () => {
fetchHook.execute();
diff --git a/client/src/containers/Dialogs/ItemCategoryDialog.js b/client/src/containers/Dialogs/ItemCategoryDialog.js
index c00c9004f..0dd751053 100644
--- a/client/src/containers/Dialogs/ItemCategoryDialog.js
+++ b/client/src/containers/Dialogs/ItemCategoryDialog.js
@@ -16,6 +16,7 @@ import { useFormik } from 'formik';
import { compose } from 'utils';
import { useQuery, queryCache } from 'react-query';
import classNames from 'classnames';
+import {connect} from 'react-redux';
import AppToaster from 'components/AppToaster';
import ErrorMessage from 'components/ErrorMessage';
@@ -24,7 +25,6 @@ import Dialog from 'components/Dialog';
import DialogConnect from 'connectors/Dialog.connector';
import DialogReduxConnect from 'components/DialogReduxConnect';
-import {connect} from 'react-redux';
import { getDialogPayload } from 'store/dashboard/dashboard.reducer';
import withItemCategoryDetail from 'containers/Items/withItemCategoryDetail';
import withItemCategories from 'containers/Items/withItemCategories';
@@ -75,7 +75,6 @@ function ItemCategoryDialog({
// Formik
const {
errors,
- values,
touched,
setFieldValue,
handleSubmit,
diff --git a/client/src/containers/Dialogs/UserFormDialog.js b/client/src/containers/Dialogs/UserFormDialog.js
index 32e89206c..cdcd7f0b6 100644
--- a/client/src/containers/Dialogs/UserFormDialog.js
+++ b/client/src/containers/Dialogs/UserFormDialog.js
@@ -1,4 +1,4 @@
-import React, { useMemo, useCallback } from 'react';
+import React, {useCallback } from 'react';
import { FormattedMessage as T, useIntl } from 'react-intl';
import { useFormik } from 'formik';
import * as Yup from 'yup';
@@ -10,14 +10,15 @@ import {
Intent,
Classes,
} from '@blueprintjs/core';
-import UserFormDialogConnect from 'connectors/UserFormDialog.connector';
-import DialogReduxConnect from 'components/DialogReduxConnect';
-import AppToaster from 'components/AppToaster';
-import useAsync from 'hooks/async';
import { objectKeysTransform } from 'utils';
import { pick, snakeCase } from 'lodash';
-import ErrorMessage from 'components/ErrorMessage';
import classNames from 'classnames';
+
+import AppToaster from 'components/AppToaster';
+import DialogReduxConnect from 'components/DialogReduxConnect';
+import ErrorMessage from 'components/ErrorMessage';
+import useAsync from 'hooks/async';
+import UserFormDialogConnect from 'connectors/UserFormDialog.connector';
import { compose } from 'utils';
function UserFormDialog({
@@ -49,7 +50,6 @@ function UserFormDialog({
};
const {
- values,
errors,
touched,
resetForm,
diff --git a/client/src/containers/ExchangeRates/ExchangeRate.js b/client/src/containers/ExchangeRates/ExchangeRate.js
index effb1a8e1..aa9296931 100644
--- a/client/src/containers/ExchangeRates/ExchangeRate.js
+++ b/client/src/containers/ExchangeRates/ExchangeRate.js
@@ -2,6 +2,7 @@ import React, { useEffect, useState, useCallback,useMemo } from 'react';
import { useQuery } from 'react-query';
import { useParams } from 'react-router-dom';
import { Alert, Intent } from '@blueprintjs/core';
+import { FormattedMessage as T, useIntl, FormattedHTMLMessage } from 'react-intl';
import AppToaster from 'components/AppToaster';
import DashboardPageContent from 'components/Dashboard/DashboardPageContent';
@@ -15,7 +16,6 @@ import withExchangeRatesActions from 'containers/ExchangeRates/withExchangeRates
import { compose } from 'utils';
- import { FormattedMessage as T, useIntl, FormattedHTMLMessage } from 'react-intl';
function ExchangeRate({
// #withDashboard
@@ -37,10 +37,6 @@ function ExchangeRate({
const { formatMessage } = useIntl();
const [bulkDelete, setBulkDelete] = useState(false);
- // const fetchExchangeRates = useQuery('exchange-rates-table', () => {
- // return Promise.all([requestFetchExchangeRates()]);
- // });
-
const fetchExchangeRates = useQuery('exchange-rates-table',
() => requestFetchExchangeRates());
@@ -49,7 +45,7 @@ function ExchangeRate({
id
? changePageTitle(formatMessage({id:'exchange_rate_details'}))
: changePageTitle(formatMessage({id:'exchange_rate_list'}));
- }, [id, changePageTitle]);
+ }, [id, changePageTitle,formatMessage]);
const handelDeleteExchangeRate = useCallback(
(exchange_rate) => {
@@ -71,7 +67,7 @@ function ExchangeRate({
message: formatMessage({id:'the_exchange_rate_has_been_successfully_deleted'}),
});
});
- }, [deleteExchangeRate, requestDeleteExchangeRate]);
+ }, [deleteExchangeRate, requestDeleteExchangeRate,formatMessage]);
// Handle fetch data of Exchange_rates datatable.
const handleFetchData = useCallback(
@@ -123,7 +119,7 @@ const handleConfirmBulkDelete = useCallback(() => {
.catch((errors) => {
setBulkDelete(false);
});
-}, [requestDeleteBulkExchangeRates, bulkDelete]);
+}, [requestDeleteBulkExchangeRates, bulkDelete,formatMessage]);
// Calculates the data table selected rows count.
diff --git a/client/src/containers/ExchangeRates/ExchangeRateTable.js b/client/src/containers/ExchangeRates/ExchangeRateTable.js
index 1d633e983..f044939f2 100644
--- a/client/src/containers/ExchangeRates/ExchangeRateTable.js
+++ b/client/src/containers/ExchangeRates/ExchangeRateTable.js
@@ -1,16 +1,15 @@
import React, { useCallback, useMemo,useState } from 'react';
import Icon from 'components/Icon';
import DialogConnect from 'connectors/Dialog.connector';
-import LoadingIndicator from 'components/LoadingIndicator';
import DataTable from 'components/DataTable';
import { Button, Popover, Menu, MenuItem, Position } from '@blueprintjs/core';
+import { FormattedMessage as T, useIntl } from 'react-intl';
import withExchangeRatesActions from 'containers/ExchangeRates/withExchangeRatesActions';
import withExchangeRates from 'containers/ExchangeRates/withExchangeRates';
import { compose } from 'utils';
-import { FormattedMessage as T, useIntl } from 'react-intl';
function ExchangeRateTable({
// #withExchangeRates
@@ -91,7 +90,7 @@ function ExchangeRateTable({
width: 50,
disableResizing: false,
},
- ], [actionMenuList]);
+ ], [actionMenuList,formatMessage]);
const selectionColumn = useMemo(() => ({
minWidth: 42,
diff --git a/client/src/containers/ExchangeRates/withExchangeRates.js b/client/src/containers/ExchangeRates/withExchangeRates.js
index 2fafe3544..3d4daf38c 100644
--- a/client/src/containers/ExchangeRates/withExchangeRates.js
+++ b/client/src/containers/ExchangeRates/withExchangeRates.js
@@ -1,5 +1,4 @@
import { connect } from 'react-redux';
-import { getResourceViews } from 'store/customViews/customViews.selectors';
export default (mapState) => {
const mapStateToProps = (state, props) => {
diff --git a/client/src/containers/Expenses/ExpenseForm.js b/client/src/containers/Expenses/ExpenseForm.js
index 5f5d82ecc..3b33cd7c0 100644
--- a/client/src/containers/Expenses/ExpenseForm.js
+++ b/client/src/containers/Expenses/ExpenseForm.js
@@ -4,7 +4,7 @@ import {useParams} from 'react-router-dom';
import Connector from 'connectors/ExpenseForm.connector';
import DashboardInsider from 'components/Dashboard/DashboardInsider';
import ExpenseForm from 'components/Expenses/ExpenseForm';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { useIntl } from 'react-intl';
function ExpenseFormContainer({
fetchAccounts,
@@ -23,7 +23,7 @@ function ExpenseFormContainer({
} else {
changePageTitle(formatMessage({id:'new_expense'}));
}
- }, []);
+ }, [id,changePageTitle,formatMessage]);
const fetchHook = useAsync(async () => {
await Promise.all([
diff --git a/client/src/containers/Expenses/ExpensesList.js b/client/src/containers/Expenses/ExpensesList.js
index 41a8122bb..7d8622f31 100644
--- a/client/src/containers/Expenses/ExpensesList.js
+++ b/client/src/containers/Expenses/ExpensesList.js
@@ -21,7 +21,7 @@ function ExpensesList({
const {formatMessage} =useIntl()
useEffect(() => {
changePageTitle(formatMessage({id:'expenses_list'}));
- }, []);
+ }, [changePageTitle,formatMessage]);
const [deleteExpenseState, setDeleteExpense] = useState();
diff --git a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.js b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.js
index e205a71d8..8942a6b4e 100644
--- a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.js
+++ b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheet.js
@@ -1,4 +1,4 @@
-import React, { useEffect, useMemo, useCallback, useState } from 'react';
+import React, { useEffect, useCallback, useState } from 'react';
import { compose } from 'utils';
import { useQuery } from 'react-query';
@@ -16,7 +16,7 @@ import withSettings from 'containers/Settings/withSettings';
import withBalanceSheetActions from './withBalanceSheetActions';
import withBalanceSheetDetail from './withBalanceSheetDetail';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import {useIntl } from 'react-intl';
function BalanceSheet({
@@ -54,7 +54,7 @@ function BalanceSheet({
useEffect(() => {
changePageTitle(formatMessage({ id: 'balance_sheet' }));
- }, []);
+ }, [changePageTitle,formatMessage]);
// Handle re-fetch balance sheet after filter change.
const handleFilterSubmit = useCallback((filter) => {
diff --git a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.js b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.js
index 467557ee2..07c5fbd94 100644
--- a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.js
+++ b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetActionsBar.js
@@ -3,24 +3,21 @@ import {
NavbarGroup,
Button,
Classes,
- NavbarHeading,
NavbarDivider,
- Intent,
Popover,
PopoverInteractionKind,
Position,
} from '@blueprintjs/core';
+import { FormattedMessage as T } from 'react-intl';
+
import Icon from 'components/Icon';
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'
+import FilterDropdown from 'components/FilterDropdown';
import classNames from 'classnames';
-import FilterDropdown from 'components/FilterDropdown';
-import { FormattedMessage as T, useIntl } from 'react-intl';
-export default function JournalActionsBar({
-
-}) {
+export default function JournalActionsBar() {
const filterDropdown = FilterDropdown({
fields: [],
onFilterChange: (filterConditions) => {
diff --git a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js
index 517fdf704..324e816da 100644
--- a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js
+++ b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetHeader.js
@@ -6,15 +6,16 @@ import {
FormGroup,
MenuItem,
} from "@blueprintjs/core";
-import SelectList from 'components/SelectList';
import moment from 'moment';
-import Icon from 'components/Icon';
-import { useFormik } from 'formik';
import * as Yup from 'yup';
+import { useFormik } from 'formik';
+import { FormattedMessage as T, useIntl } from 'react-intl';
+
+import Icon from 'components/Icon';
+import SelectList from 'components/SelectList';
import FinancialStatementDateRange from 'containers/FinancialStatements/FinancialStatementDateRange';
import SelectDisplayColumnsBy from '../SelectDisplayColumnsBy';
import RadiosAccountingBasis from '../RadiosAccountingBasis';
-import { FormattedMessage as T, useIntl } from 'react-intl';
export default function BalanceSheetHeader({
@@ -45,7 +46,7 @@ export default function BalanceSheetHeader({
const onItemSelectDisplayColumns = useCallback((item) => {
formik.setFieldValue('display_columns_type', item.type);
formik.setFieldValue('display_columns_by', item.by);
- }, []);
+ }, [formik]);
// Handle submit filter submit button.
const handleSubmitClick = useCallback(() => {
@@ -55,7 +56,7 @@ export default function BalanceSheetHeader({
const filterAccountsOptions = useMemo(() => [
{ key: '', name: formatMessage({ id: 'accounts_with_zero_balance' }) },
{ key: 'all-trans', name: formatMessage({ id: 'all_transactions' }) },
- ], []);
+ ], [formatMessage]);
const filterAccountRenderer = useCallback((item, { handleClick, modifiers, query }) => {
return (
);
diff --git a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetTable.js b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetTable.js
index cb043fab2..04b021afd 100644
--- a/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetTable.js
+++ b/client/src/containers/FinancialStatements/BalanceSheet/BalanceSheetTable.js
@@ -1,5 +1,6 @@
import React, {useMemo, useCallback } from 'react';
import { connect } from 'react-redux';
+import { useIntl } from 'react-intl';
import Money from 'components/Money';
import FinancialSheet from 'components/FinancialSheet';
@@ -12,7 +13,6 @@ import {
} from 'store/financialStatement/financialStatements.selectors';
import { compose, defaultExpanderReducer } from 'utils';
-import { FormattedMessage as T, useIntl } from 'react-intl';
function BalanceSheetTable({
@@ -108,7 +108,7 @@ function BalanceSheetTable({
width: 100,
})))
: [],
- ], [balanceSheetQuery, balanceSheetColumns]);
+ ], [balanceSheetQuery, balanceSheetColumns,formatMessage]);
const handleFetchData = useCallback(() => {
onFetchData && onFetchData();
diff --git a/client/src/containers/FinancialStatements/FinancialStatementDateRange.js b/client/src/containers/FinancialStatements/FinancialStatementDateRange.js
index efc264a41..c4d14df60 100644
--- a/client/src/containers/FinancialStatements/FinancialStatementDateRange.js
+++ b/client/src/containers/FinancialStatements/FinancialStatementDateRange.js
@@ -2,7 +2,7 @@ import React, {useState, useCallback, useMemo} from 'react';
import {Row, Col} from 'react-grid-system';
import {momentFormatter} from 'utils';
import {DateInput} from '@blueprintjs/datetime';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { useIntl } from 'react-intl';
import {
HTMLSelect,
diff --git a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedger.js b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedger.js
index 9bbea9bf1..57e07c46d 100644
--- a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedger.js
+++ b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedger.js
@@ -1,4 +1,4 @@
-import React, { useEffect, useCallback, useState, useMemo } from 'react';
+import React, { useEffect, useCallback, useState} from 'react';
import moment from 'moment';
import GeneralLedgerTable from 'containers/FinancialStatements/GeneralLedger/GeneralLedgerTable';
import { useQuery } from 'react-query';
@@ -43,7 +43,7 @@ function GeneralLedger({
// Change page title of the dashboard.
useEffect(() => {
changePageTitle(formatMessage({id:'general_ledger'}));
- }, []);
+ }, [changePageTitle,formatMessage]);
const fetchAccounts = useQuery(['accounts-list'],
() => requestFetchAccounts());
diff --git a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerActionsBar.js b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerActionsBar.js
index 244648896..5d20cd585 100644
--- a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerActionsBar.js
+++ b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerActionsBar.js
@@ -3,25 +3,21 @@ import {
NavbarGroup,
Button,
Classes,
- NavbarHeading,
NavbarDivider,
- Intent,
Popover,
PopoverInteractionKind,
Position,
} from '@blueprintjs/core';
+import { FormattedMessage as T } from 'react-intl';
import Icon from 'components/Icon';
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'
import classNames from 'classnames';
import FilterDropdown from 'components/FilterDropdown';
-import { FormattedMessage as T, useIntl } from 'react-intl';
/**
* General ledger actions bar.
*/
-export default function GeneralLedgerActionsBar({
-
-}) {
+export default function GeneralLedgerActionsBar() {
const filterDropdown = FilterDropdown({
fields: [],
onFilterChange: (filterConditions) => {
diff --git a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js
index 27716cbc1..47f2ee0fa 100644
--- a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js
+++ b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerHeader.js
@@ -1,31 +1,29 @@
-import React, {useState, useMemo, useEffect, useCallback} from 'react';
-import FinancialStatementHeader from 'containers/FinancialStatements/FinancialStatementHeader';
-import { FormattedMessage as T, useIntl } from 'react-intl';
-
+import React, { useCallback} from 'react';
import {
Button,
FormGroup,
Classes,
} from '@blueprintjs/core';
import {Row, Col} from 'react-grid-system';
-import {
- compose,
-} from 'utils';
import moment from 'moment';
+import * as Yup from 'yup';
+import {useFormik} from 'formik';
+import { FormattedMessage as T } from 'react-intl';
+
+import AccountsMultiSelect from 'components/AccountsMultiSelect';
+import FinancialStatementHeader from 'containers/FinancialStatements/FinancialStatementHeader';
import AccountsConnect from 'connectors/Accounts.connector'
import classNames from 'classnames';
-import AccountsMultiSelect from 'components/AccountsMultiSelect';
-import {useFormik} from 'formik';
import FinancialStatementDateRange from 'containers/FinancialStatements/FinancialStatementDateRange';
-import * as Yup from 'yup';
import RadiosAccountingBasis from '../RadiosAccountingBasis';
+import {compose} from 'utils';
+
function GeneralLedgerHeader({
onSubmitFilter,
pageFilter,
accounts,
}) {
- const {formatMessage} = useIntl();
const formik = useFormik({
enableReinitialize: true,
diff --git a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerTable.js b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerTable.js
index 679718f60..4f7c89991 100644
--- a/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerTable.js
+++ b/client/src/containers/FinancialStatements/GeneralLedger/GeneralLedgerTable.js
@@ -1,11 +1,11 @@
-import React, {useEffect, useState, useCallback, useMemo} from 'react';
+import React, {useCallback, useMemo} from 'react';
import moment from 'moment';
import { connect } from 'react-redux';
import {
defaultExpanderReducer,
compose
} from 'utils';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { useIntl } from 'react-intl';
import FinancialSheet from 'components/FinancialSheet';
import DataTable from 'components/DataTable';
diff --git a/client/src/containers/FinancialStatements/Journal/Journal.js b/client/src/containers/FinancialStatements/Journal/Journal.js
index cd95965f3..9e0eb5ef1 100644
--- a/client/src/containers/FinancialStatements/Journal/Journal.js
+++ b/client/src/containers/FinancialStatements/Journal/Journal.js
@@ -37,7 +37,7 @@ function Journal({
useEffect(() => {
changePageTitle(formatMessage({id:'journal_sheet'}));
- }, []);
+ }, [changePageTitle,formatMessage]);
const fetchHook = useQuery(['journal', filter],
(key, query) => { requestFetchJournalSheet(query); },
diff --git a/client/src/containers/FinancialStatements/Journal/JournalActionsBar.js b/client/src/containers/FinancialStatements/Journal/JournalActionsBar.js
index c4b2a1896..d15994149 100644
--- a/client/src/containers/FinancialStatements/Journal/JournalActionsBar.js
+++ b/client/src/containers/FinancialStatements/Journal/JournalActionsBar.js
@@ -3,22 +3,18 @@ import {
NavbarGroup,
Button,
Classes,
- NavbarHeading,
NavbarDivider,
- Intent,
Popover,
PopoverInteractionKind,
Position,
} from '@blueprintjs/core';
+import { FormattedMessage as T } from 'react-intl';
import Icon from 'components/Icon';
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'
-import classNames from 'classnames';
import FilterDropdown from 'components/FilterDropdown';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import classNames from 'classnames';
-export default function JournalActionsBar({
-
-}) {
+export default function JournalActionsBar() {
const filterDropdown = FilterDropdown({
fields: [],
onFilterChange: (filterConditions) => {
diff --git a/client/src/containers/FinancialStatements/Journal/JournalHeader.js b/client/src/containers/FinancialStatements/Journal/JournalHeader.js
index 35647ff6c..9a027b777 100644
--- a/client/src/containers/FinancialStatements/Journal/JournalHeader.js
+++ b/client/src/containers/FinancialStatements/Journal/JournalHeader.js
@@ -2,11 +2,10 @@ import React, { useCallback } from 'react';
import { Row, Col } from 'react-grid-system';
import {
Button,
- Intent,
} from '@blueprintjs/core';
import moment from 'moment';
import { useFormik } from 'formik';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
import * as Yup from 'yup';
import FinancialStatementDateRange from 'containers/FinancialStatements/FinancialStatementDateRange';
@@ -17,7 +16,7 @@ export default function JournalHeader({
pageFilter,
onSubmitFilter,
}) {
- const { formatMessage } = useIntl();
+
const formik = useFormik({
enableReinitialize: true,
initialValues: {
diff --git a/client/src/containers/FinancialStatements/Journal/JournalTable.js b/client/src/containers/FinancialStatements/Journal/JournalTable.js
index 26f280161..eac653c41 100644
--- a/client/src/containers/FinancialStatements/Journal/JournalTable.js
+++ b/client/src/containers/FinancialStatements/Journal/JournalTable.js
@@ -1,6 +1,7 @@
import React, { useCallback, useMemo } from 'react';
import {connect} from 'react-redux';
import moment from 'moment';
+import { useIntl } from 'react-intl';
import FinancialSheet from 'components/FinancialSheet';
import DataTable from 'components/DataTable';
@@ -12,7 +13,6 @@ import {
} from 'store/financialStatement/financialStatements.selectors';
import withJournal from './withJournal';
-import { FormattedMessage as T, useIntl } from 'react-intl';
function JournalSheetTable({
@@ -77,7 +77,7 @@ const {formatMessage} =useIntl();
accessor: r => exceptRowTypes(
r.rowType, (
), ['space_entry']),
},
- ], []);
+ ], [formatMessage]);
const handleFetchData = useCallback((...args) => {
onFetchData && onFetchData(...args)
diff --git a/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossActionsBar.js b/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossActionsBar.js
index c476a1d36..965195797 100644
--- a/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossActionsBar.js
+++ b/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossActionsBar.js
@@ -5,21 +5,19 @@ import {
Classes,
NavbarDivider,
} from '@blueprintjs/core';
+import { FormattedMessage as T } from 'react-intl';
import Icon from 'components/Icon';
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'
import classNames from 'classnames';
-import FilterDropdown from 'components/FilterDropdown';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+// import FilterDropdown from 'components/FilterDropdown';
-export default function ProfitLossActionsBar({
-
-}) {
- const filterDropdown = FilterDropdown({
- fields: [],
- onFilterChange: (filterConditions) => {
+export default function ProfitLossActionsBar() {
+ // const filterDropdown = FilterDropdown({
+ // fields: [],
+ // onFilterChange: (filterConditions) => {
- },
- });
+ // },
+ // });
return (
diff --git a/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetTable.js b/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetTable.js
index aae09f036..79d7f6bcf 100644
--- a/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetTable.js
+++ b/client/src/containers/FinancialStatements/ProfitLossSheet/ProfitLossSheetTable.js
@@ -1,5 +1,7 @@
import React, { useMemo, useCallback } from 'react';
import { connect } from 'react-redux';
+import { FormattedMessage as T, useIntl } from 'react-intl';
+
import FinancialSheet from 'components/FinancialSheet';
import DataTable from 'components/DataTable';
import Money from 'components/Money';
@@ -9,7 +11,6 @@ import {
getFinancialSheetIndexByQuery,
} from 'store/financialStatement/financialStatements.selectors';
import withProfitLossDetail from './withProfitLoss';
-import { FormattedMessage as T, useIntl } from 'react-intl';
function ProfitLossSheetTable({
@@ -103,7 +104,7 @@ function ProfitLossSheetTable({
width: 100,
})))
: [],
- ], [profitLossQuery.display_columns_type, profitLossColumns]);
+ ], [profitLossQuery.display_columns_type, profitLossColumns,formatMessage]);
// Handle data table fetch data.
const handleFetchData = useCallback((...args) => {
diff --git a/client/src/containers/FinancialStatements/SelectDisplayColumnsBy.js b/client/src/containers/FinancialStatements/SelectDisplayColumnsBy.js
index a3989ef3d..d2606b16a 100644
--- a/client/src/containers/FinancialStatements/SelectDisplayColumnsBy.js
+++ b/client/src/containers/FinancialStatements/SelectDisplayColumnsBy.js
@@ -6,7 +6,7 @@ import {
FormGroup,
MenuItem,
} from '@blueprintjs/core';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+import { FormattedMessage as T } from 'react-intl';
export default function SelectsListColumnsBy(props) {
const { onItemSelect, formGroupProps, selectListProps } = props;
@@ -19,7 +19,7 @@ export default function SelectsListColumnsBy(props) {
{key: 'week', name: 'Date/Week', type: 'date_periods', by: 'month'},
{key: 'day', name: 'Date/Day', type: 'date_periods', by: 'day'},
{key: 'quarter', name: 'Date/Quarter', type: 'date_periods', by: 'quarter'},
- ]);
+ ],[]);
const itemRenderer = useCallback((item, { handleClick, modifiers, query }) => {
return ();
diff --git a/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceActionsBar.js b/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceActionsBar.js
index b9089c97b..6e88ac1ed 100644
--- a/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceActionsBar.js
+++ b/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceActionsBar.js
@@ -3,28 +3,22 @@ import {
NavbarGroup,
Button,
Classes,
- NavbarHeading,
NavbarDivider,
- Intent,
- Popover,
- PopoverInteractionKind,
- Position,
} from '@blueprintjs/core';
import Icon from 'components/Icon';
+import { FormattedMessage as T } from 'react-intl';
import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'
import classNames from 'classnames';
-import FilterDropdown from 'components/FilterDropdown';
-import { FormattedMessage as T, useIntl } from 'react-intl';
+// import FilterDropdown from 'components/FilterDropdown';
-export default function GeneralLedgerActionsBar({
-
-}) {
- const filterDropdown = FilterDropdown({
- fields: [],
- onFilterChange: (filterConditions) => {
+export default function GeneralLedgerActionsBar() {
+
+ // const filterDropdown = FilterDropdown({
+ // fields: [],
+ // onFilterChange: (filterConditions) => {
- },
- });
+ // },
+ // });
return (
diff --git a/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js b/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js
index cbea0f1c2..d23f7b8b3 100644
--- a/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js
+++ b/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheet.js
@@ -1,4 +1,4 @@
-import React, { useEffect, useCallback, useState, useMemo } from 'react';
+import React, { useEffect, useCallback, useState } from 'react';
import { useQuery } from 'react-query';
import moment from 'moment';
import { useIntl } from 'react-intl';
@@ -52,7 +52,7 @@ function TrialBalanceSheet({
// Change page title of the dashboard.
useEffect(() => {
changePageTitle(formatMessage({id:'trial_balance_sheet'}));
- }, []);
+ }, [changePageTitle,formatMessage]);
const handleFilterSubmit = useCallback((filter) => {
const parsedFilter = {
diff --git a/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js b/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js
index 25271f05e..47320309c 100644
--- a/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js
+++ b/client/src/containers/FinancialStatements/TrialBalanceSheet/TrialBalanceSheetTable.js
@@ -94,7 +94,7 @@ function TrialBalanceSheetTable({
className: 'balance',
width: 120,
}
- ], []);
+ ], [formatMessage]);
const handleFetchData = useCallback(() => {
onFetchData && onFetchData();
diff --git a/client/src/containers/GeneralSearch/Search.js b/client/src/containers/GeneralSearch/Search.js
index bfded6e7d..48ff0b77c 100644
--- a/client/src/containers/GeneralSearch/Search.js
+++ b/client/src/containers/GeneralSearch/Search.js
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from 'react';
+import React from 'react';
import { Omnibar } from '@blueprintjs/select';
import { MenuItem } from '@blueprintjs/core';
import { compose } from 'utils';
diff --git a/client/src/containers/Items/ItemCategoriesList.js b/client/src/containers/Items/ItemCategoriesList.js
index 9284882be..c3df219e0 100644
--- a/client/src/containers/Items/ItemCategoriesList.js
+++ b/client/src/containers/Items/ItemCategoriesList.js
@@ -12,7 +12,6 @@ import AppToaster from 'components/AppToaster';
import DashboardInsider from 'components/Dashboard/DashboardInsider';
import ItemCategoriesDataTable from 'containers/Items/ItemCategoriesTable';
import ItemsCategoryActionsBar from 'containers/Items/ItemsCategoryActionsBar';
-import DashboardPageContent from 'components/Dashboard/DashboardPageContent';
import withDialog from 'connectors/Dialog.connector';
import withDashboardActions from 'containers/Dashboard/withDashboard';
@@ -46,7 +45,7 @@ const ItemCategoryList = ({
id
? changePageTitle(formatMessage({ id: 'edit_category_details' }))
: changePageTitle(formatMessage({ id: 'category_list' }));
- }, []);
+ }, [id,changePageTitle,formatMessage]);
const fetchCategories = useQuery(
['items-categories-table', filter],
@@ -126,7 +125,7 @@ const ItemCategoryList = ({
.catch((errors) => {
setBulkDelete(false);
});
- }, [requestDeleteBulkItemCategories, bulkDelete]);
+ }, [requestDeleteBulkItemCategories, bulkDelete,formatMessage]);
//Handel cancel itemCategories bulk delete.
diff --git a/client/src/containers/Items/ItemCategoriesTable.js b/client/src/containers/Items/ItemCategoriesTable.js
index 3e87c8a12..eda8dec87 100644
--- a/client/src/containers/Items/ItemCategoriesTable.js
+++ b/client/src/containers/Items/ItemCategoriesTable.js
@@ -28,10 +28,9 @@ const ItemsCategoryList = ({
}) => {
const {formatMessage} = useIntl();
- const handelEditCategory = (category) => { onEditCategory(category); };
- const handleDeleteCategory = (category) => { onDeleteCategory(category); };
-
- const actionMenuList = (category) => (
+ const handelEditCategory=useCallback((category)=>{onEditCategory(category);},[onEditCategory])
+ const handleDeleteCategory =useCallback((category)=>{onDeleteCategory(category);},[onDeleteCategory])
+ const actionMenuList = useCallback((category) => (
}
@@ -41,7 +40,8 @@ const ItemsCategoryList = ({
onClick={() => handleDeleteCategory(category)}
/>
- );
+ ), [handelEditCategory,handleDeleteCategory]);
+
const columns = useMemo(() => [
{
@@ -79,11 +79,11 @@ const ItemsCategoryList = ({
width: 50,
disableResizing: false
},
- ], [actionMenuList]);
+ ], [actionMenuList,formatMessage]);
const handelFetchData = useCallback((...params) => {
onFetchData && onFetchData(...params);
- }, []);
+ }, [onFetchData]);
const handleSelectedRowsChange = useCallback((selectedRows) => {
onSelectedRowsChange && onSelectedRowsChange(selectedRows.map(s => s.original));
diff --git a/client/src/containers/Items/ItemForm.js b/client/src/containers/Items/ItemForm.js
index db76f52a2..b9cbc50a6 100644
--- a/client/src/containers/Items/ItemForm.js
+++ b/client/src/containers/Items/ItemForm.js
@@ -1,6 +1,6 @@
import React, { useState, useMemo, useCallback,useEffect } from 'react';
import * as Yup from 'yup';
-import { useFormik, Formik } from 'formik';
+import { useFormik } from 'formik';
import {
FormGroup,
MenuItem,
@@ -14,7 +14,7 @@ import {
import { Row, Col } from 'react-grid-system';
import { FormattedMessage as T, useIntl } from 'react-intl';
import { queryCache } from 'react-query';
-import { useParams, useHistory } from 'react-router-dom';
+import { useHistory } from 'react-router-dom';
import { pick } from 'lodash';
import classNames from 'classnames';
@@ -30,7 +30,6 @@ import withItemCategories from 'containers/Items/withItemCategories'
import withAccounts from 'containers/Accounts/withAccounts';
import withMediaActions from 'containers/Media/withMediaActions';
import useMedia from 'hooks/useMedia';
-import withItems from './withItems';
import withItemDetail from 'containers/Items/withItemDetail'
import withDashboardActions from 'containers/Dashboard/withDashboard';
import withAccountDetail from 'containers/Accounts/withAccountDetail';
@@ -62,9 +61,7 @@ const ItemForm = ({
const history = useHistory();
const { formatMessage } = useIntl();
- const {id} =useParams();
const {
- files,
setFiles,
saveMedia,
deletedFiles,
@@ -80,7 +77,7 @@ const ItemForm = ({
{ value: 'service', label: formatMessage({id:'service'}) },
{ value: 'inventory', label: formatMessage({id:'inventory'}) },
{ value: 'non-inventory', label: formatMessage({id:'non_inventory'}) },
- ], []);
+ ], [formatMessage]);
const validationSchema = Yup.object().shape({
active: Yup.boolean(),
@@ -133,7 +130,7 @@ const ItemForm = ({
itemDetail && itemDetail.id ?
changePageTitle(formatMessage({id:'edit_item_details'})) :
changePageTitle(formatMessage({id:'new_item'}));
- }, [changePageTitle,itemDetail]);
+ }, [changePageTitle,itemDetail,formatMessage]);
const {
getFieldProps,
@@ -270,7 +267,7 @@ const ItemForm = ({
}
});
},
- [setDeletedFiles, deletedFiles]
+ [setDeletedFiles, deletedFiles,]
);
const handleCancelClickBtn = () => {
diff --git a/client/src/containers/Items/ItemFormPage.js b/client/src/containers/Items/ItemFormPage.js
index ecdf4b837..2e474ca90 100644
--- a/client/src/containers/Items/ItemFormPage.js
+++ b/client/src/containers/Items/ItemFormPage.js
@@ -1,17 +1,16 @@
-import React, { useEffect,useCallback } from 'react';
+import React, {useCallback } from 'react';
import { useParams,useHistory } from 'react-router-dom';
import { useQuery } from 'react-query';
-import ItemForm from 'containers/Items/ItemForm';
import DashboardInsider from 'components/Dashboard/DashboardInsider';
+import ItemForm from 'containers/Items/ItemForm';
import withDashboard from 'containers/Dashboard/withDashboard';
import withAccountsActions from 'containers/Accounts/withAccountsActions';
import withItemCategoriesActions from 'containers/Items/withItemCategoriesActions';
+import withItemsActions from './withItemsActions';
import { compose } from 'utils';
-import { FormattedMessage as T, useIntl } from 'react-intl';
-import withItemsActions from './withItemsActions';
const ItemFormContainer = ({
@@ -28,7 +27,6 @@ const ItemFormContainer = ({
requestFetchItemCategories,
}) => {
const { id } = useParams();
- const {formatMessage} =useIntl()
const history = useHistory();
const fetchAccounts = useQuery('accounts-list',
@@ -50,7 +48,7 @@ const handleFormSubmit =useCallback((payload)=>{
const handleCancel =useCallback(()=>{
history.push('/items/new');
-},[])
+},[history])
return (
() => { onDeleteItem(item); };
-
+ // const handleDeleteItem = (item) => () => { onDeleteItem(item); };
+ const handleDeleteItem =useCallback((item)=>()=>{onDeleteItem(item)},[onDeleteItem])
const actionMenuList = useCallback((item) =>
(