This commit is contained in:
a.bouhuolia
2021-01-18 20:08:38 +02:00
22 changed files with 136 additions and 93 deletions

View File

@@ -0,0 +1,8 @@
export default [
{ id: 'invoices', name: 'Sale invoice' },
{ id: 'Purchase invoice', name: 'Purchase invoice' },
{ id: 'manual-journals', name: 'Manual journal' },
{ id: 'expenses', name: 'Expense' },
{ id: 'customers', name: 'Customer' },
{ id: 'vendors', name: 'Vendor' },
];

View File

@@ -19,7 +19,7 @@ import { Icon, Hint, If } from 'components';
import withSearch from 'containers/GeneralSearch/withSearch';
import withDashboardActions from 'containers/Dashboard/withDashboardActions';
import withDashboard from 'containers/Dashboard/withDashboard';
import QuickNewDropdown from 'containers/QuickNewDropdown/QuickNewDropdown';
import { compose } from 'utils';
function DashboardTopbar({
@@ -48,6 +48,7 @@ function DashboardTopbar({
toggleSidebarExpend();
recordSidebarPreviousExpand();
};
return (
<div class="dashboard__topbar">
<div class="dashboard__topbar-left">
@@ -128,11 +129,7 @@ function DashboardTopbar({
icon={<Icon icon={'search-24'} iconSize={20} />}
text={<T id={'quick_find'} />}
/>
<Button
className={Classes.MINIMAL}
icon={<Icon icon={'plus-24'} iconSize={20} />}
text={<T id={'quick_new'} />}
/>
<QuickNewDropdown/>
<Tooltip
content={<T id={'notifications'} />}
position={Position.BOTTOM}
@@ -165,7 +162,7 @@ export default compose(
pageTitle,
pageSubtitle,
editViewId,
sidebarExpended
sidebarExpended,
})),
withDashboardActions,
)(DashboardTopbar);

View File

@@ -40,7 +40,7 @@ export default [
newTabHref: '/estimates/new',
},
{
text: <T id={'invocies'} />,
text: <T id={'invoices'} />,
href: '/invoices',
newTabHref: '/invoices/new',
},

View File

@@ -13,7 +13,7 @@ import { compose } from 'utils';
import 'style/pages/Customers/PageForm.scss';
function Customer({
function CustomerFormPage({
// // #withDashboardActions
// changePageTitle,
@@ -69,4 +69,4 @@ function Customer({
);
}
export default compose(withCustomersActions, withCurrenciesActions)(Customer);
export default compose(withCustomersActions, withCurrenciesActions)(CustomerFormPage);

View File

@@ -71,8 +71,8 @@ function CustomersList({
);
const handleEditCustomer = useCallback(
(cusomter) => {
history.push(`/customers/${cusomter.id}/edit`);
(customer) => {
history.push(`/customers/${customer.id}/edit`);
},
[history],
);

View File

@@ -21,7 +21,7 @@ import withExchangeRatesActions from 'containers/ExchangeRates/withExchangeRates
import { compose } from 'utils';
function ExchangeRate({
function ExchangeRatesList({
// #withDashboardActions
changePageTitle,
@@ -51,7 +51,7 @@ function ExchangeRate({
useEffect(() => {
id
? changePageTitle(formatMessage({ id: 'exchange_rate_details' }))
: changePageTitle(formatMessage({ id: 'exchange_rate_list' }));
: changePageTitle(formatMessage({ id: 'exchange_rates_list' }));
}, [id, changePageTitle, formatMessage]);
const handelDeleteExchangeRate = useCallback(
@@ -201,4 +201,4 @@ export default compose(
withResourceActions,
withDashboardActions,
withDialogActions,
)(ExchangeRate);
)(ExchangeRatesList);

View File

@@ -18,7 +18,7 @@ import 'style/pages/Expense/PageForm.scss';
/**
* Expense page form.
*/
function Expenses({
function ExpenseFormPage({
// #withwithAccountsActions
requestFetchAccounts,
requestFetchAccountTypes,
@@ -109,4 +109,4 @@ export default compose(
withExpensesActions,
withCustomersActions,
withDashboardActions,
)(Expenses);
)(ExpenseFormPage);

View File

@@ -16,7 +16,7 @@ import { compose } from 'utils';
import 'style/pages/Bills/PageForm.scss';
function Bills({
function BillFormPage({
// #withwithAccountsActions
requestFetchAccounts,
@@ -112,4 +112,4 @@ export default compose(
withAccountsActions,
withSettingsActions,
withDashboardActions
)(Bills);
)(BillFormPage);

View File

@@ -24,7 +24,7 @@ import { compose } from 'utils';
/**
* Bills list.
*/
function BillList({
function BillsList({
// #withDashboardActions
changePageTitle,
@@ -48,7 +48,7 @@ function BillList({
const [selectedRows, setSelectedRows] = useState([]);
useEffect(() => {
changePageTitle(formatMessage({ id: 'bill_list' }));
changePageTitle(formatMessage({ id: 'bills_list' }));
}, [changePageTitle, formatMessage]);
const fetchResourceViews = useQuery(
@@ -195,4 +195,4 @@ export default compose(
withBills(({ billsTableQuery }) => ({
billsTableQuery,
})),
)(BillList);
)(BillsList);

View File

@@ -21,7 +21,7 @@ import 'style/pages/PaymentMade/PageForm.scss'
/**
* Payment made - Page form.
*/
function PaymentMade({
function PaymentMadeFormPage({
//#withAccountsActions
requestFetchAccounts,
@@ -119,5 +119,5 @@ export default compose(
withPaymentMadeActions,
withSettingsActions,
withDashboardActions,
)(PaymentMade);
)(PaymentMadeFormPage);

View File

@@ -0,0 +1,37 @@
import React from 'react';
import ListSelect from 'components/ListSelect';
import { FormattedMessage as T } from 'react-intl';
import { useHistory } from 'react-router-dom';
import { Icon } from 'components';
import { Position } from '@blueprintjs/core';
import quickNewOptions from 'common/quickNewOptions';
/**
* Quick New Dropdown.
*/
function QuickNewDropdown() {
const history = useHistory();
const handleClickQuickNew = ({ id }) => {
history.push(`/${id}`);
};
return (
<ListSelect
items={quickNewOptions}
onItemSelect={(type) => handleClickQuickNew(type)}
textProp={'name'}
filterable={false}
popoverProps={{ minimal: false, position: Position.BOTTOM }}
defaultText={'Select'}
buttonProps={{
text: <T id={'quick_new'} />,
icon: <Icon icon={'plus-24'} iconSize={20} />,
minimal: true,
}}
className={'form-group-quick-new-downDrop'}
/>
);
}
export default QuickNewDropdown;

View File

@@ -15,7 +15,7 @@ import { compose } from 'utils';
import 'style/pages/SaleEstimate/PageForm.scss';
function Estimates({
function EstimateFormPage({
// #withCustomersActions
requestFetchCustomers,
@@ -101,4 +101,4 @@ export default compose(
withItemsActions,
withSettingsActions,
withDashboardActions,
)(Estimates);
)(EstimateFormPage);

View File

@@ -20,7 +20,7 @@ import withViewsActions from 'containers/Views/withViewsActions';
import { compose } from 'utils';
function EstimateList({
function EstimatesList({
// #withDashboardActions
changePageTitle,
@@ -65,7 +65,7 @@ function EstimateList({
);
useEffect(() => {
changePageTitle(formatMessage({ id: 'estimate_list' }));
changePageTitle(formatMessage({ id: 'estimates_list' }));
}, [changePageTitle, formatMessage]);
// handle delete estimate click
@@ -288,4 +288,4 @@ export default compose(
estimatesTableQuery,
estimateViews,
})),
)(EstimateList);
)(EstimatesList);

View File

@@ -15,7 +15,7 @@ import { compose } from 'utils';
import 'style/pages/SaleInvoice/PageForm.scss';
function Invoices({
function InvoiceFormPage({
// #withCustomersActions
requestFetchCustomers,
@@ -100,4 +100,4 @@ export default compose(
withItemsActions,
withSettingsActions,
withDashboardActions,
)(Invoices);
)(InvoiceFormPage);

View File

@@ -23,7 +23,7 @@ import { compose } from 'utils';
/**
* Invoices list.
*/
function InvoiceList({
function InvoicesList({
// #withDashboardActions
changePageTitle,
@@ -48,7 +48,7 @@ function InvoiceList({
const [selectedRows, setSelectedRows] = useState([]);
useEffect(() => {
changePageTitle(formatMessage({ id: 'invoice_list' }));
changePageTitle(formatMessage({ id: 'invoices_list' }));
}, [changePageTitle, formatMessage]);
const fetchResourceViews = useQuery(
@@ -222,4 +222,4 @@ export default compose(
withInvoices(({ invoicesTableQuery }) => ({
invoicesTableQuery,
})),
)(InvoiceList);
)(InvoicesList);

View File

@@ -42,7 +42,7 @@ function PaymentReceiveList({
const [selectedRows, setSelectedRows] = useState([]);
useEffect(() => {
changePageTitle(formatMessage({ id: 'payment_Receive_list' }));
changePageTitle(formatMessage({ id: 'payment_Receives_list' }));
}, [changePageTitle, formatMessage]);
const fetchResourceViews = useQuery(

View File

@@ -14,7 +14,7 @@ import withDashboardActions from 'containers/Dashboard/withDashboardActions';
import { compose } from 'utils';
function Receipts({
function ReceiptFormPage({
//#withwithAccountsActions
requestFetchAccounts,
@@ -107,4 +107,4 @@ export default compose(
withAccountsActions,
withSettingsActions,
withDashboardActions,
)(Receipts);
)(ReceiptFormPage);

View File

@@ -20,7 +20,7 @@ import withViewsActions from 'containers/Views/withViewsActions';
import { compose } from 'utils';
function ReceiptList({
function ReceiptsList({
// #withDashboardActions
changePageTitle,
@@ -54,7 +54,7 @@ function ReceiptList({
);
useEffect(() => {
changePageTitle(formatMessage({ id: 'receipt_list' }));
changePageTitle(formatMessage({ id: 'receipts_list' }));
}, [changePageTitle, formatMessage]);
// handle delete receipt click
@@ -206,4 +206,4 @@ export default compose(
withReceipts(({ receiptTableQuery }) => ({
receiptTableQuery,
})),
)(ReceiptList);
)(ReceiptsList);

View File

@@ -11,7 +11,7 @@ import withCurrenciesActions from 'containers/Currencies/withCurrenciesActions';
import { compose } from 'utils';
function Vendor({
function VendorFormPage({
// #withVendorActions
requestFetchVendorsTable,
requsetFetchVendor,
@@ -65,4 +65,4 @@ function Vendor({
);
}
export default compose(withCurrenciesActions, withVendorActions)(Vendor);
export default compose(withCurrenciesActions, withVendorActions)(VendorFormPage);

View File

@@ -160,7 +160,7 @@ export default {
new_conditional: '+ New Conditional',
chart_of_accounts: 'Chart of Accounts',
exchange_rate_details: 'Exchange Rate Details',
exchange_rate_list: 'Exchange Rate List',
exchange_rates_list: 'Exchange Rates List',
manual_journals: 'Manual Journals',
edit_expense_details: 'Edit Expense Details',
expenses_list: 'Expenses List',
@@ -595,13 +595,13 @@ export default {
delete_estimate: 'Delete Estimate',
new_estimate: 'New Estimate',
customer_name_: 'Customer name',
estimate_date_: 'Estismate date',
estimate_date_: 'Estimate date',
expiration_date_: 'Expiration date',
estimate_number_: 'Estimate number',
discount: 'Discount %',
quantity: 'Quantity',
rate: 'Rate',
estimate_list: 'Estimate List',
estimates_list: 'Estimates List',
estimate_number: 'Estimate Number',
product_and_service: 'Product/Service',
the_estimate_has_been_successfully_edited:
@@ -612,7 +612,7 @@ export default {
'The estimate has been successfully deleted.',
once_delete_this_estimate_you_will_able_to_restore_it: `Once you delete this estimate, you won\'t be able to restore it later. Are you sure you want to delete this estimate?`,
cannot_be_zero_or_empty: 'cannot be zero or empty.',
invocies: 'Invoices',
invoices: 'Invoices',
invoices_list: 'Invoices List',
invoice_date: 'Invoice Date',
due_date: 'Due Date',
@@ -638,7 +638,7 @@ export default {
the_invoice_has_been_successfully_deleted:
'The invoice has been successfully deleted.',
once_delete_this_invoice_you_will_able_to_restore_it: `Once you delete this invoice, you won\'t be able to restore it later. Are you sure you want to delete this invoice?`,
receipt_list: 'Receipt List',
receipts_list: 'Receipts List',
receipts: 'Receipts',
receipt: 'Receipt #',
receipt_date_: 'Receipt date',
@@ -661,7 +661,7 @@ export default {
'The receipt #{number} has been successfully edited.',
the_receipt_has_been_successfully_deleted:
'The receipt has been successfully deleted.',
bill_list: 'Bill List',
bills_list: 'Bills List',
bills: 'Bills',
accept: 'Accept',
vendor_name: 'Vendor Name',
@@ -686,7 +686,7 @@ export default {
deposit_to: 'Deposit to',
edit_payment_receive: 'Edit Payment Receive',
delete_payment_receive: 'Delete Payment Receive',
payment_Receive_list: 'Payment Receive List',
payment_Receives_list: 'Payment Receives List',
payment_receive: 'Payment Receive',
new_payment_receive: 'New Payment Receive',
payment_receives: 'Payment Receives',

View File

@@ -63,6 +63,7 @@ export default [
}),
breadcrumb: 'Categories',
},
// Items.
{
path: `/items/:id/edit`,
component: LazyLoader({
@@ -77,8 +78,6 @@ export default [
}),
breadcrumb: 'New Item',
},
// Items.
{
path: `/items`,
component: LazyLoader({
@@ -86,6 +85,7 @@ export default [
}),
breadcrumb: 'Items',
},
// Inventory adjustments.
{
path: `/inventory-adjustments`,
@@ -136,9 +136,7 @@ export default [
path: '/financial-reports/receivable-aging-summary',
component: LazyLoader({
loader: () =>
import(
'containers/FinancialStatements/ARAgingSummary/ARAgingSummary'
),
import('containers/FinancialStatements/ARAgingSummary/ARAgingSummary'),
}),
breadcrumb: 'Receivable Aging Summary',
},
@@ -156,10 +154,11 @@ export default [
}),
breadcrumb: 'Financial Reports',
},
// Exchange Rates
{
path: `/exchange-rates`,
component: LazyLoader({
loader: () => import('containers/ExchangeRates/ExchangeRate'),
loader: () => import('containers/ExchangeRates/ExchangeRatesList'),
}),
breadcrumb: 'Exchange Rates',
},
@@ -167,14 +166,14 @@ export default [
{
path: `/expenses/new`,
component: LazyLoader({
loader: () => import('containers/Expenses/Expenses'),
loader: () => import('containers/Expenses/ExpenseFormPage'),
}),
breadcrumb: 'Expenses',
},
{
path: `/expenses/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Expenses/Expenses'),
loader: () => import('containers/Expenses/ExpenseFormPage'),
}),
breadcrumb: 'Edit',
},
@@ -185,23 +184,22 @@ export default [
}),
breadcrumb: 'Expenses List',
},
// Customers
{
path: `/customers/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Customers/Customer'),
loader: () => import('containers/Customers/CustomerFormPage'),
}),
breadcrumb: 'Edit Customer',
},
{
path: `/customers/new`,
component: LazyLoader({
loader: () => import('containers/Customers/Customer'),
loader: () => import('containers/Customers/CustomerFormPage'),
}),
breadcrumb: 'New Customer',
},
// Customers
{
path: `/customers`,
component: LazyLoader({
@@ -214,14 +212,14 @@ export default [
{
path: `/vendors/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Vendors/Vendor'),
loader: () => import('containers/Vendors/VendorFormPage'),
}),
breadcrumb: 'Edit Vendor',
},
{
path: `/vendors/new`,
component: LazyLoader({
loader: () => import('containers/Vendors/Vendor'),
loader: () => import('containers/Vendors/VendorFormPage'),
}),
breadcrumb: 'New Vendor',
},
@@ -237,21 +235,21 @@ export default [
{
path: `/estimates/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Sales/Estimate/Estimates'),
loader: () => import('containers/Sales/Estimate/EstimateFormPage'),
}),
breadcrumb: 'Edit',
},
{
path: `/estimates/new`,
component: LazyLoader({
loader: () => import('containers/Sales/Estimate/Estimates'),
loader: () => import('containers/Sales/Estimate/EstimateFormPage'),
}),
breadcrumb: 'New Estimates',
breadcrumb: 'New Estimate',
},
{
path: `/estimates`,
component: LazyLoader({
loader: () => import('containers/Sales/Estimate/EstimateList'),
loader: () => import('containers/Sales/Estimate/EstimatesList'),
}),
breadcrumb: 'Estimates List',
},
@@ -260,21 +258,21 @@ export default [
{
path: `/invoices/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Sales/Invoice/Invoices'),
loader: () => import('containers/Sales/Invoice/InvoiceFormPage'),
}),
breadcrumb: 'Edit',
},
{
path: `/invoices/new`,
component: LazyLoader({
loader: () => import('containers/Sales/Invoice/Invoices'),
loader: () => import('containers/Sales/Invoice/InvoiceFormPage'),
}),
breadcrumb: 'New Invoice',
},
{
path: `/invoices`,
component: LazyLoader({
loader: () => import('containers/Sales/Invoice/InvoiceList'),
loader: () => import('containers/Sales/Invoice/InvoicesList'),
}),
breadcrumb: 'Invoices List',
},
@@ -283,23 +281,23 @@ export default [
{
path: `/receipts/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Sales/Receipt/Receipts'),
loader: () => import('containers/Sales/Receipt/ReceiptFormPage'),
}),
breadcrumb: 'Edit',
},
{
path: `/receipts/new`,
component: LazyLoader({
loader: () => import('containers/Sales/Receipt/Receipts'),
loader: () => import('containers/Sales/Receipt/ReceiptFormPage'),
}),
breadcrumb: 'New Receipt',
},
{
path: `/receipts`,
component: LazyLoader({
loader: () => import('containers/Sales/Receipt/ReceiptList'),
loader: () => import('containers/Sales/Receipt/ReceiptsList'),
}),
breadcrumb: 'Receipt List',
breadcrumb: 'Receipts List',
},
// Payment receives
@@ -323,40 +321,34 @@ export default [
path: `/payment-receives`,
component: LazyLoader({
loader: () =>
import('containers/Sales/PaymentReceive/PaymentReceiveList'),
import('containers/Sales/PaymentReceive/PaymentReceivesList'),
}),
breadcrumb: 'Payment Receive List',
breadcrumb: 'Payment Receives List',
},
// Bills
{
path: `/bills/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Purchases/Bill/Bills'),
loader: () => import('containers/Purchases/Bill/BillFormPage'),
}),
breadcrumb: 'Edit',
},
{
path: `/bills/new`,
component: LazyLoader({
loader: () => import('containers/Purchases/Bill/Bills'),
loader: () => import('containers/Purchases/Bill/BillFormPage'),
}),
breadcrumb: 'New Bill',
},
{
path: `/bills`,
component: LazyLoader({
loader: () => import('containers/Purchases/Bill/BillList'),
loader: () => import('containers/Purchases/Bill/BillsList'),
}),
breadcrumb: 'Bill List',
},
{
path: `/receipts`,
component: LazyLoader({
loader: () => import('containers/Sales/Receipt/ReceiptList'),
}),
breadcrumb: 'Receipt List',
breadcrumb: 'Bills List',
},
// Subscription billing.
{
path: `/billing`,
@@ -365,18 +357,18 @@ export default [
}),
breadcrumb: 'New Billing',
},
// Payment mades.
// Payment modes.
{
path: `/payment-mades/:id/edit`,
component: LazyLoader({
loader: () => import('containers/Purchases/PaymentMades/PaymentMade'),
loader: () => import('containers/Purchases/PaymentMades/PaymentMadeFormPage'),
}),
breadcrumb: 'Edit',
},
{
path: `/payment-mades/new`,
component: LazyLoader({
loader: () => import('containers/Purchases/PaymentMades/PaymentMade'),
loader: () => import('containers/Purchases/PaymentMades/PaymentMadeFormPage'),
}),
breadcrumb: 'New Payment Made',
},

View File

@@ -16,7 +16,8 @@
&-left {
display: flex;
}
&-actions {}
&-actions {
}
&-sidebar-toggle {
display: flex;
align-items: center;
@@ -59,6 +60,15 @@
.bp3-navbar-divider {
margin: 0 8px;
}
.form-group-quick-new-downDrop {
.bp3-popover-target .bp3-button {
color: #1552c8;
}
.bp3-button::after {
content: none;
}
}
}
&-user {
@@ -403,7 +413,6 @@
}
.tabs--dashboard-views {
.#{$ns}-tab {
color: #5b606d;
font-size: 14px;