|
@@ -41,7 +41,7 @@ import {SpanOperationBreakdownFilter} from 'app/views/performance/transactionSum
|
|
import {EventsDisplayFilterName} from 'app/views/performance/transactionSummary/transactionEvents/utils';
|
|
import {EventsDisplayFilterName} from 'app/views/performance/transactionSummary/transactionEvents/utils';
|
|
|
|
|
|
import {statsPeriodToDays} from '../dates';
|
|
import {statsPeriodToDays} from '../dates';
|
|
-import {QueryResults, tokenizeSearch} from '../tokenizeSearch';
|
|
|
|
|
|
+import {MutableSearch} from '../tokenizeSearch';
|
|
|
|
|
|
import {getSortField} from './fieldRenderers';
|
|
import {getSortField} from './fieldRenderers';
|
|
import {
|
|
import {
|
|
@@ -274,7 +274,7 @@ class EventView {
|
|
interval: string | undefined;
|
|
interval: string | undefined;
|
|
expired?: boolean;
|
|
expired?: boolean;
|
|
createdBy: User | undefined;
|
|
createdBy: User | undefined;
|
|
- additionalConditions: QueryResults; // This allows views to always add additional conditins to the query to get specific data. It should not show up in the UI unless explicitly called.
|
|
|
|
|
|
+ additionalConditions: MutableSearch; // This allows views to always add additional conditins to the query to get specific data. It should not show up in the UI unless explicitly called.
|
|
|
|
|
|
constructor(props: {
|
|
constructor(props: {
|
|
id: string | undefined;
|
|
id: string | undefined;
|
|
@@ -293,7 +293,7 @@ class EventView {
|
|
interval?: string;
|
|
interval?: string;
|
|
expired?: boolean;
|
|
expired?: boolean;
|
|
createdBy: User | undefined;
|
|
createdBy: User | undefined;
|
|
- additionalConditions: QueryResults;
|
|
|
|
|
|
+ additionalConditions: MutableSearch;
|
|
}) {
|
|
}) {
|
|
const fields: Field[] = Array.isArray(props.fields) ? props.fields : [];
|
|
const fields: Field[] = Array.isArray(props.fields) ? props.fields : [];
|
|
let sorts: Sort[] = Array.isArray(props.sorts) ? props.sorts : [];
|
|
let sorts: Sort[] = Array.isArray(props.sorts) ? props.sorts : [];
|
|
@@ -340,7 +340,7 @@ class EventView {
|
|
this.expired = props.expired;
|
|
this.expired = props.expired;
|
|
this.additionalConditions = props.additionalConditions
|
|
this.additionalConditions = props.additionalConditions
|
|
? props.additionalConditions.copy()
|
|
? props.additionalConditions.copy()
|
|
- : new QueryResults([]);
|
|
|
|
|
|
+ : new MutableSearch([]);
|
|
}
|
|
}
|
|
|
|
|
|
static fromLocation(location: Location): EventView {
|
|
static fromLocation(location: Location): EventView {
|
|
@@ -362,7 +362,7 @@ class EventView {
|
|
display: decodeScalar(location.query.display),
|
|
display: decodeScalar(location.query.display),
|
|
interval: decodeScalar(location.query.interval),
|
|
interval: decodeScalar(location.query.interval),
|
|
createdBy: undefined,
|
|
createdBy: undefined,
|
|
- additionalConditions: new QueryResults([]),
|
|
|
|
|
|
+ additionalConditions: new MutableSearch([]),
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -434,7 +434,7 @@ class EventView {
|
|
display: saved.display,
|
|
display: saved.display,
|
|
createdBy: saved.createdBy,
|
|
createdBy: saved.createdBy,
|
|
expired: saved.expired,
|
|
expired: saved.expired,
|
|
- additionalConditions: new QueryResults([]),
|
|
|
|
|
|
+ additionalConditions: new MutableSearch([]),
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -468,7 +468,7 @@ class EventView {
|
|
interval: decodeScalar(location.query.interval),
|
|
interval: decodeScalar(location.query.interval),
|
|
createdBy: saved.createdBy,
|
|
createdBy: saved.createdBy,
|
|
expired: saved.expired,
|
|
expired: saved.expired,
|
|
- additionalConditions: new QueryResults([]),
|
|
|
|
|
|
+ additionalConditions: new MutableSearch([]),
|
|
// Always read team from location since they can be set by other parts
|
|
// Always read team from location since they can be set by other parts
|
|
// of the UI
|
|
// of the UI
|
|
team: teams,
|
|
team: teams,
|
|
@@ -1316,7 +1316,7 @@ class EventView {
|
|
if (this.additionalConditions.isEmpty()) {
|
|
if (this.additionalConditions.isEmpty()) {
|
|
return query;
|
|
return query;
|
|
}
|
|
}
|
|
- const conditions = tokenizeSearch(query);
|
|
|
|
|
|
+ const conditions = new MutableSearch(query);
|
|
Object.entries(this.additionalConditions.filters).forEach(([tag, tagValues]) => {
|
|
Object.entries(this.additionalConditions.filters).forEach(([tag, tagValues]) => {
|
|
const existingTagValues = conditions.getFilterValues(tag);
|
|
const existingTagValues = conditions.getFilterValues(tag);
|
|
const newTagValues = tagValues.filter(
|
|
const newTagValues = tagValues.filter(
|