From 0cfa1126c5a891bd69e359a63a228b87848493e8 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Tue, 28 Apr 2020 04:01:10 +0200 Subject: [PATCH] feat: fix a bunch of bugs. --- client/package.json | 3 +- .../components/Accounts/AccountsActionsBar.js | 16 ++- .../components/Accounts/AccountsDataTable.js | 51 +++++--- client/src/components/App.js | 4 + .../components/Dashboard/DashboardInsider.js | 2 +- client/src/components/DataTable.js | 42 ++++-- client/src/components/FilterDropdown.js | 91 ++++++++----- client/src/components/Icon.js | 7 +- client/src/components/NProgress/Bar.js | 38 ++++++ client/src/components/NProgress/Container.js | 22 ++++ client/src/components/NProgress/Progress.js | 27 ++++ client/src/components/NProgress/Spinner.js | 29 +++++ client/src/components/Sidebar/SidebarHead.js | 15 +-- client/src/connectors/Accounts.connector.js | 5 +- client/src/connectors/Dashboard.connector.js | 8 ++ .../src/containers/Authentication/Register.js | 3 +- .../Dashboard/Accounts/AccountsChart.js | 121 ++++++++++++------ .../Dashboard/Dialogs/AccountFormDialog.js | 30 +++-- client/src/store/accounts/accounts.actions.js | 49 +++++-- client/src/store/accounts/accounts.reducer.js | 31 ++++- .../src/store/accounts/accounts.selectors.js | 1 - client/src/store/accounts/accounts.types.js | 4 + .../src/store/dashboard/dashboard.reducer.js | 10 ++ client/src/store/dashboard/dashboard.types.js | 2 + client/src/store/selectors.js | 4 +- client/src/style/App.scss | 12 ++ client/src/style/components/data-table.scss | 16 ++- client/src/style/pages/dashboard.scss | 6 +- client/src/style/views/Sidebar.scss | 18 +-- client/src/style/views/filter-dropdown.scss | 9 +- client/src/utils.js | 9 +- server/src/data/ResourceFieldsKeys.js | 5 + .../20190822214304_create_accounts_table.js | 1 + ...190822214904_create_account_types_table.js | 1 + .../src/database/seeds/seed_account_types.js | 9 ++ server/src/database/seeds/seed_accounts.js | 13 +- .../database/seeds/seed_accounts_fields.js | 17 ++- .../database/seeds/seed_resources_fields.js | 21 ++- server/src/database/seeds/seed_views.js | 10 +- server/src/database/seeds/seed_views_roles.js | 10 +- server/src/http/controllers/Accounts.js | 6 +- 41 files changed, 591 insertions(+), 187 deletions(-) create mode 100644 client/src/components/NProgress/Bar.js create mode 100644 client/src/components/NProgress/Container.js create mode 100644 client/src/components/NProgress/Progress.js create mode 100644 client/src/components/NProgress/Spinner.js diff --git a/client/package.json b/client/package.json index 59bcd7c6e..3934653df 100644 --- a/client/package.json +++ b/client/package.json @@ -8,10 +8,11 @@ "@blueprintjs/datetime": "^3.15.2", "@blueprintjs/select": "^3.11.2", "@blueprintjs/table": "^3.8.3", - "@blueprintjs/timezone": "^3.6.1", + "@blueprintjs/timezone": "^3.6.2", "@reduxjs/toolkit": "^1.2.5", "@svgr/webpack": "4.3.3", "@syncfusion/ej2-react-grids": "^17.4.50", + "@tanem/react-nprogress": "^3.0.24", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.4.0", "@testing-library/user-event": "^7.2.1", diff --git a/client/src/components/Accounts/AccountsActionsBar.js b/client/src/components/Accounts/AccountsActionsBar.js index c93d23faa..3b65bced6 100644 --- a/client/src/components/Accounts/AccountsActionsBar.js +++ b/client/src/components/Accounts/AccountsActionsBar.js @@ -1,4 +1,4 @@ -import React, { useMemo, useState } from 'react'; +import React, { useMemo, useState, useCallback } from 'react'; import Icon from 'components/Icon'; import { Button, @@ -29,6 +29,8 @@ function AccountsActionsBar({ getResourceFields, addAccountsTableQueries, onFilterChanged, + onBulkDelete, + onBulkArchive, }) { const {path} = useRouteMatch(); const onClickNewAccount = () => { openDialog('account-form', {}); }; @@ -51,6 +53,15 @@ function AccountsActionsBar({ onFilterChanged && onFilterChanged(filterConditions); }, }); + + const handleBulkArchive = useCallback(() => { + onBulkArchive && onBulkArchive(selectedRows.map(r => r.id)); + }, [onBulkArchive, selectedRows]); + + const handleBulkDelete = useCallback(() => { + onBulkDelete && onBulkDelete(selectedRows.map(r => r.id)); + }, [onBulkDelete, selectedRows]); + return ( @@ -77,6 +88,7 @@ function AccountsActionsBar({ onClick={onClickNewAccount} /> @@ -92,6 +104,7 @@ function AccountsActionsBar({ className={Classes.MINIMAL} icon={} text='Archive' + onClick={handleBulkArchive} /> )} {hasSelectedRows && ( @@ -100,6 +113,7 @@ function AccountsActionsBar({ icon={} text='Delete' intent={Intent.DANGER} + onClick={handleBulkDelete} /> )}