mirror of
https://github.com/LukeHagar/idn-admin-console.git
synced 2025-12-08 20:47:44 +00:00
Type changes and coercions, spelling, @ts, and @eslint fixes
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
import { goto } from '$app/navigation';
|
||||
|
||||
export function formatDate(date: string | null | undefined) {
|
||||
if (!date) return 'N/A';
|
||||
return new Date(date).toLocaleString();
|
||||
}
|
||||
|
||||
export function getOffset(url: URL) {
|
||||
return url.searchParams.get('offset') || '0';
|
||||
}
|
||||
|
||||
export function getLimit(url: URL) {
|
||||
return url.searchParams.get('limit') || '10';
|
||||
}
|
||||
@@ -25,10 +23,60 @@ export function getPage(url: URL) {
|
||||
|
||||
export function getPaginationParams(url: URL) {
|
||||
return {
|
||||
offset: getOffset(url),
|
||||
limit: getLimit(url),
|
||||
page: getPage(url),
|
||||
filters: getFilters(url),
|
||||
sorters: getSorters(url)
|
||||
};
|
||||
}
|
||||
|
||||
type PaginationParams = {
|
||||
limit: string;
|
||||
page: string;
|
||||
filters: string;
|
||||
sorters: string;
|
||||
};
|
||||
|
||||
export function createOnPageChange(params: PaginationParams, path: string) {
|
||||
return function onPageChange(e: CustomEvent): void {
|
||||
const urlParams = new URLSearchParams();
|
||||
urlParams.set('page', e.detail);
|
||||
urlParams.set('limit', params.limit);
|
||||
urlParams.set('sorters', params.sorters);
|
||||
urlParams.set('filters', params.filters);
|
||||
|
||||
console.log(`${path}?${urlParams.toString()}`);
|
||||
|
||||
goto(`${path}?${urlParams.toString()}`);
|
||||
};
|
||||
}
|
||||
|
||||
export function createOnAmountChange(params: PaginationParams, path: string) {
|
||||
return function onAmountChange(e: CustomEvent): void {
|
||||
const urlParams = new URLSearchParams();
|
||||
urlParams.set('page', params.page);
|
||||
urlParams.set('limit', e.detail);
|
||||
urlParams.set('sorters', params.sorters);
|
||||
urlParams.set('filters', params.filters);
|
||||
|
||||
console.log(`${path}?${urlParams.toString()}`);
|
||||
|
||||
goto(`${path}?${urlParams.toString()}`);
|
||||
};
|
||||
}
|
||||
|
||||
export function createOnGo(params: PaginationParams, path: string) {
|
||||
return function onGo(e: KeyboardEvent | MouseEvent): void {
|
||||
if (e.type !== 'click' && (e as KeyboardEvent).key !== 'Enter') return;
|
||||
|
||||
const urlParams = new URLSearchParams();
|
||||
urlParams.set('page', params.page);
|
||||
urlParams.set('limit', params.limit);
|
||||
urlParams.set('sorters', params.sorters);
|
||||
urlParams.set('filters', params.filters);
|
||||
|
||||
console.log(`${path}?${urlParams.toString()}`);
|
||||
|
||||
goto(`${path}?${urlParams.toString()}`);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user