Adding decending sort in a bazaar plugin

Signed-off-by: AmbrishRamachandiran <ambrish.r@infosys.com>
This commit is contained in:
AmbrishRamachandiran
2023-10-17 11:13:16 +05:30
parent 78bc50af22
commit c5aad900e3
4 changed files with 28 additions and 3 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-bazaar': patch
---
Adding decending sort in a bazaar plugin
@@ -50,7 +50,8 @@ export const SortMethodSelector = ({
>
<MenuItem value={0}>Latest updated</MenuItem>
<MenuItem value={1}>A-Z</MenuItem>
<MenuItem value={2}>Most members</MenuItem>
<MenuItem value={2}>Z-A</MenuItem>
<MenuItem value={3}>Most members</MenuItem>
</Select>
</FormControl>
);
@@ -27,7 +27,12 @@ import { BazaarProject } from '../../types';
import { bazaarApiRef } from '../../api';
import { Alert } from '@material-ui/lab';
import SearchBar from 'material-ui-search-bar';
import { sortByDate, sortByMembers, sortByTitle } from '../../util/sortMethods';
import {
sortByDate,
sortByMembers,
sortByTitle,
sortByDecendingTitle,
} from '../../util/sortMethods';
import { SortMethodSelector } from '../SortMethodSelector';
import { fetchCatalogItems } from '../../util/fetchMethods';
import { parseBazaarProject } from '../../util/parseMethods';
@@ -78,7 +83,12 @@ export const SortView = (props: SortViewProps) => {
const bazaarApi = useApi(bazaarApiRef);
const catalogApi = useApi(catalogApiRef);
const classes = useStyles();
const sortMethods = [sortByDate, sortByTitle, sortByMembers];
const sortMethods = [
sortByDate,
sortByTitle,
sortByDecendingTitle,
sortByMembers,
];
const [sortMethodNbr, setSortMethodNbr] = useState(0);
const [openAdd, setOpenAdd] = useState(false);
const [searchValue, setSearchValue] = useState('');
+9
View File
@@ -35,6 +35,15 @@ export const sortByTitle = (a: BazaarProject, b: BazaarProject) => {
return 0;
};
export const sortByDecendingTitle = (a: BazaarProject, b: BazaarProject) => {
if (a.title < b.title) {
return 1;
} else if (a.title > b.title) {
return -1;
}
return 0;
};
export const sortByMembers = (a: BazaarProject, b: BazaarProject) => {
return b.membersCount - a.membersCount;
};