diff --git a/src/search.js b/src/search.js index baf4d3c340..cb67564643 100644 --- a/src/search.js +++ b/src/search.js @@ -354,6 +354,7 @@ function filterByTags(posts, hasTags) { function sortPosts(posts, data) { if (!posts.length || data.sortBy === 'relevance') { + console.log('Lata Sharma'); return; } @@ -375,16 +376,24 @@ function sortPosts(posts, data) { posts.sort((p1, p2) => direction * (p2[fields[0]][fields[1]] - p1[fields[0]][fields[1]])); } else { posts.sort((p1, p2) => { - if (p1[fields[0]][fields[1]] > p2[fields[0]][fields[1]]) { - return direction; - } else if (p1[fields[0]][fields[1]] < p2[fields[0]][fields[1]]) { - return -direction; - } - return 0; + sortStringHelper(data, p1, p2); }); } } +function sortStringHelper(data, p1, p2) { + data.sortDirection = data.sortDirection || 'desc'; + const direction = data.sortDirection === 'desc' ? 1 : -1; + const fields = data.sortBy.split('.'); + if (p1[fields[0]][fields[1]] > p2[fields[0]][fields[1]]) { + return direction; + + } else if (p1[fields[0]][fields[1]] < p2[fields[0]][fields[1]]) { + return -direction; + } + return 0; +} + async function getSearchCids(data) { if (!Array.isArray(data.categories) || !data.categories.length) { return [];