feat: localize resource fields.

This commit is contained in:
a.bouhuolia
2021-08-23 10:25:07 +02:00
parent 360e333276
commit 0be9f591b0
20 changed files with 613 additions and 219 deletions

View File

@@ -1,4 +1,3 @@
import { IModelMeta } from 'interfaces';
import { ACCOUNT_TYPES } from 'data/AccountTypes';
export default {
@@ -9,29 +8,29 @@ export default {
},
fields: {
name: {
name: 'Account name',
name: 'account.field.name',
column: 'name',
fieldType: 'text',
},
description: {
name: 'Description',
name: 'account.field.description',
column: 'description',
fieldType: 'text',
},
slug: {
name: 'Account slug',
name: 'account.field.slug',
column: 'slug',
fieldType: 'text',
columnable: false,
filterable: false,
},
code: {
name: 'Account code',
name: 'account.field.code',
column: 'code',
fieldType: 'text',
},
root_type: {
name: 'Root type',
name: 'account.field.root_type',
fieldType: 'enumeration',
options: [
{ key: 'asset', label: 'Asset' },
@@ -44,17 +43,17 @@ export default {
sortable: false,
},
normal: {
name: 'Account normal',
name: 'account.field.normal',
fieldType: 'enumeration',
options: [
{ key: 'debit', label: 'Debit' },
{ key: 'credit', label: 'Credit' },
{ key: 'debit', label: 'account.field.normal.debit' },
{ key: 'credit', label: 'account.field.normal.credit' },
],
filterCustomQuery: NormalTypeFieldFilterQuery,
sortable: false,
},
type: {
name: 'Type',
name: 'account.field.type',
column: 'account_type',
fieldType: 'enumeration',
options: ACCOUNT_TYPES.map((accountType) => ({
@@ -63,24 +62,24 @@ export default {
})),
},
active: {
name: 'Active',
name: 'account.field.active',
column: 'active',
fieldType: 'boolean',
filterable: false,
},
balance: {
name: 'Account balance',
name: 'account.field.balance',
column: 'amount',
fieldType: 'number',
},
currency: {
name: 'Currency',
name: 'account.field.currency',
column: 'currency_code',
fieldType: 'text',
filterable: false,
},
created_at: {
name: 'Created at',
name: 'account.field.created_at',
column: 'created_at',
fieldType: 'date',
},

View File

@@ -9,7 +9,7 @@ export default {
},
fields: {
vendor: {
name: 'Vendor',
name: 'bill.field.vendor',
column: 'vendor_id',
fieldType: 'relation',
@@ -20,61 +20,61 @@ export default {
relationEntityKey: 'id',
},
bill_number: {
name: 'Bill number',
name: 'bill.field.bill_number',
column: 'bill_number',
columnable: true,
fieldType: 'text',
},
bill_date: {
name: 'Bill date',
name: 'bill.field.bill_date',
column: 'bill_date',
columnable: true,
fieldType: 'date',
},
due_date: {
name: 'Due date',
name: 'bill.field.due_date',
column: 'due_date',
columnable: true,
fieldType: 'date',
},
reference_no: {
name: 'Reference No.',
name: 'bill.field.reference_no',
column: 'reference_no',
columnable: true,
fieldType: 'text',
},
status: {
name: 'Status',
name: 'bill.field.status',
fieldType: 'enumeration',
columnable: true,
options: [
{ label: 'Paid', key: 'paid' },
{ label: 'Partially paid', key: 'partially-paid' },
{ label: 'Overdue', key: 'overdue' },
{ label: 'Unpaid', key: 'unpaid' },
{ label: 'Opened', key: 'opened' },
{ label: 'Draft', key: 'draft' },
{ label: 'bill.field.status.paid', key: 'paid' },
{ label: 'bill.field.status.partially-paid', key: 'partially-paid' },
{ label: 'bill.field.status.overdue', key: 'overdue' },
{ label: 'bill.field.status.unpaid', key: 'unpaid' },
{ label: 'bill.field.status.opened', key: 'opened' },
{ label: 'bill.field.status.draft', key: 'draft' },
],
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
amount: {
name: 'Amount',
name: 'bill.field.amount',
column: 'amount',
fieldType: 'number',
},
payment_amount: {
name: 'Payment amount',
name: 'bill.field.payment_amount',
column: 'payment_amount',
fieldType: 'number',
},
note: {
name: 'Note',
name: 'bill.field.note',
column: 'note',
fieldType: 'text',
},
created_at: {
name: 'Created at',
name: 'bill.field.created_at',
column: 'created_at',
fieldType: 'date',
},

View File

@@ -1,4 +1,3 @@
export default {
defaultFilterField: 'vendor',
defaultSort: {
@@ -6,8 +5,8 @@ export default {
sortField: 'bill_date',
},
fields: {
'vendor': {
name: 'Vendor name',
vendor: {
name: 'bill_payment.field.vendor',
column: 'vendor_id',
fieldType: 'relation',
@@ -17,18 +16,18 @@ export default {
relationEntityLabel: 'display_name',
relationEntityKey: 'id',
},
'amount': {
name: 'Amount',
amount: {
name: 'bill_payment.field.amount',
column: 'amount',
fieldType: 'number',
},
'due_amount': {
name: 'Due amount',
due_amount: {
name: 'bill_payment.field.due_amount',
column: 'due_amount',
fieldType: 'number',
},
'payment_account': {
name: 'Payment account',
payment_account: {
name: 'bill_payment.field.payment_account',
column: 'payment_account_id',
fieldType: 'relation',
@@ -38,28 +37,28 @@ export default {
relationLabelField: 'name',
relationKeyField: 'slug',
},
'payment_number': {
name: 'Payment number',
payment_number: {
name: 'bill_payment.field.payment_number',
column: 'payment_number',
fieldType: 'number',
},
'payment_date': {
name: 'Payment date',
payment_date: {
name: 'bill_payment.field.payment_date',
column: 'payment_date',
fieldType: 'date',
},
'reference_no': {
name: 'Reference No.',
reference_no: {
name: 'bill_payment.field.reference_no',
column: 'reference',
fieldType: 'text',
},
'description': {
name: 'Description',
description: {
name: 'bill_payment.field.description',
column: 'description',
fieldType: 'text',
},
'created_at': {
name: 'Created at',
created_at: {
name: 'bill_payment.field.created_at',
column: 'created_at',
fieldType: 'date',
},

View File

@@ -1,79 +1,79 @@
export default {
fields: {
first_name: {
name: 'First name',
name: 'customer.field.first_name',
column: 'first_name',
fieldType: 'text',
},
last_name: {
name: 'Last name',
name: 'customer.field.last_name',
column: 'last_name',
fieldType: 'text',
},
display_name: {
name: 'Display name',
name: 'customer.field.display_name',
column: 'display_name',
fieldType: 'text',
},
email: {
name: 'Email',
name: 'customer.field.email',
column: 'email',
fieldType: 'text',
},
work_phone: {
name: 'Work phone',
name: 'customer.field.work_phone',
column: 'work_phone',
fieldType: 'text',
},
personal_phone: {
name: 'Personal phone',
name: 'customer.field.personal_phone',
column: 'personal_phone',
fieldType: 'text',
},
company_name: {
name: 'Company name',
name: 'customer.field.company_name',
column: 'company_name',
fieldType: 'text',
},
website: {
name: 'Website',
name: 'customer.field.website',
column: 'website',
fieldType: 'text',
},
created_at: {
name: 'Created at',
name: 'customer.field.created_at',
column: 'created_at',
fieldType: 'date',
},
balance: {
name: 'Balance',
name: 'customer.field.balance',
column: 'balance',
fieldType: 'number',
},
opening_balance: {
name: 'Opening balance',
name: 'customer.field.opening_balance',
column: 'opening_balance',
fieldType: 'number',
},
opening_balance_at: {
name: 'Opening balance at',
name: 'customer.field.opening_balance_at',
column: 'opening_balance_at',
filterable: false,
fieldType: 'date',
},
currency_code: {
name: 'Curreny',
name: 'customer.field.currency',
column: 'currency_code',
fieldType: 'text',
},
status: {
name: 'Status',
name: 'customer.field.status',
fieldType: 'enumeration',
options: [
{ key: 'active', label: 'Active' },
{ key: 'inactive', label: 'Inactive' },
{ key: 'overdue', label: 'Overdue' },
{ key: 'unpaid', label: 'Unpaid' },
{ key: 'active', label: 'customer.field.status.active' },
{ key: 'inactive', label: 'customer.field.status.inactive' },
{ key: 'overdue', label: 'customer.field.status.overdue' },
{ key: 'unpaid', label: 'customer.field.status.unpaid' },
],
filterCustomQuery: statusFieldFilterQuery,
},

View File

@@ -9,12 +9,12 @@ export default {
},
fields: {
'payment_date': {
name: 'Payment date',
name: 'expense.field.payment_date',
column: 'payment_date',
fieldType: 'date',
},
'payment_account': {
name: 'Payment account',
name: 'expense.field.payment_account',
column: 'payment_account_id',
fieldType: 'relation',
@@ -25,37 +25,37 @@ export default {
relationEntityKey: 'slug',
},
'amount': {
name: 'Amount',
name: 'expense.field.amount',
column: 'total_amount',
fieldType: 'number',
},
'reference_no': {
name: 'Reference No.',
name: 'expense.field.reference_no',
column: 'reference_no',
fieldType: 'text',
},
'description': {
name: 'Description',
name: 'expense.field.description',
column: 'description',
fieldType: 'text',
},
'published': {
name: 'Published',
name: 'expense.field.published',
column: 'published_at',
fieldType: 'date',
},
'status': {
name: 'Status',
name: 'expense.field.status',
fieldType: 'enumeration',
options: [
{ key: 'draft', label: 'Draft' },
{ key: 'published', label: 'Published' },
{ label: 'expense.field.status.draft', key: 'draft' },
{ label: 'expense.field.status.published', key: 'published' },
],
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
'created_at': {
name: 'Created at',
name: 'expense.field.created_at',
column: 'created_at',
fieldType: 'date',
},

View File

@@ -5,22 +5,22 @@ export default {
sortField: 'date',
},
fields: {
'date': {
name: 'Date',
date: {
name: 'inventory_adjustment.field.date',
column: 'date',
fieldType: 'date',
},
'type': {
name: 'Adjustment type',
type: {
name: 'inventory_adjustment.field.type',
column: 'type',
fieldType: 'enumeration',
options: [
{ key: 'increment', name: 'Increment' },
{ key: 'decrement', name: 'Decrement' },
{ key: 'increment', name: 'inventory_adjustment.field.type.increment' },
{ key: 'decrement', name: 'inventory_adjustment.field.type.decrement' },
],
},
'adjustment_account': {
name: 'Adjustment account',
adjustment_account: {
name: 'inventory_adjustment.field.adjustment_account',
column: 'adjustment_account_id',
fieldType: 'relation',
@@ -30,28 +30,28 @@ export default {
relationEntityLabel: 'name',
relationEntityKey: 'slug',
},
'reason': {
name: 'Reason',
reason: {
name: 'inventory_adjustment.field.reason',
column: 'reason',
fieldType: 'text',
},
'reference_no': {
name: 'Reference No.',
reference_no: {
name: 'inventory_adjustment.field.reference_no',
column: 'reference_no',
fieldType: 'text',
},
'description': {
name: 'Description',
description: {
name: 'inventory_adjustment.field.description',
column: 'description',
fieldType: 'text',
},
'published_at': {
name: 'Published at',
published_at: {
name: 'inventory_adjustment.field.published_at',
column: 'published_at',
fieldType: 'date',
},
'created_at': {
name: 'Created at',
created_at: {
name: 'inventory_adjustment.field.created_at',
column: 'created_at',
fieldType: 'date',
},

View File

@@ -6,47 +6,47 @@ export default {
},
fields: {
'type': {
name: 'Item type',
name: 'item.field.type',
column: 'type',
fieldType: 'enumeration',
options: [
{ key: 'inventory', label: 'Inventory', },
{ key: 'service', label: 'Service' },
{ key: 'non-inventory', label: 'Non Inventory', },
{ key: 'inventory', label: 'item.field.type.inventory', },
{ key: 'service', label: 'item.field.type.service' },
{ key: 'non-inventory', label: 'item.field.type.non-inventory', },
],
},
'name': {
name: 'Name',
name: 'item.field.name',
column: 'name',
fieldType: 'text',
},
'code': {
name: 'Code',
name: 'item.field.code',
column: 'code',
fieldType: 'text',
},
'sellable': {
name: 'Sellable',
name: 'item.field.sellable',
column: 'sellable',
fieldType: 'boolean',
},
'purchasable': {
name: 'Purchasable',
name: 'item.field.purchasable',
column: 'purchasable',
fieldType: 'boolean',
},
'sell_price': {
name: 'Sell price',
name: 'item.field.cost_price',
column: 'sell_price',
fieldType: 'number',
},
'cost_price': {
name: 'Cost price',
name: 'item.field.cost_account',
column: 'cost_price',
fieldType: 'number',
},
'cost_account': {
name: 'Cost account',
name: 'item.field.sell_account',
column: 'cost_account_id',
fieldType: 'relation',
@@ -57,7 +57,7 @@ export default {
relationEntityKey: 'slug',
},
'sell_account': {
name: 'Sell account',
name: 'item.field.sell_description',
column: 'sell_account_id',
fieldType: 'relation',
@@ -68,7 +68,7 @@ export default {
relationEntityKey: 'slug',
},
'inventory_account': {
name: 'Inventory account',
name: 'item.field.inventory_account',
column: 'inventory_account_id',
relationType: 'enumeration',
@@ -88,17 +88,17 @@ export default {
fieldType: 'text',
},
'quantity_on_hand': {
name: 'Quantity on hand',
name: 'item.field.quantity_on_hand',
column: 'quantity_on_hand',
fieldType: 'number',
},
'note': {
name: 'Note',
name: 'item.field.note',
column: 'note',
fieldType: 'text',
},
'category': {
name: 'Category',
name: 'item.field.category',
column: 'category_id',
relationType: 'enumeration',
@@ -108,13 +108,13 @@ export default {
relationEntityKey: 'id',
},
'active': {
name: 'Active',
name: 'item.field.active',
column: 'active',
fieldType: 'boolean',
filterable: false,
},
'created_at': {
name: 'Created at',
name: 'item.field.created_at',
column: 'created_at',
columnType: 'date',
fieldType: 'date',

View File

@@ -6,23 +6,23 @@ export default {
},
fields: {
name: {
name: 'Name',
name: 'item_category.field.name',
column: 'name',
fieldType: 'text',
},
description: {
name: 'Description',
name: 'item_category.field.description',
column: 'description',
fieldType: 'text',
},
count: {
name: 'Count',
name: 'item_category.field.count',
column: 'count',
fieldType: 'number',
virtualColumn: true,
},
created_at: {
name: 'Created at',
name: 'item_category.field.created_at',
column: 'created_at',
columnType: 'date',
},

View File

@@ -6,37 +6,37 @@ export default {
},
fields: {
'date': {
name: 'Date',
name: 'manual_journal.field.date',
column: 'date',
fieldType: 'date',
},
'journal_number': {
name: 'Journal number',
name: 'manual_journal.field.journal_number',
column: 'journal_number',
fieldType: 'text',
},
'reference': {
name: 'Reference No.',
name: 'manual_journal.field.reference',
column: 'reference',
fieldType: 'text',
},
'journal_type': {
name: 'Journal type',
name: 'manual_journal.field.journal_type',
column: 'journal_type',
fieldType: 'text',
},
'amount': {
name: 'Amount',
name: 'manual_journal.field.amount',
column: 'amount',
fieldType: 'number',
},
'description': {
name: 'Description',
name: 'manual_journal.field.description',
column: 'description',
fieldType: 'text',
},
'status': {
name: 'Status',
name: 'manual_journal.field.status',
column: 'status',
fieldType: 'enumeration',
options: [
@@ -46,7 +46,7 @@ export default {
sortCustomQuery: StatusFieldSortQuery,
},
'created_at': {
name: 'Created at',
name: 'manual_journal.field.created_at',
column: 'created_at',
fieldType: 'date',
},

View File

@@ -2,7 +2,7 @@
export default {
fields: {
customer: {
name: 'Customer',
name: 'payment_receive.field.customer',
column: 'customer_id',
fieldType: 'relation',
@@ -13,22 +13,22 @@ export default {
relationEntityKey: 'id',
},
payment_date: {
name: 'Payment date',
name: 'payment_receive.field.payment_date',
column: 'payment_date',
fieldType: 'date',
},
amount: {
name: 'Amount',
name: 'payment_receive.field.amount',
column: 'amount',
fieldType: 'number',
},
reference_no: {
name: 'Reference No.',
name: 'payment_receive.field.reference_no',
column: 'reference_no',
fieldType: 'text',
},
deposit_account: {
name: 'Deposit account',
name: 'payment_receive.field.deposit_account',
column: 'deposit_account_id',
fieldType: 'relation',
@@ -39,17 +39,17 @@ export default {
relationEntityKey: 'slug',
},
payment_receive_no: {
name: 'Payment receive No.',
name: 'payment_receive.field.payment_receive_no',
column: 'payment_receive_no',
fieldType: 'text',
},
statement: {
name: 'Statement',
name: 'payment_receive.field.statement',
column: 'statement',
fieldType: 'text',
},
created_at: {
name: 'Created at',
name: 'payment_receive.field.created_at',
column: 'created_at',
fieldDate: 'date',
},

View File

@@ -6,17 +6,17 @@ export default {
},
fields: {
'amount': {
name: 'Amount',
name: 'estimate.field.amount',
column: 'amount',
fieldType: 'number',
},
'estimate_number': {
name: 'Estimate number',
name: 'estimate.field.estimate_number',
column: 'estimate_number',
fieldType: 'text',
},
'customer': {
name: 'Customer',
name: 'estimate.field.customer',
column: 'customer_id',
fieldType: 'relation',
@@ -27,45 +27,44 @@ export default {
relationEntityKey: 'id',
},
'estimate_date': {
name: 'Estimate date',
name: 'estimate.field.estimate_date',
column: 'estimate_date',
fieldType: 'date',
},
'expiration_date': {
name: 'Expiration date',
name: 'estimate.field.expiration_date',
column: 'expiration_date',
fieldType: 'date',
},
'reference_no': {
name: 'Reference No.',
name: 'estimate.field.reference_no',
column: 'reference',
fieldType: 'text',
},
'note': {
name: 'Note',
name: 'estimate.field.note',
column: 'note',
fieldType: 'text',
},
'terms_conditions': {
name: 'Terms & conditions',
name: 'estimate.field.terms_conditions',
column: 'terms_conditions',
fieldType: 'text',
},
'status': {
name: 'Status',
name: 'estimate.field.status',
fieldType: 'enumeration',
options: [
{ label: 'Delivered', key: 'delivered' },
{ label: 'Rejected', key: 'rejected' },
{ label: 'Approved', key: 'approved' },
{ label: 'Delivered', key: 'delivered' },
{ label: 'Draft', key: 'draft' },
{ label: 'estimate.field.status.delivered', key: 'delivered' },
{ label: 'estimate.field.status.rejected', key: 'rejected' },
{ label: 'estimate.field.status.approved', key: 'approved' },
{ label: 'estimate.field.status.draft', key: 'draft' },
],
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
'created_at': {
name: 'Created at',
name: 'estimate.field.created_at',
column: 'created_at',
columnType: 'date',
},

View File

@@ -6,7 +6,7 @@ export default {
},
fields: {
customer: {
name: 'Customer',
name: 'invoice.field.customer',
column: 'customer_id',
fieldType: 'relation',
@@ -17,70 +17,71 @@ export default {
relationEntityKey: 'id',
},
invoice_date: {
name: 'Invoice date',
name: 'invoice.field.invoice_date',
column: 'invoice_date',
fieldType: 'date',
},
due_date: {
name: 'Due date',
name: 'invoice.field.due_date',
column: 'due_date',
fieldType: 'date',
},
invoice_no: {
name: 'Invoice No.',
name: 'invoice.field.invoice_no',
column: 'invoice_no',
fieldType: 'text',
},
reference_no: {
name: 'Reference No.',
name: 'invoice.field.reference_no',
column: 'reference_no',
fieldType: 'text',
},
invoice_message: {
name: 'Invoice message',
name: 'invoice.field.invoice_message',
column: 'invoice_message',
fieldType: 'text',
},
terms_conditions: {
name: 'Terms & conditions',
name: 'invoice.field.terms_conditions',
column: 'terms_conditions',
fieldType: 'text',
},
amount: {
name: 'Invoice amount',
name: 'invoice.field.amount',
column: 'balance',
fieldType: 'number',
},
payment_amount: {
name: 'Payment amount',
name: 'invoice.field.payment_amount',
column: 'payment_amount',
fieldType: 'number',
},
due_amount: { // calculated.
name: 'Due amount',
due_amount: {
// calculated.
name: 'invoice.field.due_amount',
column: 'due_amount',
fieldType: 'number',
virtualColumn: true,
},
status: {
name: 'Status',
name: 'invoice.field.status',
fieldType: 'enumeration',
options: [
{ key: 'draft', label: 'Draft' },
{ key: 'delivered', label: 'Delivered' },
{ key: 'unpaid', label: 'Unpaid' },
{ key: 'overdue', label: 'Overdue' },
{ key: 'partially-paid', label: 'Partially paid' },
{ key: 'paid', label: 'Paid' },
{ key: 'draft', label: 'invoice.field.status.draft' },
{ key: 'delivered', label: 'invoice.field.status.delivered' },
{ key: 'unpaid', label: 'invoice.field.status.unpaid' },
{ key: 'overdue', label: 'invoice.field.status.overdue' },
{ key: 'partially-paid', label: 'invoice.field.status.partially-paid' },
{ key: 'paid', label: 'invoice.field.status.paid' },
],
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
created_at: {
name: 'Created at',
name: 'invoice.field.created_at',
column: 'created_at',
fieldType: 'date',
},
},
},
};

View File

@@ -6,13 +6,13 @@ export default {
},
fields: {
'amount': {
name: 'Amount',
name: 'receipt.field.amount',
column: 'amount',
fieldType: 'number',
},
'deposit_account': {
column: 'deposit_account_id',
name: 'Deposit account',
name: 'receipt.field.deposit_account',
fieldType: 'relation',
relationType: 'enumeration',
@@ -22,8 +22,8 @@ export default {
relationEntityKey: 'slug',
},
'customer': {
label: 'Customer',
name: 'customer_id',
name: 'receipt.field.customer',
column: 'customer_id',
fieldType: 'relation',
relationType: 'enumeration',
@@ -33,42 +33,42 @@ export default {
relationEntityKey: 'id',
},
'receipt_date': {
name: 'Receipt date',
name: 'receipt.field.receipt_date',
column: 'receipt_date',
fieldType: 'date',
},
'receipt_number': {
name: 'Receipt No.',
name: 'receipt.field.receipt_number',
column: 'receipt_number',
fieldType: 'text',
},
'reference_no': {
name: 'Reference No.',
name: 'receipt.field.reference_no',
column: 'reference_no',
fieldType: 'text',
},
'receipt_message': {
name: 'Receipt message',
name: 'receipt.field.receipt_message',
column: 'receipt_message',
fieldType: 'text',
},
'statement': {
name: 'Statement',
name: 'receipt.field.statement',
column: 'statement',
fieldType: 'text',
},
'created_at': {
name: 'Created at',
name: 'receipt.field.created_at',
column: 'created_at',
fieldType: 'date',
},
'status': {
name: 'Status',
name: 'receipt.field.status',
fieldType: 'enumeration',
options: [
{ key: 'draft', label: 'Draft' },
{ key: 'closed', label: 'Closed' },
{ key: 'draft', label: 'receipt.field.status.draft' },
{ key: 'closed', label: 'receipt.field.status.closed' },
],
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,

View File

@@ -6,76 +6,76 @@ export default {
},
fields: {
first_name: {
name: 'First name',
name: 'vendor.field.first_name',
column: 'first_name',
fieldType: 'text',
},
last_name: {
name: 'Last name',
name: 'vendor.field.last_name',
column: 'last_name',
fieldType: 'text',
},
'display_name': {
name: 'Display name',
display_name: {
name: 'vendor.field.display_name',
column: 'display_name',
fieldType: 'text',
},
'email': {
name: 'Email',
email: {
name: 'vendor.field.email',
column: 'email',
fieldType: 'text',
},
'work_phone': {
name: 'Work phone',
work_phone: {
name: 'vendor.field.work_phone',
column: 'work_phone',
fieldType: 'text',
},
'personal_phone': {
name: 'Personal phone',
personal_phone: {
name: 'vendor.field.personal_pone',
column: 'personal_phone',
fieldType: 'text',
},
'company_name': {
name: 'Company name',
company_name: {
name: 'vendor.field.company_name',
column: 'company_name',
fieldType: 'text',
},
'website': {
name: 'Website',
website: {
name: 'vendor.field.website',
column: 'website',
fieldType: 'text',
},
'created_at': {
name: 'Created at',
created_at: {
name: 'vendor.field.created_at',
column: 'created_at',
fieldType: 'date',
},
'balance': {
name: 'Balance',
balance: {
name: 'vendor.field.balance',
column: 'balance',
fieldType: 'number',
},
'opening_balance': {
name: 'Opening balance',
opening_balance: {
name: 'vendor.field.opening_balance',
column: 'opening_balance',
fieldType: 'number',
},
'opening_balance_at': {
name: 'Opening balance at',
opening_balance_at: {
name: 'vendor.field.opening_balance_at',
column: 'opening_balance_at',
fieldType: 'date',
},
'currency_code': {
name: 'Currency code',
currency_code: {
name: 'vendor.field.currency',
column: 'currency_code',
fieldType: 'text',
},
'status': {
name: 'Status',
status: {
name: 'vendor.field.status',
type: 'enumeration',
options: [
{ key: 'overdue', label: 'Overdue' },
{ key: 'unpaid', label: 'Unpaid' },
{ key: 'overdue', label: 'vendor.field.status.overdue' },
{ key: 'unpaid', label: 'vendor.field.status.unpaid' },
],
filterCustomQuery: (query, role) => {
switch (role.value) {