Fixed editing and navigation issues.

This commit is contained in:
Mike Cao 2025-07-13 00:37:43 -07:00
parent bf6c9395c6
commit 8c26e310f7
52 changed files with 118 additions and 122 deletions

View file

@ -66,7 +66,7 @@ export function getRequestDateRange(query: Record<string, string>) {
};
}
export async function getRequestFilters(query: Record<string, any>, websiteId?: string) {
export function getRequestFilters(query: Record<string, any>) {
const result: Record<string, any> = {};
for (const key of Object.keys(FILTER_COLUMNS)) {
@ -76,20 +76,17 @@ export async function getRequestFilters(query: Record<string, any>, websiteId?:
}
}
return result;
}
export async function getRequestSegments(websiteId: string, query: Record<string, any>) {
for (const key of Object.keys(FILTER_GROUPS)) {
const value = query[key];
if (value !== undefined) {
const segment = await getWebsiteSegment(websiteId, key, value);
if (key === 'segment') {
// merge filters into result
Object.assign(result, segment.parameters);
} else {
result[key] = segment.parameters;
}
return getWebsiteSegment(websiteId, key, value);
}
}
return result;
}
export async function setWebsiteDate(websiteId: string, data: Record<string, any>) {
@ -102,13 +99,18 @@ export async function setWebsiteDate(websiteId: string, data: Record<string, any
return data;
}
export function getQueryFilters(params: Record<string, any>): QueryFilters {
const dateRange = getRequestDateRange(params);
export async function getQueryFilters(
params: Record<string, any>,
websiteId?: string,
): Promise<QueryFilters> {
const dateRange = await setWebsiteDate(websiteId, getRequestDateRange(params));
const filters = getRequestFilters(params);
const segments = await getRequestSegments(websiteId, params);
return {
...dateRange,
...filters,
...segments,
page: params?.page,
pageSize: params?.page ? params?.pageSize || DEFAULT_PAGE_SIZE : undefined,
orderBy: params?.orderBy,

View file

@ -71,6 +71,9 @@ export interface FilterParams {
search?: string;
tag?: string;
eventType?: number;
segment?: string;
cohort?: string;
compare?: string;
}
export interface SortParams {