Skip to content

Commit

Permalink
Prevent starting the search before the current search is finished (#1…
Browse files Browse the repository at this point in the history
…8341)

* Add loading state on search execute

* revert changes in FetchProvider.ts
  • Loading branch information
maxiadlovskii authored Feb 22, 2024
1 parent 0242f34 commit 1576787
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ import type { TimeRange } from 'views/logic/queries/Query';
import QueryHistoryButton from 'views/components/searchbar/QueryHistoryButton';
import type { Editor } from 'views/components/searchbar/queryinput/ace-types';
import useView from 'views/hooks/useView';
import useIsLoading from 'views/hooks/useIsLoading';

import TimeRangeFilter from './searchbar/time-range-filter';
import type { DashboardFormValues } from './DashboardSearchBarForm';
Expand Down Expand Up @@ -125,6 +126,7 @@ const DashboardSearchBar = () => {

const { parameters } = useParameters();
const initialValues = useInitialFormValues(timerange, queryString);
const isLoadingExecution = useIsLoading();

if (!config) {
return <Spinner />;
Expand All @@ -142,7 +144,7 @@ const DashboardSearchBar = () => {
onSubmit={submitForm}
validateQueryString={(values) => _validateQueryString(values, pluggableSearchBarControls, userTimezone, handlerContext)}>
{({ dirty, errors, isSubmitting, isValid, isValidating, handleSubmit, values, setFieldValue, validateForm }) => {
const disableSearchSubmit = isSubmitting || isValidating || !isValid;
const disableSearchSubmit = isSubmitting || isValidating || !isValid || isLoadingExecution;

return (
<SearchBarContainer>
Expand All @@ -160,7 +162,7 @@ const DashboardSearchBar = () => {
<SearchButtonAndQuery>
<SearchButton disabled={disableSearchSubmit}
glyph="filter"
displaySpinner={isSubmitting}
displaySpinner={isSubmitting || isLoadingExecution}
dirty={dirty} />
<SearchInputAndValidationContainer>
<Field name="queryString">
Expand Down
6 changes: 4 additions & 2 deletions graylog2-web-interface/src/views/components/SearchBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ import { updateQuery } from 'views/logic/slices/viewSlice';
import useHandlerContext from 'views/components/useHandlerContext';
import QueryHistoryButton from 'views/components/searchbar/QueryHistoryButton';
import type { Editor } from 'views/components/searchbar/queryinput/ace-types';
import useIsLoading from 'views/hooks/useIsLoading';

import SearchBarForm from './searchbar/SearchBarForm';

Expand Down Expand Up @@ -152,6 +153,7 @@ const SearchBar = ({ onSubmit = defaultProps.onSubmit }: Props) => {
const _onSubmit = useCallback((values: SearchBarFormValues) => onSubmit(dispatch, values, pluggableSearchBarControls, currentQuery),
[currentQuery, dispatch, onSubmit, pluggableSearchBarControls]);
const handlerContext = useHandlerContext();
const isLoadingExecution = useIsLoading();

if (!currentQuery || !config) {
return <Spinner />;
Expand Down Expand Up @@ -180,7 +182,7 @@ const SearchBar = ({ onSubmit = defaultProps.onSubmit }: Props) => {
setFieldValue,
validateForm,
}) => {
const disableSearchSubmit = isSubmitting || isValidating || !isValid;
const disableSearchSubmit = isSubmitting || isValidating || !isValid || isLoadingExecution;

return (
<>
Expand Down Expand Up @@ -212,7 +214,7 @@ const SearchBar = ({ onSubmit = defaultProps.onSubmit }: Props) => {
<SearchButtonAndQuery>
<SearchButton disabled={disableSearchSubmit}
dirty={dirty}
displaySpinner={isSubmitting} />
displaySpinner={isSubmitting || isLoadingExecution} />
<SearchInputAndValidationContainer>
<Field name="queryString">
{({ field: { name, value, onChange }, meta: { error } }) => (
Expand Down

0 comments on commit 1576787

Please sign in to comment.