Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 69 additions & 63 deletions graylog2-web-interface/src/views/components/DashboardSearchBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,6 @@ const DashboardSearchBar = ({ scrollContainer }: Props) => {
<WidgetFocusContext.Consumer>
{({ focusedWidget: { editing } = { editing: false } }) => (
<FormWarningsProvider>
<ScrollToHint ifValueChanges={queryString} scrollContainer={scrollContainer} title="Scroll to search bar" />
<DashboardSearchForm
initialValues={initialValues}
limitDuration={limitDuration}
Expand All @@ -185,71 +184,78 @@ const DashboardSearchBar = ({ scrollContainer }: Props) => {
const disableSearchSubmit = isSubmitting || isValidating || !isValid || isLoadingExecution;

return (
<SearchBarContainer>
<ValidateOnParameterChange parameters={parameters} />
<TimeRangeRow>
<StyledTimeRangeFilter
onChange={(nextTimeRange) => setFieldValue('timerange', nextTimeRange)}
value={values?.timerange}
limitDuration={limitDuration}
hasErrorOnMount={!!errors.timerange}
moveRangeProps={{
effectiveTimerange: results?.effectiveTimerange,
initialTimerange: timerange ?? NO_TIMERANGE_OVERRIDE,
initialTimerangeFormat: 'internal',
}}
noOverride
/>
<ViewsRefreshControls disable={!isValid} />
</TimeRangeRow>

<SearchQueryRow>
<SearchButtonAndQuery>
<SearchButton
disabled={disableSearchSubmit}
glyph="filter_alt"
displaySpinner={isSubmitting || isLoadingExecution}
dirty={dirty}
<>
<ScrollToHint
ifValueChanges={queryString}
scrollContainer={scrollContainer}
title="Scroll to search bar"
/>
<SearchBarContainer>
<ValidateOnParameterChange parameters={parameters} />
<TimeRangeRow>
<StyledTimeRangeFilter
onChange={(nextTimeRange) => setFieldValue('timerange', nextTimeRange)}
value={values?.timerange}
limitDuration={limitDuration}
hasErrorOnMount={!!errors.timerange}
moveRangeProps={{
effectiveTimerange: results?.effectiveTimerange,
initialTimerange: timerange ?? NO_TIMERANGE_OVERRIDE,
initialTimerangeFormat: 'internal',
}}
noOverride
/>
<SearchInputAndValidationContainer>
<Field name="queryString">
{({ field: { name, value, onChange }, meta: { error } }) => (
<FormWarningsContext.Consumer>
{({ warnings }) => (
<PluggableCommands usage="global_override_query">
{(customCommands) => (
<ViewsQueryInput
value={value}
view={view}
timeRange={values?.timerange}
placeholder="Apply filter to all widgets"
name={name}
onChange={onChange}
disableExecution={disableSearchSubmit}
error={error}
isValidating={isValidating}
validate={validateForm}
warning={warnings.queryString}
ref={editorRef}
onExecute={handleSubmit as () => void}
commands={customCommands}
/>
)}
</PluggableCommands>
)}
</FormWarningsContext.Consumer>
)}
</Field>
<ViewsRefreshControls disable={!isValid} />
</TimeRangeRow>

<SearchQueryRow>
<SearchButtonAndQuery>
<SearchButton
disabled={disableSearchSubmit}
glyph="filter_alt"
displaySpinner={isSubmitting || isLoadingExecution}
dirty={dirty}
/>
<SearchInputAndValidationContainer>
<Field name="queryString">
{({ field: { name, value, onChange }, meta: { error } }) => (
<FormWarningsContext.Consumer>
{({ warnings }) => (
<PluggableCommands usage="global_override_query">
{(customCommands) => (
<ViewsQueryInput
value={value}
view={view}
timeRange={values?.timerange}
placeholder="Apply filter to all widgets"
name={name}
onChange={onChange}
disableExecution={disableSearchSubmit}
error={error}
isValidating={isValidating}
validate={validateForm}
warning={warnings.queryString}
ref={editorRef}
onExecute={handleSubmit as () => void}
commands={customCommands}
/>
)}
</PluggableCommands>
)}
</FormWarningsContext.Consumer>
)}
</Field>

<ViewsQueryValidation />
<QueryHistoryButton editorRef={editorRef} />
</SearchInputAndValidationContainer>
</SearchButtonAndQuery>
<ViewsQueryValidation />
<QueryHistoryButton editorRef={editorRef} />
</SearchInputAndValidationContainer>
</SearchButtonAndQuery>

{!editing && <DashboardActionsMenu />}
</SearchQueryRow>
<PluggableSearchBarControls showLeftControls={false} />
</SearchBarContainer>
{!editing && <DashboardActionsMenu />}
</SearchQueryRow>
<PluggableSearchBarControls showLeftControls={false} />
</SearchBarContainer>
</>
);
}}
</DashboardSearchForm>
Expand Down
10 changes: 5 additions & 5 deletions graylog2-web-interface/src/views/components/SearchBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,6 @@ const SearchBar = ({ onSubmit = defaultProps.onSubmit, scrollContainer }: Props)
<WidgetFocusContext.Consumer>
{({ focusedWidget: { editing } = { editing: false } }) => (
<FormWarningsProvider>
<ScrollToHint
scrollContainer={scrollContainer}
ifValueChanges={query.query_string}
title="Scroll to search bar"
/>
<SearchBarForm
initialValues={initialValues}
limitDuration={limitDuration}
Expand All @@ -250,6 +245,11 @@ const SearchBar = ({ onSubmit = defaultProps.onSubmit, scrollContainer }: Props)
return (
<>
<ValidateOnParameterChange parameters={parameters} />
<ScrollToHint
scrollContainer={scrollContainer}
ifValueChanges={query.query_string}
title="Scroll to search bar"
/>
<SearchBarContainer>
<TimeRangeRow>
<TimeRangeFilter
Expand Down
Loading