Skip to content

Commit

Permalink
fixed for ordeby issue
Browse files Browse the repository at this point in the history
  • Loading branch information
kurund committed Jan 19, 2021
1 parent 88e52f1 commit 1c0c74b
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 24 deletions.
2 changes: 0 additions & 2 deletions src/common/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,6 @@ export const setColumnToBackendTerms: any = (listName: string, columnName: strin
'LAST MODIFIED': 'updated_at',
NAME: 'name',
LABEL: 'label',
desc: 'desc',
asc: 'asc',
BODY: 'body',
DESCRIPTION: 'description',
TITLE: 'label',
Expand Down
65 changes: 43 additions & 22 deletions src/containers/List/List.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,52 +129,73 @@ export const List: React.SFC<ListProps> = ({
defaultColumnSort = defaultSortBy;
}

// get the last sort value from local storage if exist else set the default column and order
const getSortCriteria = (listItemNameValue: string, columnName: string = '') => {
// let's determine if we are retrieving sort column or direction
// if columnName is empty then we want to get the sort direction
// also set the default values
let returnValue;
let isDirection = false;
// get the last sort column value from local storage if exist else set the default column
const getSortColumn = (listItemNameValue: string, columnName: string) => {
// set the column name
let columnnNameValue;
if (columnName) {
returnValue = columnName;
} else {
// return default direction
returnValue = 'asc';
isDirection = true;
columnnNameValue = columnName;
}

// check if we have sorting stored in local storage
const sortValue = getLastListSessionValues(listItemNameValue, false);

// update column name from the local storage
if (sortValue) {
columnnNameValue = sortValue;
}

return setColumnToBackendTerms(listItemName, columnnNameValue);
};

// get the last sort direction value from local storage if exist else set the default order
const getSortDirection = (listItemNameValue: string) => {
// set column direction
let sortDirection: any = 'asc';

// check if we have sorting stored in local storage
const sortValue = getLastListSessionValues(listItemNameValue, isDirection);
const sortValue = getLastListSessionValues(listItemNameValue, true);

if (sortValue) {
returnValue = sortValue;
sortDirection = sortValue;
}

return setColumnToBackendTerms(listItemName, returnValue);
return sortDirection;
};

// Table attributes
const [tableVals, setTableVals] = useState<TableVals>({
pageNum: 0,
pageRows: 50,
sortCol: getSortCriteria(listItemName, defaultColumnSort),
sortDirection: getSortCriteria(listItemName),
sortCol: getSortColumn(listItemName, defaultColumnSort),
sortDirection: getSortDirection(listItemName),
});

let userRole: any = getUserRole();

const handleTableChange = (attribute: string, newVal: any) => {
const value = setColumnToBackendTerms(listItemName, newVal);
console.log('listItemName', listItemName);
console.log('attribute', attribute);
console.log('newVal', newVal);
let updatedList;
let attributeValue = newVal;
if (attribute === 'sortCol') {
attributeValue = setColumnToBackendTerms(listItemName, newVal);
updatedList = getUpdatedList(listItemName, newVal, false);
} else {
updatedList = getUpdatedList(listItemName, newVal, true);
}

const updatedList = getUpdatedList(listItemName, newVal, attribute === 'sortDirection');
console.log('udpatedList', updatedList);
// set the sort criteria in localstorage
setListSession(JSON.stringify(updatedList));

setTableVals({
...tableVals,
[attribute]: value,
[attribute]: attributeValue,
});
};

let filter: any = {};

if (searchVal !== '') {
Expand Down Expand Up @@ -421,8 +442,8 @@ export const List: React.SFC<ListProps> = ({
setTableVals({
pageNum: 0,
pageRows: 50,
sortCol: getSortCriteria(listItemName, defaultColumnSort),
sortDirection: getSortCriteria(listItemName),
sortCol: getSortColumn(listItemName, defaultColumnSort),
sortDirection: getSortDirection(listItemName),
});
};

Expand Down

0 comments on commit 1c0c74b

Please sign in to comment.