diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx
index a2993b4d86d5..91a0a7c5edcc 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_landing.tsx
@@ -7,29 +7,25 @@
import React from 'react';
-import {
- EuiButton,
- EuiLink,
- EuiPageHeader,
- EuiPanel,
- EuiSpacer,
- EuiText,
- EuiTitle,
-} from '@elastic/eui';
+import { EuiButton, EuiLink, EuiPanel, EuiSpacer, EuiText, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { getAppSearchUrl } from '../../../shared/enterprise_search_url';
import { DOCS_PREFIX, ENGINE_CRAWLER_PATH } from '../../routes';
-import { generateEnginePath } from '../engine';
+import { generateEnginePath, getEngineBreadcrumbs } from '../engine';
+import { AppSearchPageTemplate } from '../layout';
import './crawler_landing.scss';
import { CRAWLER_TITLE } from '.';
export const CrawlerLanding: React.FC = () => (
-
-
-
-
+
+
@@ -81,5 +77,5 @@ export const CrawlerLanding: React.FC = () => (
-
+
);
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.test.tsx
index affc2fd08e34..3804ecfe7c67 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.test.tsx
@@ -7,14 +7,12 @@
import { setMockActions, setMockValues } from '../../../__mocks__/kea_logic';
import '../../../__mocks__/shallow_useeffect.mock';
+import '../../__mocks__/engine_logic.mock';
import React from 'react';
import { shallow, ShallowWrapper } from 'enzyme';
-import { Loading } from '../../../shared/loading';
-import { rerender } from '../../../test_helpers';
-
import { DomainsTable } from './components/domains_table';
import { CrawlerOverview } from './crawler_overview';
@@ -50,11 +48,4 @@ describe('CrawlerOverview', () => {
// TODO test for empty state after it is built in a future PR
});
-
- it('shows a loading state when data is loading', () => {
- setMockValues({ dataLoading: true });
- rerender(wrapper);
-
- expect(wrapper.find(Loading)).toHaveLength(1);
- });
});
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.tsx
index 14906378692e..9e484df35e7a 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_overview.tsx
@@ -9,10 +9,8 @@ import React, { useEffect } from 'react';
import { useActions, useValues } from 'kea';
-import { EuiPageHeader } from '@elastic/eui';
-
-import { FlashMessages } from '../../../shared/flash_messages';
-import { Loading } from '../../../shared/loading';
+import { getEngineBreadcrumbs } from '../engine';
+import { AppSearchPageTemplate } from '../layout';
import { DomainsTable } from './components/domains_table';
import { CRAWLER_TITLE } from './constants';
@@ -27,15 +25,13 @@ export const CrawlerOverview: React.FC = () => {
fetchCrawlerData();
}, []);
- if (dataLoading) {
- return ;
- }
-
return (
- <>
-
-
+
- >
+
);
};
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx
index c11c65633301..587ba61ce27e 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.test.tsx
@@ -5,9 +5,6 @@
* 2.0.
*/
-import { setMockValues } from '../../../__mocks__/kea_logic';
-import { mockEngineValues } from '../../__mocks__';
-
import React from 'react';
import { Switch } from 'react-router-dom';
@@ -22,7 +19,6 @@ describe('CrawlerRouter', () => {
beforeEach(() => {
jest.clearAllMocks();
- setMockValues({ ...mockEngineValues });
});
afterEach(() => {
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx
index 926c45b43793..a0145cf76908 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/crawler_router.tsx
@@ -8,11 +8,6 @@
import React from 'react';
import { Route, Switch } from 'react-router-dom';
-import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
-
-import { getEngineBreadcrumbs } from '../engine';
-
-import { CRAWLER_TITLE } from './constants';
import { CrawlerLanding } from './crawler_landing';
import { CrawlerOverview } from './crawler_overview';
@@ -20,7 +15,6 @@ export const CrawlerRouter: React.FC = () => {
return (
-
{process.env.NODE_ENV === 'development' ? : }
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx
index 04e252e44270..fa024d50d027 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engine/engine_router.tsx
@@ -114,6 +114,16 @@ export const EngineRouter: React.FC = () => {
)}
+ {canViewMetaEngineSourceEngines && (
+
+
+
+ )}
+ {canViewEngineCrawler && (
+
+
+
+ )}
{canManageEngineRelevanceTuning && (
@@ -146,16 +156,6 @@ export const EngineRouter: React.FC = () => {
)}
- {canViewMetaEngineSourceEngines && (
-
-
-
- )}
- {canViewEngineCrawler && (
-
-
-
- )}
);
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/components/add_source_engines_button.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/components/add_source_engines_button.tsx
index 004217d88987..3076e14d6329 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/components/add_source_engines_button.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/components/add_source_engines_button.tsx
@@ -18,7 +18,7 @@ export const AddSourceEnginesButton: React.FC = () => {
const { openModal } = useActions(SourceEnginesLogic);
return (
-
+
{ADD_SOURCE_ENGINES_BUTTON_LABEL}
);
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.test.tsx
index 9d2fe653150c..e2398209e630 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.test.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.test.tsx
@@ -11,11 +11,9 @@ import '../../__mocks__/engine_logic.mock';
import React from 'react';
-import { shallow, ShallowWrapper } from 'enzyme';
+import { shallow } from 'enzyme';
-import { EuiPageHeader } from '@elastic/eui';
-
-import { Loading } from '../../../shared/loading';
+import { getPageHeaderActions } from '../../../test_helpers';
import { AddSourceEnginesButton, AddSourceEnginesModal, SourceEnginesTable } from './components';
@@ -61,20 +59,10 @@ describe('SourceEngines', () => {
expect(wrapper.find(AddSourceEnginesModal)).toHaveLength(1);
});
- it('renders a loading component before data has loaded', () => {
- setMockValues({ ...MOCK_VALUES, dataLoading: true });
- const wrapper = shallow();
-
- expect(wrapper.find(Loading)).toHaveLength(1);
- });
-
describe('page actions', () => {
- const getPageHeader = (wrapper: ShallowWrapper) =>
- wrapper.find(EuiPageHeader).dive().children().dive();
-
it('contains a button to add source engines', () => {
const wrapper = shallow();
- expect(getPageHeader(wrapper).find(AddSourceEnginesButton)).toHaveLength(1);
+ expect(getPageHeaderActions(wrapper).find(AddSourceEnginesButton)).toHaveLength(1);
});
it('hides the add source engines button if the user does not have permissions', () => {
@@ -86,7 +74,7 @@ describe('SourceEngines', () => {
});
const wrapper = shallow();
- expect(getPageHeader(wrapper).find(AddSourceEnginesButton)).toHaveLength(0);
+ expect(getPageHeaderActions(wrapper).find(AddSourceEnginesButton)).toHaveLength(0);
});
});
});
diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.tsx
index 190c44c91902..d2476faf4f3f 100644
--- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.tsx
+++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/source_engines/source_engines.tsx
@@ -9,13 +9,11 @@ import React, { useEffect } from 'react';
import { useActions, useValues } from 'kea';
-import { EuiPageHeader, EuiPageContent } from '@elastic/eui';
+import { EuiPanel } from '@elastic/eui';
-import { FlashMessages } from '../../../shared/flash_messages';
-import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
-import { Loading } from '../../../shared/loading';
import { AppLogic } from '../../app_logic';
import { getEngineBreadcrumbs } from '../engine';
+import { AppSearchPageTemplate } from '../layout';
import { AddSourceEnginesButton, AddSourceEnginesModal, SourceEnginesTable } from './components';
import { SOURCE_ENGINES_TITLE } from './i18n';
@@ -33,20 +31,19 @@ export const SourceEngines: React.FC = () => {
fetchSourceEngines();
}, []);
- if (dataLoading) return ;
-
return (
- <>
-
- ] : []}
- />
-
-
+ ] : [],
+ }}
+ isLoading={dataLoading}
+ >
+
{isModalOpen && }
-
- >
+
+
);
};