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) => ( - + // const actionMenuList = (journal) => ( + // + // } /> + // + // {!journal.status && ( + // } + // onClick={handlePublishJournal(journal)} + // /> + // )} + // } + // onClick={handleEditJournal(journal)} + // /> + // } + // intent={Intent.DANGER} + // onClick={handleDeleteJournal(journal)} + // /> + // + // ); + const actionMenuList =useCallback((journal)=>( + } /> {!journal.status && ( @@ -117,7 +138,7 @@ function ManualJournalsDataTable({ onClick={handleDeleteJournal(journal)} /> - ); + ),[handleEditJournal,handleDeleteJournal,handlePublishJournal]); const columns = useMemo(() => [ { @@ -203,7 +224,7 @@ function ManualJournalsDataTable({ width: 50, disableResizing: true, }, - ], []); + ], [actionMenuList,formatMessage]); const handleDataTableFetchData = useCallback((...args) => { onFetchData && onFetchData(...args); diff --git a/client/src/containers/Accounting/ManualJournalsList.js b/client/src/containers/Accounting/ManualJournalsList.js index 36ec25621..93e593dac 100644 --- a/client/src/containers/Accounting/ManualJournalsList.js +++ b/client/src/containers/Accounting/ManualJournalsList.js @@ -38,7 +38,6 @@ function ManualJournalsTable({ const history = useHistory(); const [deleteManualJournal, setDeleteManualJournal] = useState(false); - const [deleteBulk, setDeleteBulk] = useState(false); const [selectedRows, setSelectedRows] = useState([]); const [bulkDelete, setBulkDelete] = useState(false); @@ -53,7 +52,7 @@ function ManualJournalsTable({ useEffect(() => { changePageTitle(formatMessage({id:'manual_journals'})); - }, [changePageTitle]); + }, [changePageTitle,formatMessage]); // Handle delete manual journal click. const handleDeleteJournal = useCallback( @@ -81,7 +80,7 @@ function ManualJournalsTable({ }); setDeleteManualJournal(false); }); - }, [deleteManualJournal, requestDeleteManualJournal]); + }, [deleteManualJournal, requestDeleteManualJournal,formatMessage]); // Calculates the selected rows count. @@ -113,7 +112,7 @@ function ManualJournalsTable({ .catch((error) => { setBulkDelete(false); }); - }, [requestDeleteBulkManualJournals, bulkDelete]); + }, [requestDeleteBulkManualJournals, bulkDelete,formatMessage,selectedRowsCount]); // Handle cancel bulk delete alert. const handleCancelBulkDelete = useCallback(() => { @@ -133,9 +132,9 @@ function ManualJournalsTable({ }, [fetchManualJournals]); // Handle view change to re-fetch data table. - const handleViewChanged = useCallback(() => { + // const handleViewChanged = useCallback(() => { - }, [fetchManualJournals]); + // }, [fetchManualJournals]); // Handle fetch data of manual jouranls datatable. const handleFetchData = useCallback(({ pageIndex, pageSize, sortBy }) => { @@ -151,11 +150,11 @@ function ManualJournalsTable({ (journal) => { requestPublishManualJournal(journal.id).then(() => { AppToaster.show({ - message: 'the_manual_journal_id_has_been_published', + message: formatMessage({id:'the_manual_journal_id_has_been_published'}) }); }); }, - [requestPublishManualJournal] + [requestPublishManualJournal,formatMessage] ); // Handle selected rows change. diff --git a/client/src/containers/Accounting/ManualJournalsViewTabs.js b/client/src/containers/Accounting/ManualJournalsViewTabs.js index fe4042945..dc29db487 100644 --- a/client/src/containers/Accounting/ManualJournalsViewTabs.js +++ b/client/src/containers/Accounting/ManualJournalsViewTabs.js @@ -14,13 +14,13 @@ import { connect } from 'react-redux'; import { FormattedMessage as T } from 'react-intl'; import { useUpdateEffect } from 'hooks'; -import { compose } from 'utils'; import Icon from 'components/Icon'; import withManualJournals from './withManualJournals'; import withManualJournalsActions from './withManualJournalsActions'; import withDashboard from 'containers/Dashboard/withDashboard'; +import { compose } from 'utils'; function ManualJournalsViewTabs({ // #withManualJournals @@ -60,7 +60,7 @@ function ManualJournalsViewTabs({ addManualJournalsTableQueries({ custom_view_id: customViewId, }); - }, [customViewId]); + }, [customViewId,addManualJournalsTableQueries]); const tabs = manualJournalsViews.map((view) => { const baseUrl = '/manual-journals'; diff --git a/client/src/containers/Accounting/withManualJournalDetail.js b/client/src/containers/Accounting/withManualJournalDetail.js index 94f633ec9..1faeec322 100644 --- a/client/src/containers/Accounting/withManualJournalDetail.js +++ b/client/src/containers/Accounting/withManualJournalDetail.js @@ -1,5 +1,4 @@ import { connect } from 'react-redux'; -import t from 'store/types'; import { getManualJournal } from 'store/manualJournals/manualJournals.reducers'; const mapStateToProps = (state, props) => ({ diff --git a/client/src/containers/Accounts/AccountsActionsBar.js b/client/src/containers/Accounts/AccountsActionsBar.js index 302346f13..881060e5e 100644 --- a/client/src/containers/Accounts/AccountsActionsBar.js +++ b/client/src/containers/Accounts/AccountsActionsBar.js @@ -15,6 +15,7 @@ import { import classNames from 'classnames'; import { useHistory } from 'react-router-dom'; import { connect } from 'react-redux'; +import { FormattedMessage as T } from 'react-intl'; import { If } from 'components'; import DashboardActionsBar from 'components/Dashboard/DashboardActionsBar'; @@ -27,7 +28,6 @@ import withAccountsTableActions from 'containers/Accounts/withAccountsTableActio import withAccounts from 'containers/Accounts/withAccounts'; import {compose} from 'utils'; -import { FormattedMessage as T, useIntl } from 'react-intl'; function AccountsActionsBar({ @@ -72,9 +72,9 @@ function AccountsActionsBar({ }, }); - const handleBulkArchive = useCallback(() => { - onBulkArchive && onBulkArchive(selectedRows.map(r => r.id)); - }, [onBulkArchive, selectedRows]); + // const handleBulkArchive = useCallback(() => { + // onBulkArchive && onBulkArchive(selectedRows.map(r => r.id)); + // }, [onBulkArchive, selectedRows]); const handleBulkDelete = useCallback(() => { onBulkDelete && onBulkDelete(selectedRows.map(r => r.id)); diff --git a/client/src/containers/Accounts/AccountsChart.js b/client/src/containers/Accounts/AccountsChart.js index 0b7a368c2..c9f63d554 100644 --- a/client/src/containers/Accounts/AccountsChart.js +++ b/client/src/containers/Accounts/AccountsChart.js @@ -77,7 +77,7 @@ function AccountsChart({ useEffect(() => { changePageTitle(formatMessage({ id: 'chart_of_accounts' })); - }, [changePageTitle]); + }, [changePageTitle,formatMessage]); // Handle click and cancel/confirm account delete const handleDeleteAccount = (account) => { @@ -115,7 +115,7 @@ function AccountsChart({ setDeleteAccount(false); handleDeleteErrors(errors); }); - }, [deleteAccount, requestDeleteAccount]); + }, [deleteAccount, requestDeleteAccount,formatMessage]); // Handle cancel/confirm account inactive. const handleInactiveAccount = useCallback((account) => { @@ -138,7 +138,7 @@ function AccountsChart({ intent: Intent.SUCCESS, }); }); - }, [inactiveAccount, requestInactiveAccount]); + }, [inactiveAccount, requestInactiveAccount,formatMessage]); // Handle activate account click. const handleActivateAccount = useCallback((account) => { @@ -182,7 +182,7 @@ function AccountsChart({ setBulkDelete(false); handleDeleteErrors(errors); }); - }, [requestDeleteBulkAccounts, bulkDelete]); + }, [requestDeleteBulkAccounts, bulkDelete,formatMessage]); // Handle cancel accounts bulk delete. const handleCancelBulkDelete = useCallback(() => { @@ -263,7 +263,7 @@ const handleConfirmBulkActivate = useCallback(() => { setBulkActivate(false); }); -}, [requestBulkActivateAccounts, bulkActivate]); +}, [requestBulkActivateAccounts, bulkActivate,formatMessage]); diff --git a/client/src/containers/Accounts/AccountsDataTable.js b/client/src/containers/Accounts/AccountsDataTable.js index 7ff42622e..59cc794db 100644 --- a/client/src/containers/Accounts/AccountsDataTable.js +++ b/client/src/containers/Accounts/AccountsDataTable.js @@ -1,4 +1,4 @@ -import React, { useEffect, useCallback, useState, useMemo } from 'react'; +import React, {useCallback, useState, useMemo } from 'react'; import { Button, Popover, @@ -84,7 +84,7 @@ function AccountsDataTable({ text={} onClick={() => onDeleteAccount(account)} /> - ), [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) => ( } /> @@ -112,7 +112,7 @@ const ItemsDataTable = ({ className: 'actions', width: 50, }, - ], [actionMenuList]); + ], [actionMenuList,formatMessage]); const selectionColumn = useMemo(() => ({ minWidth: 42, @@ -122,7 +122,7 @@ const ItemsDataTable = ({ const handleFetchData = useCallback((...args) => { onFetchData && onFetchData(...args) - }, [onFetchData]); + }, []); const handleSelectedRowsChange = useCallback((selectedRows) => { onSelectedRowsChange && onSelectedRowsChange(selectedRows.map(s => s.original)); @@ -151,4 +151,8 @@ export default compose( itemsCurrentPage, itemsTableLoading, })), -)(ItemsDataTable); \ No newline at end of file +)(ItemsDataTable); + + + + diff --git a/client/src/containers/Items/ItemsList.js b/client/src/containers/Items/ItemsList.js index e7e2a4df9..2fdd99818 100644 --- a/client/src/containers/Items/ItemsList.js +++ b/client/src/containers/Items/ItemsList.js @@ -98,7 +98,7 @@ function ItemsList({ }); setDeleteItem(false); }); - }, [requestDeleteItem, deleteItem]); + }, [requestDeleteItem, deleteItem,formatMessage]); // Handle fetch data table. const handleFetchData = useCallback(({ pageIndex, pageSize, sortBy }) => { @@ -155,7 +155,7 @@ function ItemsList({ }).catch((errors) => { setBulkDelete(false); }); - }, [requestDeleteBulkItems, bulkDelete]); + }, [requestDeleteBulkItems, bulkDelete,formatMessage]); // Handle cancel accounts bulk delete. const handleCancelBulkDelete = useCallback(() => { diff --git a/client/src/containers/Items/ItemsViewsTabs.js b/client/src/containers/Items/ItemsViewsTabs.js index da44637fc..fa560e873 100644 --- a/client/src/containers/Items/ItemsViewsTabs.js +++ b/client/src/containers/Items/ItemsViewsTabs.js @@ -20,7 +20,7 @@ import withDashboard from 'containers/Dashboard/withDashboard'; import withViewDetail from 'containers/Views/withViewDetails'; import withItems from 'containers/Items/withItems'; -import { FormattedMessage as T, useIntl } from 'react-intl'; +import { FormattedMessage as T} from 'react-intl'; function ItemsViewsTabs({ // #withViewDetail diff --git a/client/src/containers/Items/withItemDetail.js b/client/src/containers/Items/withItemDetail.js index 6bca8f896..8a10c1b92 100644 --- a/client/src/containers/Items/withItemDetail.js +++ b/client/src/containers/Items/withItemDetail.js @@ -1,5 +1,4 @@ import { connect } from 'react-redux'; -import t from 'store/types'; import { getItemById } from 'store/items/items.reducer'; const mapStateToProps = (state, props) => ({ diff --git a/client/src/containers/Preferences/Accounts/Accounts.js b/client/src/containers/Preferences/Accounts/Accounts.js index bcf12a3ce..478141122 100644 --- a/client/src/containers/Preferences/Accounts/Accounts.js +++ b/client/src/containers/Preferences/Accounts/Accounts.js @@ -2,7 +2,7 @@ import React from 'react'; import {Tabs, Tab} from '@blueprintjs/core'; import { useHistory } from 'react-router-dom'; import PreferencesSubContent from 'components/Preferences/PreferencesSubContent'; -import { FormattedMessage as T, useIntl } from 'react-intl'; +import { FormattedMessage as T} from 'react-intl'; export default function AccountsPreferences() { const history = useHistory(); diff --git a/client/src/containers/Preferences/Currencies/CurrenciesActions.js b/client/src/containers/Preferences/Currencies/CurrenciesActions.js index 5033e1ece..e2a253ca9 100644 --- a/client/src/containers/Preferences/Currencies/CurrenciesActions.js +++ b/client/src/containers/Preferences/Currencies/CurrenciesActions.js @@ -12,7 +12,7 @@ function CurrenciesActions({ }) { const handleClickNewCurrency = useCallback(() => { openDialog('currency-form'); - }, []); + }, [openDialog]); return (
diff --git a/client/src/containers/Preferences/Currencies/CurrenciesList.js b/client/src/containers/Preferences/Currencies/CurrenciesList.js index 6bca2020d..dcb257bed 100644 --- a/client/src/containers/Preferences/Currencies/CurrenciesList.js +++ b/client/src/containers/Preferences/Currencies/CurrenciesList.js @@ -1,4 +1,4 @@ -import React, { useEffect, useCallback, useState, useMemo } from 'react'; +import React, { useCallback, useState, useMemo } from 'react'; import { Button, Popover, @@ -41,17 +41,25 @@ function CurrenciesList({ const fetchCurrencies = useQuery(['currencies-table'], () => requestFetchCurrencies()); - const handleEditCurrency = (currency) => { + // const handleEditCurrency = (currency) => { + // openDialog('currency-form', { + // action: 'edit', + // currencyCode: currency.currency_code, + // }); + // }; + const handleEditCurrency =useCallback((currency)=>{ openDialog('currency-form', { - action: 'edit', - currencyCode: currency.currency_code, - }); - }; + action: 'edit', + currencyCode: currency.currency_code, + }); + },[openDialog]) - const onDeleteCurrency = (currency) => { - setDeleteCurrencyState(currency); - }; + // const onDeleteCurrency = (currency) => { + // setDeleteCurrencyState(currency); + // }; + + const onDeleteCurrency =useCallback((currency)=>{setDeleteCurrencyState(currency);},[]) const handleCancelCurrencyDelete = () => { setDeleteCurrencyState(false); }; @@ -65,7 +73,7 @@ function CurrenciesList({ }); } ); - }, [deleteCurrencyState]); + }, [requestDeleteCurrency,deleteCurrencyState,formatMessage]); const actionMenuList = useCallback((currency) => ( @@ -78,7 +86,7 @@ function CurrenciesList({ onClick={() => onDeleteCurrency(currency)} /> - ), []); + ), [handleEditCurrency,onDeleteCurrency]); const columns = useMemo(() => [ { @@ -110,11 +118,11 @@ function CurrenciesList({ className: 'actions', width: 50, }, - ], [actionMenuList]); + ], [actionMenuList,formatMessage]); const handleDatatableFetchData = useCallback(() => { onFetchData && onFetchData(); - }, []); + }, [onFetchData]); return ( diff --git a/client/src/containers/Preferences/General/General.js b/client/src/containers/Preferences/General/General.js index a268c107c..a7d739359 100644 --- a/client/src/containers/Preferences/General/General.js +++ b/client/src/containers/Preferences/General/General.js @@ -1,4 +1,4 @@ -import React, { useState, useCallback, useMemo, useEffect } from 'react'; +import React, { useState} from 'react'; import { useFormik } from 'formik'; import * as Yup from 'yup'; import { @@ -13,6 +13,7 @@ import classNames from 'classnames'; import { TimezonePicker } from '@blueprintjs/timezone'; import { Select } from '@blueprintjs/select'; import { useQuery } from 'react-query'; +import { FormattedMessage as T, useIntl } from 'react-intl'; import { compose, optionsMapToArray } from 'utils'; @@ -21,7 +22,6 @@ import AppToaster from 'components/AppToaster'; import withSettings from 'containers/Settings/withSettings'; import withSettingsActions from 'containers/Settings/withSettingsActions'; -import { FormattedMessage as T, useIntl } from 'react-intl'; function GeneralPreferences({ @@ -79,13 +79,10 @@ function GeneralPreferences({ const { errors, - values, touched, - isSubmitting, setFieldValue, getFieldProps, handleSubmit, - resetForm, } = useFormik({ enableReinitialize: true, initialValues: { diff --git a/client/src/containers/Preferences/Users/Users.js b/client/src/containers/Preferences/Users/Users.js index d077d94e2..8843f576f 100644 --- a/client/src/containers/Preferences/Users/Users.js +++ b/client/src/containers/Preferences/Users/Users.js @@ -1,5 +1,5 @@ -import React, { useCallback } from 'react'; -import { Tabs, Tab, Button, Intent } from '@blueprintjs/core'; +import React from 'react'; +import { Tabs, Tab } from '@blueprintjs/core'; import PreferencesSubContent from 'components/Preferences/PreferencesSubContent'; import connector from 'connectors/UsersPreferences.connector'; diff --git a/client/src/containers/Preferences/Users/UsersActions.js b/client/src/containers/Preferences/Users/UsersActions.js index 5fc4aef3b..14b030f90 100644 --- a/client/src/containers/Preferences/Users/UsersActions.js +++ b/client/src/containers/Preferences/Users/UsersActions.js @@ -13,7 +13,7 @@ function UsersActions({ }) { const onClickNewUser = useCallback(() => { openDialog('user-form'); - }, []); + }, [openDialog]); return (
diff --git a/client/src/containers/Preferences/Users/UsersList.js b/client/src/containers/Preferences/Users/UsersList.js index 7d0039ba8..4fbcb1338 100644 --- a/client/src/containers/Preferences/Users/UsersList.js +++ b/client/src/containers/Preferences/Users/UsersList.js @@ -13,6 +13,7 @@ import { Tag } from '@blueprintjs/core'; import { snakeCase } from 'lodash'; +import { FormattedMessage as T, useIntl } from 'react-intl'; import Icon from 'components/Icon'; import LoadingIndicator from 'components/LoadingIndicator'; @@ -25,7 +26,6 @@ import withUsers from 'containers/Users/withUsers'; import withUsersActions from 'containers/Users/withUsersActions'; import { compose } from 'utils'; -import { FormattedMessage as T, useIntl } from 'react-intl'; function UsersListPreferences({ @@ -65,7 +65,7 @@ function UsersListPreferences({ setInactiveUserState(false); AppToaster.show({ message: formatMessage({id:'the_user_has_been_successfully_inactivated'}) }); }); - }, [inactiveUserState, requestInactiveUser, requestFetchUsers]); + }, [inactiveUserState, requestInactiveUser, requestFetchUsers,formatMessage]); const onDeleteUser = (user) => { setDeleteUserState(user); @@ -160,7 +160,7 @@ function UsersListPreferences({ className: 'actions', width: 50, }, - ], [actionMenuList]); + ], [actionMenuList,formatMessage]); const handelDataTableFetchData = useCallback(() => { onFetchData && onFetchData(); diff --git a/client/src/containers/Views/ViewForm.js b/client/src/containers/Views/ViewForm.js index 8e6eb88c1..4c022e691 100644 --- a/client/src/containers/Views/ViewForm.js +++ b/client/src/containers/Views/ViewForm.js @@ -2,7 +2,7 @@ import React, { useState, useEffect, useCallback, useMemo } from 'react'; import { useFormik } from 'formik'; import { FormattedMessage as T, useIntl } from 'react-intl'; -import { useParams, useHistory } from 'react-router-dom'; +import {useHistory } from 'react-router-dom'; import { InputGroup, FormGroup, @@ -48,7 +48,7 @@ function ViewForm({ return () => { changePageSubtitle(''); }; - }, []); + }, [changePageSubtitle,resourceMetadata.label]); const [draggedColumns, setDraggedColumn] = useState([ ...(viewMeta && viewMeta.columns ? viewMeta.columns : []), diff --git a/client/src/containers/Views/ViewFormPage.js b/client/src/containers/Views/ViewFormPage.js index c40a46e55..18477fb15 100644 --- a/client/src/containers/Views/ViewFormPage.js +++ b/client/src/containers/Views/ViewFormPage.js @@ -1,4 +1,4 @@ -import React, {useEffect, useState, useMemo, useCallback} from 'react'; +import React, {useEffect, useState, useCallback} from 'react'; import { useAsync } from 'react-use'; import { useParams } from 'react-router-dom'; import { Intent, Alert } from '@blueprintjs/core'; @@ -57,7 +57,7 @@ function ViewFormPage({ return () => { changePageTitle(''); }; - }, [viewId, changePageTitle]); + }, [viewId, changePageTitle,formatMessage]); // Handle delete view button click. diff --git a/client/src/hooks/useMedia.js b/client/src/hooks/useMedia.js index ab9326026..182a78830 100644 --- a/client/src/hooks/useMedia.js +++ b/client/src/hooks/useMedia.js @@ -1,4 +1,4 @@ -import React, { useState, useRef, useMemo, useCallback } from 'react'; +import React, { useState, useRef,useCallback } from 'react'; import { ProgressBar, Classes, diff --git a/client/src/lang/en/index.js b/client/src/lang/en/index.js index 0d0e5a735..d43f63173 100644 --- a/client/src/lang/en/index.js +++ b/client/src/lang/en/index.js @@ -1,10 +1,10 @@ export default { hello_world: 'Hello World', - 'email_or_phone_number': 'Email or phone number', + email_or_phone_number: 'Email or phone number', password: 'Password', - login: 'Login', + login:'Login', invalid_email_or_phone_number: 'Invalid email or phone number.', - 'required': 'Required', + required: 'Required', reset_password: 'Reset Password', the_user_has_been_suspended_from_admin: 'The user has been suspended from the administrator.', email_and_password_entered_did_not_match: @@ -17,7 +17,6 @@ export default { description: 'Description', from_date: 'From date', to_date: 'To date', - accounting_basis: 'Accounting basis', report_date_range: 'Report date range', log_in: 'Log in', forget_my_password: 'Forget my password', @@ -38,7 +37,7 @@ export default { signing_in_or_creating: 'By signing in or creating an account, you agree with our', terms_conditions: 'Terms & Conditions', - and: 'and', + and: 'And', privacy_statement: 'Privacy Statement', create_account: 'Create Account', success: 'Success', @@ -82,7 +81,6 @@ export default { category_name: 'Category Name', parent_category: 'Parent Category', new: 'New', - new_category: 'New Category', invite_user: 'invite User', your_access_to_your_team: 'Your teammate will get an email that gives them access to your team.', invite: 'invite', @@ -167,7 +165,6 @@ export default { edit_custom_view: 'Edit Custom View', new_custom_view: 'New Custom View', view_name: 'View Name', - new_conditional: 'New Conditional', item: 'Item', service_has_been_successful_created: '{service} {name} has been successfully created.', service_has_been_successful_edited: '{service} {name} has been successfully edited.', @@ -185,6 +182,9 @@ export default { once_delete_this_account_you_will_able_to_restore_it: `Once you delete this account, you won\'t be able to restore it later. Are you sure you want to delete this account?

If you're not sure, you can inactivate this account instead.`, the_journal_has_been_successfully_created: 'The journal #{number} has been successfully created.', the_journal_has_been_successfully_edited: 'The journal #{number} has been successfully edited.', + the_journal_has_been_successfully_deleted:'The journal has been successfully deleted', + the_manual_journal_id_has_been_published:'The manual journal id has been published', + credit: 'Credit', debit: 'Debit', once_delete_this_item_you_will_able_to_restore_it: `Once you delete this item, you won\'t be able to restore the item later. Are you sure you want to delete ?

If you're not sure, you can inactivate it instead.`, @@ -204,7 +204,6 @@ export default { the_expense_has_been_successfully_created: 'The expense has been successfully created.', select_payment_account:'Select Payment Account', select_expense_account:'Select Expense Account', - and:'And', or:'OR', select_a_comparator:'Select a comparator', equals:'Equals', @@ -222,15 +221,11 @@ export default { accountant:'Accountant', accounts:'Accounts', homepage:'Homepage', - items_list:'Items List', - new_item:'New Item', items:'Items', - category_list:'Category List', financial:'Financial', accounts_chart:'Accounts Chart', manual_journal:'Manual Journal', make_journal:'Make Journal', - exchange_rate:'Exchange Rate', banking:'Banking', sales:'Sales', purchases:'Purchases', @@ -241,7 +236,6 @@ export default { general_ledger:'General Ledger', profit_loss_sheet:'Profit Loss Sheet', expenses:'Expenses', - expenses_list:'Expenses List', new_expenses:'New Expenses', preferences:'Preferences', auditing_system:'Auditing System', @@ -273,7 +267,6 @@ export default { time_zone:'Time Zone', date_format:'Date Format', edit_user:'Edit User', - edit_invite:'Edit Invite', inactivate_user:'Inactivate User', delete_user:'Delete User', full_name:'Full Name', @@ -281,7 +274,6 @@ export default { the_user_has_been_successfully_deleted: 'The user has been successfully deleted.', customize_report:'Customize Report', print:'Print', - export:'Export', accounts_with_zero_balance:'Accounts with Zero Balance', all_transactions:'All Transactions', filter_accounts:'Filter Accounts', @@ -298,7 +290,7 @@ export default { credit_and_debit_not_equal:'credit and debit not equal', the_currency_has_been_successfully_edited:'The currency has been successfully edited', the_currency_has_been_successfully_created:'The currency has been successfully created', - + // Name Labels expense_account_id :'Expense account', payment_account_id: 'Payment account', @@ -326,7 +318,10 @@ export default { view_name_:'View name', the_items_has_been_successfully_deleted: 'The items have been successfully deleted.', once_delete_these_items_you_will_not_able_restore_them: 'Once you delete these items, you won\'t be able to retrieve them later. Are you sure you want to delete them?', + once_delete_this_item_category_you_will_able_to_restore_it:`Once you delete this item category, you won\'t be able to restore the item category later. Are you sure you want to delete ?

If you're not sure, you can inactivate it instead.`, }; + + diff --git a/client/src/lang/printValue.js b/client/src/lang/printValue.js index 3bf5f0a6f..bc0bdd2fe 100644 --- a/client/src/lang/printValue.js +++ b/client/src/lang/printValue.js @@ -6,7 +6,7 @@ const symbolToString = const SYMBOL_REGEXP = /^Symbol\((.*)\)(.*)$/; function printNumber(val) { - if (val != +val) return 'NaN'; + if (val !== +val) return 'NaN'; const isNegativeZero = val === 0 && 1 / val < 0; return isNegativeZero ? '-0' : '' + val; } diff --git a/client/src/store/accounts/accounts.reducer.js b/client/src/store/accounts/accounts.reducer.js index 0762fc3ca..7d3f58e23 100644 --- a/client/src/store/accounts/accounts.reducer.js +++ b/client/src/store/accounts/accounts.reducer.js @@ -1,5 +1,5 @@ import t from 'store/types'; -import { createReducer, combineReducers } from '@reduxjs/toolkit'; +import { createReducer} from '@reduxjs/toolkit'; import { createTableQueryReducers } from 'store/queryReducers'; const initialState = { diff --git a/client/src/store/customViews/customViews.selectors.js b/client/src/store/customViews/customViews.selectors.js index 8edf6168c..7df674845 100644 --- a/client/src/store/customViews/customViews.selectors.js +++ b/client/src/store/customViews/customViews.selectors.js @@ -1,5 +1,5 @@ import {pickItemsFromIds} from 'store/selectors'; -import { getResourceField, getResourceColumn } from 'store/resources/resources.reducer'; +import {getResourceColumn } from 'store/resources/resources.reducer'; export const getResourceViews = (state, resourceName) => { const resourceViewsIds = state.views.resourceViews[resourceName] || [];