fix(api): autocomplete for city and state
This commit is contained in:
parent
00d14c20bb
commit
42c7935f80
5 changed files with 17 additions and 0 deletions
|
|
@ -15,6 +15,12 @@ SUPPORTED_TYPES = {
|
|||
schemas.FilterType.user_country: SupportedFilter(
|
||||
get=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_country),
|
||||
query=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_country)),
|
||||
schemas.FilterType.user_city: SupportedFilter(
|
||||
get=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_city),
|
||||
query=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_city)),
|
||||
schemas.FilterType.user_state: SupportedFilter(
|
||||
get=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_state),
|
||||
query=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_state)),
|
||||
schemas.FilterType.user_id: SupportedFilter(
|
||||
get=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_id),
|
||||
query=autocomplete.__generic_autocomplete_metas(typename=schemas.FilterType.user_id)),
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ export default class Session {
|
|||
userDeviceType: string = ""
|
||||
userCountry: string = ""
|
||||
userCity: string = ""
|
||||
userState: string = ""
|
||||
eventsCount: number = 0
|
||||
userNumericHash: number = 0
|
||||
userDisplayName: string = ""
|
||||
|
|
@ -57,6 +58,7 @@ export default class Session {
|
|||
this.eventsCount = session.eventsCount
|
||||
this.userCountry = session.userCountry
|
||||
this.userCity = session.userCity
|
||||
this.userState = session.userState
|
||||
this.userNumericHash = hashString(session.userId || session.userAnonymousId || session.userUuid || session.userID || session.userUUID || "")
|
||||
this.userDisplayName = session.userId || session.userAnonymousId || session.userID || 'Anonymous User'
|
||||
})
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ export const setQueryParamKeyFromFilterkey = (filterKey: string) => {
|
|||
return 'country';
|
||||
case FilterKey.USER_CITY:
|
||||
return 'city';
|
||||
case FilterKey.USER_STATE:
|
||||
return 'state';
|
||||
case FilterKey.REFERRER:
|
||||
return 'ref';
|
||||
case FilterKey.CUSTOM:
|
||||
|
|
@ -102,6 +104,9 @@ export const getFilterKeyTypeByKey = (key: string) => {
|
|||
case 'city':
|
||||
case 'userCity':
|
||||
return FilterKey.USER_CITY;
|
||||
case 'state':
|
||||
case 'userState':
|
||||
return FilterKey.USER_STATE;
|
||||
case 'ref':
|
||||
case 'referrer':
|
||||
return FilterKey.REFERRER;
|
||||
|
|
@ -203,6 +208,7 @@ export enum FilterKey {
|
|||
REFERRER = 'referrer',
|
||||
USER_COUNTRY = 'userCountry',
|
||||
USER_CITY = 'userCity',
|
||||
USER_STATE = 'userState',
|
||||
JOURNEY = 'journey',
|
||||
REQUEST = 'request',
|
||||
GRAPHQL = 'graphql',
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ export const filters = [
|
|||
{ key: FilterKey.DURATION, type: FilterType.DURATION, category: FilterCategory.RECORDING_ATTRIBUTES, label: 'Duration', operator: 'is', operatorOptions: filterOptions.getOperatorsByKeys(['is']), icon: 'filters/duration' },
|
||||
{ key: FilterKey.USER_COUNTRY, type: FilterType.MULTIPLE_DROPDOWN, category: FilterCategory.USER, label: 'User Country', operator: 'is', operatorOptions: filterOptions.getOperatorsByKeys(['is', 'isAny', 'isNot']), icon: 'filters/country', options: countryOptions },
|
||||
{ key: FilterKey.USER_CITY, type: FilterType.MULTIPLE, category: FilterCategory.USER, label: 'User City', operator: 'is', operatorOptions: filterOptions.getOperatorsByKeys(['is', 'isAny', 'isNot']), icon: 'filters/country', options: countryOptions },
|
||||
{ key: FilterKey.USER_STATE, type: FilterType.MULTIPLE, category: FilterCategory.USER, label: 'User State', operator: 'is', operatorOptions: filterOptions.getOperatorsByKeys(['is', 'isAny', 'isNot']), icon: 'filters/country', options: countryOptions },
|
||||
// { key: FilterKey.CONSOLE, type: FilterType.MULTIPLE, category: FilterCategory.JAVASCRIPT, label: 'Console', operator: 'is', operatorOptions: filterOptions.stringOperators, icon: 'filters/console' },
|
||||
{ key: FilterKey.USERID, type: FilterType.MULTIPLE, category: FilterCategory.USER, label: 'User Id', placeholder: 'E.g. Alex, or alex@domain.com, or EMP123', operator: 'is', operatorOptions: filterOptions.stringOperators.concat([{ label: 'is undefined', value: 'isUndefined'}]), icon: 'filters/userid' },
|
||||
{ key: FilterKey.USERANONYMOUSID, type: FilterType.MULTIPLE, category: FilterCategory.USER, label: 'User AnonymousId', operator: 'is', operatorOptions: filterOptions.stringOperators, icon: 'filters/userid' },
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ export interface ISession {
|
|||
userBrowserVersion: string;
|
||||
userCountry: string;
|
||||
userCity: string;
|
||||
userState: string;
|
||||
userDevice: string;
|
||||
userDeviceType: string;
|
||||
isMobile: boolean;
|
||||
|
|
@ -162,6 +163,7 @@ export default class Session {
|
|||
userBrowserVersion: ISession['userBrowserVersion'];
|
||||
userCountry: ISession['userCountry'];
|
||||
userCity: ISession['userCity'];
|
||||
userState: ISession['userState'];
|
||||
userDevice: ISession['userDevice'];
|
||||
userDeviceType: ISession['userDeviceType'];
|
||||
isMobile: ISession['isMobile'];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue