Add rating sorting to galleries (#1720)

* Add rating sorting to galleries

Fixes: #1717
This commit is contained in:
gitgiggety 2021-09-14 10:11:12 +02:00 committed by GitHub
parent 1a3a2f1f83
commit b78060d361
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 30 deletions

View file

@ -1,4 +1,5 @@
### ✨ New Features
* Added sort by option for gallery rating. ([#1720](https://github.com/stashapp/stash/pull/1720))
* Added support for querying scene scrapers using keywords. ([#1712](https://github.com/stashapp/stash/pull/1712))
* Added support for Studio aliases. ([#1660](https://github.com/stashapp/stash/pull/1660))
* Added support for Tag hierarchies. ([#1519](https://github.com/stashapp/stash/pull/1519))

View file

@ -6,6 +6,16 @@ interface ISortByOption {
value: string;
}
export const MediaSortByOptions = [
"title",
"path",
"rating",
"file_mod_time",
"tag_count",
"performer_count",
"random",
];
export class ListFilterOptions {
public readonly defaultSortBy: string = "";
public readonly sortByOptions: ISortByOption[] = [];

View file

@ -9,20 +9,12 @@ import {
PerformerTagsCriterionOption,
TagsCriterionOption,
} from "./criteria/tags";
import { ListFilterOptions } from "./filter-options";
import { ListFilterOptions, MediaSortByOptions } from "./filter-options";
import { DisplayMode } from "./types";
const defaultSortBy = "path";
const sortByOptions = [
"date",
"path",
"file_mod_time",
"tag_count",
"performer_count",
"title",
"random",
]
const sortByOptions = ["date", ...MediaSortByOptions]
.map(ListFilterOptions.createSortBy)
.concat([
{

View file

@ -13,22 +13,14 @@ import {
PerformerTagsCriterionOption,
TagsCriterionOption,
} from "./criteria/tags";
import { ListFilterOptions } from "./filter-options";
import { ListFilterOptions, MediaSortByOptions } from "./filter-options";
import { DisplayMode } from "./types";
const defaultSortBy = "path";
const sortByOptions = [
"title",
"path",
"rating",
"o_counter",
"filesize",
"file_mod_time",
"tag_count",
"performer_count",
"random",
].map(ListFilterOptions.createSortBy);
const sortByOptions = ["o_counter", "filesize", ...MediaSortByOptions].map(
ListFilterOptions.createSortBy
);
const displayModeOptions = [DisplayMode.Grid, DisplayMode.Wall];
const criterionOptions = [

View file

@ -16,28 +16,22 @@ import {
PerformerTagsCriterionOption,
TagsCriterionOption,
} from "./criteria/tags";
import { ListFilterOptions } from "./filter-options";
import { ListFilterOptions, MediaSortByOptions } from "./filter-options";
import { DisplayMode } from "./types";
import { PhashCriterionOption } from "./criteria/phash";
const defaultSortBy = "date";
const sortByOptions = [
"title",
"path",
"rating",
"organized",
"o_counter",
"date",
"filesize",
"file_mod_time",
"duration",
"framerate",
"bitrate",
"tag_count",
"performer_count",
"random",
"movie_scene_number",
"interactive",
...MediaSortByOptions,
].map(ListFilterOptions.createSortBy);
const displayModeOptions = [