Upgrade EUI to 21.0.1 (#60282)

* update to eui 21.0.1

* most changes needed for search bar ts changes

* Passing types

* snapshots

* jest tests

* Removed IQuery placeholder types

* Updated functional test to only look at table headers with content

* Moved 'filters' definition around in api docs

* Update types

* update snapshot

* typo

* Move DATA_FRAME_TASK_STATE enum to its own file to fix x-pack functional test config imports

* merge public api 'changes'

Co-authored-by: patrykkopycinski <patryk.kopycinski@elastic.co>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
This commit is contained in:
Chandler Prall 2020-03-20 14:07:04 -06:00 committed by GitHub
parent d896292b6f
commit 0bf62cbf3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
51 changed files with 1172 additions and 1141 deletions

View file

@ -7,7 +7,7 @@
<b>Signature:</b>
```typescript
FilterBar: React.ComponentClass<Pick<Props, "className" | "indexPatterns" | "filters" | "onFiltersUpdated">, any> & {
FilterBar: React.ComponentClass<Pick<Props, "className" | "filters" | "indexPatterns" | "onFiltersUpdated">, any> & {
WrappedComponent: React.ComponentType<Props & ReactIntl.InjectedIntlProps>;
}
```

View file

@ -7,7 +7,7 @@
<b>Signature:</b>
```typescript
SearchBar: React.ComponentClass<Pick<Pick<SearchBarProps, "query" | "isLoading" | "intl" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, "query" | "isLoading" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
WrappedComponent: React.ComponentType<Pick<SearchBarProps, "query" | "isLoading" | "intl" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange"> & ReactIntl.InjectedIntlProps>;
SearchBar: React.ComponentClass<Pick<Pick<SearchBarProps, "query" | "isLoading" | "filters" | "intl" | "indexPatterns" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, "query" | "isLoading" | "filters" | "indexPatterns" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
WrappedComponent: React.ComponentType<Pick<SearchBarProps, "query" | "isLoading" | "filters" | "intl" | "indexPatterns" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange"> & ReactIntl.InjectedIntlProps>;
}
```

View file

@ -121,7 +121,7 @@
"@elastic/charts": "^18.1.0",
"@elastic/datemath": "5.0.2",
"@elastic/ems-client": "7.7.0",
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"@elastic/filesaver": "1.1.2",
"@elastic/good": "8.1.1-kibana2",
"@elastic/numeral": "2.4.0",

View file

@ -11,7 +11,7 @@
"devDependencies": {
"@elastic/charts": "^18.1.0",
"abortcontroller-polyfill": "^1.4.0",
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"@kbn/babel-preset": "1.0.0",
"@kbn/dev-utils": "1.0.0",
"@kbn/i18n": "1.0.0",

View file

@ -3,6 +3,7 @@
exports[`DefaultEditorAgg component should init with the default set of props 1`] = `
<EuiAccordion
aria-label="Toggle metric editor"
arrowDisplay="left"
buttonClassName="eui-textTruncate"
buttonContent={
<React.Fragment>

View file

@ -46,6 +46,7 @@ exports[`ValueAxesPanel component should init with the default set of props 1`]
/>
<EuiAccordion
aria-label="Toggle ValueAxis-1 options"
arrowDisplay="left"
buttonClassName="eui-textTruncate"
buttonContent={
<React.Fragment>
@ -226,6 +227,7 @@ exports[`ValueAxesPanel component should init with the default set of props 1`]
</EuiAccordion>
<EuiAccordion
aria-label="Toggle ValueAxis-1 options"
arrowDisplay="left"
buttonClassName="eui-textTruncate"
buttonContent={
<React.Fragment>

View file

@ -118,6 +118,7 @@ exports[`ValueAxisOptions component should init with the default set of props 1`
/>
<EuiAccordion
aria-label="Toggle custom extents"
arrowDisplay="left"
buttonContent="Custom extents"
buttonContentClassName="euiText euiText--small"
className="visEditorSidebar__section visEditorSidebar__collapsible"

View file

@ -19,14 +19,7 @@
import React, { Component } from 'react';
import { Subscription } from 'rxjs';
import {
Comparators,
EuiFlexGroup,
EuiFlexItem,
EuiSpacer,
// @ts-ignore
Query,
} from '@elastic/eui';
import { Comparators, EuiFlexGroup, EuiFlexItem, EuiSpacer, Query } from '@elastic/eui';
import { useParams } from 'react-router-dom';
import { CallOuts } from './components/call_outs';
@ -38,7 +31,7 @@ import { ComponentRegistry } from '../';
import { getAriaName, toEditableConfig, DEFAULT_CATEGORY } from './lib';
import { FieldSetting, IQuery, SettingsChanges } from './types';
import { FieldSetting, SettingsChanges } from './types';
interface AdvancedSettingsProps {
enableSaving: boolean;
@ -54,7 +47,7 @@ interface AdvancedSettingsComponentProps extends AdvancedSettingsProps {
interface AdvancedSettingsState {
footerQueryMatched: boolean;
query: IQuery;
query: Query;
filteredSettings: Record<string, FieldSetting[]>;
}
@ -156,7 +149,7 @@ export class AdvancedSettingsComponent extends Component<
}, {});
}
onQueryChange = ({ query }: { query: IQuery }) => {
onQueryChange = ({ query }: { query: Query }) => {
this.setState({
query,
filteredSettings: this.mapSettings(Query.execute(query, this.settings)),

View file

@ -19,19 +19,14 @@
import React, { Fragment, PureComponent } from 'react';
import { i18n } from '@kbn/i18n';
import {
// @ts-ignore
EuiSearchBar,
EuiFormErrorText,
} from '@elastic/eui';
import { IQuery } from '../../types';
import { EuiSearchBar, EuiFormErrorText, Query } from '@elastic/eui';
import { getCategoryName } from '../../lib';
interface SearchProps {
categories: string[];
query: IQuery;
onQueryChange: ({ query }: { query: IQuery }) => void;
query: Query;
onQueryChange: ({ query }: { query: Query }) => void;
}
export class Search extends PureComponent<SearchProps> {
@ -53,7 +48,7 @@ export class Search extends PureComponent<SearchProps> {
parseErrorMessage: null,
};
onChange = ({ query, error }: { query: IQuery; error: { message: string } }) => {
onChange = ({ query, error }: { query: Query | null; error: { message: string } | null }) => {
if (error) {
this.setState({
isSearchTextValid: false,
@ -66,7 +61,7 @@ export class Search extends PureComponent<SearchProps> {
isSearchTextValid: true,
parseErrorMessage: null,
});
this.props.onQueryChange({ query });
this.props.onQueryChange({ query: query! });
};
render() {
@ -82,12 +77,12 @@ export class Search extends PureComponent<SearchProps> {
const filters = [
{
type: 'field_value_selection',
type: 'field_value_selection' as const,
field: 'category',
name: i18n.translate('advancedSettings.categorySearchLabel', {
defaultMessage: 'Category',
}),
multiSelect: 'or',
multiSelect: 'or' as const,
options: this.categories,
},
];

View file

@ -54,9 +54,3 @@ export interface FieldState {
isInvalid?: boolean;
error?: string | null;
}
export interface IQuery {
ast: any; // incomplete
text: string;
syntax: any; // incomplete
}

View file

@ -513,7 +513,7 @@ export interface Filter {
// Warning: (ae-missing-release-tag) "FilterBar" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const FilterBar: React.ComponentClass<Pick<Props_2, "className" | "indexPatterns" | "filters" | "onFiltersUpdated">, any> & {
export const FilterBar: React.ComponentClass<Pick<Props_2, "className" | "filters" | "indexPatterns" | "onFiltersUpdated">, any> & {
WrappedComponent: React.ComponentType<Props_2 & ReactIntl.InjectedIntlProps>;
};
@ -1531,8 +1531,8 @@ export const search: {
// Warning: (ae-missing-release-tag) "SearchBar" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const SearchBar: React.ComponentClass<Pick<Pick<SearchBarProps, "query" | "isLoading" | "intl" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, "query" | "isLoading" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
WrappedComponent: React.ComponentType<Pick<SearchBarProps, "query" | "isLoading" | "intl" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange"> & ReactIntl.InjectedIntlProps>;
export const SearchBar: React.ComponentClass<Pick<Pick<SearchBarProps, "query" | "isLoading" | "filters" | "intl" | "indexPatterns" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, "query" | "isLoading" | "filters" | "indexPatterns" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, any> & {
WrappedComponent: React.ComponentType<Pick<SearchBarProps, "query" | "isLoading" | "filters" | "intl" | "indexPatterns" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange"> & ReactIntl.InjectedIntlProps>;
};
// Warning: (ae-forgotten-export) The symbol "SearchBarOwnProps" needs to be exported by the entry point index.d.ts

View file

@ -94,7 +94,6 @@ export default function({ getService, getPageObjects }) {
'Searchable',
'Aggregatable',
'Excluded',
'',
];
expect(headers.length).to.be(expectedHeaders.length);

View file

@ -7,7 +7,7 @@
},
"license": "Apache-2.0",
"dependencies": {
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"react": "^16.12.0",
"react-dom": "^16.12.0"
}

View file

@ -7,7 +7,7 @@
},
"license": "Apache-2.0",
"dependencies": {
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"react": "^16.12.0"
}
}

View file

@ -8,7 +8,7 @@
},
"license": "Apache-2.0",
"dependencies": {
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"react": "^16.12.0"
},
"scripts": {

View file

@ -8,7 +8,7 @@
},
"license": "Apache-2.0",
"dependencies": {
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"react": "^16.12.0"
},
"scripts": {

View file

@ -19,7 +19,3 @@
import { Direction } from '@elastic/eui/src/services/sort/sort_direction';
// TODO: Remove once typescript definitions are in EUI
declare module '@elastic/eui' {
export const Query: any;
}

View file

@ -161,7 +161,7 @@ exports[`ErrorGroupOverview -> List should render empty state 1`] = `
</span>
</div>
</th>
<th
<td
className="euiTableHeaderCell"
data-test-subj="tableHeaderCell_handled_2"
role="columnheader"
@ -179,7 +179,7 @@ exports[`ErrorGroupOverview -> List should render empty state 1`] = `
className="euiTableCellContent__text"
/>
</div>
</th>
</td>
<th
aria-live="polite"
aria-sort="descending"
@ -505,7 +505,7 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
</span>
</div>
</th>
<th
<td
className="euiTableHeaderCell"
data-test-subj="tableHeaderCell_handled_2"
role="columnheader"
@ -523,7 +523,7 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
className="euiTableCellContent__text"
/>
</div>
</th>
</td>
<th
aria-live="polite"
aria-sort="descending"

View file

@ -131,6 +131,7 @@ exports[`Stackframe when stackframe has source lines should render correctly 1`]
}
>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<FrameHeading
isLibraryFrame={false}

View file

@ -61,6 +61,12 @@ jest.mock('@elastic/eui/packages/react-datepicker', () => {
};
});
jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => {
return {
htmlIdGenerator: () => () => `generated-id`,
};
});
jest.mock('plugins/interpreter/registries', () => ({}));
// Disabling this test due to https://github.com/elastic/eui/issues/2242

View file

@ -193,6 +193,7 @@ Array [
>
<input
accept="image/*"
aria-describedby="generated-id-filePicker__prompt"
className="euiFilePicker__input"
id="generated-id"
onBlur={[Function]}
@ -205,6 +206,7 @@ Array [
/>
<div
className="euiFilePicker__prompt"
id="generated-id-filePicker__prompt"
>
<div
aria-hidden="true"
@ -541,6 +543,7 @@ Array [
>
<input
accept="image/*"
aria-describedby="generated-id-filePicker__prompt"
className="euiFilePicker__input"
id="generated-id"
onBlur={[Function]}
@ -553,6 +556,7 @@ Array [
/>
<div
className="euiFilePicker__prompt"
id="generated-id-filePicker__prompt"
>
<div
aria-hidden="true"
@ -890,6 +894,7 @@ Array [
>
<input
accept="image/*"
aria-describedby="generated-id-filePicker__prompt"
className="euiFilePicker__input"
id="generated-id"
onBlur={[Function]}
@ -902,6 +907,7 @@ Array [
/>
<div
className="euiFilePicker__prompt"
id="generated-id-filePicker__prompt"
>
<div
aria-hidden="true"
@ -1237,6 +1243,7 @@ Array [
>
<input
accept="image/*"
aria-describedby="generated-id-filePicker__prompt"
className="euiFilePicker__input"
id="generated-id"
onBlur={[Function]}
@ -1249,6 +1256,7 @@ Array [
/>
<div
className="euiFilePicker__prompt"
id="generated-id-filePicker__prompt"
>
<div
aria-hidden="true"

View file

@ -8,6 +8,7 @@ exports[`Storyshots components/FileUpload default 1`] = `
className="euiFilePicker__wrap"
>
<input
aria-describedby="generated-id"
className="euiFilePicker__input"
id=""
onChange={[Function]}
@ -18,6 +19,7 @@ exports[`Storyshots components/FileUpload default 1`] = `
/>
<div
className="euiFilePicker__prompt"
id="generated-id"
>
<div
aria-hidden="true"

View file

@ -61,6 +61,7 @@ exports[`LayerPanel is rendered 1`] = `
className="mapLayerPanel__sourceDetails"
>
<EuiAccordion
arrowDisplay="left"
buttonContent="Source details"
id="accordion1"
initialIsOpen={false}

View file

@ -128,6 +128,7 @@ exports[`CcrShard that it renders normally 1`] = `
</EuiFlexGroup>
<EuiHorizontalRule />
<EuiAccordion
arrowDisplay="left"
buttonContent={
<EuiTitle>
<h2>

View file

@ -31,6 +31,10 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiAnimSpeedFast": "150ms",
"euiAnimSpeedNormal": "250ms",
"euiAnimSpeedSlow": "350ms",
"euiBadgeGroupGutterTypes": Object {
"gutterExtraSmall": "4px",
"gutterSmall": "8px",
},
"euiBorderColor": "#343741",
"euiBorderEditable": "2px dotted #343741",
"euiBorderRadius": "4px",
@ -49,9 +53,11 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"xs": 0,
},
"euiButtonColorDisabled": "#434548",
"euiButtonColorDisabledText": "#757678",
"euiButtonColorGhostDisabled": "#343741",
"euiButtonEmptyTypes": Object {
"danger": "#ff6666",
"disabled": "#2d2e30",
"disabled": "#757678",
"ghost": "#ffffff",
"primary": "#1ba9f5",
"text": "#dfe5ef",
@ -60,7 +66,7 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiButtonHeightSmall": "32px",
"euiButtonIconTypes": Object {
"danger": "#ff6666",
"disabled": "#434548",
"disabled": "#757678",
"ghost": "#ffffff",
"primary": "#1ba9f5",
"subdued": "#98a2b3",
@ -137,9 +143,11 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiCodeBlockTypeColor": "#da4939",
"euiCodeFontFamily": "'Roboto Mono', 'Consolas', 'Menlo', 'Courier', monospace",
"euiColorAccent": "#f990c0",
"euiColorAccentText": "#f990c0",
"euiColorChartBand": "#2a2c35",
"euiColorChartLines": "#343741",
"euiColorDanger": "#ff6666",
"euiColorDangerText": "#ff6666",
"euiColorDarkShade": "#98a2b3",
"euiColorDarkestShade": "#d4dae5",
"euiColorEmptyShade": "#1d1e24",
@ -157,8 +165,11 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiColorPickerValueRange1": "rgba(255, 255, 255, 0)",
"euiColorPickerWidth": "152px",
"euiColorPrimary": "#1ba9f5",
"euiColorPrimaryText": "#1ba9f5",
"euiColorSecondary": "#7de2d1",
"euiColorSecondaryText": "#7de2d1",
"euiColorSuccess": "#7de2d1",
"euiColorSuccessText": "#7de2d1",
"euiColorVis0": "#54b399",
"euiColorVis0_behindText": "#6dccb1",
"euiColorVis1": "#6092c0",
@ -180,6 +191,7 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiColorVis9": "#e7664c",
"euiColorVis9_behindText": "#ff7e62",
"euiColorWarning": "#ffce7a",
"euiColorWarningText": "#ffce7a",
"euiContextMenuWidth": "256px",
"euiControlBarBackground": "#000000",
"euiControlBarBorderColor": "rgba(255, 255, 255, 0.19999999999999996)",
@ -209,7 +221,7 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"danger": "#ff6666",
"primary": "#1ba9f5",
"secondary": "#7de2d1",
"subdued": "#535966",
"subdued": "#98a2b3",
"warning": "#ffce7a",
},
"euiFilePickerTallHeight": "128px",
@ -264,7 +276,7 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"ghost": "#ffffff",
"primary": "#1ba9f5",
"secondary": "#7de2d1",
"subdued": "#535966",
"subdued": "#98a2b3",
"success": "#7de2d1",
"text": "#dfe5ef",
"warning": "#ffce7a",
@ -281,6 +293,21 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiKeyPadMenuSize": "96px",
"euiLineHeight": 1.5,
"euiLinkColor": "#1ba9f5",
"euiListGroupGutterTypes": Object {
"gutterM": "16px",
"gutterS": "8px",
},
"euiListGroupItemColorTypes": Object {
"primary": "#1ba9f5",
"subdued": "#98a2b3",
"text": "#dfe5ef",
},
"euiListGroupItemSizeTypes": Object {
"large": "20px",
"medium": "16px",
"small": "14px",
"xSmall": "12px",
},
"euiNavDrawerBackgroundColor": "#1d1e24",
"euiNavDrawerContractingDelay": "150ms",
"euiNavDrawerExpandingDelay": "250ms",
@ -437,6 +464,12 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"euiTextConstrainedMaxWidth": "36em",
"euiTextScale": "2.25 1.75 1.25 1.125 1 0.875 0.75",
"euiTitleColor": "#dfe5ef",
"euiToastTypes": Object {
"danger": "#ff6666",
"primary": "#1ba9f5",
"success": "#7de2d1",
"warning": "#ffce7a",
},
"euiToastWidth": "320px",
"euiTokenGrayColor": "#535966",
"euiTokenTypeKeys": "'euiColorVis0', 'euiColorVis1', 'euiColorVis2', 'euiColorVis3', 'euiColorVis4', 'euiColorVis5', 'euiColorVis6', 'euiColorVis7', 'euiColorVis8', 'euiColorVis9', 'gray'",
@ -591,12 +624,6 @@ exports[`NoteCardBody renders correctly against snapshot 1`] = `
"none": "resizeNone",
"vertical": "resizeVertical",
},
"toastTypes": Object {
"danger": "#ff6666",
"primary": "#1ba9f5",
"success": "#7de2d1",
"warning": "#ffce7a",
},
},
}
}

View file

@ -244,7 +244,7 @@ describe('#getCommonColumns', () => {
expect(
wrapper
.find('thead tr th')
.at(2)
.at(1)
.text()
).toContain(i18n.TIMELINE_NAME);
});
@ -448,7 +448,7 @@ describe('#getCommonColumns', () => {
expect(
wrapper
.find('thead tr th')
.at(3)
.at(2)
.text()
).toContain(i18n.DESCRIPTION);
});
@ -517,7 +517,7 @@ describe('#getCommonColumns', () => {
expect(
wrapper
.find('thead tr th')
.at(4)
.at(3)
.text()
).toContain(i18n.LAST_MODIFIED);
});

View file

@ -43,7 +43,7 @@ describe('#getExtendedColumns', () => {
expect(
wrapper
.find('thead tr th')
.at(5)
.at(4)
.text()
).toContain(i18n.MODIFIED_BY);
});

View file

@ -75,7 +75,7 @@ describe('TimelinesTable', () => {
expect(
wrapper
.find('thead tr th')
.at(5)
.at(4)
.text()
).toContain(i18n.MODIFIED_BY);
});
@ -94,7 +94,7 @@ describe('TimelinesTable', () => {
expect(
wrapper
.find('thead tr th')
.at(6)
.at(5)
.find('[data-test-subj="notes-count-header-icon"]')
.first()
.exists()

View file

@ -8,6 +8,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
gutterSize="none"
@ -240,6 +241,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
gutterSize="none"
@ -504,6 +506,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
gutterSize="none"
@ -576,6 +579,7 @@ exports[`Overview Host Stat Data rendering it renders the default OverviewHostSt
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
gutterSize="none"

View file

@ -8,6 +8,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
data-test-subj="network-stat-group-auditbeat"
@ -80,6 +81,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
data-test-subj="network-stat-group-filebeat"
@ -280,6 +282,7 @@ exports[`Overview Network Stat Data rendering it renders the default OverviewNet
margin="xs"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent={
<ForwardRef
data-test-subj="network-stat-group-packetbeat"

View file

@ -31,6 +31,10 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiAnimSpeedFast": "150ms",
"euiAnimSpeedNormal": "250ms",
"euiAnimSpeedSlow": "350ms",
"euiBadgeGroupGutterTypes": Object {
"gutterExtraSmall": "4px",
"gutterSmall": "8px",
},
"euiBorderColor": "#343741",
"euiBorderEditable": "2px dotted #343741",
"euiBorderRadius": "4px",
@ -49,9 +53,11 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"xs": 0,
},
"euiButtonColorDisabled": "#434548",
"euiButtonColorDisabledText": "#757678",
"euiButtonColorGhostDisabled": "#343741",
"euiButtonEmptyTypes": Object {
"danger": "#ff6666",
"disabled": "#2d2e30",
"disabled": "#757678",
"ghost": "#ffffff",
"primary": "#1ba9f5",
"text": "#dfe5ef",
@ -60,7 +66,7 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiButtonHeightSmall": "32px",
"euiButtonIconTypes": Object {
"danger": "#ff6666",
"disabled": "#434548",
"disabled": "#757678",
"ghost": "#ffffff",
"primary": "#1ba9f5",
"subdued": "#98a2b3",
@ -137,9 +143,11 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiCodeBlockTypeColor": "#da4939",
"euiCodeFontFamily": "'Roboto Mono', 'Consolas', 'Menlo', 'Courier', monospace",
"euiColorAccent": "#f990c0",
"euiColorAccentText": "#f990c0",
"euiColorChartBand": "#2a2c35",
"euiColorChartLines": "#343741",
"euiColorDanger": "#ff6666",
"euiColorDangerText": "#ff6666",
"euiColorDarkShade": "#98a2b3",
"euiColorDarkestShade": "#d4dae5",
"euiColorEmptyShade": "#1d1e24",
@ -157,8 +165,11 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiColorPickerValueRange1": "rgba(255, 255, 255, 0)",
"euiColorPickerWidth": "152px",
"euiColorPrimary": "#1ba9f5",
"euiColorPrimaryText": "#1ba9f5",
"euiColorSecondary": "#7de2d1",
"euiColorSecondaryText": "#7de2d1",
"euiColorSuccess": "#7de2d1",
"euiColorSuccessText": "#7de2d1",
"euiColorVis0": "#54b399",
"euiColorVis0_behindText": "#6dccb1",
"euiColorVis1": "#6092c0",
@ -180,6 +191,7 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiColorVis9": "#e7664c",
"euiColorVis9_behindText": "#ff7e62",
"euiColorWarning": "#ffce7a",
"euiColorWarningText": "#ffce7a",
"euiContextMenuWidth": "256px",
"euiControlBarBackground": "#000000",
"euiControlBarBorderColor": "rgba(255, 255, 255, 0.19999999999999996)",
@ -209,7 +221,7 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"danger": "#ff6666",
"primary": "#1ba9f5",
"secondary": "#7de2d1",
"subdued": "#535966",
"subdued": "#98a2b3",
"warning": "#ffce7a",
},
"euiFilePickerTallHeight": "128px",
@ -264,7 +276,7 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"ghost": "#ffffff",
"primary": "#1ba9f5",
"secondary": "#7de2d1",
"subdued": "#535966",
"subdued": "#98a2b3",
"success": "#7de2d1",
"text": "#dfe5ef",
"warning": "#ffce7a",
@ -281,6 +293,21 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiKeyPadMenuSize": "96px",
"euiLineHeight": 1.5,
"euiLinkColor": "#1ba9f5",
"euiListGroupGutterTypes": Object {
"gutterM": "16px",
"gutterS": "8px",
},
"euiListGroupItemColorTypes": Object {
"primary": "#1ba9f5",
"subdued": "#98a2b3",
"text": "#dfe5ef",
},
"euiListGroupItemSizeTypes": Object {
"large": "20px",
"medium": "16px",
"small": "14px",
"xSmall": "12px",
},
"euiNavDrawerBackgroundColor": "#1d1e24",
"euiNavDrawerContractingDelay": "150ms",
"euiNavDrawerExpandingDelay": "250ms",
@ -437,6 +464,12 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"euiTextConstrainedMaxWidth": "36em",
"euiTextScale": "2.25 1.75 1.25 1.125 1 0.875 0.75",
"euiTitleColor": "#dfe5ef",
"euiToastTypes": Object {
"danger": "#ff6666",
"primary": "#1ba9f5",
"success": "#7de2d1",
"warning": "#ffce7a",
},
"euiToastWidth": "320px",
"euiTokenGrayColor": "#535966",
"euiTokenTypeKeys": "'euiColorVis0', 'euiColorVis1', 'euiColorVis2', 'euiColorVis3', 'euiColorVis4', 'euiColorVis5', 'euiColorVis6', 'euiColorVis7', 'euiColorVis8', 'euiColorVis9', 'gray'",
@ -591,12 +624,6 @@ exports[`Paginated Table Component rendering it renders the default load more ta
"none": "resizeNone",
"vertical": "resizeVertical",
},
"toastTypes": Object {
"danger": "#ff6666",
"primary": "#1ba9f5",
"success": "#7de2d1",
"warning": "#ffce7a",
},
},
}
}

View file

@ -21,6 +21,7 @@ exports[`Modal all errors rendering it renders the default all errors modal when
size="s"
/>
<EuiAccordion
arrowDisplay="left"
buttonContent="Error 1, Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt u ..."
data-test-subj="modal-all-errors-accordion"
id="accordion1"

View file

@ -224,7 +224,7 @@ exports[`MonitorList component renders the monitor list 1`] = `
</span>
</div>
</th>
<th
<td
class="euiTableHeaderCell"
data-test-subj="tableHeaderCell_monitor_id_4"
role="columnheader"
@ -238,7 +238,7 @@ exports[`MonitorList component renders the monitor list 1`] = `
class="euiTableCellContent__text"
/>
</div>
</th>
</td>
</tr>
</thead>
<tbody>

View file

@ -181,7 +181,7 @@
"@elastic/apm-rum-react": "^0.3.2",
"@elastic/datemath": "5.0.2",
"@elastic/ems-client": "7.7.0",
"@elastic/eui": "20.0.2",
"@elastic/eui": "21.0.1",
"@elastic/filesaver": "1.1.2",
"@elastic/maki": "6.1.0",
"@elastic/node-crypto": "^1.0.0",

View file

@ -108,6 +108,17 @@ describe('when on the alerting page', () => {
search: '?page_size=1&page_index=1',
});
});
// the test interacts with the pagination elements, which require data to be loaded
reactTestingLibrary.act(() => {
const action: AppAction = {
type: 'serverReturnedAlertsData',
payload: mockAlertResultList({
total: 20,
}),
};
store.dispatch(action);
});
});
describe('when the user changes page size to 10', () => {
beforeEach(async () => {

View file

@ -200,21 +200,24 @@ export const TemplateTable: React.FunctionComponent<Props> = ({
box: {
incremental: true,
},
toolsLeft: selection.length && (
<EuiButton
data-test-subj="deleteTemplatesButton"
onClick={() =>
setTemplatesToDelete(selection.map((selected: TemplateListItem) => selected.name))
}
color="danger"
>
<FormattedMessage
id="xpack.idxMgmt.templateList.table.deleteTemplatesButtonLabel"
defaultMessage="Delete {count, plural, one {template} other {templates} }"
values={{ count: selection.length }}
/>
</EuiButton>
),
toolsLeft:
selection.length > 0 ? (
<EuiButton
data-test-subj="deleteTemplatesButton"
onClick={() =>
setTemplatesToDelete(selection.map((selected: TemplateListItem) => selected.name))
}
color="danger"
>
<FormattedMessage
id="xpack.idxMgmt.templateList.table.deleteTemplatesButtonLabel"
defaultMessage="Delete {count, plural, one {template} other {templates} }"
values={{ count: selection.length }}
/>
</EuiButton>
) : (
undefined
),
toolsRight: [
<EuiButton
color="secondary"

View file

@ -1,9 +1,9 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`RequestTrialExtension component should display when enterprise license is not active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" target=\\"_blank\\" rel=\\"noopener\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when enterprise license is not active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" rel=\\"noopener\\" target=\\"_blank\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when license is active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" target=\\"_blank\\" rel=\\"noopener\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when license is active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" rel=\\"noopener\\" target=\\"_blank\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when license is not active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" target=\\"_blank\\" rel=\\"noopener\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when license is not active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" rel=\\"noopener\\" target=\\"_blank\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when platinum license is not active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" target=\\"_blank\\" rel=\\"noopener\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;
exports[`RequestTrialExtension component should display when platinum license is not active and trial has been used 1`] = `"<div class=\\"euiFlexItem\\"><div class=\\"euiCard euiCard--centerAligned\\"><div class=\\"euiCard__content\\"><span class=\\"euiTitle euiTitle--small euiCard__title\\" id=\\"generated-idTitle\\">Extend your trial</span><div class=\\"euiText euiText--small euiCard__description\\" id=\\"generated-idDescription\\"><p><span>If youd like to continue using machine learning, advanced security, and our other awesome <a class=\\"euiLink euiLink--primary\\" href=\\"https://www.elastic.co/subscriptions\\" target=\\"_blank\\" rel=\\"noopener\\">Platinum features</a>, request an extension now.</span></p></div></div><div class=\\"euiCard__footer\\"><a class=\\"euiButton euiButton--primary\\" href=\\"https://www.elastic.co/trialextension\\" rel=\\"noopener\\" target=\\"_blank\\" data-test-subj=\\"extendTrialButton\\"><span class=\\"euiButton__content\\"><span class=\\"euiButton__text\\">Extend trial</span></span></a></div></div></div>"`;

View file

@ -882,6 +882,7 @@ exports[`UploadLicense should display a modal when license requires acknowledgem
>
<EuiValidatableControl>
<input
aria-describedby="licenseFile-filePicker__prompt"
className="euiFilePicker__input"
id="licenseFile"
onChange={[Function]}
@ -893,6 +894,7 @@ exports[`UploadLicense should display a modal when license requires acknowledgem
</EuiValidatableControl>
<div
className="euiFilePicker__prompt"
id="licenseFile-filePicker__prompt"
>
<EuiIcon
aria-hidden="true"
@ -1285,7 +1287,7 @@ exports[`UploadLicense should display an error when ES says license is expired 1
<ul>
<li
className="euiForm__error"
key="The supplied license has expired."
key="0"
>
The supplied license has expired.
</li>
@ -1346,6 +1348,7 @@ exports[`UploadLicense should display an error when ES says license is expired 1
>
<EuiValidatableControl>
<input
aria-describedby="licenseFile-filePicker__prompt"
className="euiFilePicker__input"
id="licenseFile"
onChange={[Function]}
@ -1357,6 +1360,7 @@ exports[`UploadLicense should display an error when ES says license is expired 1
</EuiValidatableControl>
<div
className="euiFilePicker__prompt"
id="licenseFile-filePicker__prompt"
>
<EuiIcon
aria-hidden="true"
@ -1749,7 +1753,7 @@ exports[`UploadLicense should display an error when ES says license is invalid 1
<ul>
<li
className="euiForm__error"
key="The supplied license is not valid for this product."
key="0"
>
The supplied license is not valid for this product.
</li>
@ -1810,6 +1814,7 @@ exports[`UploadLicense should display an error when ES says license is invalid 1
>
<EuiValidatableControl>
<input
aria-describedby="licenseFile-filePicker__prompt"
className="euiFilePicker__input"
id="licenseFile"
onChange={[Function]}
@ -1821,6 +1826,7 @@ exports[`UploadLicense should display an error when ES says license is invalid 1
</EuiValidatableControl>
<div
className="euiFilePicker__prompt"
id="licenseFile-filePicker__prompt"
>
<EuiIcon
aria-hidden="true"
@ -2213,7 +2219,7 @@ exports[`UploadLicense should display an error when submitting invalid JSON 1`]
<ul>
<li
className="euiForm__error"
key="Error encountered uploading license: Check your license file."
key="0"
>
Error encountered uploading license: Check your license file.
</li>
@ -2274,6 +2280,7 @@ exports[`UploadLicense should display an error when submitting invalid JSON 1`]
>
<EuiValidatableControl>
<input
aria-describedby="licenseFile-filePicker__prompt"
className="euiFilePicker__input"
id="licenseFile"
onChange={[Function]}
@ -2285,6 +2292,7 @@ exports[`UploadLicense should display an error when submitting invalid JSON 1`]
</EuiValidatableControl>
<div
className="euiFilePicker__prompt"
id="licenseFile-filePicker__prompt"
>
<EuiIcon
aria-hidden="true"
@ -2677,7 +2685,7 @@ exports[`UploadLicense should display error when ES returns error 1`] = `
<ul>
<li
className="euiForm__error"
key="Error encountered uploading license: Can not upgrade to a production license unless TLS is configured or security is disabled"
key="0"
>
Error encountered uploading license: Can not upgrade to a production license unless TLS is configured or security is disabled
</li>
@ -2738,6 +2746,7 @@ exports[`UploadLicense should display error when ES returns error 1`] = `
>
<EuiValidatableControl>
<input
aria-describedby="licenseFile-filePicker__prompt"
className="euiFilePicker__input"
id="licenseFile"
onChange={[Function]}
@ -2749,6 +2758,7 @@ exports[`UploadLicense should display error when ES returns error 1`] = `
</EuiValidatableControl>
<div
className="euiFilePicker__prompt"
id="licenseFile-filePicker__prompt"
>
<EuiIcon
aria-hidden="true"

View file

@ -28,6 +28,8 @@ import {
DATA_FRAME_TASK_STATE,
Query,
Clause,
TermClause,
FieldClause,
} from './common';
import { getAnalyticsFactory } from '../../services/analytics_service';
import { getColumns } from './columns';
@ -58,7 +60,7 @@ function getItemIdToExpandedRowMap(
}, {} as ItemIdToExpandedRowMap);
}
function stringMatch(str: string | undefined, substr: string) {
function stringMatch(str: string | undefined, substr: any) {
return (
typeof str === 'string' &&
typeof substr === 'string' &&
@ -128,7 +130,7 @@ export const DataFrameAnalyticsList: FC<Props> = ({
}
if (clauses.length > 0) {
setFilterActive(true);
filterAnalytics(clauses);
filterAnalytics(clauses as Array<TermClause | FieldClause>);
} else {
setFilterActive(false);
}
@ -136,7 +138,7 @@ export const DataFrameAnalyticsList: FC<Props> = ({
}
};
const filterAnalytics = (clauses: Clause[]) => {
const filterAnalytics = (clauses: Array<TermClause | FieldClause>) => {
setIsLoading(true);
// keep count of the number of matches we make as we're looping over the clauses
// we only want to return analytics which match all clauses, i.e. each search term is ANDed
@ -173,7 +175,7 @@ export const DataFrameAnalyticsList: FC<Props> = ({
// filter other clauses, i.e. the mode and status filters
if (Array.isArray(c.value)) {
// the status value is an array of string(s) e.g. ['failed', 'stopped']
ts = analytics.filter(d => c.value.includes(d.stats.state));
ts = analytics.filter(d => (c.value as string).includes(d.stats.state));
} else {
ts = analytics.filter(d => d.mode === c.value);
}

View file

@ -4,35 +4,24 @@
* you may not use this file except in compliance with the Elastic License.
*/
import { DataFrameAnalyticsId, DataFrameAnalyticsConfig } from '../../../../common';
import { Query, Ast } from '@elastic/eui';
export enum DATA_FRAME_TASK_STATE {
ANALYZING = 'analyzing',
FAILED = 'failed',
REINDEXING = 'reindexing',
STARTED = 'started',
STARTING = 'starting',
STOPPED = 'stopped',
}
import { DATA_FRAME_TASK_STATE } from './data_frame_task_state';
export { DATA_FRAME_TASK_STATE };
import { DataFrameAnalyticsId, DataFrameAnalyticsConfig } from '../../../../common';
export enum DATA_FRAME_MODE {
BATCH = 'batch',
CONTINUOUS = 'continuous',
}
export interface Clause {
type: string;
value: string;
match: string;
}
export { Query };
export type Clause = Parameters<typeof Query['isMust']>[0];
export interface Query {
ast: {
clauses: Clause[];
};
text: string;
syntax: any;
}
type ExtractClauseType<T> = T extends (x: any) => x is infer Type ? Type : never;
export type TermClause = ExtractClauseType<typeof Ast['Term']['isInstance']>;
export type FieldClause = ExtractClauseType<typeof Ast['Field']['isInstance']>;
interface ProgressSection {
phase: string;

View file

@ -0,0 +1,17 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
// DATA_FRAME_TASK_STATE is used by x-pack functional test setup/config
// and that config cannot import from './common.ts' because it has imports dependant on a browser-environment
export enum DATA_FRAME_TASK_STATE {
ANALYZING = 'analyzing',
FAILED = 'failed',
REINDEXING = 'reindexing',
STARTED = 'started',
STARTING = 'starting',
STOPPED = 'stopped',
}

View file

@ -45,7 +45,7 @@ interface Props {
interface SearchBarQuery {
queryText: string;
error?: { message: string };
error?: { message: string } | null;
}
export const FieldsPanel: FC<Props> = ({

View file

@ -48,7 +48,7 @@ Array [
responsive={true}
search={
Object {
"toolsRight": null,
"toolsRight": undefined,
}
}
selection={
@ -62,7 +62,6 @@ Array [
<div>
<EuiSearchBar
onChange={[Function]}
toolsRight={null}
>
<EuiFlexGroup
alignItems="center"

View file

@ -196,7 +196,7 @@ class ReportListingUi extends Component<Props, State> {
private renderDeleteButton = () => {
const { selectedJobs } = this.state;
if (selectedJobs.length === 0) return null;
if (selectedJobs.length === 0) return undefined;
const performDelete = async () => {
for (const record of selectedJobs) {

View file

@ -4,18 +4,14 @@
* you may not use this file except in compliance with the Elastic License.
*/
export interface Clause {
type: string;
value: string;
match: string;
}
import { Query, Ast } from '@elastic/eui';
export interface Query {
ast: {
clauses: Clause[];
};
text: string;
syntax: any;
}
export { Query };
export type Clause = Parameters<typeof Query['isMust']>[0];
type ExtractClauseType<T> = T extends (x: any) => x is infer Type ? Type : never;
export type TermClause = ExtractClauseType<typeof Ast['Term']['isInstance']>;
export type FieldClause = ExtractClauseType<typeof Ast['Field']['isInstance']>;
export type Value = Parameters<typeof Ast['Term']['must']>[0];
export type ItemIdToExpandedRowMap = Record<string, JSX.Element>;

View file

@ -18,6 +18,7 @@ import {
EuiFlexGroup,
EuiFlexItem,
EuiInMemoryTable,
EuiSearchBarProps,
EuiPopover,
EuiTitle,
} from '@elastic/eui';
@ -39,7 +40,7 @@ import { DeleteAction } from './action_delete';
import { StartAction } from './action_start';
import { StopAction } from './action_stop';
import { ItemIdToExpandedRowMap, Query, Clause } from './common';
import { ItemIdToExpandedRowMap, Clause, TermClause, FieldClause, Value } from './common';
import { getColumns } from './columns';
import { ExpandedRow } from './expanded_row';
@ -56,7 +57,7 @@ function getItemIdToExpandedRowMap(
}, {} as ItemIdToExpandedRowMap);
}
function stringMatch(str: string | undefined, substr: string) {
function stringMatch(str: string | undefined, substr: any) {
return (
typeof str === 'string' &&
typeof substr === 'string' &&
@ -104,7 +105,10 @@ export const TransformList: FC<Props> = ({
!capabilities.canPreviewTransform ||
!capabilities.canStartStopTransform;
const onQueryChange = ({ query, error }: { query: Query; error: any }) => {
const onQueryChange = ({
query,
error,
}: Parameters<NonNullable<EuiSearchBarProps['onChange']>>[0]) => {
if (error) {
setSearchError(error.message);
} else {
@ -114,7 +118,7 @@ export const TransformList: FC<Props> = ({
}
if (clauses.length > 0) {
setFilterActive(true);
filterTransforms(clauses);
filterTransforms(clauses as Array<TermClause | FieldClause>);
} else {
setFilterActive(false);
}
@ -122,7 +126,7 @@ export const TransformList: FC<Props> = ({
}
};
const filterTransforms = (clauses: Clause[]) => {
const filterTransforms = (clauses: Array<TermClause | FieldClause>) => {
setIsLoading(true);
// keep count of the number of matches we make as we're looping over the clauses
// we only want to return transforms which match all clauses, i.e. each search term is ANDed
@ -161,7 +165,7 @@ export const TransformList: FC<Props> = ({
// filter other clauses, i.e. the mode and status filters
if (Array.isArray(c.value)) {
// the status value is an array of string(s) e.g. ['failed', 'stopped']
ts = transforms.filter(transform => c.value.includes(transform.stats.state));
ts = transforms.filter(transform => (c.value as Value[]).includes(transform.stats.state));
} else {
ts = transforms.filter(transform => transform.mode === c.value);
}

View file

@ -380,27 +380,30 @@ export const WatchList = () => {
box: {
incremental: true,
},
toolsLeft: selection.length && (
<EuiButton
data-test-subj="btnDeleteWatches"
onClick={() => {
setWatchesToDelete(selection.map((selected: any) => selected.id));
}}
color="danger"
>
{selection.length > 1 ? (
<FormattedMessage
id="xpack.watcher.sections.watchList.deleteMultipleWatchesButtonLabel"
defaultMessage="Delete watches"
/>
) : (
<FormattedMessage
id="xpack.watcher.sections.watchList.deleteSingleWatchButtonLabel"
defaultMessage="Delete watch"
/>
)}
</EuiButton>
),
toolsLeft:
selection.length > 0 ? (
<EuiButton
data-test-subj="btnDeleteWatches"
onClick={() => {
setWatchesToDelete(selection.map((selected: any) => selected.id));
}}
color="danger"
>
{selection.length > 1 ? (
<FormattedMessage
id="xpack.watcher.sections.watchList.deleteMultipleWatchesButtonLabel"
defaultMessage="Delete watches"
/>
) : (
<FormattedMessage
id="xpack.watcher.sections.watchList.deleteSingleWatchButtonLabel"
defaultMessage="Delete watch"
/>
)}
</EuiButton>
) : (
undefined
),
toolsRight: createWatchContextMenu,
};

View file

@ -7,7 +7,7 @@
import { FtrProviderContext } from '../../ftr_provider_context';
import { MlApi } from './api';
import { DATA_FRAME_TASK_STATE } from '../../../../plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/common';
import { DATA_FRAME_TASK_STATE } from '../../../../plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/data_frame_task_state';
export function MachineLearningDataFrameAnalyticsProvider(
{ getService }: FtrProviderContext,

View file

@ -6,10 +6,6 @@
// TODO: Remove once typescript definitions are in EUI
declare module '@elastic/eui' {
export const Query: any;
}
declare module '@elastic/eui/lib/services' {
export const RIGHT_ALIGNMENT: any;
}

View file

@ -1951,10 +1951,10 @@
tabbable "^1.1.0"
uuid "^3.1.0"
"@elastic/eui@20.0.2":
version "20.0.2"
resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-20.0.2.tgz#c64b16fef15da6aa9e627d45cdd372f1fc676359"
integrity sha512-8TtazI7RO1zJH4Qkl6TZKvAxaFG9F8BEdwyGmbGhyvXOJbkvttRzoaEg9jSQpKr+z7w2vsjGNbza/fEAE41HOA==
"@elastic/eui@21.0.1":
version "21.0.1"
resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-21.0.1.tgz#7cf6846ed88032aebd72f75255298df2fbe26554"
integrity sha512-Hf8ZGRI265qpOKwnnqhZkaMQvali+Xg6FAaNZSskkpXvdLhwGtUGC4YU7HW2vb7svq6IpNUuz+5XWrMLLzVY9w==
dependencies:
"@types/chroma-js" "^1.4.3"
"@types/enzyme" "^3.1.13"
@ -5036,14 +5036,7 @@
dependencies:
"@types/react" "*"
"@types/react-dom@*":
version "16.9.4"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.4.tgz#0b58df09a60961dcb77f62d4f1832427513420df"
integrity sha512-fya9xteU/n90tda0s+FtN5Ym4tbgxpq/hb/Af24dvs6uYnYn+fspaxw5USlw0R8apDNwxsqumdRoCoKitckQqw==
dependencies:
"@types/react" "*"
"@types/react-dom@^16.9.5":
"@types/react-dom@*", "@types/react-dom@^16.9.5":
version "16.9.5"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.5.tgz#5de610b04a35d07ffd8f44edad93a71032d9aaa7"
integrity sha512-BX6RQ8s9D+2/gDhxrj8OW+YD4R+8hj7FEM/OJHGNR0KipE1h1mSsf39YeyC81qafkq+N3rU3h3RFbLSwE5VqUg==
@ -5158,9 +5151,9 @@
"@types/react" "*"
"@types/react@*", "@types/react@^16.8.23", "@types/react@^16.9.19":
version "16.9.19"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.19.tgz#c842aa83ea490007d29938146ff2e4d9e4360c40"
integrity sha512-LJV97//H+zqKWMms0kvxaKYJDG05U2TtQB3chRLF8MPNs+MQh/H1aGlyDUxjaHvu08EAGerdX2z4LTBc7ns77A==
version "16.9.23"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.23.tgz#1a66c6d468ba11a8943ad958a8cb3e737568271c"
integrity sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw==
dependencies:
"@types/prop-types" "*"
csstype "^2.2.0"