1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-22 22:16:13 -04:00

Refactor Series index to use react-window

This commit is contained in:
Mark McDowall
2023-01-05 18:20:49 -08:00
committed by Mark McDowall
parent de56862bb9
commit d022679b7d
92 changed files with 3527 additions and 4462 deletions
@@ -0,0 +1,160 @@
import PropTypes from 'prop-types';
import React from 'react';
import MenuContent from 'Components/Menu/MenuContent';
import SortMenu from 'Components/Menu/SortMenu';
import SortMenuItem from 'Components/Menu/SortMenuItem';
import { align, sortDirections } from 'Helpers/Props';
function SeriesIndexSortMenu(props) {
const { sortKey, sortDirection, isDisabled, onSortSelect } = props;
return (
<SortMenu isDisabled={isDisabled} alignMenu={align.RIGHT}>
<MenuContent>
<SortMenuItem
name="status"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Monitored/Status
</SortMenuItem>
<SortMenuItem
name="sortTitle"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Title
</SortMenuItem>
<SortMenuItem
name="network"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Network
</SortMenuItem>
<SortMenuItem
name="originalLanguage"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Original Language
</SortMenuItem>
<SortMenuItem
name="qualityProfileId"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Quality Profile
</SortMenuItem>
<SortMenuItem
name="nextAiring"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Next Airing
</SortMenuItem>
<SortMenuItem
name="previousAiring"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Previous Airing
</SortMenuItem>
<SortMenuItem
name="added"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Added
</SortMenuItem>
<SortMenuItem
name="seasonCount"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Seasons
</SortMenuItem>
<SortMenuItem
name="episodeProgress"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Episodes
</SortMenuItem>
<SortMenuItem
name="episodeCount"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Episode Count
</SortMenuItem>
<SortMenuItem
name="latestSeason"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Latest Season
</SortMenuItem>
<SortMenuItem
name="path"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Path
</SortMenuItem>
<SortMenuItem
name="sizeOnDisk"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Size on Disk
</SortMenuItem>
<SortMenuItem
name="tags"
sortKey={sortKey}
sortDirection={sortDirection}
onPress={onSortSelect}
>
Tags
</SortMenuItem>
</MenuContent>
</SortMenu>
);
}
SeriesIndexSortMenu.propTypes = {
sortKey: PropTypes.string,
sortDirection: PropTypes.oneOf(sortDirections.all),
isDisabled: PropTypes.bool.isRequired,
onSortSelect: PropTypes.func.isRequired,
};
export default SeriesIndexSortMenu;