Skip to content

Commit bb1170a

Browse files
committed
use refactored page parse helper for initial pages
1 parent 8f3165c commit bb1170a

File tree

12 files changed

+28
-37
lines changed

12 files changed

+28
-37
lines changed

frontend/src/components/ui/pagination.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { srOnly } from "@/utils/css";
1111
import chevronLeft from "~assets/icons/chevron-left.svg";
1212
import chevronRight from "~assets/icons/chevron-right.svg";
1313

14-
const parsePage = (value: string | undefined | null) => {
14+
export const parsePage = (value: string | undefined | null) => {
1515
const page = parseInt(value || "1");
1616
if (!Number.isFinite(page)) {
1717
throw new Error("couldn't parse page value from search");

frontend/src/features/archived-items/crawl-pending-exclusions.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { html } from "lit";
33
import { customElement, property, state } from "lit/decorators.js";
44

55
import { BtrixElement } from "@/classes/BtrixElement";
6-
import { type PageChangeEvent } from "@/components/ui/pagination";
6+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
77

88
type URLs = string[];
99

@@ -24,9 +24,7 @@ export class CrawlPendingExclusions extends BtrixElement {
2424
matchedURLs: URLs | null = null;
2525

2626
@state()
27-
private page = parseInt(
28-
new URLSearchParams(location.search).get("page") ?? "1",
29-
);
27+
private page = parsePage(new URLSearchParams(location.search).get("page"));
3028

3129
private get pageSize() {
3230
return 10;

frontend/src/features/collections/collection-items-dialog.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import type {
1717

1818
import { BtrixElement } from "@/classes/BtrixElement";
1919
import type { Dialog } from "@/components/ui/dialog";
20-
import type { PageChangeEvent } from "@/components/ui/pagination";
20+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
2121
import { type CheckboxChangeEventDetail } from "@/features/archived-items/archived-item-list";
2222
import type {
2323
FilterBy,
@@ -695,23 +695,23 @@ export class CollectionItemsDialog extends BtrixElement {
695695

696696
private async initSelection() {
697697
void this.fetchCrawls({
698-
page: parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
698+
page: parsePage(new URLSearchParams(location.search).get("page")),
699699
pageSize: DEFAULT_PAGE_SIZE,
700700
});
701701
void this.fetchUploads({
702-
page: parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
702+
page: parsePage(new URLSearchParams(location.search).get("page")),
703703
pageSize: DEFAULT_PAGE_SIZE,
704704
});
705705
void this.fetchSearchValues();
706706

707707
const [crawls, uploads] = await Promise.all([
708708
this.getCrawls({
709-
page: parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
709+
page: parsePage(new URLSearchParams(location.search).get("page")),
710710
pageSize: COLLECTION_ITEMS_MAX,
711711
collectionId: this.collectionId,
712712
}).then(({ items }) => items),
713713
this.getUploads({
714-
page: parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
714+
page: parsePage(new URLSearchParams(location.search).get("page")),
715715
pageSize: COLLECTION_ITEMS_MAX,
716716
collectionId: this.collectionId,
717717
}).then(({ items }) => items),

frontend/src/features/crawl-workflows/queue-exclusion-table.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import RegexColorize from "regex-colorize";
1111
import type { Exclusion } from "./queue-exclusion-form";
1212

1313
import { TailwindElement } from "@/classes/TailwindElement";
14-
import { type PageChangeEvent } from "@/components/ui/pagination";
14+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1515
import type { SeedConfig } from "@/pages/org/types";
1616
import { regexEscape, regexUnescape } from "@/utils/string";
1717
import { tw } from "@/utils/tailwind";
@@ -90,9 +90,7 @@ export class QueueExclusionTable extends TailwindElement {
9090
private results: Exclusion[] = [];
9191

9292
@state()
93-
private page = parseInt(
94-
new URLSearchParams(location.search).get("page") ?? "1",
95-
);
93+
private page = parsePage(new URLSearchParams(location.search).get("page"));
9694

9795
@state()
9896
private exclusionToRemove?: string;

frontend/src/pages/crawls.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { when } from "lit/directives/when.js";
66
import queryString from "query-string";
77

88
import { BtrixElement } from "@/classes/BtrixElement";
9-
import type { PageChangeEvent } from "@/components/ui/pagination";
9+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1010
import needLogin from "@/decorators/needLogin";
1111
import { CrawlStatus } from "@/features/archived-items/crawl-status";
1212
import type { APIPaginatedList, APIPaginationQuery } from "@/types/api";
@@ -357,7 +357,7 @@ export class Crawls extends BtrixElement {
357357
page:
358358
queryParams?.page ||
359359
this.crawls?.page ||
360-
parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
360+
parsePage(new URLSearchParams(location.search).get("page")),
361361
pageSize: queryParams?.pageSize || this.crawls?.pageSize || 100,
362362
sortBy: this.orderBy.field,
363363
sortDirection: this.orderBy.direction === "desc" ? -1 : 1,

frontend/src/pages/org/archived-item-detail/ui/qa.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import queryString from "query-string";
1515

1616
import { BtrixElement } from "@/classes/BtrixElement";
1717
import { type Dialog } from "@/components/ui/dialog";
18-
import type { PageChangeEvent } from "@/components/ui/pagination";
18+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1919
import { ClipboardController } from "@/controllers/clipboard";
2020
import { iconFor as iconForPageReview } from "@/features/qa/page-list/helpers";
2121
import * as pageApproval from "@/features/qa/page-list/helpers/approval";
@@ -895,7 +895,7 @@ export class ArchivedItemDetailQA extends BtrixElement {
895895
page:
896896
params?.page ??
897897
this.pages?.page ??
898-
parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
898+
parsePage(new URLSearchParams(location.search).get("page")),
899899
pageSize: params?.pageSize ?? this.pages?.pageSize ?? 10,
900900
sortBy,
901901
sortDirection,

frontend/src/pages/org/archived-items.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import queryString from "query-string";
1111
import type { ArchivedItem, Crawl, Workflow } from "./types";
1212

1313
import { BtrixElement } from "@/classes/BtrixElement";
14-
import type { PageChangeEvent } from "@/components/ui/pagination";
14+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1515
import { ClipboardController } from "@/controllers/clipboard";
1616
import { CrawlStatus } from "@/features/archived-items/crawl-status";
1717
import { pageHeader } from "@/layouts/pageHeader";
@@ -92,7 +92,7 @@ export class CrawlsList extends BtrixElement {
9292

9393
@state()
9494
private pagination: Required<APIPaginationQuery> = {
95-
page: parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
95+
page: parsePage(new URLSearchParams(location.search).get("page")),
9696
pageSize: INITIAL_PAGE_SIZE,
9797
};
9898

frontend/src/pages/org/browser-profiles-list.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import type { Profile } from "./types";
1010
import type { SelectNewDialogEvent } from ".";
1111

1212
import { BtrixElement } from "@/classes/BtrixElement";
13-
import type { PageChangeEvent } from "@/components/ui/pagination";
13+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1414
import {
1515
SortDirection,
1616
type SortValues,
@@ -444,7 +444,7 @@ export class BrowserProfilesList extends BtrixElement {
444444
page:
445445
params?.page ||
446446
this.browserProfiles?.page ||
447-
parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
447+
parsePage(new URLSearchParams(location.search).get("page")),
448448
pageSize:
449449
params?.pageSize ||
450450
this.browserProfiles?.pageSize ||

frontend/src/pages/org/collection-detail.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type { Embed as ReplayWebPage } from "replaywebpage";
1212

1313
import { BtrixElement } from "@/classes/BtrixElement";
1414
import type { MarkdownEditor } from "@/components/ui/markdown-editor";
15-
import type { PageChangeEvent } from "@/components/ui/pagination";
15+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1616
import { viewStateContext, type ViewStateContext } from "@/context/view-state";
1717
import { ClipboardController } from "@/controllers/clipboard";
1818
import type { EditDialogTab } from "@/features/collections/collection-edit-dialog";
@@ -130,7 +130,7 @@ export class CollectionDetail extends BtrixElement {
130130
if (changedProperties.has("collectionId")) {
131131
void this.fetchCollection();
132132
void this.fetchArchivedItems({
133-
page: parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
133+
page: parsePage(new URLSearchParams(location.search).get("page")),
134134
});
135135
}
136136
if (changedProperties.has("collectionTab") && this.collectionTab === null) {
@@ -1038,7 +1038,7 @@ export class CollectionDetail extends BtrixElement {
10381038
page:
10391039
params?.page ||
10401040
this.archivedItems?.page ||
1041-
parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
1041+
parsePage(new URLSearchParams(location.search).get("page")),
10421042
pageSize:
10431043
params?.pageSize ||
10441044
this.archivedItems?.pageSize ||

frontend/src/pages/org/collections-list.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import queryString from "query-string";
1212
import type { SelectNewDialogEvent } from ".";
1313

1414
import { BtrixElement } from "@/classes/BtrixElement";
15-
import type { PageChangeEvent } from "@/components/ui/pagination";
15+
import { parsePage, type PageChangeEvent } from "@/components/ui/pagination";
1616
import { ClipboardController } from "@/controllers/clipboard";
1717
import type { CollectionSavedEvent } from "@/features/collections/collection-create-dialog";
1818
import { SelectCollectionAccess } from "@/features/collections/select-collection-access";
@@ -760,7 +760,7 @@ export class CollectionsList extends BtrixElement {
760760
page:
761761
queryParams?.page ||
762762
this.collections?.page ||
763-
parseInt(new URLSearchParams(location.search).get("page") ?? "1"),
763+
parsePage(new URLSearchParams(location.search).get("page")),
764764
pageSize:
765765
queryParams?.pageSize ||
766766
this.collections?.pageSize ||

0 commit comments

Comments
 (0)