WIP Make journal entries.

This commit is contained in:
Ahmed Bouhuolia
2020-04-07 12:56:12 +02:00
parent 5f6c7ca2d5
commit 490979ded5
19 changed files with 632 additions and 197 deletions

View File

@@ -0,0 +1,47 @@
import React, {useMemo, useCallback, useState} from 'react';
import {omit} from 'lodash';
import {
MenuItem,
Button
} from '@blueprintjs/core';
import {Select} from '@blueprintjs/select';
// import MultiSelect from 'components/MultiSelect';
export default function AccountsMultiSelect({
accounts,
onAccountSelected,
}) {
const [selectedAccount, setSelectedAccount] = useState(null);
// Account item of select accounts field.
const accountItem = useCallback((item, { handleClick, modifiers, query }) => {
return (
<MenuItem
text={item.name}
label={item.code}
key={item.id}
onClick={handleClick} />
);
}, []);
const onAccountSelect = useCallback((account) => {
setSelectedAccount({ ...account });
onAccountSelected && onAccountSelected(account);
}, [setSelectedAccount, onAccountSelected]);
return (
<Select
items={accounts}
noResults={<MenuItem disabled={true} text='No results.' />}
itemRenderer={accountItem}
popoverProps={{ minimal: true }}
filterable={true}
onItemSelect={onAccountSelect}
>
<Button
rightIcon='caret-down'
text={selectedAccount ? selectedAccount.name : 'Select account'}
/>
</Select>
);
}