refactor Property components to be resused for both session/event data. Implement session-data screens + filtering. Remove all event-data specific compoenents/queries
This commit is contained in:
1 parent
9da332c489
commit
680a1ca1a2
71 files changed
+2814
-958
No files matched your search
@@ -1,17 +1,36 @@
|
||||
import type { ReactQueryOptions } from '@/lib/types';
|
||||
import { serializePropertyFilters } from '@/lib/params';
|
||||
import type { PropertyFilter } from '@/lib/types';
|
||||
import { useApi } from '../useApi';
|
||||
import { useDateParameters } from '../useDateParameters';
|
||||
import { useFilterParameters } from '../useFilterParameters';
|
||||
|
||||
export function useSessionDataPropertiesQuery(websiteId: string, options?: ReactQueryOptions) {
|
||||
export function useSessionDataPropertiesQuery(
|
||||
websiteId: string,
|
||||
params?: {
|
||||
selectedPropertyName?: string;
|
||||
propertyFilters?: PropertyFilter[];
|
||||
},
|
||||
options?: ReactQueryOptions,
|
||||
) {
|
||||
const { get, useQuery } = useApi();
|
||||
const { startAt, endAt, unit, timezone } = useDateParameters();
|
||||
const filters = useFilterParameters();
|
||||
const filters = useFilterParameters({ includePagination: false });
|
||||
const { selectedPropertyName, propertyFilters = [] } = params || {};
|
||||
|
||||
return useQuery<any>({
|
||||
queryKey: [
|
||||
'websites:session-data:properties',
|
||||
{ websiteId, startAt, endAt, unit, timezone, ...filters },
|
||||
{
|
||||
websiteId,
|
||||
selectedPropertyName,
|
||||
propertyFilters,
|
||||
startAt,
|
||||
endAt,
|
||||
unit,
|
||||
timezone,
|
||||
...filters,
|
||||
},
|
||||
],
|
||||
queryFn: () =>
|
||||
get(`/websites/${websiteId}/session-data/properties`, {
|
||||
@@ -19,6 +38,8 @@ export function useSessionDataPropertiesQuery(websiteId: string, options?: React
|
||||
endAt,
|
||||
unit,
|
||||
timezone,
|
||||
selectedPropertyName,
|
||||
...serializePropertyFilters(propertyFilters),
|
||||
...filters,
|
||||
}),
|
||||
enabled: !!websiteId,
|
||||
|
||||
Reference in new issue
Block a user