UI filter refactor (#1406)

* Refactor Criterion
* Separate filter options from filter
* Rename utils to factory
* Sort sort by options by alphabetical
* Refactor criterion options
* Simplify list filter options
* Refactor i8n
* Simplify ILabeledIdCriterion
This commit is contained in:
WithoutPants
2021-05-31 13:46:21 +10:00
committed by GitHub
parent c5fed1bbdc
commit 3e81d45ae9
51 changed files with 1330 additions and 1963 deletions

View File

@@ -1,7 +1,7 @@
import queryString from "query-string";
import { RouteComponentProps } from "react-router-dom";
import { ListFilterModel } from "./list-filter/filter";
import { FilterMode } from "./list-filter/types";
import { SceneListFilterOptions } from "./list-filter/scenes";
interface IQueryParameters {
qsort?: string;
@@ -27,10 +27,7 @@ export class SceneQueue {
public static fromListFilterModel(filter: ListFilterModel) {
const ret = new SceneQueue();
const filterCopy = Object.assign(
new ListFilterModel(filter.filterMode),
filter
);
const filterCopy = Object.assign(new ListFilterModel(), filter);
filterCopy.itemsPerPage = 40;
ret.originalQueryPage = filter.currentPage;
@@ -98,8 +95,8 @@ export class SceneQueue {
if (parsed.qfp) {
const query = new ListFilterModel(
FilterMode.Scenes,
translated as queryString.ParsedQuery
translated as queryString.ParsedQuery,
SceneListFilterOptions.defaultSortBy
);
ret.query = query;
} else if (parsed.qs) {