feat: view details.

This commit is contained in:
elforjani3
2021-07-29 23:18:40 +02:00
parent 720dc5b7d7
commit e04ba7e030
31 changed files with 522 additions and 34 deletions

View File

@@ -0,0 +1,28 @@
import React from 'react';
import { Tabs, Tab } from '@blueprintjs/core';
import intl from 'react-intl-universal';
import JournalEntriesTable from '../../JournalEntriesTable/JournalEntriesTable';
/**
* Invoice view detail.
*/
export default function InvoiceDetail() {
return (
<div className="view-detail-drawer">
<Tabs
animate={true}
large={true}
defaultSelectedTabId="journal_entries"
renderActiveTabPanelOnly={false}
>
<Tab title={intl.get('details')} disabled={true} />
<Tab
title={intl.get('journal_entries')}
id={'journal_entries'}
panel={<JournalEntriesTable journal={[]} />}
/>
</Tabs>
</div>
);
}

View File

@@ -0,0 +1,20 @@
import React from 'react';
import 'style/components/Drawers/ViewDetail/ViewDetail.scss';
import InvoiceDetail from './InvoiceDetail';
import { InvoiceDetailDrawerProvider } from './InvoiceDetailDrawerProvider';
/**
* Invoice detail drawer content.
*/
export default function InvoiceDetailDrawerContent({
// #ownProp
invoice,
}) {
return (
<InvoiceDetailDrawerProvider invoiceId={invoice}>
<InvoiceDetail />
</InvoiceDetailDrawerProvider>
);
}

View File

@@ -0,0 +1,26 @@
import React from 'react';
import intl from 'react-intl-universal';
import { DrawerHeaderContent, DashboardInsider } from 'components';
const InvoiceDetailDrawerContext = React.createContext();
/**
* Invoice detail provider.
*/
function InvoiceDetailDrawerProvider({ invoiceId, ...props }) {
//provider.
const provider = {};
return (
<DashboardInsider>
<DrawerHeaderContent
name="invoice-detail-drawer"
title={intl.get('invoice_details')}
/>
<InvoiceDetailDrawerContext.Provider value={provider} {...props} />
</DashboardInsider>
);
}
const useInvoiceDetailDrawerContext = () =>
React.useContext(InvoiceDetailDrawerContext);
export { InvoiceDetailDrawerProvider, useInvoiceDetailDrawerContext };

View File

@@ -0,0 +1,28 @@
import React from 'react';
import { Drawer, DrawerSuspense } from 'components';
import withDrawers from 'containers/Drawer/withDrawers';
import { compose } from 'utils';
const InvoiceDetailDrawerContent = React.lazy(() =>
import('./InvoiceDetailDrawerContent'),
);
/**
* Invoice Detail drawer.
*/
function InvoiceDetailDrawer({
name,
// #withDrawer
isOpen,
payload: { invoiceId },
}) {
return (
<Drawer isOpen={isOpen} name={name} size={'750px'}>
<DrawerSuspense>
<InvoiceDetailDrawerContent invoice={invoiceId} />
</DrawerSuspense>
</Drawer>
);
}
export default compose(withDrawers())(InvoiceDetailDrawer);