mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-14 05:15:57 +08:00
bug: Rows per page setting is now working (#1026)
This commit is contained in:
parent
9351fd09c2
commit
29c0b43481
@ -133,6 +133,7 @@ function CheckBoxComponent(props: CheckBoxProps): JSX.Element {
|
||||
preIsFilterExclude,
|
||||
preUserSelectedMap,
|
||||
spansAggregate.order,
|
||||
spansAggregate.pageSize,
|
||||
);
|
||||
} else {
|
||||
setIsLoading(false);
|
||||
|
@ -118,6 +118,7 @@ function Duration(): JSX.Element {
|
||||
userSelected: preUserSelected,
|
||||
isFilterExclude,
|
||||
order: spansAggregate.order,
|
||||
pageSize: spansAggregate.pageSize,
|
||||
},
|
||||
});
|
||||
|
||||
@ -129,6 +130,7 @@ function Duration(): JSX.Element {
|
||||
isFilterExclude,
|
||||
userSelectedFilter,
|
||||
spansAggregate.order,
|
||||
spansAggregate.pageSize,
|
||||
);
|
||||
}
|
||||
};
|
||||
|
@ -102,6 +102,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
|
||||
userSelected: getPreUserSelected,
|
||||
isFilterExclude,
|
||||
order: spansAggregate.order,
|
||||
pageSize: spansAggregate.pageSize,
|
||||
},
|
||||
});
|
||||
|
||||
@ -113,6 +114,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
|
||||
isFilterExclude,
|
||||
getPreUserSelected,
|
||||
spansAggregate.order,
|
||||
spansAggregate.pageSize,
|
||||
);
|
||||
} else {
|
||||
notification.error({
|
||||
@ -151,6 +153,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
|
||||
userSelected: userSelectedFilter,
|
||||
isFilterExclude,
|
||||
order: spansAggregate.order,
|
||||
pageSize: spansAggregate.pageSize,
|
||||
},
|
||||
});
|
||||
|
||||
@ -162,6 +165,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
|
||||
isFilterExclude,
|
||||
userSelectedFilter,
|
||||
spansAggregate.order,
|
||||
spansAggregate.pageSize,
|
||||
);
|
||||
};
|
||||
|
||||
@ -200,6 +204,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
|
||||
userSelected: preUserSelected,
|
||||
isFilterExclude: postIsFilterExclude,
|
||||
order: spansAggregate.order,
|
||||
pageSize: spansAggregate.pageSize,
|
||||
},
|
||||
});
|
||||
|
||||
@ -211,6 +216,7 @@ function PanelHeading(props: PanelHeadingProps): JSX.Element {
|
||||
postIsFilterExclude,
|
||||
preUserSelected,
|
||||
spansAggregate.order,
|
||||
spansAggregate.pageSize,
|
||||
);
|
||||
} else {
|
||||
notification.error({
|
||||
|
@ -96,6 +96,7 @@ function Search({
|
||||
userSelected: traces.userSelectedFilter,
|
||||
isFilterExclude: traces.isFilterExclude,
|
||||
order: traces.spansAggregate.order,
|
||||
pageSize: traces.spansAggregate.pageSize,
|
||||
},
|
||||
});
|
||||
|
||||
@ -107,6 +108,7 @@ function Search({
|
||||
traces.isFilterExclude,
|
||||
traces.userSelectedFilter,
|
||||
traces.spansAggregate.order,
|
||||
traces.spansAggregate.pageSize,
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -13,6 +13,7 @@ import AppActions from 'types/actions';
|
||||
import {
|
||||
UPDATE_SPAN_ORDER,
|
||||
UPDATE_SPANS_AGGREGATE_PAGE_NUMBER,
|
||||
UPDATE_SPANS_AGGREGATE_PAGE_SIZE,
|
||||
} from 'types/actions/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({
|
||||
type: UPDATE_SPANS_AGGREGATE_PAGE_NUMBER,
|
||||
payload: {
|
||||
@ -134,6 +142,7 @@ function TraceTable(): JSX.Element {
|
||||
isFilterExclude,
|
||||
userSelectedFilter,
|
||||
spanOrder,
|
||||
props.pageSize,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import {
|
||||
parseQueryIntoCurrent,
|
||||
parseQueryIntoFilter,
|
||||
parseQueryIntoOrder,
|
||||
parseQueryIntoPageSize,
|
||||
parseQueryIntoSelectedTags,
|
||||
parseSelectedFilter,
|
||||
} from './util';
|
||||
@ -72,6 +73,11 @@ export const GetInitialTraceFilter = (
|
||||
traces.spansAggregate.order,
|
||||
);
|
||||
|
||||
const parsedPageSize = parseQueryIntoPageSize(
|
||||
query,
|
||||
traces.spansAggregate.pageSize,
|
||||
);
|
||||
|
||||
const isSelectionSkipped = parseIsSkippedSelection(query);
|
||||
|
||||
const parsedSelectedTags = parseQueryIntoSelectedTags(
|
||||
@ -155,6 +161,7 @@ export const GetInitialTraceFilter = (
|
||||
userSelected: getUserSelected.currentValue,
|
||||
isFilterExclude: getIsFilterExcluded.currentValue,
|
||||
order: parsedQueryOrder.currentValue,
|
||||
pageSize: parsedPageSize.currentValue,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
|
@ -85,6 +85,7 @@ export const GetSpansAggregate = (
|
||||
traces.isFilterExclude,
|
||||
traces.userSelectedFilter,
|
||||
order,
|
||||
traces.spansAggregate.pageSize,
|
||||
);
|
||||
} else {
|
||||
notification.error({
|
||||
|
@ -6,4 +6,5 @@ export * from './selectedFilter';
|
||||
export * from './selectedTags';
|
||||
export * from './skippedSelected';
|
||||
export * from './spanAggregateCurrentPage';
|
||||
export * from './spanAggregateCurrentPageSize';
|
||||
export * from './spanAggregateOrder';
|
||||
|
@ -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,
|
||||
};
|
||||
};
|
@ -47,6 +47,7 @@ export const SelectedTraceFilter = (props: {
|
||||
traces.isFilterExclude,
|
||||
traces.userSelectedFilter,
|
||||
traces.spansAggregate.order,
|
||||
traces.spansAggregate.pageSize,
|
||||
);
|
||||
};
|
||||
};
|
||||
|
@ -23,6 +23,7 @@ export const updateURL = (
|
||||
isFilterExclude: TraceReducer['isFilterExclude'],
|
||||
userSelectedFilter: TraceReducer['userSelectedFilter'],
|
||||
spanAggregateOrder: TraceReducer['spansAggregate']['order'],
|
||||
spanAggregateCurrentPageSize: TraceReducer['spansAggregate']['pageSize'],
|
||||
): void => {
|
||||
const search = new URLSearchParams(window.location.search);
|
||||
const preResult: { key: string; value: string }[] = [];
|
||||
@ -36,6 +37,7 @@ export const updateURL = (
|
||||
'userSelectedFilter',
|
||||
'spanAggregateCurrentPage',
|
||||
'spanAggregateOrder',
|
||||
'spanAggregateCurrentPageSize',
|
||||
];
|
||||
|
||||
search.forEach((value, key) => {
|
||||
@ -60,7 +62,7 @@ export const updateURL = (
|
||||
Object.fromEntries(isFilterExclude),
|
||||
)}&userSelectedFilter=${JSON.stringify(
|
||||
Object.fromEntries(userSelectedFilter),
|
||||
)}&spanAggregateCurrentPage=${spanAggregateCurrentPage}&spanAggregateOrder=${spanAggregateOrder}`,
|
||||
)}&spanAggregateCurrentPage=${spanAggregateCurrentPage}&spanAggregateOrder=${spanAggregateOrder}&spanAggregateCurrentPageSize=${spanAggregateCurrentPageSize}`,
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -12,6 +12,7 @@ import {
|
||||
UPDATE_SPAN_ORDER,
|
||||
UPDATE_SPANS_AGGREGATE,
|
||||
UPDATE_SPANS_AGGREGATE_PAGE_NUMBER,
|
||||
UPDATE_SPANS_AGGREGATE_PAGE_SIZE,
|
||||
UPDATE_TAG_MODAL_VISIBILITY,
|
||||
UPDATE_TRACE_FILTER,
|
||||
UPDATE_TRACE_FILTER_LOADING,
|
||||
@ -75,6 +76,7 @@ const traceReducer = (
|
||||
userSelected,
|
||||
isFilterExclude,
|
||||
order,
|
||||
pageSize,
|
||||
} = payload;
|
||||
|
||||
return {
|
||||
@ -88,6 +90,7 @@ const traceReducer = (
|
||||
spansAggregate: {
|
||||
...state.spansAggregate,
|
||||
currentPage: current,
|
||||
pageSize,
|
||||
order,
|
||||
},
|
||||
};
|
||||
@ -224,6 +227,16 @@ const traceReducer = (
|
||||
};
|
||||
}
|
||||
|
||||
case UPDATE_SPANS_AGGREGATE_PAGE_SIZE: {
|
||||
return {
|
||||
...state,
|
||||
spansAggregate: {
|
||||
...state.spansAggregate,
|
||||
pageSize: action.payload.pageSize,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
@ -28,6 +28,8 @@ export const UPDATE_FILTER_EXCLUDE = 'UPDATE_FILTER_EXCLUDE';
|
||||
export const UPDATE_SPAN_ORDER = 'UPDATE_SPAN_ORDER';
|
||||
export const 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 {
|
||||
type: typeof UPDATE_TRACE_FILTER;
|
||||
@ -75,6 +77,7 @@ export interface UpdateAllFilters {
|
||||
userSelected: TraceReducer['userSelectedFilter'];
|
||||
isFilterExclude: TraceReducer['isFilterExclude'];
|
||||
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 =
|
||||
| UpdateFilter
|
||||
| GetTraceFilter
|
||||
@ -187,4 +197,5 @@ export type TraceActions =
|
||||
| UpdateSelected
|
||||
| UpdateFilterExclude
|
||||
| UpdateSpanOrder
|
||||
| UpdateSpansAggregatePageNumber;
|
||||
| UpdateSpansAggregatePageNumber
|
||||
| UpdateSpanSize;
|
||||
|
Loading…
x
Reference in New Issue
Block a user