mirror of
https://github.com/umami-software/umami.git
synced 2025-12-06 01:18:00 +01:00
Save name after website select. Fixed types.
This commit is contained in:
parent
3496952769
commit
c5994e5eb6
19 changed files with 29 additions and 22 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@umami/components",
|
"name": "@umami/components",
|
||||||
"version": "0.127.0",
|
"version": "0.128.0",
|
||||||
"description": "Umami React components.",
|
"description": "Umami React components.",
|
||||||
"author": "Mike Cao <mike@mikecao.com>",
|
"author": "Mike Cao <mike@mikecao.com>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { ReactQueryOptions } from '@/lib/types';
|
||||||
|
|
||||||
export function useEventDataEventsQuery(websiteId: string, options?: ReactQueryOptions) {
|
export function useEventDataEventsQuery(websiteId: string, options?: ReactQueryOptions) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { ReactQueryOptions } from '@/lib/types';
|
||||||
|
|
||||||
export function useEventDataPropertiesQuery(websiteId: string, options?: ReactQueryOptions) {
|
export function useEventDataPropertiesQuery(websiteId: string, options?: ReactQueryOptions) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<any>({
|
return useQuery<any>({
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { ReactQueryOptions } from '@/lib/types';
|
||||||
|
|
||||||
export function useEventDataQuery(websiteId: string, eventId: string, options?: ReactQueryOptions) {
|
export function useEventDataQuery(websiteId: string, eventId: string, options?: ReactQueryOptions) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const params = useFilterParameters();
|
const params = useFilterParameters();
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ export function useEventDataValuesQuery(
|
||||||
options?: ReactQueryOptions,
|
options?: ReactQueryOptions,
|
||||||
) {
|
) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<any>({
|
return useQuery<any>({
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ export function useResultQuery<T = any>(
|
||||||
) {
|
) {
|
||||||
const { websiteId, ...parameters } = params;
|
const { websiteId, ...parameters } = params;
|
||||||
const { post, useQuery } = useApi();
|
const { post, useQuery } = useApi();
|
||||||
const { startDate, endDate, timezone } = useDateParameters(websiteId);
|
const { startDate, endDate, timezone } = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<T>({
|
return useQuery<T>({
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { ReactQueryOptions } from '@/lib/types';
|
||||||
|
|
||||||
export function useSessionDataPropertiesQuery(websiteId: string, options?: ReactQueryOptions) {
|
export function useSessionDataPropertiesQuery(websiteId: string, options?: ReactQueryOptions) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<any>({
|
return useQuery<any>({
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ export function useSessionDataValuesQuery(
|
||||||
options?: ReactQueryOptions,
|
options?: ReactQueryOptions,
|
||||||
) {
|
) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<any>({
|
return useQuery<any>({
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ export function useWebsiteEventsQuery(
|
||||||
options?: ReactQueryOptions,
|
options?: ReactQueryOptions,
|
||||||
) {
|
) {
|
||||||
const { get } = useApi();
|
const { get } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return usePagedQuery({
|
return usePagedQuery({
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { ReactQueryOptions } from '@/lib/types';
|
||||||
|
|
||||||
export function useWebsiteEventsSeriesQuery(websiteId: string, options?: ReactQueryOptions) {
|
export function useWebsiteEventsSeriesQuery(websiteId: string, options?: ReactQueryOptions) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ export function useWebsiteExpandedMetricsQuery(
|
||||||
options?: ReactQueryOptions<WebsiteExpandedMetricsData>,
|
options?: ReactQueryOptions<WebsiteExpandedMetricsData>,
|
||||||
) {
|
) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<WebsiteExpandedMetricsData>({
|
return useQuery<WebsiteExpandedMetricsData>({
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ export function useWebsiteMetricsQuery(
|
||||||
options?: ReactQueryOptions<WebsiteMetricsData>,
|
options?: ReactQueryOptions<WebsiteMetricsData>,
|
||||||
) {
|
) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<WebsiteMetricsData>({
|
return useQuery<WebsiteMetricsData>({
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ export function useWebsitePageviewsQuery(
|
||||||
options?: ReactQueryOptions<WebsitePageviewsData>,
|
options?: ReactQueryOptions<WebsitePageviewsData>,
|
||||||
) {
|
) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const queryParams = useFilterParameters();
|
const queryParams = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<WebsitePageviewsData>({
|
return useQuery<WebsitePageviewsData>({
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { useDateParameters } from '../useDateParameters';
|
||||||
|
|
||||||
export function useWebsiteSessionStatsQuery(websiteId: string, options?: Record<string, string>) {
|
export function useWebsiteSessionStatsQuery(websiteId: string, options?: Record<string, string>) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ export function useWebsiteSessionsQuery(
|
||||||
) {
|
) {
|
||||||
const { get } = useApi();
|
const { get } = useApi();
|
||||||
const { modified } = useModified(`sessions`);
|
const { modified } = useModified(`sessions`);
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return usePagedQuery({
|
return usePagedQuery({
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ export function useWebsiteStatsQuery(
|
||||||
options?: UseQueryOptions<WebsiteStatsData, Error, WebsiteStatsData>,
|
options?: UseQueryOptions<WebsiteStatsData, Error, WebsiteStatsData>,
|
||||||
) {
|
) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery<WebsiteStatsData>({
|
return useQuery<WebsiteStatsData>({
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { useFilterParameters } from '@/components/hooks/useFilterParameters';
|
||||||
export function useWeeklyTrafficQuery(websiteId: string, params?: Record<string, string | number>) {
|
export function useWeeklyTrafficQuery(websiteId: string, params?: Record<string, string | number>) {
|
||||||
const { get, useQuery } = useApi();
|
const { get, useQuery } = useApi();
|
||||||
const { modified } = useModified(`sessions`);
|
const { modified } = useModified(`sessions`);
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
|
|
||||||
return useQuery({
|
return useQuery({
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { useFilterParameters } from '@/components/hooks/useFilterParameters';
|
||||||
export function ExportButton({ websiteId }: { websiteId: string }) {
|
export function ExportButton({ websiteId }: { websiteId: string }) {
|
||||||
const { formatMessage, labels } = useMessages();
|
const { formatMessage, labels } = useMessages();
|
||||||
const [isLoading, setIsLoading] = useState(false);
|
const [isLoading, setIsLoading] = useState(false);
|
||||||
const date = useDateParameters(websiteId);
|
const date = useDateParameters();
|
||||||
const filters = useFilterParameters();
|
const filters = useFilterParameters();
|
||||||
const searchParams = useSearchParams();
|
const searchParams = useSearchParams();
|
||||||
const { get } = useApi();
|
const { get } = useApi();
|
||||||
|
|
|
||||||
|
|
@ -14,14 +14,16 @@ export function WebsiteSelect({
|
||||||
teamId?: string;
|
teamId?: string;
|
||||||
includeTeams?: boolean;
|
includeTeams?: boolean;
|
||||||
} & SelectProps) {
|
} & SelectProps) {
|
||||||
const website = useWebsite();
|
|
||||||
const { formatMessage, messages } = useMessages();
|
const { formatMessage, messages } = useMessages();
|
||||||
|
const website = useWebsite();
|
||||||
|
const [name, setName] = useState<string>(website?.name);
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const { user } = useLoginQuery();
|
const { user } = useLoginQuery();
|
||||||
const { data, isLoading } = useUserWebsitesQuery(
|
const { data, isLoading } = useUserWebsitesQuery(
|
||||||
{ userId: user?.id, teamId },
|
{ userId: user?.id, teamId },
|
||||||
{ search, pageSize: 10, includeTeams },
|
{ search, pageSize: 10, includeTeams },
|
||||||
);
|
);
|
||||||
|
const listItems: { id: string; name: string }[] = data?.['data'] || [];
|
||||||
|
|
||||||
const handleSearch = (value: string) => {
|
const handleSearch = (value: string) => {
|
||||||
setSearch(value);
|
setSearch(value);
|
||||||
|
|
@ -31,10 +33,15 @@ export function WebsiteSelect({
|
||||||
setSearch('');
|
setSearch('');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const handleChange = (id: string) => {
|
||||||
|
setName(listItems.find(item => item.id === id)?.name);
|
||||||
|
onChange(id);
|
||||||
|
};
|
||||||
|
|
||||||
const renderValue = () => {
|
const renderValue = () => {
|
||||||
return (
|
return (
|
||||||
<Row maxWidth="160px">
|
<Row maxWidth="160px">
|
||||||
<Text truncate>{website.name}</Text>
|
<Text truncate>{name}</Text>
|
||||||
</Row>
|
</Row>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
@ -42,13 +49,13 @@ export function WebsiteSelect({
|
||||||
return (
|
return (
|
||||||
<Select
|
<Select
|
||||||
{...props}
|
{...props}
|
||||||
items={data?.['data'] || []}
|
items={listItems}
|
||||||
value={websiteId}
|
value={websiteId}
|
||||||
isLoading={isLoading}
|
isLoading={isLoading}
|
||||||
allowSearch={true}
|
allowSearch={true}
|
||||||
searchValue={search}
|
searchValue={search}
|
||||||
onSearch={handleSearch}
|
onSearch={handleSearch}
|
||||||
onChange={onChange}
|
onChange={handleChange}
|
||||||
onOpenChange={handleOpenChange}
|
onOpenChange={handleOpenChange}
|
||||||
renderValue={renderValue}
|
renderValue={renderValue}
|
||||||
listProps={{
|
listProps={{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue