import React from 'react'; import { Intent, Menu, MenuItem, MenuDivider, Popover, Button, Position, Tag, ProgressBar, } from '@blueprintjs/core'; import intl from 'react-intl-universal'; import { FormattedMessage as T } from 'components'; import { Icon, If, Choose, Money } from 'components'; import { formattedAmount, safeCallback, isBlank, calculateStatus } from 'utils'; import moment from 'moment'; /** * Actions menu. */ export function ActionsMenu({ payload: { onEdit, onOpen, onDelete, onQuick, onViewDetails, onAllocateLandedCost, }, row: { original }, }) { return ( } text={intl.get('view_details')} onClick={safeCallback(onViewDetails, original)} /> } text={intl.get('edit_bill')} onClick={safeCallback(onEdit, original)} /> } text={intl.get('mark_as_opened')} onClick={safeCallback(onOpen, original)} /> } text={intl.get('add_payment')} onClick={safeCallback(onQuick, original)} /> } text={intl.get('allocate_landed_coast')} onClick={safeCallback(onAllocateLandedCost, original)} /> } /> ); } /** * Amount accessor. */ export function AmountAccessor(bill) { return !isBlank(bill.amount) ? ( ) : ( '' ); } /** * Status accessor. */ export function StatusAccessor(bill) { return (
{intl.get('overdue_by', { overdue: bill.overdue_days })} {intl.get('due_in', { due: bill.remaining_days })} {intl.get('day_partially_paid', { due: formattedAmount(bill.due_amount, bill.currency_code), })}
); } export function ActionsCell(props) { return ( } position={Position.RIGHT_BOTTOM} >