mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
Add "reshuffle button" when sortby is random (#497)
This commit is contained in:
@@ -28,6 +28,7 @@ interface IListFilterProps {
|
|||||||
onChangeQuery: (query: string) => void;
|
onChangeQuery: (query: string) => void;
|
||||||
onChangeSortDirection: (sortDirection: SortDirectionEnum) => void;
|
onChangeSortDirection: (sortDirection: SortDirectionEnum) => void;
|
||||||
onChangeSortBy: (sortBy: string) => void;
|
onChangeSortBy: (sortBy: string) => void;
|
||||||
|
onSortReshuffle: () => void;
|
||||||
onChangeDisplayMode: (displayMode: DisplayMode) => void;
|
onChangeDisplayMode: (displayMode: DisplayMode) => void;
|
||||||
onAddCriterion: (criterion: Criterion, oldId?: string) => void;
|
onAddCriterion: (criterion: Criterion, oldId?: string) => void;
|
||||||
onRemoveCriterion: (criterion: Criterion) => void;
|
onRemoveCriterion: (criterion: Criterion) => void;
|
||||||
@@ -77,6 +78,10 @@ export const ListFilter: React.FC<IListFilterProps> = (
|
|||||||
props.onChangeSortBy(target.text);
|
props.onChangeSortBy(target.text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onReshuffleRandomSort() {
|
||||||
|
props.onSortReshuffle();
|
||||||
|
}
|
||||||
|
|
||||||
function onChangeDisplayMode(displayMode: DisplayMode) {
|
function onChangeDisplayMode(displayMode: DisplayMode) {
|
||||||
props.onChangeDisplayMode(displayMode);
|
props.onChangeDisplayMode(displayMode);
|
||||||
}
|
}
|
||||||
@@ -318,6 +323,17 @@ export const ListFilter: React.FC<IListFilterProps> = (
|
|||||||
/>
|
/>
|
||||||
</Button>
|
</Button>
|
||||||
</OverlayTrigger>
|
</OverlayTrigger>
|
||||||
|
{props.filter.sortBy === "random" && (
|
||||||
|
<OverlayTrigger
|
||||||
|
overlay={
|
||||||
|
<Tooltip id="sort-reshuffle-tooltip">Reshuffle</Tooltip>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<Button variant="secondary" onClick={onReshuffleRandomSort}>
|
||||||
|
<Icon icon="random" />
|
||||||
|
</Button>
|
||||||
|
</OverlayTrigger>
|
||||||
|
)}
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
</ButtonGroup>
|
</ButtonGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -211,6 +211,13 @@ const useList = <QueryResult extends IQueryResult, QueryData extends IDataItem>(
|
|||||||
updateQueryParams(newFilter);
|
updateQueryParams(newFilter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onSortReshuffle() {
|
||||||
|
const newFilter = _.cloneDeep(filter);
|
||||||
|
newFilter.currentPage = 1;
|
||||||
|
newFilter.randomSeed = -1;
|
||||||
|
updateQueryParams(newFilter);
|
||||||
|
}
|
||||||
|
|
||||||
function onChangeDisplayMode(displayMode: DisplayMode) {
|
function onChangeDisplayMode(displayMode: DisplayMode) {
|
||||||
const newFilter = _.cloneDeep(filter);
|
const newFilter = _.cloneDeep(filter);
|
||||||
newFilter.displayMode = displayMode;
|
newFilter.displayMode = displayMode;
|
||||||
@@ -370,6 +377,7 @@ const useList = <QueryResult extends IQueryResult, QueryData extends IDataItem>(
|
|||||||
onChangeQuery={onChangeQuery}
|
onChangeQuery={onChangeQuery}
|
||||||
onChangeSortDirection={onChangeSortDirection}
|
onChangeSortDirection={onChangeSortDirection}
|
||||||
onChangeSortBy={onChangeSortBy}
|
onChangeSortBy={onChangeSortBy}
|
||||||
|
onSortReshuffle={onSortReshuffle}
|
||||||
onChangeDisplayMode={onChangeDisplayMode}
|
onChangeDisplayMode={onChangeDisplayMode}
|
||||||
onAddCriterion={onAddCriterion}
|
onAddCriterion={onAddCriterion}
|
||||||
onRemoveCriterion={onRemoveCriterion}
|
onRemoveCriterion={onRemoveCriterion}
|
||||||
|
|||||||
Reference in New Issue
Block a user