WIP: dynamic list filtering.

This commit is contained in:
a.bouhuolia
2021-07-31 17:07:37 +02:00
parent 9186076676
commit 3546b6b7ae
34 changed files with 569 additions and 314 deletions

View File

@@ -8,35 +8,42 @@ export default {
sortField: 'bill_date',
},
fields: {
// vendor: {
// name: 'Vendor',
// column: 'vendor_id',
// },
'bill_number': {
vendor: {
name: 'Vendor',
column: 'vendor_id',
fieldType: 'relation',
relationType: 'enumeration',
relationKey: 'vendor',
relationEntityLabel: 'name',
relationEntityKey: 'id',
},
bill_number: {
name: 'Bill number',
column: 'bill_number',
columnable: true,
fieldType: 'text',
},
'bill_date': {
bill_date: {
name: 'Bill date',
column: 'bill_date',
columnable: true,
fieldType: 'date',
},
'due_date': {
due_date: {
name: 'Due date',
column: 'due_date',
columnable: true,
fieldType: 'date',
},
'reference_no': {
reference_no: {
name: 'Reference No.',
column: 'reference_no',
columnable: true,
fieldType: 'text',
},
'status': {
status: {
name: 'Status',
fieldType: 'enumeration',
columnable: true,
@@ -48,32 +55,42 @@ export default {
{ name: 'Opened', key: 'opened' },
{ name: 'Draft', key: 'draft' },
],
// filterQuery: Bill.statusFieldFilterQuery,
// sortQuery: Bill.statusFieldSortQuery,
filterCustomQuery: StatusFieldFilterQuery,
sortCustomQuery: StatusFieldSortQuery,
},
'amount': {
amount: {
name: 'Amount',
column: 'amount',
columnable: true,
fieldType: 'number',
},
'payment_amount': {
payment_amount: {
name: 'Payment amount',
column: 'payment_amount',
columnable: true,
fieldType: 'number',
},
'note': {
note: {
name: 'Note',
column: 'note',
columnable: true,
fieldType: 'text',
},
'created_at': {
created_at: {
name: 'Created at',
column: 'created_at',
columnable: true,
fieldType: 'date',
},
},
} as IModelMeta;
};
/**
* Status field filter custom query.
*/
function StatusFieldFilterQuery(query, role) {
query.modify('statusFilter', role.value);
}
/**
* Status field sort custom query.
*/
function StatusFieldSortQuery(query, role) {
query.modify('sortByStatus', role.order);
}