mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
* update filter * fix status panel not using filter group
This commit is contained in:
parent
a9dc431071
commit
0ee1558bfa
3 changed files with 22 additions and 18 deletions
|
@ -8,7 +8,16 @@ import { connect } from 'react-redux';
|
|||
import { OverviewPageComponent } from '../../../pages/overview';
|
||||
import { selectIndexPattern } from '../../../state/selectors';
|
||||
import { AppState } from '../../../state';
|
||||
import { setEsKueryString } from '../../../state/actions';
|
||||
|
||||
interface DispatchProps {
|
||||
setEsKueryFilters: typeof setEsKueryString;
|
||||
}
|
||||
|
||||
const mapDispatchToProps = (dispatch: any): DispatchProps => ({
|
||||
setEsKueryFilters: (esFilters: string) => dispatch(setEsKueryString(esFilters)),
|
||||
});
|
||||
|
||||
const mapStateToProps = (state: AppState) => ({ indexPattern: selectIndexPattern(state) });
|
||||
|
||||
export const OverviewPage = connect(mapStateToProps)(OverviewPageComponent);
|
||||
export const OverviewPage = connect(mapStateToProps, mapDispatchToProps)(OverviewPageComponent);
|
||||
|
|
|
@ -6,20 +6,8 @@
|
|||
|
||||
import { combineFiltersAndUserSearch, stringifyKueries } from '../lib/helper';
|
||||
import { esKuery } from '../../../../../../src/plugins/data/common/es_query';
|
||||
import { store } from '../state';
|
||||
import { setEsKueryString } from '../state/actions';
|
||||
import { IIndexPattern } from '../../../../../../src/plugins/data/common/index_patterns';
|
||||
|
||||
const updateEsQueryForFilterGroup = (filterQueryString: string, indexPattern: IIndexPattern) => {
|
||||
// Update EsQuery in Redux to be used in FilterGroup
|
||||
const searchDSL: string = filterQueryString
|
||||
? JSON.stringify(
|
||||
esKuery.toElasticsearchQuery(esKuery.fromKueryExpression(filterQueryString), indexPattern)
|
||||
)
|
||||
: '';
|
||||
store.dispatch(setEsKueryString(searchDSL));
|
||||
};
|
||||
|
||||
const getKueryString = (urlFilters: string): string => {
|
||||
let kueryString = '';
|
||||
// We are using try/catch here because this is user entered value
|
||||
|
@ -56,9 +44,6 @@ export const useUpdateKueryString = (
|
|||
|
||||
esFilters = JSON.stringify(elasticsearchQuery);
|
||||
}
|
||||
|
||||
updateEsQueryForFilterGroup(filterQueryString, indexPattern);
|
||||
|
||||
return [esFilters];
|
||||
} catch (err) {
|
||||
return [urlFilters, err];
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
|
||||
import React, { useContext } from 'react';
|
||||
import React, { useContext, useEffect } from 'react';
|
||||
import styled from 'styled-components';
|
||||
import {
|
||||
EmptyState,
|
||||
|
@ -28,6 +28,7 @@ interface OverviewPageProps {
|
|||
autocomplete: Pick<AutocompleteProviderRegister, 'getProvider'>;
|
||||
setBreadcrumbs: UMUpdateBreadcrumbs;
|
||||
indexPattern: IIndexPattern;
|
||||
setEsKueryFilters: (esFilters: string) => void;
|
||||
}
|
||||
|
||||
type Props = OverviewPageProps;
|
||||
|
@ -41,7 +42,12 @@ const EuiFlexItemStyled = styled(EuiFlexItem)`
|
|||
}
|
||||
`;
|
||||
|
||||
export const OverviewPageComponent = ({ autocomplete, setBreadcrumbs, indexPattern }: Props) => {
|
||||
export const OverviewPageComponent = ({
|
||||
autocomplete,
|
||||
setBreadcrumbs,
|
||||
indexPattern,
|
||||
setEsKueryFilters,
|
||||
}: Props) => {
|
||||
const { colors } = useContext(UptimeThemeContext);
|
||||
const [getUrlParams] = useUrlParams();
|
||||
const { absoluteDateRangeStart, absoluteDateRangeEnd, ...params } = getUrlParams();
|
||||
|
@ -61,6 +67,10 @@ export const OverviewPageComponent = ({ autocomplete, setBreadcrumbs, indexPatte
|
|||
|
||||
const [esFilters, error] = useUpdateKueryString(indexPattern, search, urlFilters);
|
||||
|
||||
useEffect(() => {
|
||||
setEsKueryFilters(esFilters ?? '');
|
||||
}, [esFilters, setEsKueryFilters]);
|
||||
|
||||
const sharedProps = {
|
||||
dateRangeStart,
|
||||
dateRangeEnd,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue