// @ts-nocheck import React from 'react'; import intl from 'react-intl-universal'; import clsx from 'classnames'; import { Intent, Tag, Menu, MenuItem, MenuDivider } from '@blueprintjs/core'; import { CLASSES } from '@/constants/classes'; import { FormatDateCell, FormattedMessage as T, Choose, If, Icon, Can, } from '@/components'; import { safeCallback } from '@/utils'; import { VendorCreditAction, AbilitySubject } from '@/constants/abilityOption'; /** * Actions menu. */ export function ActionsMenu({ payload: { onEdit, onDelete, onOpen, onRefund, onReconcile, onViewDetails }, row: { original }, }) { return ( } text={intl.get('view_details')} onClick={safeCallback(onViewDetails, original)} /> } text={intl.get('vendor_credits.action.edit_vendor_credit')} onClick={safeCallback(onEdit, original)} /> } text={intl.get('vendor_credits.action.mark_as_open')} onClick={safeCallback(onOpen, original)} /> } text={intl.get('vendor_credits.action.refund_vendor_credit')} onClick={safeCallback(onRefund, original)} /> } onClick={safeCallback(onReconcile, original)} /> } /> ); } /** * Status accessor. */ export function StatusAccessor(creditNote) { return (
); } /** * Retrieve vendors credit note table columns. */ export function useVendorsCreditNoteTableColumns() { return React.useMemo( () => [ { id: 'credit_date', Header: intl.get('date'), accessor: 'formatted_vendor_credit_date', Cell: FormatDateCell, width: 110, className: 'credit_date', clickable: true, textOverview: true, }, { id: 'vendor', Header: intl.get('vendor_name'), accessor: 'vendor.display_name', width: 180, className: 'vendor_id', clickable: true, textOverview: true, }, { id: 'credit_number', Header: intl.get('vendor_credits.column.vendor_credit_no'), accessor: 'vendor_credit_number', width: 100, className: 'credit_number', clickable: true, textOverview: true, }, { id: 'amount', Header: intl.get('amount'), accessor: 'formatted_amount', width: 120, align: 'right', clickable: true, textOverview: true, className: clsx(CLASSES.FONT_BOLD), }, { id: 'balance', Header: intl.get('balance'), accessor: 'formatted_credits_remaining', width: 120, align: 'right', clickable: true, textOverview: true, disableSortBy: true, className: clsx(CLASSES.FONT_BOLD), }, { id: 'status', Header: intl.get('status'), accessor: StatusAccessor, width: 160, className: 'status', clickable: true, }, { id: 'reference_no', Header: intl.get('reference_no'), accessor: 'reference_no', width: 90, className: 'reference_no', clickable: true, textOverview: true, }, ], [], ); }