From 8424a925332d5bd7d93148fbab72d1f518933485 Mon Sep 17 00:00:00 2001
From: Alison Goryachev
Date: Mon, 14 Jun 2021 10:50:20 -0400
Subject: [PATCH] [ILM] Migrate to new page layout (#101927)
---
.../__snapshots__/policy_table.test.tsx.snap | 98 +++--
.../edit_policy/edit_policy.container.tsx | 70 ++--
.../sections/edit_policy/edit_policy.tsx | 351 +++++++++---------
.../policy_table/policy_table.container.tsx | 70 ++--
.../sections/policy_table/policy_table.tsx | 101 +++--
5 files changed, 339 insertions(+), 351 deletions(-)
diff --git a/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/policy_table.test.tsx.snap b/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/policy_table.test.tsx.snap
index 8d839e196916b6..556ac35d0565e8 100644
--- a/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/policy_table.test.tsx.snap
+++ b/x-pack/plugins/index_lifecycle_management/__jest__/__snapshots__/policy_table.test.tsx.snap
@@ -46,71 +46,67 @@ Array [
`;
exports[`policy table should show empty state when there are not any policies 1`] = `
-
+
+
-
-
-
-
- Create your first index lifecycle policy
-
-
-
-
- An index lifecycle policy helps you manage your indices as they age.
-
-
-
+ Create your first index lifecycle policy
+
-
+
+ An index lifecycle policy helps you manage your indices as they age.
+
+
+
+
+
+
+
+
-
-
- Create policy
-
+ Create policy
-
-
+
+
-
+
`;
exports[`policy table should sort when linked indices header is clicked 1`] = `
diff --git a/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.container.tsx b/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.container.tsx
index fe82b200930724..07c2228863b810 100644
--- a/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.container.tsx
+++ b/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.container.tsx
@@ -7,7 +7,7 @@
import React, { useEffect } from 'react';
import { RouteComponentProps } from 'react-router-dom';
-import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner } from '@elastic/eui';
+import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner, EuiPageContent } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { MIN_SEARCHABLE_SNAPSHOT_LICENSE } from '../../../../common/constants';
@@ -52,43 +52,47 @@ export const EditPolicy: React.FunctionComponent }
- body={
-
- }
- />
+
+ }
+ body={
+
+ }
+ />
+
);
}
if (error || !policies) {
const { statusCode, message } = error ? error : { statusCode: '', message: '' };
return (
-
-
-
- }
- body={
-
- {message} ({statusCode})
-
- }
- actions={
-
-
-
- }
- />
+
+
+
+
+ }
+ body={
+
+ {message} ({statusCode})
+
+ }
+ actions={
+
+
+
+ }
+ />
+
);
}
diff --git a/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.tsx b/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.tsx
index d7368249d76e8c..172e8259b87af3 100644
--- a/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.tsx
+++ b/x-pack/plugins/index_lifecycle_management/public/application/sections/edit_policy/edit_policy.tsx
@@ -19,15 +19,10 @@ import {
EuiFlexItem,
EuiFormRow,
EuiHorizontalRule,
- EuiPage,
- EuiPageBody,
- EuiPageContent,
- EuiPageContentHeader,
- EuiPageContentHeaderSection,
EuiSpacer,
EuiSwitch,
EuiText,
- EuiTitle,
+ EuiPageHeader,
} from '@elastic/eui';
import { TextField, useForm, useFormData, useKibana } from '../../../shared_imports';
@@ -153,201 +148,199 @@ export const EditPolicy: React.FunctionComponent = ({ history }) => {
};
return (
-
-
-
-
-
-
-
- {isNewPolicy
- ? i18n.translate('xpack.indexLifecycleMgmt.editPolicy.createPolicyMessage', {
- defaultMessage: 'Create policy',
- })
- : i18n.translate('xpack.indexLifecycleMgmt.editPolicy.editPolicyMessage', {
- defaultMessage: 'Edit policy {originalPolicyName}',
- values: { originalPolicyName },
- })}
-
-
-
-
-
+ <>
+
+ {isNewPolicy
+ ? i18n.translate('xpack.indexLifecycleMgmt.editPolicy.createPolicyMessage', {
+ defaultMessage: 'Create policy',
+ })
+ : i18n.translate('xpack.indexLifecycleMgmt.editPolicy.editPolicyMessage', {
+ defaultMessage: 'Edit policy {originalPolicyName}',
+ values: { originalPolicyName },
+ })}
+
+ }
+ bottomBorder
+ rightSideItems={[
+
+
+ ,
+ ]}
+ />
+
+
+
+
-
-
-
+
+
+
+
+ {
+ setSaveAsNew(e.target.checked);
}}
+ label={
+
+
+
+ }
/>
- ) : null}
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ )}
+
+ {saveAsNew || isNewPolicy ? (
+
+ path={policyNamePath}
+ config={{
+ label: i18n.translate('xpack.indexLifecycleMgmt.editPolicy.policyNameLabel', {
+ defaultMessage: 'Policy name',
+ }),
+ helpText: i18n.translate(
+ 'xpack.indexLifecycleMgmt.editPolicy.validPolicyNameMessage',
+ {
+ defaultMessage:
+ 'A policy name cannot start with an underscore and cannot contain a comma or a space.',
+ }
+ ),
+ validations: policyNameValidations,
+ }}
+ component={TextField}
+ componentProps={{
+ fullWidth: false,
+ euiFieldProps: {
+ 'data-test-subj': 'policyNameField',
+ },
+ }}
+ />
+ ) : null}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {isAllowedByLicense && (
+ <>
-
+
+ >
+ )}
- {isAllowedByLicense && (
- <>
-
-
- >
- )}
-
- {/* We can't add the here as it breaks the layout
+ {/* We can't add the here as it breaks the layout
and makes the connecting line go further that it needs to.
There is an issue in EUI to fix this (https://github.com/elastic/eui/issues/4492) */}
-
-
+
+
-
+
-
-
-
-
-
-
-
- {saveAsNew ? (
-
- ) : (
-
- )}
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
- {isShowingPolicyJsonFlyout ? (
+
+ {saveAsNew ? (
) : (
)}
+
+
+
+
+
+
+
- {isShowingPolicyJsonFlyout ? (
- setIsShowingPolicyJsonFlyout(false)}
- />
- ) : null}
-
-
-
-
+
+
+ {isShowingPolicyJsonFlyout ? (
+
+ ) : (
+
+ )}
+
+
+
+
+ {isShowingPolicyJsonFlyout ? (
+ setIsShowingPolicyJsonFlyout(false)}
+ />
+ ) : null}
+
+ >
);
};
diff --git a/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.container.tsx b/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.container.tsx
index 7cf50de0ee9997..deac2bb239d30a 100644
--- a/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.container.tsx
+++ b/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.container.tsx
@@ -8,7 +8,7 @@
import React, { useEffect } from 'react';
import { ApplicationStart } from 'kibana/public';
import { RouteComponentProps } from 'react-router-dom';
-import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner } from '@elastic/eui';
+import { EuiButton, EuiEmptyPrompt, EuiLoadingSpinner, EuiPageContent } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n/react';
import { PolicyTable as PresentationComponent } from './policy_table';
import { useKibana } from '../../../shared_imports';
@@ -33,43 +33,47 @@ export const PolicyTable: React.FunctionComponent =
if (isLoading) {
return (
- }
- body={
-
- }
- />
+
+ }
+ body={
+
+ }
+ />
+
);
}
if (error) {
const { statusCode, message } = error ? error : { statusCode: '', message: '' };
return (
-
-
-
- }
- body={
-
- {message} ({statusCode})
-
- }
- actions={
-
-
-
- }
- />
+
+
+
+
+ }
+ body={
+
+ {message} ({statusCode})
+
+ }
+ actions={
+
+
+
+ }
+ />
+
);
}
diff --git a/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.tsx b/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.tsx
index 3b0f815800ba3d..ba89d6c895d93e 100644
--- a/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.tsx
+++ b/x-pack/plugins/index_lifecycle_management/public/application/sections/policy_table/policy_table.tsx
@@ -16,9 +16,7 @@ import {
EuiFlexGroup,
EuiFlexItem,
EuiSpacer,
- EuiTitle,
- EuiText,
- EuiPageBody,
+ EuiPageHeader,
EuiPageContent,
} from '@elastic/eui';
import { ApplicationStart } from 'kibana/public';
@@ -119,67 +117,60 @@ export const PolicyTable: React.FunctionComponent = ({
);
} else {
return (
-
-
-
+
+
+
+
+ }
+ body={
+
+
-
- }
- body={
-
-
-
-
-
- }
- actions={createPolicyButton}
- />
-
-
+
+
+ }
+ actions={createPolicyButton}
+ />
+
);
}
return (
-
-
- {confirmModal}
+ <>
+ {confirmModal}
-
-
-
-
-
-
-
-
- {createPolicyButton}
-
-
-
-
+
-
-
+
+ }
+ description={
+
+ }
+ bottomBorder
+ rightSideItems={[createPolicyButton]}
+ />
-
- {content}
-
-
+
+
+ {content}
+ >
);
};