mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-23 23:05:46 +00:00
feat: filter improvement
This commit is contained in:
@@ -54,6 +54,13 @@ type ExpenseTableFilters = {
|
||||
locationName: string;
|
||||
vendorId: string;
|
||||
vendorName: string;
|
||||
category: string;
|
||||
approvalStatus: string;
|
||||
realizationStatus: string;
|
||||
projectFlockId: string;
|
||||
projectFlockName: string;
|
||||
projectFlockKandangId: string;
|
||||
projectFlockKandangName: string;
|
||||
userId: string;
|
||||
};
|
||||
|
||||
@@ -250,6 +257,13 @@ const ExpensesTable = () => {
|
||||
locationName: '',
|
||||
vendorId: '',
|
||||
vendorName: '',
|
||||
category: '',
|
||||
approvalStatus: '',
|
||||
realizationStatus: '',
|
||||
projectFlockId: '',
|
||||
projectFlockName: '',
|
||||
projectFlockKandangId: '',
|
||||
projectFlockKandangName: '',
|
||||
userId: '',
|
||||
},
|
||||
paramMap: {
|
||||
@@ -262,6 +276,13 @@ const ExpensesTable = () => {
|
||||
locationName: 'location_name',
|
||||
vendorId: 'vendor_id',
|
||||
vendorName: 'vendor_name',
|
||||
category: 'category',
|
||||
approvalStatus: 'approval_status',
|
||||
realizationStatus: 'realization_status',
|
||||
projectFlockId: 'project_flock_id',
|
||||
projectFlockName: 'project_flock_name',
|
||||
projectFlockKandangId: 'project_flock_kandang_id',
|
||||
projectFlockKandangName: 'project_flock_kandang_name',
|
||||
userId: 'user_id',
|
||||
},
|
||||
|
||||
@@ -749,6 +770,11 @@ const ExpensesTable = () => {
|
||||
realization_date?: string | null;
|
||||
location?: { value: number; label: string } | null;
|
||||
vendor?: { value: number; label: string } | null;
|
||||
category?: OptionType<string> | null;
|
||||
approval_status?: OptionType<string> | null;
|
||||
realization_status?: OptionType<string> | null;
|
||||
project_flock?: OptionType<number> | null;
|
||||
project_flock_kandang?: OptionType<number> | null;
|
||||
}) => {
|
||||
updateFilter('transactionDate', values.transaction_date || '');
|
||||
updateFilter('realizationDate', values.realization_date || '');
|
||||
@@ -768,6 +794,24 @@ const ExpensesTable = () => {
|
||||
'vendorName',
|
||||
values.vendor?.label ? String(values.vendor?.label) : ''
|
||||
);
|
||||
updateFilter('category', values.category?.value || '');
|
||||
updateFilter('approvalStatus', values.approval_status?.value || '');
|
||||
updateFilter('realizationStatus', values.realization_status?.value || '');
|
||||
updateFilter(
|
||||
'projectFlockId',
|
||||
values.project_flock?.value ? String(values.project_flock.value) : ''
|
||||
);
|
||||
updateFilter('projectFlockName', values.project_flock?.label || '');
|
||||
updateFilter(
|
||||
'projectFlockKandangId',
|
||||
values.project_flock_kandang?.value
|
||||
? String(values.project_flock_kandang.value)
|
||||
: ''
|
||||
);
|
||||
updateFilter(
|
||||
'projectFlockKandangName',
|
||||
values.project_flock_kandang?.label || ''
|
||||
);
|
||||
};
|
||||
|
||||
const handleFilterReset = () => {
|
||||
@@ -947,6 +991,8 @@ const ExpensesTable = () => {
|
||||
'userId',
|
||||
'locationName',
|
||||
'vendorName',
|
||||
'projectFlockName',
|
||||
'projectFlockKandangName',
|
||||
]}
|
||||
onClick={handleFilterModalOpen}
|
||||
className='px-3 py-2.5'
|
||||
@@ -1282,6 +1328,41 @@ const ExpensesTable = () => {
|
||||
: null,
|
||||
realization_date: tableFilterState.realizationDate,
|
||||
transaction_date: tableFilterState.transactionDate,
|
||||
category: tableFilterState.category
|
||||
? {
|
||||
value: tableFilterState.category,
|
||||
label: tableFilterState.category,
|
||||
}
|
||||
: null,
|
||||
approval_status: tableFilterState.approvalStatus
|
||||
? approvalStatusOptions.find(
|
||||
(item) => item.value === tableFilterState.approvalStatus
|
||||
) || null
|
||||
: null,
|
||||
realization_status: tableFilterState.realizationStatus
|
||||
? [
|
||||
{ value: 'NOT_REALIZED', label: 'Belum Realisasi' },
|
||||
{ value: 'REALIZED', label: 'Sudah Realisasi' },
|
||||
{ value: 'REJECTED', label: 'Ditolak' },
|
||||
].find(
|
||||
(item) => item.value === tableFilterState.realizationStatus
|
||||
) || null
|
||||
: null,
|
||||
project_flock:
|
||||
tableFilterState.projectFlockId && tableFilterState.projectFlockName
|
||||
? {
|
||||
value: Number(tableFilterState.projectFlockId),
|
||||
label: tableFilterState.projectFlockName,
|
||||
}
|
||||
: null,
|
||||
project_flock_kandang:
|
||||
tableFilterState.projectFlockKandangId &&
|
||||
tableFilterState.projectFlockKandangName
|
||||
? {
|
||||
value: Number(tableFilterState.projectFlockKandangId),
|
||||
label: tableFilterState.projectFlockKandangName,
|
||||
}
|
||||
: null,
|
||||
}}
|
||||
/>
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user