fix: url to state filters (#41451)

This commit is contained in:
Aleksander Błaszkiewicz
2025-11-13 16:04:41 +01:00
committed by GitHub
parent 0cede9141b
commit d64e8edcfd
4 changed files with 33 additions and 18 deletions

View File

@@ -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,
})
)

View File

@@ -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)

View File

@@ -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,
]

View File

@@ -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 {