From 531e6581231a85b0fcfffb3230788b71631d51da Mon Sep 17 00:00:00 2001 From: Alex Khomenko Date: Tue, 16 Jun 2020 11:52:10 +0300 Subject: [PATCH] Search: support URL query params (#25541) * Search: connect DashboardSearch * Search: set url params * Search: handle tag params * Search: handle sort params * Search: use getLocationQuery * Search: fix type errors * Docs: Save query params for manage dashboards * Search: extract connect * Search: add layout to URL params * Search: update options * Search: simplify options loading * Search: Fix strict null errors * Search: Change params order * Search: Add tests * Search: handle folder query --- .../app/core/components/Select/SortPicker.tsx | 17 +++--- public/app/core/services/keybindingSrv.ts | 18 +++--- .../features/search/components/ActionRow.tsx | 4 +- .../search/components/DashboardListPage.tsx | 2 +- .../components/DashboardSearch.test.tsx | 19 +++++- .../search/components/DashboardSearch.tsx | 16 +++-- .../search/components/ManageDashboards.tsx | 8 ++- .../search/components/SearchWrapper.tsx | 9 ++- public/app/features/search/connect.ts | 41 +++++++++++++ .../features/search/hooks/useSearchQuery.ts | 17 ++++-- .../search/reducers/manageDashboards.test.ts | 2 +- .../search/reducers/searchQueryReducer.ts | 10 +++- public/app/features/search/types.ts | 8 +++ public/app/features/search/utils.test.ts | 58 +++++++++++++++++++ public/app/features/search/utils.ts | 37 +++++++++++- 15 files changed, 226 insertions(+), 40 deletions(-) create mode 100644 public/app/features/search/connect.ts diff --git a/public/app/core/components/Select/SortPicker.tsx b/public/app/core/components/Select/SortPicker.tsx index bc74f517c6e..08153a53b64 100644 --- a/public/app/core/components/Select/SortPicker.tsx +++ b/public/app/core/components/Select/SortPicker.tsx @@ -1,5 +1,6 @@ import React, { FC } from 'react'; -import { AsyncSelect, Icon } from '@grafana/ui'; +import { useAsync } from 'react-use'; +import { Select, Icon } from '@grafana/ui'; import { SelectableValue } from '@grafana/data'; import { DEFAULT_SORT } from 'app/features/search/constants'; import { SearchSrv } from '../../services/search_srv'; @@ -19,15 +20,17 @@ const getSortOptions = () => { }; export const SortPicker: FC = ({ onChange, value, placeholder }) => { - return ( - (getSortOptions, []); + + return !loading ? ( +