Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[i18n] Translate ML - time series explorer #28066

Merged
merged 100 commits into from
Jan 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
c7ec189
Merge pull request #1 from elastic/master
Nox911 Sep 24, 2018
fa01b88
Merge pull request #2 from elastic/master
Nox911 Sep 27, 2018
70f6c7e
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Sep 27, 2018
68587a0
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Sep 28, 2018
42aa7d3
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 2, 2018
efeaefe
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 2, 2018
8a054ed
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 8, 2018
b0d1660
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 16, 2018
62b6ad1
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 17, 2018
acbad4b
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 18, 2018
a850650
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 22, 2018
0a200ce
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 25, 2018
b2a8244
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 29, 2018
b4b979e
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 30, 2018
d349a4f
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Oct 31, 2018
ae285b9
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 2, 2018
3051641
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 5, 2018
6231971
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 8, 2018
f86a3d4
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 9, 2018
cf813c7
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 13, 2018
1aba03f
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 14, 2018
491009b
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 15, 2018
e243126
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 22, 2018
e74bd61
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 22, 2018
8bc5ffa
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 23, 2018
5787937
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 23, 2018
f17fa1e
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 24, 2018
c63b0a6
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 26, 2018
ed62b5b
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 26, 2018
df4fab4
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 26, 2018
46d284a
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 27, 2018
d1fd49e
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 29, 2018
ec1ad76
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 29, 2018
6ebd934
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Nov 30, 2018
332d867
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 3, 2018
4a99411
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 3, 2018
4cdec42
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 4, 2018
5d44df7
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 4, 2018
c6e63aa
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 4, 2018
8182d1f
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 4, 2018
aefb90f
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 5, 2018
e4e7120
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 6, 2018
a9a6043
Merge branch 'master' of https://github.com/elastic/kibana
Dec 7, 2018
9d247e6
Merge branch 'master' of https://github.com/elastic/kibana
Dec 10, 2018
bd707af
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 11, 2018
71fb60d
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 12, 2018
4d95475
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 13, 2018
62e824d
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 13, 2018
4463796
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
876e358
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
231a859
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
2af5dc9
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
8a24575
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
aa0b988
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
1bd465e
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
9c43f68
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 14, 2018
45ea012
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 17, 2018
b20b0be
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 19, 2018
279bfed
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 19, 2018
d4f3e72
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 19, 2018
917da91
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 21, 2018
6beb6fe
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 26, 2018
a1bcdb5
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Dec 28, 2018
f4c8246
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 2, 2019
28c57ae
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 3, 2019
4b5e283
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 3, 2019
38b6a15
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 3, 2019
5f5ee45
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 3, 2019
f905f69
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 3, 2019
fa27873
Translate timeseries explorer
Nox911 Jan 4, 2019
407c098
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 4, 2019
038e15b
Fix issues
Nox911 Jan 4, 2019
f1b48ce
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 4, 2019
843e0c2
Fix tslint errors
Nox911 Jan 4, 2019
e0d4ace
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 4, 2019
8e7be44
Fix tslint error
Nox911 Jan 4, 2019
6c4774c
Fix test
Nox911 Jan 4, 2019
4eaa66e
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 4, 2019
8eeb802
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 4, 2019
fbc9ba5
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 4, 2019
ceacf09
Update tests
Nox911 Jan 4, 2019
278e7cc
Fix tests
Nox911 Jan 4, 2019
accf399
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 8, 2019
afd206c
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 8, 2019
bb6c550
Update snapshot
Nox911 Jan 8, 2019
a4ebe6d
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 9, 2019
ef23853
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 9, 2019
18c7b48
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 9, 2019
f869e9e
Resolve issues from review comments
Nox911 Jan 9, 2019
75b985c
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 9, 2019
c738a16
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 9, 2019
e93b756
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 9, 2019
b81bc62
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 10, 2019
8bb5062
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 11, 2019
b98feb0
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 11, 2019
9c449ea
Resolve issues from review comments
Nox911 Jan 11, 2019
86c3cfa
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 11, 2019
8906d8f
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 11, 2019
fc3cbb5
Merge branch 'master' of https://github.com/elastic/kibana
Nox911 Jan 14, 2019
bad3d79
Merge branch 'master' into feature/translate-ml-timeseries_explorer
Nox911 Jan 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ describe('ML - <ml-timeseries-chart>', () => {
document.getElementsByTagName('body')[0].append(mockClassedElement);

// spy the TimeseriesChart component's unmount method to be able to test if it was called
const componentWillUnmountSpy = sinon.spy(TimeseriesChart.prototype, 'componentWillUnmount');
const componentWillUnmountSpy = sinon.spy(TimeseriesChart.WrappedComponent.prototype, 'componentWillUnmount');

$element = $compile('<ml-timeseries-chart show-forecast="true" />')($scope);
const scope = $element.isolateScope();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

import mockAnnotations from '../../../components/annotations_table/__mocks__/mock_annotations.json';

import { shallow } from 'enzyme';
import moment from 'moment-timezone';
import React from 'react';
import { shallowWithIntl } from 'test_utils/enzyme_helpers';

import { AnnotationDescriptionList } from './index';

Expand All @@ -21,7 +21,12 @@ describe('AnnotationDescriptionList', () => {
});

test('Initialization with annotation.', () => {
const wrapper = shallow(<AnnotationDescriptionList annotation={mockAnnotations[0]} />);
const wrapper = shallowWithIntl(
<AnnotationDescriptionList.WrappedComponent
annotation={mockAnnotations[0]}
intl={null as any}
/>
);
expect(wrapper).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,70 @@ import React from 'react';

import { EuiDescriptionList } from '@elastic/eui';

import { InjectedIntl, injectI18n } from '@kbn/i18n/react';
import { Annotation } from '../../../../common/types/annotations';
import { formatHumanReadableDateTimeSeconds } from '../../../util/date_utils';

interface Props {
annotation: Annotation;
intl: InjectedIntl;
}

export const AnnotationDescriptionList: React.SFC<Props> = ({ annotation }) => {
export const AnnotationDescriptionList = injectI18n(({ annotation, intl }: Props) => {
const listItems = [
{
title: 'Job ID',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.jobIdTitle',
defaultMessage: 'Job ID',
}),
description: annotation.job_id,
},
{
title: 'Start',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.startTitle',
defaultMessage: 'Start',
}),
description: formatHumanReadableDateTimeSeconds(annotation.timestamp),
},
];

if (annotation.end_timestamp !== undefined) {
listItems.push({
title: 'End',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.endTitle',
defaultMessage: 'End',
}),
description: formatHumanReadableDateTimeSeconds(annotation.end_timestamp),
});
}

if (annotation.create_time !== undefined && annotation.modified_time !== undefined) {
listItems.push({
title: 'Created',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.createdTitle',
defaultMessage: 'Created',
}),
description: formatHumanReadableDateTimeSeconds(annotation.create_time),
});
listItems.push({
title: 'Created by',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.createdByTitle',
defaultMessage: 'Created by',
}),
description: annotation.create_username,
});
listItems.push({
title: 'Last modified',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.lastModifiedTitle',
defaultMessage: 'Last modified',
}),
description: formatHumanReadableDateTimeSeconds(annotation.modified_time),
});
listItems.push({
title: 'Modified by',
title: intl.formatMessage({
id: 'xpack.ml.timeSeriesExplorer.annotationDescriptionList.modifiedByTitle',
defaultMessage: 'Modified by',
}),
description: annotation.modified_username,
});
}
Expand All @@ -65,4 +88,4 @@ export const AnnotationDescriptionList: React.SFC<Props> = ({ annotation }) => {
listItems={listItems}
/>
);
};
});
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,16 @@ exports[`AnnotationFlyout Initialization. 1`] = `
<h2
id="mlAnnotationFlyoutTitle"
>
Edit
annotation
<FormattedMessage
defaultMessage="Edit annotation"
id="xpack.ml.timeSeriesExplorer.annotationFlyout.editAnnotationTitle"
values={Object {}}
/>
</h2>
</EuiTitle>
</EuiFlyoutHeader>
<EuiFlyoutBody>
<Component
<InjectIntl(Component)
annotation={
Object {
"_id": "KCCkDWgB_ZdQ1MFDSYPi",
Expand All @@ -49,7 +52,13 @@ exports[`AnnotationFlyout Initialization. 1`] = `
describedByIds={Array []}
fullWidth={true}
hasEmptyLabelSpace={false}
label="Annotation text"
label={
<FormattedMessage
defaultMessage="Annotation text"
id="xpack.ml.timeSeriesExplorer.annotationFlyout.annotationTextLabel"
values={Object {}}
/>
}
>
<EuiTextArea
fullWidth={true}
Expand Down Expand Up @@ -83,7 +92,11 @@ exports[`AnnotationFlyout Initialization. 1`] = `
onClick={[MockFunction]}
type="button"
>
Cancel
<FormattedMessage
defaultMessage="Cancel"
id="xpack.ml.timeSeriesExplorer.annotationFlyout.cancelButtonLabel"
values={Object {}}
/>
</EuiButtonEmpty>
</EuiFlexItem>
<EuiFlexItem
Expand All @@ -96,7 +109,11 @@ exports[`AnnotationFlyout Initialization. 1`] = `
onClick={[Function]}
type="button"
>
Delete
<FormattedMessage
defaultMessage="Delete"
id="xpack.ml.timeSeriesExplorer.annotationFlyout.deleteButtonLabel"
values={Object {}}
/>
</EuiButtonEmpty>
</EuiFlexItem>
<EuiFlexItem
Expand All @@ -111,7 +128,11 @@ exports[`AnnotationFlyout Initialization. 1`] = `
onClick={[Function]}
type="button"
>
Update
<FormattedMessage
defaultMessage="Update"
id="xpack.ml.timeSeriesExplorer.annotationFlyout.updateButtonLabel"
values={Object {}}
/>
</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

import mockAnnotations from '../../../components/annotations_table/__mocks__/mock_annotations.json';

import { shallow } from 'enzyme';
import React from 'react';
import { shallowWithIntl } from 'test_utils/enzyme_helpers';

import { AnnotationFlyout } from './index';

Expand All @@ -21,7 +21,7 @@ describe('AnnotationFlyout', () => {
saveAction: jest.fn(),
};

const wrapper = shallow(<AnnotationFlyout {...props} />);
const wrapper = shallowWithIntl(<AnnotationFlyout {...props} />);
expect(wrapper).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ import { AnnotationDescriptionList } from '../annotation_description_list';

import { Annotation } from '../../../../common/types/annotations';

import { FormattedMessage } from '@kbn/i18n/react';

interface Props {
annotation: Annotation;
cancelAction: () => {};
Expand All @@ -43,19 +45,37 @@ export const AnnotationFlyout: React.SFC<Props> = ({
const saveActionWrapper = () => saveAction(annotation);
const deleteActionWrapper = () => deleteAction(annotation);
const isExistingAnnotation = typeof annotation._id !== 'undefined';
const titlePrefix = isExistingAnnotation ? 'Edit' : 'Add';

return (
<EuiFlyout onClose={cancelAction} size="s" aria-labelledby="Add annotation">
<EuiFlyoutHeader hasBorder>
<EuiTitle size="s">
<h2 id="mlAnnotationFlyoutTitle">{titlePrefix} annotation</h2>
<h2 id="mlAnnotationFlyoutTitle">
{isExistingAnnotation ? (
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.editAnnotationTitle"
defaultMessage="Edit annotation"
/>
) : (
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.addAnnotationTitle"
defaultMessage="Add annotation"
/>
)}
</h2>
</EuiTitle>
</EuiFlyoutHeader>
<EuiFlyoutBody>
<AnnotationDescriptionList annotation={annotation} />
<EuiSpacer size="m" />
<EuiFormRow label="Annotation text" fullWidth>
<EuiFormRow
label={
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.annotationTextLabel"
defaultMessage="Annotation text"
/>
}
fullWidth
>
<EuiTextArea
fullWidth
isInvalid={annotation.annotation === ''}
Expand All @@ -69,19 +89,35 @@ export const AnnotationFlyout: React.SFC<Props> = ({
<EuiFlexGroup justifyContent="spaceBetween">
<EuiFlexItem grow={false}>
<EuiButtonEmpty iconType="cross" onClick={cancelAction} flush="left">
Cancel
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.cancelButtonLabel"
defaultMessage="Cancel"
/>
</EuiButtonEmpty>
</EuiFlexItem>
<EuiFlexItem grow={false}>
{isExistingAnnotation && (
<EuiButtonEmpty color="danger" onClick={deleteActionWrapper}>
Delete
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.deleteButtonLabel"
defaultMessage="Delete"
/>
</EuiButtonEmpty>
)}
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiButton fill isDisabled={annotation.annotation === ''} onClick={saveActionWrapper}>
{isExistingAnnotation ? 'Update' : 'Create'}
{isExistingAnnotation ? (
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.updateButtonLabel"
defaultMessage="Update"
/>
) : (
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.annotationFlyout.createButtonLabel"
defaultMessage="Create"
/>
)}
</EuiButton>
</EuiFlexItem>
</EuiFlexGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import {
EUI_MODAL_CONFIRM_BUTTON,
} from '@elastic/eui';

import { FormattedMessage } from '@kbn/i18n/react';

export function DeleteAnnotationModal({
cancelAction,
deleteAction,
Expand All @@ -24,11 +26,20 @@ export function DeleteAnnotationModal({
{isVisible === true &&
<EuiOverlayMask>
<EuiConfirmModal
title="Delete this annotation?"
title={<FormattedMessage
id="xpack.ml.timeSeriesExplorer.deleteAnnotationModal.deleteAnnotationTitle"
defaultMessage="Delete this annotation?"
/>}
onCancel={cancelAction}
onConfirm={deleteAction}
cancelButtonText="Cancel"
confirmButtonText="Delete"
cancelButtonText={<FormattedMessage
id="xpack.ml.timeSeriesExplorer.deleteAnnotationModal.cancelButtonLabel"
defaultMessage="Cancel"
/>}
confirmButtonText={<FormattedMessage
id="xpack.ml.timeSeriesExplorer.deleteAnnotationModal.deleteButtonLabel"
defaultMessage="Delete"
/>}
buttonColor="danger"
defaultFocusedButton={EUI_MODAL_CONFIRM_BUTTON}
className="eui-textBreakWord"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import {

import { ProgressIcon } from './progress_icon';
import { PROGRESS_STATES } from './progress_states';
import { FormattedMessage } from '@kbn/i18n/react';


export function ForecastProgress({
Expand All @@ -38,7 +39,12 @@ export function ForecastProgress({
<EuiFlexGroup gutterSize="s" alignItems="center">
<EuiFlexItem grow={false}>
<EuiText size="xs">
<h3>Opening job...</h3>
<h3>
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.forecastingModal.openingJobTitle"
defaultMessage="Opening job…"
/>
</h3>
</EuiText>
</EuiFlexItem>
<EuiFlexItem grow={false}>
Expand All @@ -53,7 +59,12 @@ export function ForecastProgress({
<EuiFlexGroup gutterSize="s" alignItems="center">
<EuiFlexItem grow={false}>
<EuiText size="xs">
<h3>Running forecast...</h3>
<h3>
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.forecastingModal.runningForecastTitle"
defaultMessage="Running forecast…"
/>
</h3>
</EuiText>
</EuiFlexItem>
{forecastProgress >= 0 &&
Expand All @@ -80,7 +91,12 @@ export function ForecastProgress({
<EuiFlexGroup gutterSize="s" alignItems="center">
<EuiFlexItem grow={false}>
<EuiText size="xs">
<h3>Closing job...</h3>
<h3>
<FormattedMessage
id="xpack.ml.timeSeriesExplorer.forecastingModal.closingJobTitle"
defaultMessage="Closing job…"
/>
</h3>
</EuiText>
</EuiFlexItem>
<EuiFlexItem grow={false}>
Expand Down
Loading