bug: Rows per page setting is now working (#1026)

This commit is contained in:
palash-signoz 2022-05-03 15:30:08 +05:30 committed by GitHub
parent 9351fd09c2
commit 29c0b43481
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 95 additions and 2 deletions

View File

@ -133,6 +133,7 @@ function CheckBoxComponent(props: CheckBoxProps): JSX.Element {
preIsFilterExclude, preIsFilterExclude,
preUserSelectedMap, preUserSelectedMap,
spansAggregate.order, spansAggregate.order,
spansAggregate.pageSize,
); );
} else { } else {
setIsLoading(false); setIsLoading(false);

View File

@ -118,6 +118,7 @@ function Duration(): JSX.Element {
userSelected: preUserSelected, userSelected: preUserSelected,
isFilterExclude, isFilterExclude,
order: spansAggregate.order, order: spansAggregate.order,
pageSize: spansAggregate.pageSize,
}, },
}); });
@ -129,6 +130,7 @@ function Duration(): JSX.Element {
isFilterExclude, isFilterExclude,
userSelectedFilter, userSelectedFilter,
spansAggregate.order, spansAggregate.order,
spansAggregate.pageSize,
); );
} }
}; };

View File

@ -102,6 +102,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
userSelected: getPreUserSelected, userSelected: getPreUserSelected,
isFilterExclude, isFilterExclude,
order: spansAggregate.order, order: spansAggregate.order,
pageSize: spansAggregate.pageSize,
}, },
}); });
@ -113,6 +114,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
isFilterExclude, isFilterExclude,
getPreUserSelected, getPreUserSelected,
spansAggregate.order, spansAggregate.order,
spansAggregate.pageSize,
); );
} else { } else {
notification.error({ notification.error({
@ -151,6 +153,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
userSelected: userSelectedFilter, userSelected: userSelectedFilter,
isFilterExclude, isFilterExclude,
order: spansAggregate.order, order: spansAggregate.order,
pageSize: spansAggregate.pageSize,
}, },
}); });
@ -162,6 +165,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
isFilterExclude, isFilterExclude,
userSelectedFilter, userSelectedFilter,
spansAggregate.order, spansAggregate.order,
spansAggregate.pageSize,
); );
}; };
@ -200,6 +204,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
userSelected: preUserSelected, userSelected: preUserSelected,
isFilterExclude: postIsFilterExclude, isFilterExclude: postIsFilterExclude,
order: spansAggregate.order, order: spansAggregate.order,
pageSize: spansAggregate.pageSize,
}, },
}); });
@ -211,6 +216,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
postIsFilterExclude, postIsFilterExclude,
preUserSelected, preUserSelected,
spansAggregate.order, spansAggregate.order,
spansAggregate.pageSize,
); );
} else { } else {
notification.error({ notification.error({

View File

@ -96,6 +96,7 @@ function Search({
userSelected: traces.userSelectedFilter, userSelected: traces.userSelectedFilter,
isFilterExclude: traces.isFilterExclude, isFilterExclude: traces.isFilterExclude,
order: traces.spansAggregate.order, order: traces.spansAggregate.order,
pageSize: traces.spansAggregate.pageSize,
}, },
}); });
@ -107,6 +108,7 @@ function Search({
traces.isFilterExclude, traces.isFilterExclude,
traces.userSelectedFilter, traces.userSelectedFilter,
traces.spansAggregate.order, traces.spansAggregate.order,
traces.spansAggregate.pageSize,
); );
}; };

View File

@ -13,6 +13,7 @@ import AppActions from 'types/actions';
import { import {
UPDATE_SPAN_ORDER, UPDATE_SPAN_ORDER,
UPDATE_SPANS_AGGREGATE_PAGE_NUMBER, UPDATE_SPANS_AGGREGATE_PAGE_NUMBER,
UPDATE_SPANS_AGGREGATE_PAGE_SIZE,
} from 'types/actions/trace'; } from 'types/actions/trace';
import { TraceReducer } from 'types/reducer/trace'; import { TraceReducer } from 'types/reducer/trace';
@ -119,6 +120,13 @@ function TraceTable(): JSX.Element {
}, },
}); });
dispatch({
type: UPDATE_SPANS_AGGREGATE_PAGE_SIZE,
payload: {
pageSize: props.pageSize,
},
});
dispatch({ dispatch({
type: UPDATE_SPANS_AGGREGATE_PAGE_NUMBER, type: UPDATE_SPANS_AGGREGATE_PAGE_NUMBER,
payload: { payload: {
@ -134,6 +142,7 @@ function TraceTable(): JSX.Element {
isFilterExclude, isFilterExclude,
userSelectedFilter, userSelectedFilter,
spanOrder, spanOrder,
props.pageSize,
); );
} }
} }

View File

@ -19,6 +19,7 @@ import {
parseQueryIntoCurrent, parseQueryIntoCurrent,
parseQueryIntoFilter, parseQueryIntoFilter,
parseQueryIntoOrder, parseQueryIntoOrder,
parseQueryIntoPageSize,
parseQueryIntoSelectedTags, parseQueryIntoSelectedTags,
parseSelectedFilter, parseSelectedFilter,
} from './util'; } from './util';
@ -72,6 +73,11 @@ export const GetInitialTraceFilter = (
traces.spansAggregate.order, traces.spansAggregate.order,
); );
const parsedPageSize = parseQueryIntoPageSize(
query,
traces.spansAggregate.pageSize,
);
const isSelectionSkipped = parseIsSkippedSelection(query); const isSelectionSkipped = parseIsSkippedSelection(query);
const parsedSelectedTags = parseQueryIntoSelectedTags( const parsedSelectedTags = parseQueryIntoSelectedTags(
@ -155,6 +161,7 @@ export const GetInitialTraceFilter = (
userSelected: getUserSelected.currentValue, userSelected: getUserSelected.currentValue,
isFilterExclude: getIsFilterExcluded.currentValue, isFilterExclude: getIsFilterExcluded.currentValue,
order: parsedQueryOrder.currentValue, order: parsedQueryOrder.currentValue,
pageSize: parsedPageSize.currentValue,
}, },
}); });
} else { } else {

View File

@ -85,6 +85,7 @@ export const GetSpansAggregate = (
traces.isFilterExclude, traces.isFilterExclude,
traces.userSelectedFilter, traces.userSelectedFilter,
order, order,
traces.spansAggregate.pageSize,
); );
} else { } else {
notification.error({ notification.error({

View File

@ -6,4 +6,5 @@ export * from './selectedFilter';
export * from './selectedTags'; export * from './selectedTags';
export * from './skippedSelected'; export * from './skippedSelected';
export * from './spanAggregateCurrentPage'; export * from './spanAggregateCurrentPage';
export * from './spanAggregateCurrentPageSize';
export * from './spanAggregateOrder'; export * from './spanAggregateOrder';

View File

@ -0,0 +1,37 @@
import { TraceReducer } from 'types/reducer/trace';
import { ParsedUrl } from '../util';
export const parseQueryIntoPageSize = (
query: string,
stateCurrent: TraceReducer['spansAggregate']['pageSize'],
): ParsedUrl<TraceReducer['spansAggregate']['pageSize']> => {
const url = new URLSearchParams(query);
let current = 1;
const selected = url.get('spanAggregateCurrentPageSize');
if (selected) {
try {
const parsedValue = JSON.parse(decodeURIComponent(selected));
if (Number.isInteger(parsedValue)) {
current = parseInt(parsedValue, 10);
}
} catch (error) {
console.log('error while parsing json');
}
}
if (selected) {
return {
currentValue: parseInt(selected, 10),
urlValue: current,
};
}
return {
currentValue: stateCurrent,
urlValue: current,
};
};

View File

@ -47,6 +47,7 @@ export const SelectedTraceFilter = (props: {
traces.isFilterExclude, traces.isFilterExclude,
traces.userSelectedFilter, traces.userSelectedFilter,
traces.spansAggregate.order, traces.spansAggregate.order,
traces.spansAggregate.pageSize,
); );
}; };
}; };

View File

@ -23,6 +23,7 @@ export const updateURL = (
isFilterExclude: TraceReducer['isFilterExclude'], isFilterExclude: TraceReducer['isFilterExclude'],
userSelectedFilter: TraceReducer['userSelectedFilter'], userSelectedFilter: TraceReducer['userSelectedFilter'],
spanAggregateOrder: TraceReducer['spansAggregate']['order'], spanAggregateOrder: TraceReducer['spansAggregate']['order'],
spanAggregateCurrentPageSize: TraceReducer['spansAggregate']['pageSize'],
): void => { ): void => {
const search = new URLSearchParams(window.location.search); const search = new URLSearchParams(window.location.search);
const preResult: { key: string; value: string }[] = []; const preResult: { key: string; value: string }[] = [];
@ -36,6 +37,7 @@ export const updateURL = (
'userSelectedFilter', 'userSelectedFilter',
'spanAggregateCurrentPage', 'spanAggregateCurrentPage',
'spanAggregateOrder', 'spanAggregateOrder',
'spanAggregateCurrentPageSize',
]; ];
search.forEach((value, key) => { search.forEach((value, key) => {
@ -60,7 +62,7 @@ export const updateURL = (
Object.fromEntries(isFilterExclude), Object.fromEntries(isFilterExclude),
)}&userSelectedFilter=${JSON.stringify( )}&userSelectedFilter=${JSON.stringify(
Object.fromEntries(userSelectedFilter), Object.fromEntries(userSelectedFilter),
)}&spanAggregateCurrentPage=${spanAggregateCurrentPage}&spanAggregateOrder=${spanAggregateOrder}`, )}&spanAggregateCurrentPage=${spanAggregateCurrentPage}&spanAggregateOrder=${spanAggregateOrder}&spanAggregateCurrentPageSize=${spanAggregateCurrentPageSize}`,
); );
}; };

View File

@ -12,6 +12,7 @@ import {
UPDATE_SPAN_ORDER, UPDATE_SPAN_ORDER,
UPDATE_SPANS_AGGREGATE, UPDATE_SPANS_AGGREGATE,
UPDATE_SPANS_AGGREGATE_PAGE_NUMBER, UPDATE_SPANS_AGGREGATE_PAGE_NUMBER,
UPDATE_SPANS_AGGREGATE_PAGE_SIZE,
UPDATE_TAG_MODAL_VISIBILITY, UPDATE_TAG_MODAL_VISIBILITY,
UPDATE_TRACE_FILTER, UPDATE_TRACE_FILTER,
UPDATE_TRACE_FILTER_LOADING, UPDATE_TRACE_FILTER_LOADING,
@ -75,6 +76,7 @@ const traceReducer = (
userSelected, userSelected,
isFilterExclude, isFilterExclude,
order, order,
pageSize,
} = payload; } = payload;
return { return {
@ -88,6 +90,7 @@ const traceReducer = (
spansAggregate: { spansAggregate: {
...state.spansAggregate, ...state.spansAggregate,
currentPage: current, currentPage: current,
pageSize,
order, order,
}, },
}; };
@ -224,6 +227,16 @@ const traceReducer = (
}; };
} }
case UPDATE_SPANS_AGGREGATE_PAGE_SIZE: {
return {
...state,
spansAggregate: {
...state.spansAggregate,
pageSize: action.payload.pageSize,
},
};
}
default: default:
return state; return state;
} }

View File

@ -28,6 +28,8 @@ export const UPDATE_FILTER_EXCLUDE = 'UPDATE_FILTER_EXCLUDE';
export const UPDATE_SPAN_ORDER = 'UPDATE_SPAN_ORDER'; export const UPDATE_SPAN_ORDER = 'UPDATE_SPAN_ORDER';
export const UPDATE_SPANS_AGGREGATE_PAGE_NUMBER = export const UPDATE_SPANS_AGGREGATE_PAGE_NUMBER =
'UPDATE_SPANS_AGGREGATE_PAGE_NUMBER'; 'UPDATE_SPANS_AGGREGATE_PAGE_NUMBER';
export const UPDATE_SPANS_AGGREGATE_PAGE_SIZE =
'UPDATE_SPANS_AGGREGATE_PAGE_SIZE';
export interface UpdateFilter { export interface UpdateFilter {
type: typeof UPDATE_TRACE_FILTER; type: typeof UPDATE_TRACE_FILTER;
@ -75,6 +77,7 @@ export interface UpdateAllFilters {
userSelected: TraceReducer['userSelectedFilter']; userSelected: TraceReducer['userSelectedFilter'];
isFilterExclude: TraceReducer['isFilterExclude']; isFilterExclude: TraceReducer['isFilterExclude'];
order: TraceReducer['spansAggregate']['order']; order: TraceReducer['spansAggregate']['order'];
pageSize: TraceReducer['spansAggregate']['pageSize'];
}; };
} }
@ -168,6 +171,13 @@ export interface UpdateSpanOrder {
}; };
} }
export interface UpdateSpanSize {
type: typeof UPDATE_SPANS_AGGREGATE_PAGE_SIZE;
payload: {
pageSize: TraceReducer['spansAggregate']['pageSize'];
};
}
export type TraceActions = export type TraceActions =
| UpdateFilter | UpdateFilter
| GetTraceFilter | GetTraceFilter
@ -187,4 +197,5 @@ export type TraceActions =
| UpdateSelected | UpdateSelected
| UpdateFilterExclude | UpdateFilterExclude
| UpdateSpanOrder | UpdateSpanOrder
| UpdateSpansAggregatePageNumber; | UpdateSpansAggregatePageNumber
| UpdateSpanSize;