mirror of
https://github.com/umami-software/umami.git
synced 2026-02-07 06:07:17 +01:00
Merge branch 'dev' into feat/ume-660-implement-visitor-id
This commit is contained in:
commit
12cec94fd4
45 changed files with 755 additions and 654 deletions
|
|
@ -69,6 +69,8 @@ function mapFilter(column: string, filter: string, name: string, type: string =
|
|||
return `${column} != {${name}:${type}}`;
|
||||
case OPERATORS.contains:
|
||||
return `positionCaseInsensitive(${column}, {${name}:${type}}) > 0`;
|
||||
case OPERATORS.doesNotContain:
|
||||
return `positionCaseInsensitive(${column}, {${name}:${type}}) = 0`;
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ export const URL_LENGTH = 500;
|
|||
export const PAGE_TITLE_LENGTH = 500;
|
||||
export const EVENT_NAME_LENGTH = 50;
|
||||
|
||||
export const UTM_PARAMS = ['source', 'medium', 'campaign', 'term', 'content'];
|
||||
export const UTM_PARAMS = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
|
||||
|
||||
export const DESKTOP_OS = [
|
||||
'BeOS',
|
||||
|
|
|
|||
127
src/lib/date.ts
127
src/lib/date.ts
|
|
@ -151,105 +151,50 @@ export function parseDateRange(value: string | object, locale = 'en-US'): DateRa
|
|||
const dateLocale = getDateLocale(locale);
|
||||
const { num, unit } = parseDateValue(value);
|
||||
|
||||
if (num === 1) {
|
||||
switch (unit) {
|
||||
case 'day':
|
||||
return {
|
||||
startDate: startOfDay(now),
|
||||
endDate: endOfDay(now),
|
||||
unit: 'hour',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
case 'week':
|
||||
return {
|
||||
startDate: startOfWeek(now, { locale: dateLocale }),
|
||||
endDate: endOfWeek(now, { locale: dateLocale }),
|
||||
unit: 'day',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
case 'month':
|
||||
return {
|
||||
startDate: startOfMonth(now),
|
||||
endDate: endOfMonth(now),
|
||||
unit: 'day',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
case 'year':
|
||||
return {
|
||||
startDate: startOfYear(now),
|
||||
endDate: endOfYear(now),
|
||||
unit: 'month',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (num === -1) {
|
||||
switch (unit) {
|
||||
case 'day':
|
||||
return {
|
||||
startDate: subDays(startOfDay(now), 1),
|
||||
endDate: subDays(endOfDay(now), 1),
|
||||
unit: 'hour',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
case 'week':
|
||||
return {
|
||||
startDate: subDays(startOfWeek(now, { locale: dateLocale }), 7),
|
||||
endDate: subDays(endOfWeek(now, { locale: dateLocale }), 1),
|
||||
unit: 'day',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
case 'month':
|
||||
return {
|
||||
startDate: subMonths(startOfMonth(now), 1),
|
||||
endDate: subMonths(endOfMonth(now), 1),
|
||||
unit: 'day',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
case 'year':
|
||||
return {
|
||||
startDate: subYears(startOfYear(now), 1),
|
||||
endDate: subYears(endOfYear(now), 1),
|
||||
unit: 'month',
|
||||
num: +num,
|
||||
offset: 0,
|
||||
value,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
switch (unit) {
|
||||
case 'day':
|
||||
case 'hour':
|
||||
return {
|
||||
startDate: subDays(startOfDay(now), +num - 1),
|
||||
endDate: endOfDay(now),
|
||||
num: +num,
|
||||
startDate: subHours(startOfHour(now), num),
|
||||
endDate: endOfHour(now),
|
||||
offset: 0,
|
||||
num: num || 1,
|
||||
unit,
|
||||
value,
|
||||
};
|
||||
case 'hour':
|
||||
case 'day':
|
||||
return {
|
||||
startDate: subHours(startOfHour(now), +num - 1),
|
||||
endDate: endOfHour(now),
|
||||
num: +num,
|
||||
startDate: subDays(startOfDay(now), num),
|
||||
endDate: subDays(endOfDay(now), num ? 1 : 0),
|
||||
unit: num ? 'day' : 'hour',
|
||||
offset: 0,
|
||||
unit,
|
||||
num: num || 1,
|
||||
value,
|
||||
};
|
||||
case 'week':
|
||||
return {
|
||||
startDate: subWeeks(startOfWeek(now, { locale: dateLocale }), num),
|
||||
endDate: subWeeks(endOfWeek(now, { locale: dateLocale }), num),
|
||||
unit: 'day',
|
||||
offset: 0,
|
||||
num: num || 1,
|
||||
value,
|
||||
};
|
||||
case 'month':
|
||||
return {
|
||||
startDate: subMonths(startOfMonth(now), num),
|
||||
endDate: subMonths(endOfMonth(now), num ? 1 : 0),
|
||||
unit: num ? 'month' : 'day',
|
||||
offset: 0,
|
||||
num: num || 1,
|
||||
value,
|
||||
};
|
||||
case 'year':
|
||||
return {
|
||||
startDate: subYears(startOfYear(now), num),
|
||||
endDate: subYears(endOfYear(now), num),
|
||||
unit: 'month',
|
||||
offset: 0,
|
||||
num: num || 1,
|
||||
value,
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,8 @@ function mapFilter(column: string, filter: string, name: string, type = 'varchar
|
|||
return `${column} != {{${name}::${type}}}`;
|
||||
case OPERATORS.contains:
|
||||
return `${column} like {{${name}::${type}}}`;
|
||||
case OPERATORS.doesNotContain:
|
||||
return `${column} not like {{${name}::${type}}}`;
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue