Files
bigcapital/server/src/models/Expense.Settings.ts
2021-08-10 19:38:36 +02:00

72 lines
1.5 KiB
TypeScript

/**
* Expense - Settings.
*/
export default {
defaultFilterField: 'description',
defaultSort: {
sortOrder: 'DESC',
sortField: 'name',
},
fields: {
'payment_date': {
name: 'Payment date',
column: 'payment_date',
fieldType: 'date',
},
'payment_account': {
name: 'Payment account',
column: 'payment_account_id',
fieldType: 'relation',
relationType: 'enumeration',
relationKey: 'paymentAccount',
relationEntityLabel: 'name',
relationEntityKey: 'slug',
},
'amount': {
name: 'Amount',
column: 'total_amount',
fieldType: 'number',
},
'reference_no': {
name: 'Reference No.',
column: 'reference_no',
fieldType: 'text',
},
'description': {
name: 'Description',
column: 'description',
fieldType: 'text',
},
'published': {
name: 'Published',
column: 'published_at',
fieldType: 'date',
},
'status': {
name: 'Status',
fieldType: 'enumeration',
options: [
{ key: 'draft', label: 'Draft' },
{ key: 'published', label: 'Published' },
],
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
'created_at': {
name: 'Created at',
column: 'created_at',
fieldType: 'date',
},
},
};
function StatusFieldFilterQuery(query, role) {
query.modify('filterByStatus', role.value);
}
function StatusFieldSortQuery(query, role) {
query.modify('sortByStatus', role.order);
}