mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 05:40:31 +00:00
WIP: dynamic list filtering.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { IModelMeta } from 'interfaces';
|
||||
import { ACCOUNT_TYPES } from 'data/AccountTypes';
|
||||
|
||||
export default {
|
||||
defaultFilterField: 'name',
|
||||
@@ -10,25 +11,26 @@ export default {
|
||||
name: {
|
||||
name: 'Account name',
|
||||
column: 'name',
|
||||
columnable: true,
|
||||
fieldType: 'text',
|
||||
},
|
||||
description: {
|
||||
name: 'Description',
|
||||
column: 'description',
|
||||
columnable: true,
|
||||
fieldType: 'text',
|
||||
},
|
||||
slug: {
|
||||
name: 'Account slug',
|
||||
column: 'slug',
|
||||
fieldType: 'text',
|
||||
columnable: false,
|
||||
},
|
||||
code: {
|
||||
name: 'Account code',
|
||||
column: 'code',
|
||||
columnable: true,
|
||||
fieldType: 'text',
|
||||
},
|
||||
root_type: {
|
||||
name: 'Root type',
|
||||
column: 'root_type',
|
||||
columnable: true,
|
||||
fieldType: 'enumeration',
|
||||
options: [
|
||||
{ key: 'asset', label: 'Asset' },
|
||||
@@ -37,16 +39,37 @@ export default {
|
||||
{ key: 'Income', label: 'Income' },
|
||||
{ key: 'expense', label: 'Expense' },
|
||||
],
|
||||
filterCustomQuery: RootTypeFieldFilterQuery,
|
||||
sortable: false,
|
||||
},
|
||||
normal: {
|
||||
name: 'Account normal',
|
||||
fieldType: 'enumeration',
|
||||
options: [
|
||||
{ key: 'debit', label: 'Debit' },
|
||||
{ key: 'credit', label: 'Credit' },
|
||||
],
|
||||
filterCustomQuery: NormalTypeFieldFilterQuery,
|
||||
sortable: false,
|
||||
},
|
||||
type: {
|
||||
name: 'Type',
|
||||
column: 'account_type',
|
||||
fieldType: 'enumeration',
|
||||
options: ACCOUNT_TYPES.map((accountType) => ({
|
||||
label: accountType.label,
|
||||
key: accountType.key
|
||||
})),
|
||||
},
|
||||
active: {
|
||||
name: 'Active',
|
||||
column: 'active',
|
||||
fieldType: 'boolean',
|
||||
filterable: false,
|
||||
},
|
||||
amount: {
|
||||
balance: {
|
||||
name: 'Account balance',
|
||||
column: 'amount',
|
||||
columnable: true,
|
||||
fieldType: 'number',
|
||||
},
|
||||
currency: {
|
||||
@@ -60,4 +83,18 @@ export default {
|
||||
fieldType: 'date',
|
||||
},
|
||||
},
|
||||
} as IModelMeta;
|
||||
};
|
||||
|
||||
/**
|
||||
* Filter query of root type field .
|
||||
*/
|
||||
function RootTypeFieldFilterQuery(query, role) {
|
||||
query.modify('filterByRootType', role.value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter query of normal field .
|
||||
*/
|
||||
function NormalTypeFieldFilterQuery(query, role) {
|
||||
query.modify('filterByAccountNormal', role.value);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user