mirror of
https://github.com/BillyOutlast/posthog.git
synced 2026-02-04 03:01:23 +01:00
fix: url to state filters (#41451)
This commit is contained in:
committed by
GitHub
parent
0cede9141b
commit
d64e8edcfd
@@ -7,7 +7,7 @@ import { ErrorTrackingIssueFilteringToolOutput } from '~/queries/schema/schema-g
|
||||
import { FilterLogicalOperator, UniversalFiltersGroup } from '~/types'
|
||||
|
||||
import { errorTrackingSceneLogic } from '../scenes/ErrorTrackingScene/errorTrackingSceneLogic'
|
||||
import { taxonomicFilterLogicKey, taxonomicGroupTypes } from './IssueFilters/FilterGroup'
|
||||
import { TAXONOMIC_FILTER_LOGIC_KEY, TAXONOMIC_GROUP_TYPES } from './IssueFilters/consts'
|
||||
import { issueFiltersLogic } from './IssueFilters/issueFiltersLogic'
|
||||
import { issueQueryOptionsLogic } from './IssueQueryOptions/issueQueryOptionsLogic'
|
||||
|
||||
@@ -68,8 +68,8 @@ export function ErrorTrackingIssueFilteringTool(): JSX.Element {
|
||||
const { filterGroup } = useValues(issueFiltersLogic)
|
||||
const { setSearchQuery } = useActions(
|
||||
taxonomicFilterLogic({
|
||||
taxonomicFilterLogicKey: taxonomicFilterLogicKey,
|
||||
taxonomicGroupTypes: taxonomicGroupTypes,
|
||||
taxonomicFilterLogicKey: TAXONOMIC_FILTER_LOGIC_KEY,
|
||||
taxonomicGroupTypes: TAXONOMIC_GROUP_TYPES,
|
||||
})
|
||||
)
|
||||
|
||||
|
||||
@@ -15,28 +15,19 @@ import { useOnMountEffect } from 'lib/hooks/useOnMountEffect'
|
||||
|
||||
import { FilterLogicalOperator, PropertyFilterType, UniversalFiltersGroup } from '~/types'
|
||||
|
||||
import { TAXONOMIC_FILTER_LOGIC_KEY, TAXONOMIC_GROUP_TYPES } from './consts'
|
||||
import { issueFiltersLogic } from './issueFiltersLogic'
|
||||
|
||||
export const taxonomicFilterLogicKey = 'error-tracking'
|
||||
export const taxonomicGroupTypes = [
|
||||
TaxonomicFilterGroupType.ErrorTrackingProperties,
|
||||
TaxonomicFilterGroupType.ErrorTrackingIssues,
|
||||
TaxonomicFilterGroupType.EventProperties,
|
||||
TaxonomicFilterGroupType.PersonProperties,
|
||||
TaxonomicFilterGroupType.Cohorts,
|
||||
TaxonomicFilterGroupType.HogQLExpression,
|
||||
]
|
||||
|
||||
export const FilterGroup = (): JSX.Element => {
|
||||
const { filterGroup } = useValues(issueFiltersLogic)
|
||||
const { setFilterGroup } = useActions(issueFiltersLogic)
|
||||
|
||||
return (
|
||||
<UniversalFilters
|
||||
rootKey={taxonomicFilterLogicKey}
|
||||
rootKey={TAXONOMIC_FILTER_LOGIC_KEY}
|
||||
group={filterGroup.values[0] as UniversalFiltersGroup}
|
||||
// TODO: Probably makes sense to create a new taxonomic group for exception-specific event property filters only, keep it clean.
|
||||
taxonomicGroupTypes={taxonomicGroupTypes}
|
||||
taxonomicGroupTypes={TAXONOMIC_GROUP_TYPES}
|
||||
onChange={(group) => setFilterGroup({ type: FilterLogicalOperator.And, values: [group] })}
|
||||
>
|
||||
<UniversalSearch />
|
||||
@@ -59,8 +50,8 @@ const UniversalSearch = (): JSX.Element => {
|
||||
}
|
||||
|
||||
const taxonomicFilterLogicProps: TaxonomicFilterLogicProps = {
|
||||
taxonomicFilterLogicKey,
|
||||
taxonomicGroupTypes,
|
||||
taxonomicFilterLogicKey: TAXONOMIC_FILTER_LOGIC_KEY,
|
||||
taxonomicGroupTypes: TAXONOMIC_GROUP_TYPES,
|
||||
onChange: (taxonomicGroup, value, item, originalQuery) => {
|
||||
searchInputRef.current?.blur()
|
||||
setVisible(false)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { TaxonomicFilterGroupType } from 'lib/components/TaxonomicFilter/types'
|
||||
|
||||
export const TAXONOMIC_FILTER_LOGIC_KEY = 'error-tracking'
|
||||
export const TAXONOMIC_GROUP_TYPES = [
|
||||
TaxonomicFilterGroupType.ErrorTrackingProperties,
|
||||
TaxonomicFilterGroupType.ErrorTrackingIssues,
|
||||
TaxonomicFilterGroupType.EventProperties,
|
||||
TaxonomicFilterGroupType.PersonProperties,
|
||||
TaxonomicFilterGroupType.Cohorts,
|
||||
TaxonomicFilterGroupType.HogQLExpression,
|
||||
]
|
||||
@@ -1,13 +1,15 @@
|
||||
import equal from 'fast-deep-equal'
|
||||
import { actions, kea, key, path, props, reducers } from 'kea'
|
||||
import { actions, connect, kea, key, path, props, reducers } from 'kea'
|
||||
import { actionToUrl, router, urlToAction } from 'kea-router'
|
||||
|
||||
import { taxonomicFilterLogic } from 'lib/components/TaxonomicFilter/taxonomicFilterLogic'
|
||||
import { Params } from 'scenes/sceneTypes'
|
||||
|
||||
import { DateRange } from '~/queries/schema/schema-general'
|
||||
import { FilterLogicalOperator, UniversalFiltersGroup } from '~/types'
|
||||
|
||||
import { syncSearchParams, updateSearchParams } from '../../utils'
|
||||
import { TAXONOMIC_FILTER_LOGIC_KEY, TAXONOMIC_GROUP_TYPES } from './consts'
|
||||
import type { issueFiltersLogicType } from './issueFiltersLogicType'
|
||||
|
||||
const DEFAULT_DATE_RANGE = { date_from: '-7d', date_to: null }
|
||||
@@ -27,6 +29,16 @@ export const issueFiltersLogic = kea<issueFiltersLogicType>([
|
||||
props({} as IssueFiltersLogicProps),
|
||||
key(({ logicKey }) => logicKey),
|
||||
|
||||
connect(() => ({
|
||||
actions: [
|
||||
taxonomicFilterLogic({
|
||||
taxonomicFilterLogicKey: TAXONOMIC_FILTER_LOGIC_KEY,
|
||||
taxonomicGroupTypes: TAXONOMIC_GROUP_TYPES,
|
||||
}),
|
||||
['setSearchQuery as setTaxonomicSearchQuery'],
|
||||
],
|
||||
})),
|
||||
|
||||
actions({
|
||||
setDateRange: (dateRange: DateRange) => ({ dateRange }),
|
||||
setSearchQuery: (searchQuery: string) => ({ searchQuery }),
|
||||
@@ -76,6 +88,7 @@ export const issueFiltersLogic = kea<issueFiltersLogicType>([
|
||||
}
|
||||
if (params.searchQuery && !equal(params.searchQuery, values.searchQuery)) {
|
||||
actions.setSearchQuery(params.searchQuery)
|
||||
actions.setTaxonomicSearchQuery(params.searchQuery)
|
||||
}
|
||||
}
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user