diff --git a/frontend/app/components/shared/Filters/FilterItem/FilterItem.tsx b/frontend/app/components/shared/Filters/FilterItem/FilterItem.tsx
index 6a3829699..579a74231 100644
--- a/frontend/app/components/shared/Filters/FilterItem/FilterItem.tsx
+++ b/frontend/app/components/shared/Filters/FilterItem/FilterItem.tsx
@@ -4,7 +4,7 @@ import FilterSelection from '../FilterSelection';
import FilterValue from '../FilterValue';
import { Icon } from 'UI';
import FilterSource from '../FilterSource';
-import { FilterType } from 'App/types/filter/filterType';
+import { FilterKey, FilterType } from 'App/types/filter/filterType';
import SubFilterItem from '../SubFilterItem';
interface Props {
@@ -13,9 +13,10 @@ interface Props {
onUpdate: (filter) => void;
onRemoveFilter: () => void;
isFilter?: boolean;
+ saveRequestPayloads?: boolean;
}
function FilterItem(props: Props) {
- const { isFilter = false, filterIndex, filter } = props;
+ const { isFilter = false, filterIndex, filter, saveRequestPayloads } = props;
const canShowValues = !(filter.operator === "isAny" || filter.operator === "onAny" || filter.operator === "isUndefined");
const isSubFilter = filter.type === FilterType.SUB_FILTERS;
@@ -83,7 +84,7 @@ function FilterItem(props: Props) {
{/* filters */}
{isSubFilter && (
- {filter.filters.map((subFilter, subFilterIndex) => (
+ {filter.filters.filter(i => (i.key !== FilterKey.FETCH_REQUEST_BODY && i.key !== FilterKey.FETCH_RESPONSE_BODY) || saveRequestPayloads).map((subFilter, subFilterIndex) => (
void;
hideEventsOrder?: boolean;
observeChanges?: () => void;
+ saveRequestPayloads?: boolean;
}
function FilterList(props: Props) {
- const { observeChanges = () => {}, filter, hideEventsOrder = false } = props;
+ const { observeChanges = () => {}, filter, hideEventsOrder = false, saveRequestPayloads } = props;
const filters = List(filter.filters);
const hasEvents = filters.filter((i: any) => i.isEvent).size > 0;
const hasFilters = filters.filter((i: any) => !i.isEvent).size > 0;
@@ -66,6 +67,7 @@ function FilterList(props: Props) {
filter={filter}
onUpdate={(filter) => props.onUpdateFilter(filterIndex, filter)}
onRemoveFilter={() => onRemoveFilter(filterIndex) }
+ saveRequestPayloads={saveRequestPayloads}
/>
): null)}
diff --git a/frontend/app/components/shared/SessionSearch/SessionSearch.tsx b/frontend/app/components/shared/SessionSearch/SessionSearch.tsx
index 17904c1ba..8520af60e 100644
--- a/frontend/app/components/shared/SessionSearch/SessionSearch.tsx
+++ b/frontend/app/components/shared/SessionSearch/SessionSearch.tsx
@@ -11,9 +11,10 @@ interface Props {
appliedFilter: any;
edit: typeof edit;
addFilter: typeof addFilter;
+ saveRequestPayloads: boolean;
}
function SessionSearch(props: Props) {
- const { appliedFilter } = props;
+ const { appliedFilter, saveRequestPayloads = false } = props;
const hasEvents = appliedFilter.filters.filter(i => i.isEvent).size > 0;
const hasFilters = appliedFilter.filters.filter(i => !i.isEvent).size > 0;
@@ -60,6 +61,7 @@ function SessionSearch(props: Props) {
onUpdateFilter={onUpdateFilter}
onRemoveFilter={onRemoveFilter}
onChangeEventsOrder={onChangeEventsOrder}
+ saveRequestPayloads={saveRequestPayloads}
/>
@@ -82,5 +84,6 @@ function SessionSearch(props: Props) {
}
export default connect(state => ({
+ saveRequestPayloads: state.getIn(['site', 'active', 'saveRequestPayloads']),
appliedFilter: state.getIn([ 'search', 'instance' ]),
}), { edit, addFilter })(SessionSearch);
\ No newline at end of file
diff --git a/frontend/app/duck/site.js b/frontend/app/duck/site.js
index ff5142804..f8be1a89f 100644
--- a/frontend/app/duck/site.js
+++ b/frontend/app/duck/site.js
@@ -40,6 +40,7 @@ const initialState = Map({
instance: fromJS(),
remainingSites: undefined,
siteId: null,
+ active: null,
});
const reducer = (state = initialState, action = {}) => {
@@ -59,10 +60,13 @@ const reducer = (state = initialState, action = {}) => {
? storedSiteId
: action.data[0].projectId;
}
- return state.set('list', List(action.data.map(Site))).set('siteId', siteId);
+ return state.set('list', List(action.data.map(Site)))
+ .set('siteId', siteId)
+ .set('active', List(action.data.map(Site)).find(s => s.id === parseInt(siteId)));
case SET_SITE_ID:
localStorage.setItem(SITE_ID_STORAGE_KEY, action.siteId)
- return state.set('siteId', action.siteId);
+ const site = state.get('list').find(s => s.id === action.siteId);
+ return state.set('siteId', action.siteId).set('active', site);
}
return state;
};
diff --git a/frontend/app/types/site/site.js b/frontend/app/types/site/site.js
index df76e74cd..11e48f1d7 100644
--- a/frontend/app/types/site/site.js
+++ b/frontend/app/types/site/site.js
@@ -22,6 +22,7 @@ export default Record({
stackIntegrations: false,
projectKey: undefined,
trackerVersion: undefined,
+ saveRequestPayloads: false,
}, {
idKey: 'id',
methods: {