mirror of
https://github.com/elastic/kibana.git
synced 2025-04-25 02:09:32 -04:00
[unified search] Query string input uses data views plugin directly instead of via deprecated data plugin reference (#143611)
* use data views plugin * remove unneeded dependency * use data views plugin * fix type * type fix * supply dataViews as depedency * supply dataViews as depeden
This commit is contained in:
parent
b1a88f5c61
commit
631c24abf4
26 changed files with 105 additions and 18 deletions
|
@ -188,6 +188,7 @@ export const QueryBarTopRow = React.memo(
|
|||
notifications,
|
||||
docLinks,
|
||||
http,
|
||||
dataViews,
|
||||
} = kibana.services;
|
||||
|
||||
const isQueryLangSelected = props.query && !isOfQueryType(props.query);
|
||||
|
@ -550,6 +551,7 @@ export const QueryBarTopRow = React.memo(
|
|||
docLinks,
|
||||
http,
|
||||
uiSettings,
|
||||
dataViews,
|
||||
}}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
|
|
|
@ -31,7 +31,11 @@ import { compact, debounce, isEmpty, isEqual, isFunction, partition } from 'loda
|
|||
import { CoreStart, DocLinksStart, Toast } from '@kbn/core/public';
|
||||
import type { Query } from '@kbn/es-query';
|
||||
import { DataPublicPluginStart, getQueryLog } from '@kbn/data-plugin/public';
|
||||
import { type DataView, DataView as KibanaDataView } from '@kbn/data-views-plugin/public';
|
||||
import {
|
||||
type DataView,
|
||||
DataView as KibanaDataView,
|
||||
DataViewsPublicPluginStart,
|
||||
} from '@kbn/data-views-plugin/public';
|
||||
import type { PersistedLog } from '@kbn/data-plugin/public';
|
||||
import { getFieldSubtypeNested, KIBANA_USER_QUERY_LANGUAGE_KEY } from '@kbn/data-plugin/common';
|
||||
import { toMountPoint } from '@kbn/kibana-react-plugin/public';
|
||||
|
@ -61,6 +65,7 @@ export interface QueryStringInputDependencies {
|
|||
http: CoreStart['http'];
|
||||
docLinks: DocLinksStart;
|
||||
uiSettings: CoreStart['uiSettings'];
|
||||
dataViews: DataViewsPublicPluginStart;
|
||||
}
|
||||
|
||||
export interface QueryStringInputProps {
|
||||
|
@ -196,7 +201,7 @@ export default class QueryStringInputUI extends PureComponent<QueryStringInputPr
|
|||
const currentAbortController = this.fetchIndexPatternsAbortController;
|
||||
|
||||
const objectPatternsFromStrings = await fetchIndexPatterns(
|
||||
this.props.deps.data.indexPatterns,
|
||||
this.props.deps.data.dataViews,
|
||||
idOrTitlePatterns
|
||||
);
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"id": "visDefaultEditor",
|
||||
"version": "kibana",
|
||||
"ui": true,
|
||||
"requiredPlugins": ["dataViews"],
|
||||
"optionalPlugins": ["visualizations"],
|
||||
"requiredBundles": [
|
||||
"unifiedSearch",
|
||||
|
|
|
@ -45,6 +45,7 @@ function FilterRow({
|
|||
const { services } = useKibana<VisDefaultEditorKibanaServices>();
|
||||
const {
|
||||
data,
|
||||
dataViews,
|
||||
unifiedSearch,
|
||||
usageCollection,
|
||||
storage,
|
||||
|
@ -118,6 +119,7 @@ function FilterRow({
|
|||
size="s"
|
||||
deps={{
|
||||
data,
|
||||
dataViews,
|
||||
unifiedSearch,
|
||||
usageCollection,
|
||||
storage,
|
||||
|
|
|
@ -11,9 +11,11 @@ import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
|
|||
import type { IStorageWrapper } from '@kbn/kibana-utils-plugin/public';
|
||||
import type { AutocompleteStart } from '@kbn/unified-search-plugin/public';
|
||||
import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public';
|
||||
import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
|
||||
|
||||
export interface VisDefaultEditorKibanaServices {
|
||||
data: DataPublicPluginStart;
|
||||
dataViews: DataViewsPublicPluginStart;
|
||||
appName: string;
|
||||
unifiedSearch: {
|
||||
autocomplete: AutocompleteStart;
|
||||
|
|
|
@ -83,6 +83,7 @@ export function QueryBarWrapper({
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
usageCollection,
|
||||
}}
|
||||
|
|
|
@ -58,7 +58,7 @@ export function TraceSearchBox({
|
|||
error,
|
||||
loading,
|
||||
}: Props) {
|
||||
const { unifiedSearch, core, data } = useApmPluginContext();
|
||||
const { unifiedSearch, core, data, dataViews } = useApmPluginContext();
|
||||
const { notifications, http, docLinks, uiSettings } = core;
|
||||
const {
|
||||
services: { storage },
|
||||
|
@ -153,6 +153,7 @@ export function TraceSearchBox({
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
}}
|
||||
/>
|
||||
|
|
|
@ -11,6 +11,7 @@ type Stubs =
|
|||
| 'licensing'
|
||||
| 'storage'
|
||||
| 'data'
|
||||
| 'dataViews'
|
||||
| 'unifiedSearch'
|
||||
| 'deprecations'
|
||||
| 'fatalErrors'
|
||||
|
@ -24,6 +25,7 @@ export const stubbedStartServices: StubbedStartServices = {
|
|||
licensing: {} as FleetStartServices['licensing'],
|
||||
storage: {} as FleetStartServices['storage'],
|
||||
data: {} as FleetStartServices['data'],
|
||||
dataViews: {} as FleetStartServices['dataViews'],
|
||||
unifiedSearch: {} as FleetStartServices['unifiedSearch'],
|
||||
deprecations: {} as FleetStartServices['deprecations'],
|
||||
fatalErrors: {} as FleetStartServices['fatalErrors'],
|
||||
|
|
|
@ -45,6 +45,7 @@ export const SearchBar: React.FunctionComponent<Props> = ({
|
|||
}) => {
|
||||
const {
|
||||
data,
|
||||
dataViews,
|
||||
unifiedSearch,
|
||||
storage,
|
||||
notifications,
|
||||
|
@ -131,6 +132,7 @@ export const SearchBar: React.FunctionComponent<Props> = ({
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
usageCollection,
|
||||
}}
|
||||
|
|
|
@ -28,7 +28,7 @@ export const LogQueryBar: React.FunctionComponent<{
|
|||
isQueryValid: boolean;
|
||||
onUpdateQuery: (query: string, runQuery?: boolean) => void;
|
||||
}> = memo(({ query, isQueryValid, onUpdateQuery }) => {
|
||||
const { data, notifications, http, docLinks, uiSettings, unifiedSearch, storage } =
|
||||
const { data, notifications, http, docLinks, uiSettings, unifiedSearch, storage, dataViews } =
|
||||
useStartServices();
|
||||
const [indexPatternFields, setIndexPatternFields] = useState<FieldSpec[]>();
|
||||
|
||||
|
@ -81,7 +81,7 @@ export const LogQueryBar: React.FunctionComponent<{
|
|||
onUpdateQuery(newQuery.query as string, true);
|
||||
}}
|
||||
appName={i18n.translate('xpack.fleet.appTitle', { defaultMessage: 'Fleet' })}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, storage }}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, dataViews, storage }}
|
||||
/>
|
||||
);
|
||||
});
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks';
|
||||
import { dataPluginMock } from '@kbn/data-plugin/public/mocks';
|
||||
import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/public/mocks';
|
||||
import { cloudMock } from '@kbn/cloud-plugin/public/mocks';
|
||||
import { homePluginMock } from '@kbn/home-plugin/public/mocks';
|
||||
|
@ -28,6 +29,7 @@ export const createStartDepsMock = () => {
|
|||
return {
|
||||
licensing: licensingMock.createStart(),
|
||||
data: dataPluginMock.createStartContract(),
|
||||
dataViews: dataViewPluginMocks.createStartContract(),
|
||||
unifiedSearch: unifiedSearchPluginMock.createStartContract(),
|
||||
navigation: navigationPluginMock.createStartContract(),
|
||||
customIntegrations: customIntegrationsMock.createStart(),
|
||||
|
|
|
@ -37,6 +37,7 @@ import type {
|
|||
import { DEFAULT_APP_CATEGORIES, AppNavLinkStatus } from '@kbn/core/public';
|
||||
|
||||
import type { DataPublicPluginSetup, DataPublicPluginStart } from '@kbn/data-plugin/public';
|
||||
import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
|
||||
import type { HomePublicPluginSetup } from '@kbn/home-plugin/public';
|
||||
import { Storage } from '@kbn/kibana-utils-plugin/public';
|
||||
import type { LicensingPluginStart } from '@kbn/licensing-plugin/public';
|
||||
|
@ -96,6 +97,7 @@ export interface FleetSetupDeps {
|
|||
export interface FleetStartDeps {
|
||||
licensing: LicensingPluginStart;
|
||||
data: DataPublicPluginStart;
|
||||
dataViews: DataViewsPublicPluginStart;
|
||||
unifiedSearch: UnifiedSearchPublicPluginStart;
|
||||
navigation: NavigationPublicPluginStart;
|
||||
customIntegrations: CustomIntegrationsStart;
|
||||
|
|
|
@ -103,6 +103,7 @@ export function SearchBarComponent(props: SearchBarStateProps & SearchBarProps)
|
|||
appName,
|
||||
unifiedSearch,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
notifications,
|
||||
http,
|
||||
|
@ -176,6 +177,7 @@ export function SearchBarComponent(props: SearchBarStateProps & SearchBarProps)
|
|||
deps={{
|
||||
unifiedSearch,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
notifications,
|
||||
http,
|
||||
|
|
|
@ -32,7 +32,7 @@ export const LogsToolbar = () => {
|
|||
const { filterQueryDraft, isFilterQueryDraftValid, applyLogFilterQuery, setLogFilterQueryDraft } =
|
||||
useLogFilterStateContext();
|
||||
const { setSurroundingLogsId } = useLogEntryFlyoutContext();
|
||||
const { http, notifications, docLinks, uiSettings, data, storage, unifiedSearch } =
|
||||
const { http, notifications, docLinks, uiSettings, data, dataViews, storage, unifiedSearch } =
|
||||
useKibanaContextForPlugin().services;
|
||||
|
||||
const {
|
||||
|
@ -77,7 +77,16 @@ export const LogsToolbar = () => {
|
|||
appName={i18n.translate('xpack.infra.appName', {
|
||||
defaultMessage: 'Infra logs',
|
||||
})}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, storage }}
|
||||
deps={{
|
||||
unifiedSearch,
|
||||
notifications,
|
||||
http,
|
||||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
}}
|
||||
/>
|
||||
</QueryBarFlexItem>
|
||||
<EuiFlexItem grow={false}>
|
||||
|
|
|
@ -36,7 +36,7 @@ export const QueryInput = ({
|
|||
const { inputValue, handleInputChange } = useDebouncedValue({ value, onChange });
|
||||
const lensAppServices = useKibana<LensAppServices>().services;
|
||||
|
||||
const { data, uiSettings, http, notifications, docLinks, storage, unifiedSearch } =
|
||||
const { data, uiSettings, http, notifications, docLinks, storage, unifiedSearch, dataViews } =
|
||||
lensAppServices;
|
||||
|
||||
return (
|
||||
|
@ -74,7 +74,7 @@ export const QueryInput = ({
|
|||
appName={i18n.translate('xpack.lens.queryInput.appName', {
|
||||
defaultMessage: 'Lens',
|
||||
})}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, storage }}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, storage, dataViews }}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
*/
|
||||
|
||||
import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
|
||||
import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
|
||||
import type { CoreStart } from '@kbn/core/public';
|
||||
import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public';
|
||||
import { useKibana, KibanaReactContextValue } from '@kbn/kibana-react-plugin/public';
|
||||
|
@ -27,6 +28,7 @@ import type { MlServicesContext } from '../../app';
|
|||
|
||||
interface StartPlugins {
|
||||
data: DataPublicPluginStart;
|
||||
dataViews: DataViewsPublicPluginStart;
|
||||
security?: SecurityPluginSetup;
|
||||
licenseManagement?: LicenseManagementUIPluginSetup;
|
||||
share: SharePluginStart;
|
||||
|
|
|
@ -58,8 +58,17 @@ export const ExplorationQueryBar: FC<ExplorationQueryBarProps> = ({
|
|||
const [errorMessage, setErrorMessage] = useState<ErrorMessage | undefined>(undefined);
|
||||
|
||||
const { services } = useMlKibana();
|
||||
const { unifiedSearch, data, storage, appName, notifications, http, docLinks, uiSettings } =
|
||||
services;
|
||||
const {
|
||||
unifiedSearch,
|
||||
data,
|
||||
storage,
|
||||
appName,
|
||||
notifications,
|
||||
http,
|
||||
docLinks,
|
||||
uiSettings,
|
||||
dataViews,
|
||||
} = services;
|
||||
|
||||
const searchChangeHandler = (q: Query) => setSearchInput(q);
|
||||
|
||||
|
@ -203,7 +212,16 @@ export const ExplorationQueryBar: FC<ExplorationQueryBarProps> = ({
|
|||
dataTestSubj="mlDFAnalyticsQueryInput"
|
||||
languageSwitcherPopoverAnchorPosition="rightDown"
|
||||
appName={appName}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, storage }}
|
||||
deps={{
|
||||
unifiedSearch,
|
||||
notifications,
|
||||
http,
|
||||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
storage,
|
||||
dataViews,
|
||||
}}
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
{filters && filters.options && (
|
||||
|
|
|
@ -113,8 +113,17 @@ export const ExplorerQueryBar: FC<ExplorerQueryBarProps> = ({
|
|||
}) => {
|
||||
const { anomalyExplorerCommonStateService } = useAnomalyExplorerContext();
|
||||
const { services } = useMlKibana();
|
||||
const { unifiedSearch, data, storage, appName, notifications, http, docLinks, uiSettings } =
|
||||
services;
|
||||
const {
|
||||
unifiedSearch,
|
||||
data,
|
||||
storage,
|
||||
appName,
|
||||
notifications,
|
||||
http,
|
||||
docLinks,
|
||||
uiSettings,
|
||||
dataViews,
|
||||
} = services;
|
||||
|
||||
// The internal state of the input query bar updated on every key stroke.
|
||||
const [searchInput, setSearchInput] = useState<Query>(
|
||||
|
@ -171,7 +180,16 @@ export const ExplorerQueryBar: FC<ExplorerQueryBarProps> = ({
|
|||
dataTestSubj="explorerQueryInput"
|
||||
languageSwitcherPopoverAnchorPosition="rightDown"
|
||||
appName={appName}
|
||||
deps={{ unifiedSearch, notifications, http, docLinks, uiSettings, data, storage }}
|
||||
deps={{
|
||||
unifiedSearch,
|
||||
notifications,
|
||||
http,
|
||||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
storage,
|
||||
dataViews,
|
||||
}}
|
||||
/>
|
||||
}
|
||||
isOpen={errorMessage?.query === searchInput.query && errorMessage?.message !== ''}
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"kibanaReact",
|
||||
"savedObjects",
|
||||
"data",
|
||||
"dataViews",
|
||||
"kibanaUtils"
|
||||
],
|
||||
"configPath": ["xpack", "stack_alerts"],
|
||||
|
|
|
@ -11,7 +11,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { fromKueryExpression, luceneStringToDsl } from '@kbn/es-query';
|
||||
import type { RuleTypeParamsExpressionProps } from '@kbn/triggers-actions-ui-plugin/public';
|
||||
import type { DataView } from '@kbn/data-plugin/common';
|
||||
import type { DataView, DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
|
||||
import type { Query } from '@kbn/es-query';
|
||||
import { QueryStringInput } from '@kbn/unified-search-plugin/public';
|
||||
import { useKibana } from '@kbn/kibana-react-plugin/public';
|
||||
|
@ -45,6 +45,7 @@ const DEFAULT_VALUES = {
|
|||
interface KibanaDeps {
|
||||
http: HttpSetup;
|
||||
docLinks: DocLinksStart;
|
||||
dataViews: DataViewsPublicPluginStart;
|
||||
uiSettings: IUiSettingsClient;
|
||||
notifications: CoreStart['notifications'];
|
||||
storage: IStorageWrapper;
|
||||
|
@ -79,7 +80,7 @@ export const GeoContainmentAlertTypeExpression: React.FunctionComponent<
|
|||
boundaryNameField,
|
||||
} = ruleParams;
|
||||
|
||||
const { http, docLinks, uiSettings, notifications, storage, usageCollection } =
|
||||
const { http, docLinks, uiSettings, notifications, storage, usageCollection, dataViews } =
|
||||
useKibana<KibanaDeps>().services;
|
||||
|
||||
const [indexPattern, _setIndexPattern] = useState<DataView>({
|
||||
|
@ -226,6 +227,7 @@ export const GeoContainmentAlertTypeExpression: React.FunctionComponent<
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
usageCollection,
|
||||
}}
|
||||
|
@ -281,6 +283,7 @@ export const GeoContainmentAlertTypeExpression: React.FunctionComponent<
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
usageCollection,
|
||||
}}
|
||||
|
|
|
@ -31,6 +31,7 @@ export const AlertQueryBar = ({ query = '', onChange }: Props) => {
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
unifiedSearch,
|
||||
storage,
|
||||
usageCollection,
|
||||
|
@ -72,6 +73,7 @@ export const AlertQueryBar = ({ query = '', onChange }: Props) => {
|
|||
deps={{
|
||||
unifiedSearch,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
notifications,
|
||||
http,
|
||||
|
|
|
@ -43,6 +43,7 @@ export const QueryBar = () => {
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
unifiedSearch,
|
||||
storage,
|
||||
usageCollection,
|
||||
|
@ -100,6 +101,7 @@ export const QueryBar = () => {
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
usageCollection,
|
||||
}}
|
||||
|
|
|
@ -11,6 +11,7 @@ import type { ScopedHistory } from '@kbn/core/public';
|
|||
|
||||
import { coreMock, themeServiceMock } from '@kbn/core/public/mocks';
|
||||
import { dataPluginMock } from '@kbn/data-plugin/public/mocks';
|
||||
import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks';
|
||||
import { savedObjectsPluginMock } from '@kbn/saved-objects-plugin/public/mocks';
|
||||
import { SharePluginStart } from '@kbn/share-plugin/public';
|
||||
|
||||
|
@ -25,6 +26,7 @@ import type { GetMlSharedImportsReturnType } from '../../shared_imports';
|
|||
const coreSetup = coreMock.createSetup();
|
||||
const coreStart = coreMock.createStart();
|
||||
const dataStart = dataPluginMock.createStartContract();
|
||||
const dataViewsStart = dataViewPluginMocks.createStartContract();
|
||||
|
||||
// Replace mock to support syntax using `.then()` as used in transform code.
|
||||
coreStart.savedObjects.client.find = jest.fn().mockResolvedValue({ savedObjects: [] });
|
||||
|
@ -33,6 +35,7 @@ const appDependencies: AppDependencies = {
|
|||
application: coreStart.application,
|
||||
chrome: coreStart.chrome,
|
||||
data: dataStart,
|
||||
dataViews: dataViewsStart,
|
||||
docLinks: coreStart.docLinks,
|
||||
i18n: coreStart.i18n,
|
||||
notifications: coreSetup.notifications,
|
||||
|
|
|
@ -19,6 +19,7 @@ import type {
|
|||
} from '@kbn/core/public';
|
||||
import type { SavedObjectsStart as SavedObjectsPluginStart } from '@kbn/saved-objects-plugin/public';
|
||||
import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
|
||||
import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public';
|
||||
import type { ScopedHistory } from '@kbn/core/public';
|
||||
import type { SharePluginStart } from '@kbn/share-plugin/public';
|
||||
import type { SpacesPluginStart } from '@kbn/spaces-plugin/public';
|
||||
|
@ -35,6 +36,7 @@ export interface AppDependencies {
|
|||
application: ApplicationStart;
|
||||
chrome: ChromeStart;
|
||||
data: DataPublicPluginStart;
|
||||
dataViews: DataViewsPublicPluginStart;
|
||||
docLinks: DocLinksStart;
|
||||
http: HttpSetup;
|
||||
i18n: I18nStart;
|
||||
|
|
|
@ -29,7 +29,7 @@ export async function mountManagementSection(
|
|||
const startServices = await getStartServices();
|
||||
const [core, plugins] = startServices;
|
||||
const { application, chrome, docLinks, i18n, overlays, theme, savedObjects, uiSettings } = core;
|
||||
const { data, share, spaces, triggersActionsUi, unifiedSearch } = plugins;
|
||||
const { data, dataViews, share, spaces, triggersActionsUi, unifiedSearch } = plugins;
|
||||
const { docTitle } = chrome;
|
||||
|
||||
// Initialize services
|
||||
|
@ -42,6 +42,7 @@ export async function mountManagementSection(
|
|||
application,
|
||||
chrome,
|
||||
data,
|
||||
dataViews,
|
||||
docLinks,
|
||||
http,
|
||||
i18n,
|
||||
|
|
|
@ -35,6 +35,7 @@ export const SourceSearchBar: FC<SourceSearchBarProps> = ({ dataView, searchBar
|
|||
http,
|
||||
docLinks,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
unifiedSearch,
|
||||
usageCollection,
|
||||
|
@ -73,6 +74,7 @@ export const SourceSearchBar: FC<SourceSearchBarProps> = ({ dataView, searchBar
|
|||
docLinks,
|
||||
uiSettings,
|
||||
data,
|
||||
dataViews,
|
||||
storage,
|
||||
usageCollection,
|
||||
}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue