Sammy/t 134 i see all filters in the dropdown (#78)
* feature: add filter dropdown * test: add story for FilterDropdown * feature: display filterOperand on top of dropdown * feature: display filter operand * feature: fix index and display selected filter * refactor: set TopOption button inside dropdown file * feature: move availableFilters outside the fitler component * refactor: make the available sorts and filter optionnal * refactor: rename availableSorts * feature: add a resetState property on onOutsideClick * feature: add filters and set filters on Dropdown component * feature: set filters on click in dropdown * test: verify button is active after filters are set * feature: display sorts and filters * refactor: move SelectedFilters in SortAndFilter * refactor: move SelectedFilters in dedicated file * refactor: remove Id and use Key
This commit is contained in:
@ -3,8 +3,8 @@ import { PeopleSelectedSortType, reduceSortsToOrderBy } from './select';
|
||||
describe('reduceSortsToOrderBy', () => {
|
||||
it('should return an array of objects with the id as key and the order as value', () => {
|
||||
const sorts = [
|
||||
{ id: 'firstname', label: 'firstname', order: 'asc' },
|
||||
{ id: 'lastname', label: 'lastname', order: 'desc' },
|
||||
{ key: 'firstname', label: 'firstname', order: 'asc' },
|
||||
{ key: 'lastname', label: 'lastname', order: 'desc' },
|
||||
] satisfies PeopleSelectedSortType[];
|
||||
const result = reduceSortsToOrderBy(sorts);
|
||||
expect(result).toEqual([{ firstname: 'asc', lastname: 'desc' }]);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { QueryResult, gql, useQuery } from '@apollo/client';
|
||||
import { GraphqlQueryPerson } from '../../interfaces/person.interface';
|
||||
import { SelectedSortType } from '../../components/table/table-header/SortAndFilterBar';
|
||||
import { Order_By, People_Order_By } from '../../generated/graphql';
|
||||
import { SelectedSortType } from '../../components/table/table-header/interface';
|
||||
|
||||
export type OrderByFields = keyof People_Order_By | 'fullname' | 'company_name';
|
||||
|
||||
@ -15,7 +15,7 @@ export const reduceSortsToOrderBy = (
|
||||
sorts: Array<PeopleSelectedSortType>,
|
||||
): People_Order_By[] => {
|
||||
const mappedSorts = sorts.reduce((acc, sort) => {
|
||||
const id = sort.id;
|
||||
const id = sort.key;
|
||||
const order = mapOrder(sort.order);
|
||||
if (id === 'fullname') {
|
||||
acc['firstname'] = order;
|
||||
|
||||
Reference in New Issue
Block a user