mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Upgrade EUI to v91.0.0 (with backports) (#170716)
`v90.0.0`⏩`v91.0.0-backport.0` ⚠️ While this upgrade pings many teams and has a large code diff, **the majority of the changes are snapshots or tests-related** and do not touch source code, so should theoretically only need a code review and not dedicated QA. The changes in EUI that required a large swathe of these updates are: - **EuiPopover** removed an extra unnecessary `<div>` wrapper on its anchors, which affected many snapshots and a few CSS overrides, which should have been updated - **EuiButtonGroup** now renders `<button>` elements instead of `<input type="radio">` elements for single selection, which affected both snapshots and E2E tests - **EuiSuperDatePicker**'s absolute date input now requires an `Enter` keypress when parsing dates (affected E2E tests) - **EuiComboBox**, when rendered with `singleSelection={{ plainText: 'true' }}`, no longer renders a pill (i.e. text). This combobox type now behaves more like an `EuiFieldText`, where the selection is rendered via input `value` instead. This affected a high amount of E2E tests (both FTR and Cypress), both in terms of updating assertions and changing selections, but should **not** significantly affect user experience - see https://github.com/elastic/eui/pull/7332 for more. --- ## [`v91.0.0-backport.0`](https://github.com/elastic/eui/tree/v91.0.0-backport.0) **This is a backport release only intended for use by Kibana.** - Added `esqlVis`, `pipeBreaks`, and `pipeNoBreaks` icon glyphs. - `EuiSelectable` now allows configurable text truncation via `listProps.truncationProps` ([#7388](https://github.com/elastic/eui/pull/7388)) - `EuiTextTruncate` now supports a new `calculationDelayMs` prop for working around font loading or layout shifting scenarios ([#7388](https://github.com/elastic/eui/pull/7388)) **Bug fixes** - Fixed a bug with `EuiSelectable`s with custom `truncationProps`, where scrollbar widths were not being accounted for ([#7392](https://github.com/elastic/eui/pull/7392)) ## [`91.0.0`](https://github.com/elastic/eui/tree/v91.0.0) - Updated the background color of `EuiPopover`s in dark mode to increase visibility & contrast against other page/panel backgrounds ([#7310](https://github.com/elastic/eui/pull/7310)) - Memoized `EuiDataGrid` to prevent unneeded re-renders ([#7324](https://github.com/elastic/eui/pull/7324)) - Added a configurable `role` prop to `EuiAccordion` ([#7326](https://github.com/elastic/eui/pull/7326)) - Added a configurable `role` prop to `EuiGlobalToastList` ([#7328](https://github.com/elastic/eui/pull/7328)) - For greater flexibility, `EuiSuperDatePicker` now allows users to paste ISO 8601, RFC 2822, and Unix timestamps in the `Absolute` tab input, in addition to timestamps in the `dateFormat` prop ([#7331](https://github.com/elastic/eui/pull/7331)) - Plain text `EuiComboBox`es now behave more like a normal text field/input. Backspacing will no longer delete the entire value, and selected values can now be double clicked and copied. ([#7332](https://github.com/elastic/eui/pull/7332)) - `EuiDataGrid`'s display settings popover now allows users to clear the "Lines per row" input before typing in a new number ([#7338](https://github.com/elastic/eui/pull/7338)) - Improved the UX of `EuiSuperDatePicker`'s Absolute tab for users manually typing in timestamps ([#7341](https://github.com/elastic/eui/pull/7341)) - Updated `EuiI18n`s with multiple `tokens` to accept dynamic `values` ([#7341](https://github.com/elastic/eui/pull/7341)) **Bug fixes** - Fixed `EuiComboBox`'s `onSearchChange` callback to pass the correct `hasMatchingOptions` value ([#7334](https://github.com/elastic/eui/pull/7334)) - Fixed an `EuiSelectableTemplateSitewide` bug where the `popoverButton` behavior would break if passed a non-DOM React wrapper ([#7339](https://github.com/elastic/eui/pull/7339)) **Deprecations** - `EuiPopover`: deprecated `anchorClassName`. Use `className` instead ([#7311](https://github.com/elastic/eui/pull/7311)) - `EuiPopover`: deprecated `buttonRef`. Use `popoverRef` instead ([#7311](https://github.com/elastic/eui/pull/7311)) - `EuiPopover`: removed extra `.euiPopover__anchor` div wrapper. Target `.euiPopover` instead if necessary ([#7311](https://github.com/elastic/eui/pull/7311)) - Deprecated `EuiButtonGroup`'s `name` prop. This can safely be removed. ([#7325](https://github.com/elastic/eui/pull/7325)) **Breaking changes** - Removed deprecated `euiPaletteComplimentary` - use `euiPaletteComplementary` Instead ([#7333](https://github.com/elastic/eui/pull/7333)) **Accessibility** - Updated `type="single"` `EuiButtonGroup`s to render standard buttons instead of radio buttons under the hood, per recent a11y recommendations ([#7325](https://github.com/elastic/eui/pull/7325)) - `EuiAccordion` now defaults to a less screenreader-noisy `group` role instead of `region`. If your accordion contains significant enough content to be a document landmark role, you may re-configure it back to `region`. ([#7326](https://github.com/elastic/eui/pull/7326)) - Reduced screen reader noisiness when sorting `EuiDataGrid` columns via toolbar ([#7327](https://github.com/elastic/eui/pull/7327)) - `EuiGlobalToastList` now defaults to a `log` role. If your toasts will always require immediate user action, consider (with caution) using the `alert` role instead. ([#7328](https://github.com/elastic/eui/pull/7328)) **CSS-in-JS conversions** - Updated `$euiFontFamily` and `$euiCodeFontFamily` to match Emotion fonts ([#7332](https://github.com/elastic/eui/pull/7332)) --------- Co-authored-by: Cee Chen <constance.chen@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com> Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
This commit is contained in:
parent
ce293db41b
commit
b043545208
139 changed files with 4653 additions and 5178 deletions
|
@ -213,7 +213,6 @@ export class DiscoverCustomizationExamplesPlugin implements Plugin {
|
|||
{currentSavedSearch.title ?? 'None selected'}
|
||||
</EuiButton>
|
||||
}
|
||||
anchorClassName="eui-fullWidth"
|
||||
isOpen={isPopoverOpen}
|
||||
panelPaddingSize="none"
|
||||
closePopover={closePopover}
|
||||
|
@ -280,7 +279,6 @@ export class DiscoverCustomizationExamplesPlugin implements Plugin {
|
|||
{currentSavedSearch.title ?? 'None selected'}
|
||||
</EuiButton>
|
||||
}
|
||||
anchorClassName="eui-fullWidth"
|
||||
isOpen={isPopoverOpen}
|
||||
panelPaddingSize="none"
|
||||
closePopover={closePopover}
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
"@elastic/datemath": "5.0.3",
|
||||
"@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.9.1-canary.1",
|
||||
"@elastic/ems-client": "8.5.1",
|
||||
"@elastic/eui": "90.0.1-backport.0",
|
||||
"@elastic/eui": "91.0.0-backport.0",
|
||||
"@elastic/filesaver": "1.1.2",
|
||||
"@elastic/node-crypto": "1.2.1",
|
||||
"@elastic/numeral": "^2.5.1",
|
||||
|
|
|
@ -157,7 +157,7 @@ Array [
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="generated-id"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -281,7 +281,7 @@ Array [
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="generated-id"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -412,7 +412,7 @@ Array [
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="generated-id"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -526,7 +526,7 @@ Array [
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="generated-id"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -623,7 +623,7 @@ Array [
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="generated-id"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
|
|
@ -108,37 +108,33 @@ Array [
|
|||
class="euiHeaderSectionItem emotion-euiHeaderSectionItem"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="helpMenuButton"
|
||||
id="headerHelpMenu"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-expanded="false"
|
||||
aria-haspopup="true"
|
||||
aria-label="Help menu"
|
||||
class="euiButtonEmpty euiHeaderSectionItemButton emotion-euiButtonDisplay-euiButtonEmpty-m-empty-text-euiHeaderSectionItemButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-expanded="false"
|
||||
aria-haspopup="true"
|
||||
aria-label="Help menu"
|
||||
class="euiButtonEmpty euiHeaderSectionItemButton emotion-euiButtonDisplay-euiButtonEmpty-m-empty-text-euiHeaderSectionItemButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
class="euiHeaderSectionItemButton__content emotion-euiHeaderSectionItemButton__content"
|
||||
>
|
||||
<span
|
||||
class="euiHeaderSectionItemButton__content emotion-euiHeaderSectionItemButton__content"
|
||||
>
|
||||
<span
|
||||
data-euiicon-type="help"
|
||||
/>
|
||||
</span>
|
||||
data-euiicon-type="help"
|
||||
/>
|
||||
</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
@ -7,6 +7,7 @@ exports[`#start() returns \`Context\` component 1`] = `
|
|||
Object {
|
||||
"mapping": Object {
|
||||
"euiAbsoluteTab.dateFormatError": [Function],
|
||||
"euiAbsoluteTab.dateFormatHint": "Press the Enter key to parse as a date.",
|
||||
"euiAccordionChildrenLoading.message": "Loading",
|
||||
"euiAutoRefresh.autoRefreshLabel": "Auto refresh",
|
||||
"euiAutoRefresh.buttonLabelOff": "Auto refresh is off",
|
||||
|
|
|
@ -1434,7 +1434,7 @@ export const getEuiContextMapping = (): EuiTokensObject => {
|
|||
),
|
||||
'euiAbsoluteTab.dateFormatError': ({ dateFormat }: EuiValues) =>
|
||||
i18n.translate('core.euiAbsoluteTab.dateFormatError', {
|
||||
defaultMessage: 'Expected format: {dateFormat}',
|
||||
defaultMessage: 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.',
|
||||
values: { dateFormat },
|
||||
}),
|
||||
'euiRelativeTab.fullDescription': ({ unit }: EuiValues) =>
|
||||
|
@ -1454,6 +1454,9 @@ export const getEuiContextMapping = (): EuiTokensObject => {
|
|||
'euiRelativeTab.dateInputError': i18n.translate('core.euiRelativeTab.dateInputError', {
|
||||
defaultMessage: 'Must be a valid range',
|
||||
}),
|
||||
'euiAbsoluteTab.dateFormatHint': i18n.translate('core.euiAbsoluteTab.dateFormatHint', {
|
||||
defaultMessage: 'Press the Enter key to parse as a date.',
|
||||
}),
|
||||
'euiResizableButton.horizontalResizerAriaLabel': i18n.translate(
|
||||
'core.euiResizableButton.horizontalResizerAriaLabel',
|
||||
{
|
||||
|
|
|
@ -83,33 +83,29 @@ exports[`SampleDataCard installed renders with app links 1`] = `
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="launchSampleDataSetsample-data-set"
|
||||
id="sampleDataLinkssample-data-set"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="View Sample Data Set"
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="View Sample Data Set"
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
View data
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
View data
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,65 +2,57 @@
|
|||
|
||||
exports[`should render popover when appLinks is not empty 1`] = `
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="launchSampleDataSetecommerce"
|
||||
id="sampleDataLinksecommerce"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="View Sample eCommerce orders"
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="View Sample eCommerce orders"
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
View data
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
View data
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`should render popover with ordered appLinks 1`] = `
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="launchSampleDataSetecommerce"
|
||||
id="sampleDataLinksecommerce"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="View Sample eCommerce orders"
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="View Sample eCommerce orders"
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
View data
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
View data
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
|
|
|
@ -10,90 +10,7 @@ Object {
|
|||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<button
|
||||
aria-label="Clear input"
|
||||
class="euiFormControlLayoutClearButton"
|
||||
data-test-subj="comboBoxClearButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiFormControlLayoutClearButton__icon"
|
||||
data-euiicon-type="cross"
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
aria-label="Open list of options"
|
||||
class="euiFormControlLayoutCustomIcon euiFormControlLayoutCustomIcon--clickable"
|
||||
data-test-subj="comboBoxToggleListButton"
|
||||
tabindex="-1"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiFormControlLayoutCustomIcon__icon"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiComboBox euiComboBox--fullWidth"
|
||||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
|
@ -102,20 +19,10 @@ Object {
|
|||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
|
@ -125,8 +32,8 @@ Object {
|
|||
data-test-subj="comboBoxSearchInput"
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
|
@ -162,6 +69,71 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiComboBox euiComboBox--fullWidth"
|
||||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<button
|
||||
aria-label="Clear input"
|
||||
class="euiFormControlLayoutClearButton"
|
||||
data-test-subj="comboBoxClearButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiFormControlLayoutClearButton__icon"
|
||||
data-euiicon-type="cross"
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
aria-label="Open list of options"
|
||||
class="euiFormControlLayoutCustomIcon euiFormControlLayoutCustomIcon--clickable"
|
||||
data-test-subj="comboBoxToggleListButton"
|
||||
tabindex="-1"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiFormControlLayoutCustomIcon__icon"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -227,46 +199,32 @@ Object {
|
|||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -280,46 +238,32 @@ Object {
|
|||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -390,79 +334,7 @@ Object {
|
|||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<button
|
||||
aria-label="Open list of options"
|
||||
class="euiFormControlLayoutCustomIcon euiFormControlLayoutCustomIcon--clickable"
|
||||
data-test-subj="comboBoxToggleListButton"
|
||||
tabindex="-1"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiFormControlLayoutCustomIcon__icon"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiComboBox euiComboBox--fullWidth"
|
||||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
|
@ -471,20 +343,10 @@ Object {
|
|||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
|
@ -494,8 +356,8 @@ Object {
|
|||
data-test-subj="comboBoxSearchInput"
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
|
@ -520,6 +382,60 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiComboBox euiComboBox--fullWidth"
|
||||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--1icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<button
|
||||
aria-label="Open list of options"
|
||||
class="euiFormControlLayoutCustomIcon euiFormControlLayoutCustomIcon--clickable"
|
||||
data-test-subj="comboBoxToggleListButton"
|
||||
tabindex="-1"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiFormControlLayoutCustomIcon__icon"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -585,55 +501,41 @@ Object {
|
|||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<span
|
||||
aria-label="Loading"
|
||||
class="euiLoadingSpinner emotion-euiLoadingSpinner-m"
|
||||
role="progressbar"
|
||||
/>
|
||||
</div>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<span
|
||||
aria-label="Loading"
|
||||
class="euiLoadingSpinner emotion-euiLoadingSpinner-m"
|
||||
role="progressbar"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -647,55 +549,41 @@ Object {
|
|||
data-test-subj="fieldAutocompleteComboBox"
|
||||
>
|
||||
<div
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-EuiInputPopover"
|
||||
class="euiPopover euiInputPopover emotion-euiPopover-block-EuiInputPopover"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-zih94u-render"
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout euiFormControlLayout--fullWidth"
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
>
|
||||
<div
|
||||
class="euiFormControlLayout__childrenWrapper"
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap euiComboBox__inputWrap--plainText"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<div
|
||||
class="euiComboBox__inputWrap euiFormControlLayout--2icons euiComboBox__inputWrap--fullWidth euiComboBox__inputWrap--noWrap"
|
||||
data-test-subj="comboBoxInput"
|
||||
tabindex="-1"
|
||||
>
|
||||
<span
|
||||
class="euiComboBoxPill euiComboBoxPill--plainText"
|
||||
data-test-subj="euiComboBoxPill"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
machine.os.raw
|
||||
</span>
|
||||
</span>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 2px;"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<span
|
||||
aria-label="Loading"
|
||||
class="euiLoadingSpinner emotion-euiLoadingSpinner-m"
|
||||
role="progressbar"
|
||||
/>
|
||||
</div>
|
||||
<input
|
||||
aria-autocomplete="list"
|
||||
aria-controls=""
|
||||
aria-expanded="false"
|
||||
aria-invalid="false"
|
||||
class="euiComboBox__input"
|
||||
data-test-subj="comboBoxSearchInput"
|
||||
disabled=""
|
||||
id="generated-id__eui-combobox-id"
|
||||
role="combobox"
|
||||
style="inline-size: 100%;"
|
||||
value="machine.os.raw"
|
||||
/>
|
||||
</div>
|
||||
<div
|
||||
class="euiFormControlLayoutIcons euiFormControlLayoutIcons--right euiFormControlLayoutIcons--absolute"
|
||||
>
|
||||
<span
|
||||
aria-label="Loading"
|
||||
class="euiLoadingSpinner emotion-euiLoadingSpinner-m"
|
||||
role="progressbar"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { fireEvent, render, waitFor } from '@testing-library/react';
|
||||
import { fireEvent, render, waitFor, within } from '@testing-library/react';
|
||||
import '@testing-library/jest-dom';
|
||||
|
||||
import { FieldComponent } from '..';
|
||||
|
@ -31,7 +31,9 @@ describe('FieldComponent', () => {
|
|||
/>
|
||||
);
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
expect(wrapper.getByTestId('fieldAutocompleteComboBox')).toHaveTextContent('machine.os.raw');
|
||||
const comboBox = wrapper.getByTestId('fieldAutocompleteComboBox');
|
||||
const input = within(comboBox).getByRole('combobox');
|
||||
expect(input).toHaveAttribute('value', 'machine.os.raw');
|
||||
});
|
||||
it('should render the component disabled if isDisabled is true', () => {
|
||||
const wrapper = render(
|
||||
|
|
|
@ -182,9 +182,9 @@ describe('AutocompleteFieldListsComponent', () => {
|
|||
|
||||
expect(
|
||||
wrapper
|
||||
.find(`[data-test-subj="valuesAutocompleteComboBox listsComboxBox"] EuiComboBoxPill`)
|
||||
.find(`[data-test-subj="valuesAutocompleteComboBox listsComboxBox"] input`)
|
||||
.at(0)
|
||||
.text()
|
||||
.props().value
|
||||
).toEqual('some name');
|
||||
});
|
||||
|
||||
|
|
|
@ -166,7 +166,7 @@ describe('AutocompleteFieldMatchComponent', () => {
|
|||
);
|
||||
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatch"] EuiComboBoxPill').at(0).text()
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatch"] input').at(0).props().value
|
||||
).toEqual('127.0.0.1');
|
||||
});
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@ describe('AutocompleteFieldWildcardComponent', () => {
|
|||
);
|
||||
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteWildcard"] EuiComboBoxPill').at(0).text()
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteWildcard"] input').at(0).props().value
|
||||
).toEqual('/opt/*/app.dmg');
|
||||
});
|
||||
|
||||
|
|
|
@ -152,7 +152,7 @@ describe('operator', () => {
|
|||
);
|
||||
|
||||
expect(
|
||||
wrapper.find(`[data-test-subj="operatorAutocompleteComboBox"] EuiComboBoxPill`).at(0).text()
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is');
|
||||
});
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ Object {
|
|||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed"
|
||||
id="exceptionItemCardComments"
|
||||
inert=""
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -239,7 +239,7 @@ Object {
|
|||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed"
|
||||
id="exceptionItemCardComments"
|
||||
inert=""
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -433,7 +433,7 @@ Object {
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="exceptionItemCardComments"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -570,7 +570,7 @@ Object {
|
|||
aria-labelledby="generated-id"
|
||||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen"
|
||||
id="exceptionItemCardComments"
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
|
|
@ -9,40 +9,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
|
@ -60,6 +28,30 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -124,26 +116,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -157,7 +145,7 @@ Object {
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: 16px; left: -22px; will-change: transform, opacity; z-index: 2000;"
|
||||
|
@ -226,26 +214,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
|
@ -312,40 +296,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
|
@ -363,6 +315,30 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="ButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -427,45 +403,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="EmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
|
@ -488,6 +427,35 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="EmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -552,45 +520,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="EmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="cheer"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
|
@ -613,6 +544,35 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="EmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="cheer"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -677,46 +637,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-disabled-isDisabled"
|
||||
data-test-subj="EmptyButton"
|
||||
disabled=""
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="cheer"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
|
@ -740,6 +662,36 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-disabled-isDisabled"
|
||||
data-test-subj="EmptyButton"
|
||||
disabled=""
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="cheer"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -804,45 +756,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="EmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="cheer"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
|
@ -865,6 +780,35 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="Items"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="EmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
/>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="cheer"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
|
|
@ -197,26 +197,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -584,26 +580,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -867,26 +859,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1093,26 +1081,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1348,27 +1332,23 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-disabled-isDisabled"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
disabled=""
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-disabled-isDisabled"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
disabled=""
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1547,27 +1527,23 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-disabled-isDisabled"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
disabled=""
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-disabled-isDisabled"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
disabled=""
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1784,26 +1760,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1826,7 +1798,7 @@ Object {
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: 16px; left: -22px; will-change: transform, opacity; z-index: 2000;"
|
||||
|
@ -2053,26 +2025,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="RightSideMenuItemsMenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,86 +16,8 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-center-baseline-row"
|
||||
data-test-subj="Container"
|
||||
>
|
||||
<div
|
||||
class="euiFlexItem emotion-EuiFlexItem"
|
||||
>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
|
@ -120,19 +42,15 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
data-test-subj="MenuActionsItems"
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
|
@ -152,6 +70,72 @@ Object {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>,
|
||||
"container": <div>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-center-baseline-row"
|
||||
data-test-subj="Container"
|
||||
>
|
||||
<div
|
||||
class="euiFlexItem emotion-EuiFlexItem"
|
||||
>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
"debug": [Function],
|
||||
"findAllByAltText": [Function],
|
||||
|
@ -252,26 +236,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -319,26 +299,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -443,26 +419,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -478,7 +450,7 @@ Object {
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: 16px; left: -22px; will-change: transform, opacity; z-index: 2000;"
|
||||
|
@ -598,26 +570,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -693,33 +661,29 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -730,26 +694,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -765,7 +725,7 @@ Object {
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPanel--paddingSmall euiPopover__panel emotion-euiPanel-grow-m-s-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: 16px; left: -22px; will-change: transform, opacity; z-index: 2000;"
|
||||
|
@ -858,33 +818,29 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -895,26 +851,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -990,33 +942,29 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1046,26 +994,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1084,33 +1028,29 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="LinkedRulesMenuItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Empty"
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-m-empty-primary"
|
||||
data-test-subj="LinkedRulesMenuEmptyButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Linked to 1 rules
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1140,26 +1080,22 @@ Object {
|
|||
class="euiFlexGroup emotion-euiFlexGroup-responsive-l-flexStart-stretch-row"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="MenuActionsItems"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="Header menu Button Icon"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-primary"
|
||||
data-test-subj="MenuActionsButtonIcon"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="boxesHorizontal"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -308,7 +308,7 @@ describe('UnifiedDataTable', () => {
|
|||
columns: ['message'],
|
||||
});
|
||||
|
||||
expect(component.find(EuiDataGrid).prop('sorting')).toMatchInlineSnapshot(`
|
||||
expect(component.find(EuiDataGrid).last().prop('sorting')).toMatchInlineSnapshot(`
|
||||
Object {
|
||||
"columns": Array [
|
||||
Object {
|
||||
|
@ -332,7 +332,7 @@ describe('UnifiedDataTable', () => {
|
|||
columns: ['bytes', 'message'],
|
||||
});
|
||||
|
||||
expect(component.find(EuiDataGrid).prop('sorting')).toMatchInlineSnapshot(`
|
||||
expect(component.find(EuiDataGrid).last().prop('sorting')).toMatchInlineSnapshot(`
|
||||
Object {
|
||||
"columns": Array [
|
||||
Object {
|
||||
|
@ -359,7 +359,7 @@ describe('UnifiedDataTable', () => {
|
|||
onUpdateRowHeight: jest.fn(),
|
||||
});
|
||||
|
||||
expect(component.find(EuiDataGrid).prop('toolbarVisibility')).toMatchInlineSnapshot(`
|
||||
expect(component.find(EuiDataGrid).first().prop('toolbarVisibility')).toMatchInlineSnapshot(`
|
||||
Object {
|
||||
"additionalControls": null,
|
||||
"showColumnSelector": false,
|
||||
|
@ -385,7 +385,7 @@ describe('UnifiedDataTable', () => {
|
|||
onUpdateRowHeight: jest.fn(),
|
||||
});
|
||||
|
||||
expect(component.find(EuiDataGrid).prop('toolbarVisibility')).toMatchInlineSnapshot(`
|
||||
expect(component.find(EuiDataGrid).first().prop('toolbarVisibility')).toMatchInlineSnapshot(`
|
||||
Object {
|
||||
"additionalControls": null,
|
||||
"showColumnSelector": false,
|
||||
|
@ -406,7 +406,7 @@ describe('UnifiedDataTable', () => {
|
|||
onUpdateSampleSize: undefined,
|
||||
});
|
||||
|
||||
expect(component.find(EuiDataGrid).prop('toolbarVisibility')).toMatchInlineSnapshot(`
|
||||
expect(component.find(EuiDataGrid).first().prop('toolbarVisibility')).toMatchInlineSnapshot(`
|
||||
Object {
|
||||
"additionalControls": null,
|
||||
"showColumnSelector": false,
|
||||
|
|
|
@ -3,34 +3,30 @@
|
|||
exports[`<UnsavedChangesBadge /> should show all menu items 1`] = `
|
||||
<div>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="unsavedChangesPopover_generated-id"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="View available actions"
|
||||
class="euiBadge emotion-euiBadge-warning-clickable"
|
||||
data-test-subj="unsavedChangesBadge"
|
||||
title="test"
|
||||
>
|
||||
<button
|
||||
aria-label="View available actions"
|
||||
class="euiBadge emotion-euiBadge-warning-clickable"
|
||||
data-test-subj="unsavedChangesBadge"
|
||||
title="test"
|
||||
<span
|
||||
class="euiBadge__content emotion-euiBadge__content"
|
||||
>
|
||||
<span
|
||||
class="euiBadge__content emotion-euiBadge__content"
|
||||
class="euiBadge__text emotion-euiBadge__text-clickable"
|
||||
>
|
||||
<span
|
||||
class="euiBadge__text emotion-euiBadge__text-clickable"
|
||||
>
|
||||
test
|
||||
</span>
|
||||
<span
|
||||
class="euiBadge__icon emotion-euiBadge__icon-right"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
test
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
class="euiBadge__icon emotion-euiBadge__icon-right"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
|
|
@ -3,34 +3,30 @@
|
|||
exports[`getTopNavUnsavedChangesBadge() should work correctly 1`] = `
|
||||
<div>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="unsavedChangesPopover_generated-id"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="View available actions"
|
||||
class="euiBadge emotion-euiBadge-warning-clickable"
|
||||
data-test-subj="unsavedChangesBadge"
|
||||
title="Unsaved changes"
|
||||
>
|
||||
<button
|
||||
aria-label="View available actions"
|
||||
class="euiBadge emotion-euiBadge-warning-clickable"
|
||||
data-test-subj="unsavedChangesBadge"
|
||||
title="Unsaved changes"
|
||||
<span
|
||||
class="euiBadge__content emotion-euiBadge__content"
|
||||
>
|
||||
<span
|
||||
class="euiBadge__content emotion-euiBadge__content"
|
||||
class="euiBadge__text emotion-euiBadge__text-clickable"
|
||||
>
|
||||
<span
|
||||
class="euiBadge__text emotion-euiBadge__text-clickable"
|
||||
>
|
||||
Unsaved changes
|
||||
</span>
|
||||
<span
|
||||
class="euiBadge__icon emotion-euiBadge__icon-right"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Unsaved changes
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
class="euiBadge__icon emotion-euiBadge__icon-right"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
|
|
@ -101,7 +101,7 @@ export function FilterQueryInput({
|
|||
<EuiPopover
|
||||
isOpen={filterPopoverOpen}
|
||||
closePopover={onClosePopup}
|
||||
anchorClassName="eui-fullWidth"
|
||||
display="block"
|
||||
panelClassName="filterQueryInput__popover"
|
||||
initialFocus={dataTestSubj ? `textarea[data-test-subj='${dataTestSubj}']` : undefined}
|
||||
button={
|
||||
|
|
|
@ -2,30 +2,26 @@
|
|||
|
||||
exports[`<ToolbarPopover /> is rendered 1`] = `
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
intl="[object Object]"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-EuiButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-EuiButton"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
test
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
test
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
`;
|
||||
|
|
|
@ -85,7 +85,7 @@ export const LICENSE_OVERRIDES = {
|
|||
'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts
|
||||
'@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint
|
||||
'@elastic/ems-client@8.5.1': ['Elastic License 2.0'],
|
||||
'@elastic/eui@90.0.1-backport.0': ['SSPL-1.0 OR Elastic License 2.0'],
|
||||
'@elastic/eui@91.0.0-backport.0': ['SSPL-1.0 OR Elastic License 2.0'],
|
||||
'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry
|
||||
'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary
|
||||
};
|
||||
|
|
|
@ -43,7 +43,6 @@ export const ControlError = ({ error }: ControlErrorProps) => {
|
|||
button={popoverButton}
|
||||
isOpen={isPopoverOpen}
|
||||
className="errorEmbeddableCompact__popover"
|
||||
anchorClassName="errorEmbeddableCompact__popoverAnchor"
|
||||
closePopover={() => setPopoverOpen(false)}
|
||||
>
|
||||
<Markdown
|
||||
|
|
|
@ -153,8 +153,8 @@ describe('Options list popover', () => {
|
|||
const popover = await mountComponent();
|
||||
const includeButton = findTestSubject(popover, 'optionsList__includeResults');
|
||||
const excludeButton = findTestSubject(popover, 'optionsList__excludeResults');
|
||||
expect(includeButton.prop('checked')).toBe(true);
|
||||
expect(excludeButton.prop('checked')).toBeFalsy();
|
||||
expect(includeButton.prop('aria-pressed')).toBe(true);
|
||||
expect(excludeButton.prop('aria-pressed')).toBe(false);
|
||||
});
|
||||
|
||||
test('if exclude = true, select appropriate button in button group', async () => {
|
||||
|
@ -163,8 +163,8 @@ describe('Options list popover', () => {
|
|||
});
|
||||
const includeButton = findTestSubject(popover, 'optionsList__includeResults');
|
||||
const excludeButton = findTestSubject(popover, 'optionsList__excludeResults');
|
||||
expect(includeButton.prop('checked')).toBeFalsy();
|
||||
expect(excludeButton.prop('checked')).toBe(true);
|
||||
expect(includeButton.prop('aria-pressed')).toBe(false);
|
||||
expect(excludeButton.prop('aria-pressed')).toBe(true);
|
||||
});
|
||||
|
||||
test('clicking another option unselects "Exists"', async () => {
|
||||
|
@ -176,8 +176,8 @@ describe('Options list popover', () => {
|
|||
|
||||
const availableOptionsDiv = findTestSubject(popover, 'optionsList-control-available-options');
|
||||
availableOptionsDiv.children().forEach((child, i) => {
|
||||
if (child.text() === 'woof') expect(child.prop('checked')).toBe('on');
|
||||
else expect(child.prop('checked')).toBeFalsy();
|
||||
if (child.text() === 'woof') expect(child.prop('aria-pressed')).toBe(true);
|
||||
else expect(child.prop('aria-pressed')).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -189,15 +189,15 @@ describe('Options list popover', () => {
|
|||
const existsOption = findTestSubject(popover, 'optionsList-control-selection-exists');
|
||||
let availableOptionsDiv = findTestSubject(popover, 'optionsList-control-available-options');
|
||||
availableOptionsDiv.children().forEach((child, i) => {
|
||||
if (selections.includes(child.text())) expect(child.prop('checked')).toBe('on');
|
||||
else expect(child.prop('checked')).toBeFalsy();
|
||||
if (selections.includes(child.text())) expect(child.prop('aria-pressed')).toBe(true);
|
||||
else expect(child.prop('aria-pressed')).toBeFalsy();
|
||||
});
|
||||
|
||||
existsOption.simulate('click');
|
||||
availableOptionsDiv = findTestSubject(popover, 'optionsList-control-available-options');
|
||||
availableOptionsDiv.children().forEach((child, i) => {
|
||||
if (child.text() === 'Exists (*)') expect(child.prop('checked')).toBe('on');
|
||||
else expect(child.prop('checked')).toBeFalsy();
|
||||
if (child.text() === 'Exists (*)') expect(child.prop('aria-pressed')).toBe(true);
|
||||
else expect(child.prop('aria-pressed')).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -119,7 +119,6 @@ export const OptionsListPopoverSortingButton = ({
|
|||
aria-labelledby="optionsList_sortingOptions"
|
||||
closePopover={() => setIsSortingPopoverOpen(false)}
|
||||
panelClassName={'optionsList--sortPopover'}
|
||||
anchorClassName={'optionsList__sortButtonPopoverAnchor'}
|
||||
>
|
||||
<span data-test-subj="optionsListControl__sortingOptionsPopover">
|
||||
<EuiPopoverTitle paddingSize="s">
|
||||
|
|
|
@ -176,27 +176,23 @@ Array [
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="inspectorDownloadData"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-s-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-s-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
Download CSV
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
Download CSV
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
|
@ -224,30 +220,26 @@ Array [
|
|||
class="euiTableSortMobile"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-primary-flush-right"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-primary-flush-right"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Sorting
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Sorting
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -339,31 +331,27 @@ Array [
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
data-test-subj="tablePaginationPopoverButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
data-test-subj="tablePaginationPopoverButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Rows per page: 20
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Rows per page: 20
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
@ -481,32 +469,28 @@ Array [
|
|||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="inspectorTableChooser"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-s-empty-primary"
|
||||
data-test-subj="inspectorTableChooser"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-s-empty-primary"
|
||||
data-test-subj="inspectorTableChooser"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Table 1
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Table 1
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -515,27 +499,23 @@ Array [
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="inspectorDownloadData"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-s-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-s-defaultMinWidth-base-primary"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
Download CSV
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
Download CSV
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>,
|
||||
|
@ -563,30 +543,26 @@ Array [
|
|||
class="euiTableSortMobile"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-primary-flush-right"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-primary-flush-right"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Sorting
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Sorting
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -679,31 +655,27 @@ Array [
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
data-test-subj="tablePaginationPopoverButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
data-test-subj="tablePaginationPopoverButton"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Rows per page: 20
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Rows per page: 20
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
@ -63,11 +63,7 @@ describe('DataViewEditor PreviewPanel', () => {
|
|||
'Matching sources'
|
||||
);
|
||||
|
||||
findTestSubject(component, 'allIndices').simulate('change', {
|
||||
target: {
|
||||
value: true,
|
||||
},
|
||||
});
|
||||
findTestSubject(component, 'allIndices').simulate('click');
|
||||
|
||||
await component.update();
|
||||
|
||||
|
@ -109,11 +105,7 @@ describe('DataViewEditor PreviewPanel', () => {
|
|||
|
||||
expect(component.find('.euiButtonGroupButton-isSelected').first().text()).toBe('All sources');
|
||||
|
||||
findTestSubject(component, 'onlyMatchingIndices').simulate('change', {
|
||||
target: {
|
||||
value: true,
|
||||
},
|
||||
});
|
||||
findTestSubject(component, 'onlyMatchingIndices').simulate('click');
|
||||
|
||||
await component.update();
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
|
||||
.errorEmbeddableCompact__popover {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.errorEmbeddableCompact__popoverAnchor {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ describe('isCloudEnabled is false', () => {
|
|||
);
|
||||
await loadTutorialPromise;
|
||||
component.update();
|
||||
component.find('#onPremElasticCloud').first().find('input').simulate('change');
|
||||
component.find('button[data-test-subj="onCloudTutorial"]').simulate('click');
|
||||
component.update();
|
||||
expect(component.state('visibleInstructions')).toBe('onPremElasticCloud');
|
||||
});
|
||||
|
|
|
@ -21,32 +21,28 @@ Array [
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="inspectorViewChooser"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-s-empty-primary"
|
||||
data-test-subj="inspectorViewChooser"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-s-empty-primary"
|
||||
data-test-subj="inspectorViewChooser"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
View: View 1
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
View: View 1
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -73,11 +73,6 @@
|
|||
padding: $euiSizeM;
|
||||
}
|
||||
|
||||
.globalFilterItem__popover,
|
||||
.globalFilterItem__popoverAnchor {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.globalFilterItem__readonlyPanel {
|
||||
min-width: auto;
|
||||
padding: $euiSizeM;
|
||||
|
|
|
@ -367,8 +367,7 @@ function FilterItemComponent(props: FilterItemProps) {
|
|||
|
||||
const popoverProps: FilterPopoverProps = {
|
||||
id: `popoverFor_filter${id}`,
|
||||
className: `globalFilterItem__popover`,
|
||||
anchorClassName: `globalFilterItem__popoverAnchor`,
|
||||
display: 'block',
|
||||
isOpen: isPopoverOpen,
|
||||
closePopover,
|
||||
button: <FilterView {...filterViewProps} />,
|
||||
|
|
|
@ -67,7 +67,6 @@ export function NoDataPopover({
|
|||
}
|
||||
minWidth={300}
|
||||
anchorPosition="downCenter"
|
||||
anchorClassName="eui-displayBlock"
|
||||
step={1}
|
||||
stepsTotal={1}
|
||||
isStepOpen={noDataPopoverVisible}
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
exports[`VisLegend Component Legend closed should match the snapshot 1`] = `"<div class=\\"visLegend\\"><button type=\\"button\\" class=\\"visLegend__toggle kbn-resetFocusState\\" aria-label=\\"Toggle legend\\" aria-expanded=\\"false\\" aria-controls=\\"legendId\\" data-test-subj=\\"vislibToggleLegend\\" title=\\"Toggle legend\\"><span data-euiicon-type=\\"list\\" color=\\"text\\"></span></button></div>"`;
|
||||
|
||||
exports[`VisLegend Component Legend open should match the snapshot 1`] = `"<div class=\\"visLegend\\"><button type=\\"button\\" class=\\"visLegend__toggle kbn-resetFocusState visLegend__toggle--isOpen\\" aria-label=\\"Toggle legend\\" aria-expanded=\\"true\\" aria-controls=\\"legendId\\" data-test-subj=\\"vislibToggleLegend\\" title=\\"Toggle legend\\"><span data-euiicon-type=\\"list\\" color=\\"text\\"></span></button><ul class=\\"visLegend__list\\" id=\\"legendId\\"><li class=\\"visLegend__value\\"><div class=\\"euiPopover css-6tb1tw-euiPopover\\"><div class=\\"euiPopover__anchor css-zih94u-render\\"><button class=\\"euiButtonEmpty visLegend__button css-143rh05-euiButtonDisplay-euiButtonEmpty-xs-empty-text-flush-left\\" type=\\"button\\" data-label=\\"A\\" title=\\"A\\" aria-label=\\"A, toggle options\\" data-test-subj=\\"legend-A\\"><span class=\\"euiButtonEmpty__content css-1bascr2-euiButtonDisplayContent\\"><span class=\\"eui-textTruncate euiButtonEmpty__text\\"><span data-euiicon-type=\\"dot\\" color=\\"red\\" data-test-subj=\\"legendSelectedColor-red\\"></span><span class=\\"visLegend__valueTitle\\">A</span></span></span></button></div></div></li><li class=\\"visLegend__value\\"><div class=\\"euiPopover css-6tb1tw-euiPopover\\"><div class=\\"euiPopover__anchor css-zih94u-render\\"><button class=\\"euiButtonEmpty visLegend__button css-143rh05-euiButtonDisplay-euiButtonEmpty-xs-empty-text-flush-left\\" type=\\"button\\" data-label=\\"B\\" title=\\"B\\" aria-label=\\"B, toggle options\\" data-test-subj=\\"legend-B\\"><span class=\\"euiButtonEmpty__content css-1bascr2-euiButtonDisplayContent\\"><span class=\\"eui-textTruncate euiButtonEmpty__text\\"><span data-euiicon-type=\\"dot\\" color=\\"red\\" data-test-subj=\\"legendSelectedColor-red\\"></span><span class=\\"visLegend__valueTitle\\">B</span></span></span></button></div></div></li></ul></div>"`;
|
||||
exports[`VisLegend Component Legend open should match the snapshot 1`] = `"<div class=\\"visLegend\\"><button type=\\"button\\" class=\\"visLegend__toggle kbn-resetFocusState visLegend__toggle--isOpen\\" aria-label=\\"Toggle legend\\" aria-expanded=\\"true\\" aria-controls=\\"legendId\\" data-test-subj=\\"vislibToggleLegend\\" title=\\"Toggle legend\\"><span data-euiicon-type=\\"list\\" color=\\"text\\"></span></button><ul class=\\"visLegend__list\\" id=\\"legendId\\"><li class=\\"visLegend__value\\"><div class=\\"euiPopover css-bvzum9-euiPopover-block\\"><button class=\\"euiButtonEmpty visLegend__button css-143rh05-euiButtonDisplay-euiButtonEmpty-xs-empty-text-flush-left\\" type=\\"button\\" data-label=\\"A\\" title=\\"A\\" aria-label=\\"A, toggle options\\" data-test-subj=\\"legend-A\\"><span class=\\"euiButtonEmpty__content css-1bascr2-euiButtonDisplayContent\\"><span class=\\"eui-textTruncate euiButtonEmpty__text\\"><span data-euiicon-type=\\"dot\\" color=\\"red\\" data-test-subj=\\"legendSelectedColor-red\\"></span><span class=\\"visLegend__valueTitle\\">A</span></span></span></button></div></li><li class=\\"visLegend__value\\"><div class=\\"euiPopover css-bvzum9-euiPopover-block\\"><button class=\\"euiButtonEmpty visLegend__button css-143rh05-euiButtonDisplay-euiButtonEmpty-xs-empty-text-flush-left\\" type=\\"button\\" data-label=\\"B\\" title=\\"B\\" aria-label=\\"B, toggle options\\" data-test-subj=\\"legend-B\\"><span class=\\"euiButtonEmpty__content css-1bascr2-euiButtonDisplayContent\\"><span class=\\"eui-textTruncate euiButtonEmpty__text\\"><span data-euiicon-type=\\"dot\\" color=\\"red\\" data-test-subj=\\"legendSelectedColor-red\\"></span><span class=\\"visLegend__valueTitle\\">B</span></span></span></button></div></li></ul></div>"`;
|
||||
|
|
|
@ -28,17 +28,17 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide
|
|||
expect(todos.length).to.be(2);
|
||||
|
||||
// check that filters work
|
||||
await (await find.byCssSelector('label[title="Completed"]')).click();
|
||||
await (await find.byButtonText('Completed')).click();
|
||||
await testSubjects.missingOrFail(`todoPending`);
|
||||
todos = await testSubjects.findAll(`~todoItem`);
|
||||
expect(todos.length).to.be(1);
|
||||
|
||||
await (await find.byCssSelector('label[title="Todo"]')).click();
|
||||
await (await find.byButtonText('Todo')).click();
|
||||
await testSubjects.missingOrFail(`todoPending`);
|
||||
todos = await testSubjects.findAll(`~todoItem`);
|
||||
expect(todos.length).to.be(1);
|
||||
|
||||
await (await find.byCssSelector('label[title="All"]')).click();
|
||||
await (await find.byButtonText('All')).click();
|
||||
await testSubjects.missingOrFail(`todoPending`);
|
||||
todos = await testSubjects.findAll(`~todoItem`);
|
||||
expect(todos.length).to.be(2);
|
||||
|
@ -56,9 +56,10 @@ export default function ({ getService, getPageObjects }: PluginFunctionalProvide
|
|||
let newTodoCheckbox = await newTodo.findByTestSubject('~todoCheckbox');
|
||||
expect(await newTodoCheckbox.isSelected()).to.be(false);
|
||||
await (await newTodo.findByTagName('label')).click();
|
||||
await newTodo.click();
|
||||
await testSubjects.missingOrFail(`todoPending`);
|
||||
|
||||
await (await find.byCssSelector('label[title="Completed"]')).click();
|
||||
await (await find.byButtonText('Completed')).click();
|
||||
await testSubjects.missingOrFail(`todoPending`);
|
||||
todos = await testSubjects.findAll(`~todoItem`);
|
||||
expect(todos.length).to.be(2);
|
||||
|
|
|
@ -107,6 +107,8 @@ export class TimePickerPageObject extends FtrService {
|
|||
} else {
|
||||
await this.testSubjects.setValue(dataTestSubj, value);
|
||||
}
|
||||
|
||||
await this.testSubjects.pressEnter(dataTestSubj);
|
||||
}
|
||||
|
||||
private async showStartEndTimes() {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import expect from '@kbn/expect';
|
||||
import { FtrService } from '../ftr_provider_context';
|
||||
import { WebElementWrapper } from './lib/web_element_wrapper';
|
||||
|
||||
|
@ -84,6 +85,7 @@ export class ComboBoxService extends FtrService {
|
|||
const isOptionSelected = await this.isOptionSelected(comboBoxElement, trimmedValue);
|
||||
|
||||
if (isOptionSelected) {
|
||||
this.log.debug(`value is already selected. returning`);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -116,7 +118,7 @@ export class ComboBoxService extends FtrService {
|
|||
|
||||
const [alternate] = alternateTitle
|
||||
? await this.find.allByCssSelector(
|
||||
`.euiFilterSelectItem[title="${alternateTitle}"]`,
|
||||
`.euiFilterSelectItem[title="${alternateTitle}" i]`,
|
||||
this.WAIT_FOR_EXISTS_TIME
|
||||
)
|
||||
: [];
|
||||
|
@ -177,15 +179,28 @@ export class ComboBoxService extends FtrService {
|
|||
* @param comboBoxElement element that wraps up EuiComboBox
|
||||
* @param filterValue text
|
||||
*/
|
||||
private async setFilterValue(
|
||||
public async setFilterValue(
|
||||
comboBoxElement: WebElementWrapper,
|
||||
filterValue: string
|
||||
): Promise<void> {
|
||||
const input = await comboBoxElement.findByTagName('input');
|
||||
await input.clearValue();
|
||||
await this.waitForOptionsListLoading(comboBoxElement);
|
||||
await input.type(filterValue);
|
||||
await this.waitForOptionsListLoading(comboBoxElement);
|
||||
|
||||
await this.retry.try(async () => {
|
||||
// Wait for the input to not be disabled before typing into it (otherwise
|
||||
// typing will sometimes trigger the global search bar instead)
|
||||
expect(await input.isEnabled()).to.equal(true);
|
||||
|
||||
// Some Kibana comboboxes force state to not be clearable, so we can't use `input.clearValue()`.
|
||||
// This is not-great production UX and shouldn't be happening, but for now we're going to
|
||||
// work around it in FTR tests by selecting all existing text and typing to replace
|
||||
if (!!(await input.getAttribute('value'))) {
|
||||
await input.selectValueWithKeyboard();
|
||||
}
|
||||
await input.type(filterValue);
|
||||
await this.waitForOptionsListLoading(comboBoxElement);
|
||||
|
||||
expect(await input.getAttribute('value')).to.equal(filterValue);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -241,9 +256,29 @@ export class ComboBoxService extends FtrService {
|
|||
this.log.debug(`comboBox.getComboBoxSelectedOptions, comboBoxSelector: ${comboBoxSelector}`);
|
||||
const comboBox = await this.testSubjects.find(comboBoxSelector);
|
||||
const $ = await comboBox.parseDomContent();
|
||||
return $('.euiComboBoxPill')
|
||||
|
||||
if (await this.isSingleSelectionPlainText(comboBox)) {
|
||||
const input = $('[data-test-subj="comboBoxSearchInput"]');
|
||||
this.log.debug('Single selection value: ', input.val());
|
||||
|
||||
const isValid = input.attr('aria-invalid') !== 'true';
|
||||
|
||||
if (isValid) {
|
||||
const value = input.val();
|
||||
return value ? [value] : []; // Don't return empty strings
|
||||
} else {
|
||||
this.log.debug(
|
||||
'Single selection value is not valid and thus not selected - returning empty array'
|
||||
);
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
const options = $('.euiComboBoxPill')
|
||||
.toArray()
|
||||
.map((option) => $(option).text());
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -315,8 +350,8 @@ export class ComboBoxService extends FtrService {
|
|||
|
||||
if (!isOptionsListOpen) {
|
||||
await this.retry.try(async () => {
|
||||
const toggleBtn = await comboBoxElement.findByTestSubject('comboBoxInput');
|
||||
await toggleBtn.click();
|
||||
const inputWrapper = await this.getComboBoxInputWrapper(comboBoxElement);
|
||||
await inputWrapper.click();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -333,9 +368,21 @@ export class ComboBoxService extends FtrService {
|
|||
): Promise<boolean> {
|
||||
this.log.debug(`comboBox.isOptionSelected, value: ${value}`);
|
||||
const $ = await comboBoxElement.parseDomContent();
|
||||
|
||||
if (await this.isSingleSelectionPlainText(comboBoxElement)) {
|
||||
const input = $('input[role="combobox"]');
|
||||
|
||||
const hasValidValue =
|
||||
input.attr('aria-invalid') !== 'true' &&
|
||||
value.toLowerCase().trim() === input.val().toLowerCase().trim(); // Normalizing text here for Firefox driver shenanigans
|
||||
|
||||
return !!hasValidValue;
|
||||
}
|
||||
|
||||
const selectedOptions = $('.euiComboBoxPill')
|
||||
.toArray()
|
||||
.map((option) => $(option).text());
|
||||
|
||||
return (
|
||||
selectedOptions.length === 1 &&
|
||||
selectedOptions[0].toLowerCase().trim() === value.toLowerCase().trim()
|
||||
|
@ -369,4 +416,26 @@ export class ComboBoxService extends FtrService {
|
|||
this.log.debug(`isDisabled:${isDisabled}`);
|
||||
return isDisabled?.toLowerCase() === 'true';
|
||||
}
|
||||
|
||||
/**
|
||||
* Single selection plain text comboboxes do not render pill text, but instead render
|
||||
* selected as well as search values in the child <input>
|
||||
*/
|
||||
private async isSingleSelectionPlainText(comboBoxElement: WebElementWrapper): Promise<boolean> {
|
||||
const inputWrapper = await this.getComboBoxInputWrapper(comboBoxElement);
|
||||
return await inputWrapper.elementHasClass('euiComboBox__inputWrap--plainText');
|
||||
}
|
||||
|
||||
/**
|
||||
* Kibana devs sometimes pass in the `comboBoxInput` element and not the parent wrapper 🤷
|
||||
* This util accounts for that and returns the `data-test-subj="comboBoxInput"` element no matter what
|
||||
*/
|
||||
private async getComboBoxInputWrapper(
|
||||
comboBoxElement: WebElementWrapper
|
||||
): Promise<WebElementWrapper> {
|
||||
const isInputWrapper = await comboBoxElement.elementHasClass('euiComboBox__inputWrap');
|
||||
return isInputWrapper
|
||||
? comboBoxElement
|
||||
: await comboBoxElement.findByTestSubject('comboBoxInput');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -261,28 +261,28 @@ export class WebElementWrapper {
|
|||
* @default { charByChar: false }
|
||||
*/
|
||||
async clearValueWithKeyboard(options: TypeOptions = { charByChar: false }) {
|
||||
const value = await this.getAttribute('value');
|
||||
if (!value.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (options.charByChar === true) {
|
||||
const value = await this.getAttribute('value');
|
||||
for (let i = 0; i <= value.length; i++) {
|
||||
await this.pressKeys(this.Keys.BACK_SPACE);
|
||||
await setTimeoutAsync(100);
|
||||
}
|
||||
} else {
|
||||
if (this.isChromium) {
|
||||
// https://bugs.chromium.org/p/chromedriver/issues/detail?id=30
|
||||
await this.retryCall(async function clearValueWithKeyboard(wrapper) {
|
||||
await wrapper.driver.executeScript(`arguments[0].select();`, wrapper._webElement);
|
||||
});
|
||||
await this.pressKeys(this.Keys.BACK_SPACE);
|
||||
} else {
|
||||
const selectionKey = this.Keys[process.platform === 'darwin' ? 'COMMAND' : 'CONTROL'];
|
||||
await this.pressKeys([selectionKey, 'a']);
|
||||
await this.pressKeys(this.Keys.NULL); // Release modifier keys
|
||||
await this.pressKeys(this.Keys.BACK_SPACE); // Delete all content
|
||||
}
|
||||
await this.selectValueWithKeyboard();
|
||||
await this.pressKeys(this.Keys.BACK_SPACE);
|
||||
}
|
||||
}
|
||||
|
||||
async selectValueWithKeyboard() {
|
||||
const selectionKey = this.Keys[process.platform === 'darwin' ? 'COMMAND' : 'CONTROL'];
|
||||
await this.pressKeys([selectionKey, 'a']);
|
||||
await this.pressKeys(this.Keys.NULL); // Release modifier keys
|
||||
}
|
||||
|
||||
/**
|
||||
* Types a key sequence on the DOM element represented by this instance. Modifier keys
|
||||
* (SHIFT, CONTROL, ALT, META) are stateful; once a modifier is processed in the key sequence,
|
||||
|
|
|
@ -58,7 +58,7 @@ describe('Conversation selector', () => {
|
|||
</TestProviders>
|
||||
);
|
||||
expect(getByTestId('conversation-selector')).toBeInTheDocument();
|
||||
expect(getByTestId('euiComboBoxPill')).toHaveTextContent(welcomeConvo.id);
|
||||
expect(getByTestId('comboBoxSearchInput')).toHaveValue(welcomeConvo.id);
|
||||
});
|
||||
it('On change, selects new item', () => {
|
||||
const { getByTestId } = render(
|
||||
|
@ -78,7 +78,7 @@ describe('Conversation selector', () => {
|
|||
expect(onConversationSelected).toHaveBeenCalledWith(alertConvo.id);
|
||||
});
|
||||
it('On clear input, clears selected options', () => {
|
||||
const { getByText, queryByText, getByTestId, queryByTestId } = render(
|
||||
const { getByPlaceholderText, queryByPlaceholderText, getByTestId, queryByTestId } = render(
|
||||
<TestProviders
|
||||
providerContext={{
|
||||
getInitialConversations: () => ({
|
||||
|
@ -90,10 +90,10 @@ describe('Conversation selector', () => {
|
|||
<ConversationSelector {...defaultProps} />
|
||||
</TestProviders>
|
||||
);
|
||||
expect(getByTestId('euiComboBoxPill')).toBeInTheDocument();
|
||||
expect(queryByText(CONVERSATION_SELECTOR_PLACE_HOLDER)).not.toBeInTheDocument();
|
||||
expect(getByTestId('comboBoxSearchInput')).toBeInTheDocument();
|
||||
expect(queryByPlaceholderText(CONVERSATION_SELECTOR_PLACE_HOLDER)).not.toBeInTheDocument();
|
||||
fireEvent.click(getByTestId('comboBoxClearButton'));
|
||||
expect(getByText(CONVERSATION_SELECTOR_PLACE_HOLDER)).toBeInTheDocument();
|
||||
expect(getByPlaceholderText(CONVERSATION_SELECTOR_PLACE_HOLDER)).toBeInTheDocument();
|
||||
expect(queryByTestId('euiComboBoxPill')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ describe('ConversationSelectorSettings', () => {
|
|||
});
|
||||
it('Selects an existing conversation', () => {
|
||||
const { getByTestId } = render(<ConversationSelectorSettings {...testProps} />);
|
||||
expect(getByTestId('comboBoxInput')).toHaveTextContent(welcomeConvo.id);
|
||||
expect(getByTestId('comboBoxSearchInput')).toHaveValue(welcomeConvo.id);
|
||||
fireEvent.click(getByTestId('comboBoxToggleListButton'));
|
||||
fireEvent.click(getByTestId(alertConvo.id));
|
||||
expect(onConversationSelectionChange).toHaveBeenCalledWith(alertConvo);
|
||||
|
|
|
@ -25,7 +25,7 @@ describe('SystemPromptSelector', () => {
|
|||
});
|
||||
it('Selects an existing quick prompt', () => {
|
||||
const { getByTestId } = render(<SystemPromptSelector {...testProps} />);
|
||||
expect(getByTestId('euiComboBoxPill')).toHaveTextContent(mockSystemPrompts[0].name);
|
||||
expect(getByTestId('comboBoxSearchInput')).toHaveValue(mockSystemPrompts[0].name);
|
||||
fireEvent.click(getByTestId('comboBoxToggleListButton'));
|
||||
fireEvent.click(getByTestId(`systemPromptSelector-${mockSystemPrompts[1].id}`));
|
||||
expect(onSystemPromptSelectionChange).toHaveBeenCalledWith(mockSystemPrompts[1]);
|
||||
|
|
|
@ -15,7 +15,7 @@ describe('ModelSelector', () => {
|
|||
const { getByTestId } = render(
|
||||
<ModelSelector onModelSelectionChange={onModelSelectionChange} />
|
||||
);
|
||||
expect(getByTestId('euiComboBoxPill')).toHaveTextContent(MODEL_GPT_3_5_TURBO);
|
||||
expect(getByTestId('comboBoxSearchInput')).toHaveValue(MODEL_GPT_3_5_TURBO);
|
||||
});
|
||||
it('should call onModelSelectionChange when custom option', () => {
|
||||
const onModelSelectionChange = jest.fn();
|
||||
|
|
|
@ -131,7 +131,9 @@ describe('CreateMaintenanceWindowForm', () => {
|
|||
'Press the down key to open a popover containing a calendar.'
|
||||
);
|
||||
const recurringInput = within(result.getByTestId('recurring-field')).getByTestId('input');
|
||||
const timezoneInput = within(result.getByTestId('timezone-field')).getByTestId('input');
|
||||
const timezoneInput = within(result.getByTestId('timezone-field')).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(
|
||||
|
@ -156,7 +158,7 @@ describe('CreateMaintenanceWindowForm', () => {
|
|||
expect(dateInputs[0]).toHaveValue('03/23/2023 09:00 PM');
|
||||
expect(dateInputs[1]).toHaveValue('03/25/2023 09:00 PM');
|
||||
expect(recurringInput).toBeChecked();
|
||||
expect(timezoneInput).toHaveTextContent('America/Los_Angeles');
|
||||
expect(timezoneInput).toHaveValue('America/Los_Angeles');
|
||||
});
|
||||
|
||||
it('should initialize MWs without category ids properly', async () => {
|
||||
|
|
|
@ -94,7 +94,7 @@ describe('RecurringSchedule', () => {
|
|||
const endsInput = within(result.getByTestId('ends-field')).getByTestId('never');
|
||||
|
||||
expect(frequencyInput).toHaveValue('3');
|
||||
expect(endsInput).toBeChecked();
|
||||
expect(endsInput).toHaveAttribute('aria-pressed', 'true');
|
||||
});
|
||||
|
||||
it('should prefill the form when provided with initialValue', () => {
|
||||
|
@ -119,7 +119,7 @@ describe('RecurringSchedule', () => {
|
|||
'Press the down key to open a popover containing a calendar.'
|
||||
);
|
||||
expect(frequencyInput).toHaveValue('1');
|
||||
expect(endsInput).toBeChecked();
|
||||
expect(endsInput).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(untilInput).toHaveValue('03/24/2023');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -82,7 +82,7 @@ describe('Service groups', () => {
|
|||
|
||||
it('creates a service group', () => {
|
||||
cy.getByTestSubj('apmCreateServiceGroupButton').click();
|
||||
cy.getByTestSubj('apmGroupNameInput').type('go services');
|
||||
cy.getByTestSubj('apmGroupNameInput').type('go services{enter}');
|
||||
cy.contains('Select services').click();
|
||||
cy.getByTestSubj('headerFilterKuerybar').type('agent.name:"go"{enter}');
|
||||
cy.contains('synth-go-1');
|
||||
|
|
|
@ -38,7 +38,9 @@ describe('Errors table', () => {
|
|||
it('Alerts table with the search bar is populated', () => {
|
||||
cy.visitKibana(serviceOverviewHref);
|
||||
cy.contains('opbeans-java');
|
||||
cy.contains('All');
|
||||
cy.get(
|
||||
'[data-test-subj="environmentFilter"] [data-test-subj="comboBoxSearchInput"]'
|
||||
).should('have.value', 'All');
|
||||
cy.contains('Active');
|
||||
cy.contains('Recovered');
|
||||
cy.getByTestSubj('globalQueryBar').should('exist');
|
||||
|
|
|
@ -226,9 +226,9 @@ describe('Service Overview', () => {
|
|||
'suggestionsRequest'
|
||||
);
|
||||
|
||||
cy.getByTestSubj('environmentFilter').find('input').type('production', {
|
||||
force: true,
|
||||
});
|
||||
cy.getByTestSubj('environmentFilter')
|
||||
.find('input')
|
||||
.type('{selectall}production', { force: true });
|
||||
|
||||
cy.expectAPIsToHaveBeenCalledWith({
|
||||
apisIntercepted: ['@suggestionsRequest'],
|
||||
|
|
|
@ -107,7 +107,10 @@ describe('Agent configuration', () => {
|
|||
cy.contains('Create configuration');
|
||||
cy.contains('Edit').click();
|
||||
cy.wait('@serviceEnvironmentApi');
|
||||
cy.contains('production');
|
||||
cy.getByTestSubj('serviceEnviromentComboBox')
|
||||
.find('input')
|
||||
.invoke('val')
|
||||
.should('contain', 'production');
|
||||
});
|
||||
it('displays All label when selecting all option', () => {
|
||||
cy.intercept(
|
||||
|
@ -129,6 +132,9 @@ describe('Agent configuration', () => {
|
|||
cy.contains('Environment All');
|
||||
cy.contains('Edit').click();
|
||||
cy.wait('@serviceEnvironmentApi');
|
||||
cy.contains('All');
|
||||
cy.getByTestSubj('serviceEnviromentComboBox')
|
||||
.find('input')
|
||||
.invoke('val')
|
||||
.should('contain', 'All');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -130,7 +130,7 @@ describe('Storage Explorer', () => {
|
|||
it('with the correct environment when changing the environment', () => {
|
||||
cy.wait(mainAliasNames);
|
||||
|
||||
cy.getByTestSubj('environmentFilter').type('production');
|
||||
cy.getByTestSubj('environmentFilter').type('{selectall}production');
|
||||
|
||||
cy.contains('button', 'production').click({ force: true });
|
||||
|
||||
|
|
|
@ -94,14 +94,16 @@ Cypress.Commands.add(
|
|||
.nextAll()
|
||||
.find('[data-test-subj="superDatePickerAbsoluteDateInput"]')
|
||||
.clear({ force: true })
|
||||
.type(moment(start).format(format), { force: true });
|
||||
.type(moment(start).format(format), { force: true })
|
||||
.type('{enter}');
|
||||
|
||||
cy.getByTestSubj('superDatePickerendDatePopoverButton').click();
|
||||
cy.contains('End date')
|
||||
.nextAll()
|
||||
.find('[data-test-subj="superDatePickerAbsoluteDateInput"]')
|
||||
.clear({ force: true })
|
||||
.type(moment(end).format(format), { force: true });
|
||||
.type(moment(end).format(format), { force: true })
|
||||
.type('{enter}');
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -3,32 +3,28 @@
|
|||
exports[`TransactionActionMenu component matches the snapshot 1`] = `
|
||||
<div>
|
||||
<div
|
||||
class="euiPopover euiPopover-isOpen emotion-euiPopover"
|
||||
class="euiPopover euiPopover-isOpen emotion-euiPopover-inline-block"
|
||||
id="transactionActionMenu"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
data-test-subj="apmActionMenuButtonInvestigateButton"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButton emotion-euiButtonDisplay-m-defaultMinWidth-base-primary"
|
||||
data-test-subj="apmActionMenuButtonInvestigateButton"
|
||||
type="button"
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate"
|
||||
>
|
||||
Investigate
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Investigate
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
|
|
@ -419,9 +419,9 @@ describe('TransactionActionMenu component', () => {
|
|||
component
|
||||
.getByTestId(`${key}.value`)
|
||||
.querySelector(
|
||||
'[data-test-subj="comboBoxInput"] span'
|
||||
) as HTMLSpanElement
|
||||
).textContent,
|
||||
'[data-test-subj="comboBoxSearchInput"]'
|
||||
) as HTMLInputElement
|
||||
).value,
|
||||
};
|
||||
};
|
||||
expect(getFilterKeyValue('service.name')).toEqual({
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
import { fireEvent, render, screen } from '@testing-library/react';
|
||||
import { fireEvent, render, screen, within } from '@testing-library/react';
|
||||
import { HttpStart } from '@kbn/core/public';
|
||||
import React from 'react';
|
||||
import {
|
||||
|
@ -80,9 +80,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_onPrem'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
let commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -128,12 +136,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
component.getByTestId('policySelector_onPrem')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_onPrem'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -164,12 +177,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
component.getByTestId('policySelector_onPrem')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_onPrem'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -206,12 +224,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
component.getByTestId('policySelector_cloud')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_cloud'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -245,12 +268,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Elastic Cloud agent policy')
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
component.getByTestId('policySelector_policy-elastic-agent-on-cloud')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_policy-elastic-agent-on-cloud'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Elastic Cloud agent policy');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -280,9 +308,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_onPrem'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -340,12 +376,17 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
component.getByTestId('policySelector_onPrem')
|
||||
).toBeInTheDocument();
|
||||
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_onPrem'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
@ -379,10 +420,16 @@ describe('TutorialConfigAgent', () => {
|
|||
kibanaVersion="8.0.0"
|
||||
/>
|
||||
);
|
||||
expect(
|
||||
await screen.findByText('Default Standalone configuration')
|
||||
).toBeInTheDocument();
|
||||
expect(component.getByTestId('policySelector_cloud')).toBeInTheDocument();
|
||||
const policySelectorWrapper = await screen.findByTestId(
|
||||
'policySelector_cloud'
|
||||
);
|
||||
expect(policySelectorWrapper).toBeInTheDocument();
|
||||
|
||||
const input = within(policySelectorWrapper).getByTestId(
|
||||
'comboBoxSearchInput'
|
||||
);
|
||||
expect(input).toHaveValue('Default Standalone configuration');
|
||||
|
||||
const commands = component.getByTestId('commands').innerHTML;
|
||||
expect(commands).not.toEqual('');
|
||||
expect(commands).toMatchInlineSnapshot(`
|
||||
|
|
|
@ -17,7 +17,6 @@ interface Props {
|
|||
ownFocus?: boolean;
|
||||
tooltip?: string;
|
||||
panelClassName?: string;
|
||||
anchorClassName?: string;
|
||||
anchorPosition?: string;
|
||||
panelPaddingSize?: 'none' | 's' | 'm' | 'l';
|
||||
id?: string;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -9,7 +9,7 @@ exports[`<Settings /> can navigate Autoplay Settings 1`] = `
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: -16px; left: -22px; will-change: transform, opacity; z-index: 2000;"
|
||||
|
@ -102,7 +102,7 @@ exports[`<Settings /> can navigate Autoplay Settings 2`] = `
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-isOpen-hasTransform-top"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-light-isOpen-hasTransform-top"
|
||||
data-popover-open="true"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
|
@ -345,7 +345,7 @@ exports[`<Settings /> can navigate Toolbar Settings, closes when activated 1`] =
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: -16px; left: -22px; will-change: transform, opacity; z-index: 2000;"
|
||||
|
@ -438,7 +438,7 @@ exports[`<Settings /> can navigate Toolbar Settings, closes when activated 2`] =
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-isOpen-hasTransform-top"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-light-isOpen-hasTransform-top"
|
||||
data-popover-open="true"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
|
@ -615,7 +615,7 @@ exports[`<Settings /> can navigate Toolbar Settings, closes when activated 3`] =
|
|||
aria-describedby="generated-id"
|
||||
aria-live="off"
|
||||
aria-modal="true"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-hasTransform"
|
||||
class="euiPanel euiPanel--plain euiPopover__panel emotion-euiPanel-grow-m-plain-euiPopover__panel-light-hasTransform"
|
||||
data-popover-panel="true"
|
||||
role="dialog"
|
||||
style="top: -16px; left: -22px; z-index: 2000;"
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
import userEvent from '@testing-library/user-event';
|
||||
import { waitFor } from '@testing-library/react';
|
||||
import { renderHook } from '@testing-library/react-hooks/dom';
|
||||
import {
|
||||
waitForEuiPopoverOpen,
|
||||
waitForEuiContextMenuPanelTransition,
|
||||
} from '@elastic/eui/lib/test/rtl';
|
||||
|
||||
import { useActions } from './use_actions';
|
||||
import { basicCase } from '../../containers/mock';
|
||||
|
@ -69,13 +73,12 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByText('Actions')).toBeInTheDocument();
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
});
|
||||
expect(res.getByText('Actions')).toBeInTheDocument();
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('change the status of the case', async () => {
|
||||
|
@ -89,24 +92,16 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
});
|
||||
userEvent.click(res.getByTestId(`case-action-status-panel-${basicCase.id}`));
|
||||
await waitForEuiContextMenuPanelTransition();
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-status-panel-${basicCase.id}`), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
expect(res.getByTestId('cases-bulk-action-status-open')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-status-in-progress')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-status-closed')).toBeInTheDocument();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-bulk-action-status-open')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-status-in-progress')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-status-closed')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-status-in-progress'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-status-in-progress'));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(updateCasesSpy).toHaveBeenCalled();
|
||||
|
@ -124,25 +119,17 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
});
|
||||
userEvent.click(res.getByTestId(`case-action-severity-panel-${basicCase.id}`));
|
||||
await waitForEuiContextMenuPanelTransition();
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-severity-panel-${basicCase.id}`), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
expect(res.getByTestId('cases-bulk-action-severity-low')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-severity-medium')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-severity-high')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-severity-critical')).toBeInTheDocument();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-bulk-action-severity-low')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-severity-medium')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-severity-high')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-severity-critical')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-severity-medium'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-severity-medium'));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(updateCasesSpy).toHaveBeenCalled();
|
||||
|
@ -167,14 +154,9 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-action-copy-id'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-action-copy-id'));
|
||||
|
||||
expect(navigator.clipboard.writeText).toHaveBeenCalledWith(basicCase.id);
|
||||
|
||||
|
@ -195,14 +177,9 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-delete'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-delete'));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('confirm-delete-case-modal')).toBeInTheDocument();
|
||||
|
@ -224,22 +201,15 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-delete'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-delete'));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('confirm-delete-case-modal')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('confirmModalCancelButton'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('confirmModalCancelButton'));
|
||||
|
||||
expect(res.queryByTestId('confirm-delete-case-modal')).toBeFalsy();
|
||||
});
|
||||
|
@ -257,14 +227,9 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-bulk-action-tags')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-tags'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-tags'));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-edit-tags-flyout')).toBeInTheDocument();
|
||||
|
@ -297,14 +262,9 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-bulk-action-assignees')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-assignees'), undefined, {
|
||||
skipPointerEventsCheck: true,
|
||||
});
|
||||
userEvent.click(res.getByTestId('cases-bulk-action-assignees'));
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId('cases-edit-assignees-flyout')).toBeInTheDocument();
|
||||
|
@ -338,14 +298,13 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
expect(res.getByTestId(`actions-separator-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
});
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
expect(res.getByTestId(`actions-separator-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('shows the correct actions with no delete permissions', async () => {
|
||||
|
@ -358,14 +317,13 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
expect(res.queryByTestId('cases-bulk-action-delete')).toBeFalsy();
|
||||
expect(res.queryByTestId(`actions-separator-${basicCase.id}`)).toBeFalsy();
|
||||
});
|
||||
expect(res.getByTestId(`case-action-status-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
expect(res.queryByTestId('cases-bulk-action-delete')).toBeFalsy();
|
||||
expect(res.queryByTestId(`actions-separator-${basicCase.id}`)).toBeFalsy();
|
||||
});
|
||||
|
||||
it('shows the correct actions with only delete permissions', async () => {
|
||||
|
@ -378,14 +336,13 @@ describe('useActions', () => {
|
|||
const res = appMockRender.render(comp);
|
||||
|
||||
userEvent.click(res.getByTestId(`case-action-popover-button-${basicCase.id}`));
|
||||
await waitForEuiPopoverOpen();
|
||||
|
||||
await waitFor(() => {
|
||||
expect(res.queryByTestId(`case-action-status-panel-${basicCase.id}`)).toBeFalsy();
|
||||
expect(res.queryByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeFalsy();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
expect(res.queryByTestId(`actions-separator-${basicCase.id}`)).toBeFalsy();
|
||||
});
|
||||
expect(res.queryByTestId(`case-action-status-panel-${basicCase.id}`)).toBeFalsy();
|
||||
expect(res.queryByTestId(`case-action-severity-panel-${basicCase.id}`)).toBeFalsy();
|
||||
expect(res.getByTestId('cases-action-copy-id')).toBeInTheDocument();
|
||||
expect(res.getByTestId('cases-bulk-action-delete')).toBeInTheDocument();
|
||||
expect(res.queryByTestId(`actions-separator-${basicCase.id}`)).toBeFalsy();
|
||||
});
|
||||
|
||||
it('returns null if the user does not have update or delete permissions', async () => {
|
||||
|
|
|
@ -242,7 +242,7 @@ describe('EditCategory ', () => {
|
|||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByTestId('categories-list')).toBeInTheDocument();
|
||||
expect(screen.getByText('My category')).toBeInTheDocument();
|
||||
expect(screen.getByTestId('comboBoxSearchInput')).toHaveValue('My category');
|
||||
});
|
||||
|
||||
expect(screen.getByTestId('edit-category-submit')).toBeDisabled();
|
||||
|
@ -265,7 +265,7 @@ describe('EditCategory ', () => {
|
|||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByTestId('categories-list')).toBeInTheDocument();
|
||||
expect(screen.getByText('My category')).toBeInTheDocument();
|
||||
expect(screen.getByTestId('comboBoxSearchInput')).toHaveValue('My category');
|
||||
});
|
||||
|
||||
userEvent.click(screen.getByTestId('edit-category-cancel'));
|
||||
|
@ -276,7 +276,7 @@ describe('EditCategory ', () => {
|
|||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByTestId('categories-list')).toBeInTheDocument();
|
||||
expect(screen.getByText('category from the API')).toBeInTheDocument();
|
||||
expect(screen.getByTestId('comboBoxSearchInput')).toHaveValue('category from the API');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ describe('Category ', () => {
|
|||
it('renders category correctly', () => {
|
||||
render(<CategoryComponent {...defaultProps} category="new-category" />);
|
||||
|
||||
expect(screen.getByText('new-category')).toBeInTheDocument();
|
||||
expect(screen.getByRole('combobox')).toHaveValue('new-category');
|
||||
});
|
||||
|
||||
it('renders allow to add new category option', async () => {
|
||||
|
@ -56,7 +56,7 @@ describe('Category ', () => {
|
|||
userEvent.type(screen.getByRole('combobox'), 'new{enter}');
|
||||
|
||||
expect(onChange).toBeCalledWith('new');
|
||||
expect(screen.getByText('new')).toBeInTheDocument();
|
||||
expect(screen.getByRole('combobox')).toHaveValue('new');
|
||||
});
|
||||
|
||||
it('renders current option list', async () => {
|
||||
|
@ -97,10 +97,10 @@ describe('Category ', () => {
|
|||
expect(onChange).toHaveBeenCalledWith('hi');
|
||||
});
|
||||
|
||||
userEvent.type(screen.getByRole('combobox'), 'Hi{enter}');
|
||||
userEvent.type(screen.getByRole('combobox'), ' there{enter}');
|
||||
|
||||
await waitFor(() => {
|
||||
expect(onChange).toHaveBeenCalledWith('Hi');
|
||||
expect(onChange).toHaveBeenCalledWith('hi there');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -198,7 +198,7 @@ describe('Assignees', () => {
|
|||
});
|
||||
|
||||
act(() => {
|
||||
userEvent.click(screen.getByText('Turtle'));
|
||||
userEvent.click(screen.getByText('Turtle'), undefined, { skipPointerEventsCheck: true });
|
||||
});
|
||||
|
||||
// ensure that the similar user is still available for selection
|
||||
|
|
|
@ -59,9 +59,7 @@ journey('Step Duration series', async ({ page, params }) => {
|
|||
await page.click(byTestId('seriesBreakdown'));
|
||||
await page.click('button[role="option"]:has-text("Step name")');
|
||||
await page.click('.euiComboBox__inputWrap');
|
||||
await page.click(
|
||||
'text=Search Monitor nameCombo box. Selected. Combo box input. Search Monitor name. Ty'
|
||||
);
|
||||
await page.click('[role="combobox"][placeholder="Search Monitor name"]');
|
||||
await page.click('button[role="option"]:has-text("test-monitor - inline")');
|
||||
await page.click('button:has-text("Apply changes")');
|
||||
});
|
||||
|
|
|
@ -39,7 +39,7 @@ describe('Series Builder ReportDefinitionCol', function () {
|
|||
await waitFor(() => {
|
||||
expect(screen.getByText('Web Application')).toBeInTheDocument();
|
||||
expect(screen.getByText('Environment')).toBeInTheDocument();
|
||||
expect(screen.getByText('Search Environment')).toBeInTheDocument();
|
||||
expect(screen.getByPlaceholderText('Search Environment')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ export function FieldValueSelection({
|
|||
isOpen={isPopoverOpen || forceOpen}
|
||||
closePopover={closePopover}
|
||||
anchorPosition={anchorPosition}
|
||||
style={{ width: '100%' }}
|
||||
display="block"
|
||||
>
|
||||
<EuiSelectable
|
||||
searchable
|
||||
|
@ -290,11 +290,8 @@ export default FieldValueSelection;
|
|||
|
||||
const Wrapper = styled.div`
|
||||
&&& {
|
||||
div.euiPopover__anchor {
|
||||
.euiButton {
|
||||
width: 100%;
|
||||
.euiButton {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
|
|
@ -100,7 +100,7 @@ describe('Input package create and edit package policy', () => {
|
|||
editPackagePolicyandShowAdvanced(INPUT_TEST_PACKAGE, packagePolicyName);
|
||||
cy.getBySel(POLICY_EDITOR.EDIT_MAPPINGS_BTN).click();
|
||||
cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click();
|
||||
cy.get('body').should('contain', `logs-${datasetName}@custom`);
|
||||
cy.get('body').should('contain', `logs${datasetName}@custom`);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import React from 'react';
|
||||
|
||||
import { act, fireEvent, waitFor } from '@testing-library/react';
|
||||
import { act, fireEvent, waitFor, within } from '@testing-library/react';
|
||||
|
||||
import { createFleetTestRendererMock } from '../../../../../../mock';
|
||||
|
||||
|
@ -54,8 +54,9 @@ describe('AgentUpgradeAgentModal', () => {
|
|||
agentCount: 3,
|
||||
});
|
||||
|
||||
const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox');
|
||||
expect(el?.textContent).toBe('Immediately');
|
||||
const container = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox');
|
||||
const input = within(container).getByRole<HTMLInputElement>('combobox');
|
||||
expect(input?.value).toBe('Immediately');
|
||||
});
|
||||
|
||||
it('should set the default to Immediately if there is less than 10 agents using selected agents', async () => {
|
||||
|
@ -64,8 +65,9 @@ describe('AgentUpgradeAgentModal', () => {
|
|||
agentCount: 3,
|
||||
});
|
||||
|
||||
const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox');
|
||||
expect(el?.textContent).toBe('Immediately');
|
||||
const container = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox');
|
||||
const input = within(container).getByRole<HTMLInputElement>('combobox');
|
||||
expect(input?.value).toBe('Immediately');
|
||||
});
|
||||
|
||||
it('should set the default to 1 hour if there is more than 10 agents', async () => {
|
||||
|
@ -74,8 +76,9 @@ describe('AgentUpgradeAgentModal', () => {
|
|||
agentCount: 13,
|
||||
});
|
||||
|
||||
const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox');
|
||||
expect(el?.textContent).toBe('1 hour');
|
||||
const container = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox');
|
||||
const input = within(container).getByRole<HTMLInputElement>('combobox');
|
||||
expect(input?.value).toBe('1 hour');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -98,9 +101,11 @@ describe('AgentUpgradeAgentModal', () => {
|
|||
agentCount: 1,
|
||||
});
|
||||
|
||||
const el = utils.getByTestId('agentUpgradeModal.VersionCombobox');
|
||||
const container = utils.getByTestId('agentUpgradeModal.VersionCombobox');
|
||||
const input = within(container).getByRole<HTMLInputElement>('combobox');
|
||||
|
||||
await waitFor(() => {
|
||||
expect(el.textContent).toEqual('8.10.2');
|
||||
expect(input?.value).toEqual('8.10.2');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -125,8 +125,7 @@ export const GridColumn = ({
|
|||
// Ensure that cards wrapped in EuiTours/EuiPopovers correctly inherit the full grid row height
|
||||
css={css`
|
||||
& > .euiPopover,
|
||||
& > .euiPopover > .euiPopover__anchor,
|
||||
& > .euiPopover > .euiPopover__anchor > .euiCard {
|
||||
& > .euiPopover > .euiCard {
|
||||
height: 100%;
|
||||
}
|
||||
`}
|
||||
|
|
|
@ -27,7 +27,7 @@ const toggleDeletePhase = async (testBed: TestBed) => {
|
|||
if (action === 'disable') {
|
||||
button.simulate('click');
|
||||
} else {
|
||||
button.find('input').simulate('change');
|
||||
button.find('button').simulate('click');
|
||||
}
|
||||
});
|
||||
component.update();
|
||||
|
|
|
@ -377,7 +377,9 @@ describe('Test pipeline', () => {
|
|||
// Click the "Configuration" tab
|
||||
await actions.clickProcessorConfigurationTab();
|
||||
// Verify type selector has not changed
|
||||
expect(find('processorTypeSelector.input').text()).toBe('Set');
|
||||
expect(find('processorTypeSelector.input').find('[role="combobox"]').props().value).toBe(
|
||||
'Set'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -40,24 +40,26 @@ describe('TreeNav component', () => {
|
|||
|
||||
it('mount with Logical View selected by default', async () => {
|
||||
renderResult = mockedContext.render(<TreeNavContainer />);
|
||||
const elemLabel = await renderResult.getByDisplayValue(/logical/i);
|
||||
expect(elemLabel).toBeChecked();
|
||||
const elemLabel = await renderResult.getByTestId('treeNavType_generated-idlogical');
|
||||
expect(elemLabel).toHaveAttribute('aria-pressed', 'true');
|
||||
});
|
||||
|
||||
it('shows the tree path according with the selected view type', async () => {
|
||||
renderResult = mockedContext.render(<TreeNavContainer />);
|
||||
|
||||
const logicalViewPath = 'cluster / namespace / pod / container image';
|
||||
const logicViewRadio = await renderResult.getByDisplayValue(/logical/i);
|
||||
expect(logicViewRadio).toBeChecked();
|
||||
const logicViewButton = renderResult.getByTestId('treeNavType_generated-idlogical');
|
||||
expect(logicViewButton).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(renderResult.getByText(logicalViewPath)).toBeInTheDocument();
|
||||
|
||||
const infraStructureViewRadio = await renderResult.getByDisplayValue(/infrastructure/i);
|
||||
const infraStructureViewRadio = renderResult.getByTestId(
|
||||
'treeNavType_generated-idinfrastructure'
|
||||
);
|
||||
infraStructureViewRadio.click();
|
||||
|
||||
expect(renderResult.getByText('cluster / node / pod / container image')).toBeInTheDocument();
|
||||
|
||||
logicViewRadio.click();
|
||||
logicViewButton.click();
|
||||
expect(renderResult.getByText(logicalViewPath)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
|
|
|
@ -53,7 +53,6 @@ export const FilterPopover = ({
|
|||
return (
|
||||
<EuiPopover
|
||||
data-test-subj="indexPattern-filters-existingFilterContainer"
|
||||
anchorClassName="eui-fullWidth"
|
||||
panelClassName="lnsIndexPatternDimensionEditor__filtersEditor"
|
||||
isOpen={isOpen}
|
||||
ownFocus
|
||||
|
|
|
@ -245,9 +245,9 @@ describe('dimension editor', () => {
|
|||
userEvent.type(customPrefixTextbox, prefix);
|
||||
};
|
||||
return {
|
||||
settingNone: screen.getByLabelText(/none/i),
|
||||
settingAuto: screen.getByLabelText(/auto/i),
|
||||
settingCustom: screen.getByLabelText(/custom/i),
|
||||
settingNone: screen.getByTitle(/none/i),
|
||||
settingAuto: screen.getByTitle(/auto/i),
|
||||
settingCustom: screen.getByTitle(/custom/i),
|
||||
customPrefixTextbox,
|
||||
typePrefix,
|
||||
...rtlRender,
|
||||
|
@ -276,9 +276,9 @@ describe('dimension editor', () => {
|
|||
state: localState,
|
||||
});
|
||||
|
||||
expect(settingAuto).toBeChecked();
|
||||
expect(settingNone).not.toBeChecked();
|
||||
expect(settingCustom).not.toBeChecked();
|
||||
expect(settingAuto).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(settingNone).toHaveAttribute('aria-pressed', 'false');
|
||||
expect(settingCustom).toHaveAttribute('aria-pressed', 'false');
|
||||
expect(customPrefixTextbox).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
|
@ -286,9 +286,9 @@ describe('dimension editor', () => {
|
|||
const { settingAuto, settingCustom, settingNone, customPrefixTextbox } =
|
||||
renderSecondaryMetricEditor({ state: { ...localState, secondaryPrefix: NONE_PREFIX } });
|
||||
|
||||
expect(settingNone).toBeChecked();
|
||||
expect(settingAuto).not.toBeChecked();
|
||||
expect(settingCustom).not.toBeChecked();
|
||||
expect(settingNone).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(settingAuto).toHaveAttribute('aria-pressed', 'false');
|
||||
expect(settingCustom).toHaveAttribute('aria-pressed', 'false');
|
||||
expect(customPrefixTextbox).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
|
@ -297,9 +297,9 @@ describe('dimension editor', () => {
|
|||
const { settingAuto, settingCustom, settingNone, customPrefixTextbox } =
|
||||
renderSecondaryMetricEditor({ state: customPrefixState });
|
||||
|
||||
expect(settingAuto).not.toBeChecked();
|
||||
expect(settingNone).not.toBeChecked();
|
||||
expect(settingCustom).toBeChecked();
|
||||
expect(settingAuto).toHaveAttribute('aria-pressed', 'false');
|
||||
expect(settingNone).toHaveAttribute('aria-pressed', 'false');
|
||||
expect(settingCustom).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(customPrefixTextbox).toHaveValue(customPrefixState.secondaryPrefix);
|
||||
});
|
||||
|
||||
|
@ -454,11 +454,10 @@ describe('dimension editor', () => {
|
|||
);
|
||||
|
||||
const supportingVisOptions = {
|
||||
none: screen.queryByLabelText(/none/i),
|
||||
none: screen.queryByTitle(/none/i),
|
||||
// in eui when bar or line become disabled they change from input to button so we have to do this weird check
|
||||
bar: screen.queryByLabelText(/bar/i) || screen.queryByRole('button', { name: /bar/i }),
|
||||
trendline:
|
||||
screen.queryByLabelText(/line/i) || screen.queryByRole('button', { name: /line/i }),
|
||||
bar: screen.queryByTitle(/bar/i) || screen.queryByRole('button', { name: /bar/i }),
|
||||
trendline: screen.queryByTitle(/line/i) || screen.queryByRole('button', { name: /line/i }),
|
||||
};
|
||||
|
||||
const clickOnSupportingVis = (type: SupportingVisType) => {
|
||||
|
@ -472,8 +471,8 @@ describe('dimension editor', () => {
|
|||
return {
|
||||
progressDirectionShowing: screen.queryByTestId('lnsMetric_progress_direction_buttons'),
|
||||
progressOptions: {
|
||||
vertical: screen.queryByLabelText(/vertical/i),
|
||||
horizontal: screen.queryByLabelText(/horizontal/i),
|
||||
vertical: screen.queryByTitle(/vertical/i),
|
||||
horizontal: screen.queryByTitle(/horizontal/i),
|
||||
},
|
||||
supportingVisOptions,
|
||||
clickOnSupportingVis,
|
||||
|
@ -501,21 +500,21 @@ describe('dimension editor', () => {
|
|||
const { supportingVisOptions } = renderAdditionalSectionEditor({
|
||||
state: { ...stateWOTrend, showBar: false, maxAccessor: undefined },
|
||||
});
|
||||
expect(supportingVisOptions.none).toBeChecked();
|
||||
expect(supportingVisOptions.none).toHaveAttribute('aria-pressed', 'true');
|
||||
});
|
||||
|
||||
it('when `showBar` is true and maximum value is not defined, bar should be selected', () => {
|
||||
const { supportingVisOptions } = renderAdditionalSectionEditor({
|
||||
state: { ...stateWOTrend, showBar: true },
|
||||
});
|
||||
expect(supportingVisOptions.bar).toBeChecked();
|
||||
expect(supportingVisOptions.bar).toHaveAttribute('aria-pressed', 'true');
|
||||
});
|
||||
|
||||
it('when `showBar` is true and trendline is defined, line should be selected', () => {
|
||||
const { supportingVisOptions } = renderAdditionalSectionEditor({
|
||||
state: metricAccessorState,
|
||||
});
|
||||
expect(supportingVisOptions.trendline).toBeChecked();
|
||||
expect(supportingVisOptions.trendline).toHaveAttribute('aria-pressed', 'true');
|
||||
});
|
||||
|
||||
it('should enable bar when max dimension exists', () => {
|
||||
|
@ -633,10 +632,10 @@ describe('dimension editor', () => {
|
|||
state: metricAccessorState,
|
||||
});
|
||||
|
||||
expect(progressOptions.vertical).toBeChecked();
|
||||
expect(progressOptions.horizontal).not.toBeChecked();
|
||||
expect(progressOptions.vertical).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(progressOptions.horizontal).toHaveAttribute('aria-pressed', 'false');
|
||||
if (progressOptions.horizontal === null) {
|
||||
throw new Error('horizontal radio button not found');
|
||||
throw new Error('horizontal button not found');
|
||||
}
|
||||
|
||||
userEvent.click(progressOptions.horizontal);
|
||||
|
|
|
@ -264,11 +264,15 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual('is');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldMatch"]').text()).toEqual(
|
||||
'1234'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatchLabel"] input').props().value
|
||||
).toEqual('1234');
|
||||
});
|
||||
|
||||
test('it renders field values correctly when operator is "isNotOperator"', () => {
|
||||
|
@ -299,13 +303,15 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'is not'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldMatch"]').text()).toEqual(
|
||||
'1234'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is not');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatchLabel"] input').props().value
|
||||
).toEqual('1234');
|
||||
});
|
||||
|
||||
test('it renders field values correctly when operator is "isOneOfOperator"', () => {
|
||||
|
@ -336,11 +342,13 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'is one of'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldMatchAny"]').text()).toEqual(
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is one of');
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatchAny"]').first().text()).toEqual(
|
||||
'1234'
|
||||
);
|
||||
});
|
||||
|
@ -373,10 +381,12 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'is not one of'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is not one of');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldMatchAny"]').text()).toEqual(
|
||||
'1234'
|
||||
);
|
||||
|
@ -411,12 +421,15 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'is in list'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteComboBox listsComboxBox"]').at(1).text()
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is in list');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteComboBox listsComboxBox"] input').props()
|
||||
.value
|
||||
).toEqual('some name');
|
||||
});
|
||||
|
||||
|
@ -449,12 +462,15 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'is not in list'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteComboBox listsComboxBox"]').at(1).text()
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is not in list');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteComboBox listsComboxBox"] input').props()
|
||||
.value
|
||||
).toEqual('some name');
|
||||
});
|
||||
|
||||
|
@ -486,11 +502,16 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'exists'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldExists"]').text()).toEqual('—');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"] input').props().value
|
||||
).toEqual('exists');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteComboBox existsComboxBox"] input').props()
|
||||
.placeholder
|
||||
).toEqual('—');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryFieldExists"] input').props().disabled
|
||||
).toBeTruthy();
|
||||
|
@ -524,11 +545,16 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('ip');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'does not exist'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldExists"]').text()).toEqual('—');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"] input').props().value
|
||||
).toEqual('does not exist');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteComboBox existsComboxBox"] input').props()
|
||||
.placeholder
|
||||
).toEqual('—');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryFieldExists"] input').props().disabled
|
||||
).toBeTruthy();
|
||||
|
@ -562,13 +588,15 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('@tags');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'matches'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldWildcard"]').text()).toEqual(
|
||||
'1234*'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('@tags');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"] input').props().value
|
||||
).toEqual('matches');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteWildcard"] input').props().value
|
||||
).toEqual('1234*');
|
||||
// doesnt show warning label for non endpoint exception items
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteWildcardLabel"] .euiFormHelpText')
|
||||
|
@ -637,13 +665,15 @@ describe('BuilderEntryItem', () => {
|
|||
/>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').text()).toEqual('@tags');
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"]').text()).toEqual(
|
||||
'does not match'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryFieldWildcard"]').text()).toEqual(
|
||||
'1234*'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('@tags');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryOperator"] input').props().value
|
||||
).toEqual('does not match');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteWildcard"] input').props().value
|
||||
).toEqual('1234*');
|
||||
});
|
||||
|
||||
test('it uses "correspondingKeywordField" if it exists', () => {
|
||||
|
|
|
@ -58,18 +58,20 @@ describe('ExceptionBuilderComponent', () => {
|
|||
</EuiThemeProvider>
|
||||
);
|
||||
|
||||
// console.log(wrapper.find('[data-test-subj="valuesAutocompleteMatch"] input').html());
|
||||
|
||||
expect(wrapper.find('EuiFlexGroup[data-test-subj="exceptionItemEntryContainer"]')).toHaveLength(
|
||||
1
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatch"]').at(0).text()).toEqual(
|
||||
'Please select a field first...'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="fieldAutocompleteComboBox"] input').props().placeholder
|
||||
).toEqual('Search');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatch"] input').props().placeholder
|
||||
).toEqual('Please select a field first...');
|
||||
});
|
||||
|
||||
test('it displays "exceptionListItems" that are passed in', async () => {
|
||||
|
@ -103,15 +105,16 @@ describe('ExceptionBuilderComponent', () => {
|
|||
/>
|
||||
</EuiThemeProvider>
|
||||
);
|
||||
|
||||
expect(wrapper.find('EuiFlexGroup[data-test-subj="exceptionItemEntryContainer"]')).toHaveLength(
|
||||
1
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'ip'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is one of'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="fieldAutocompleteComboBox"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').props().value
|
||||
).toEqual('is one of');
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatchAny"]').at(0).text()).toEqual(
|
||||
'some ip'
|
||||
);
|
||||
|
@ -263,25 +266,27 @@ describe('ExceptionBuilderComponent', () => {
|
|||
expect(
|
||||
wrapper.find('EuiFlexGroup[data-test-subj="exceptionItemEntryContainer"]')
|
||||
).toHaveLength(2);
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatch"]').at(0).text()).toEqual(
|
||||
'Please select a field first...'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').at(0).props()
|
||||
.placeholder
|
||||
).toEqual('Search');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatch"] input').at(0).props().placeholder
|
||||
).toEqual('Please select a field first...');
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(1).text()).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="operatorAutocompleteComboBox"]').at(1).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatch"]').at(1).text()).toEqual(
|
||||
'Please select a field first...'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').at(1).props()
|
||||
.placeholder
|
||||
).toEqual('Search');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(1).props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatch"] input').at(1).props().placeholder
|
||||
).toEqual('Please select a field first...');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -324,25 +329,25 @@ describe('ExceptionBuilderComponent', () => {
|
|||
const item1 = wrapper.find('EuiFlexGroup[data-test-subj="exceptionEntriesContainer"]').at(0);
|
||||
const item2 = wrapper.find('EuiFlexGroup[data-test-subj="exceptionEntriesContainer"]').at(1);
|
||||
|
||||
expect(item1.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(item1.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
expect(item1.find('[data-test-subj="valuesAutocompleteMatch"]').at(0).text()).toEqual(
|
||||
'Please select a field first...'
|
||||
);
|
||||
expect(
|
||||
item1.find('[data-test-subj="exceptionBuilderEntryField"] input').at(0).props().placeholder
|
||||
).toEqual('Search');
|
||||
expect(
|
||||
item1.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
item1.find('[data-test-subj="valuesAutocompleteMatch"] input').at(0).props().placeholder
|
||||
).toEqual('Please select a field first...');
|
||||
|
||||
expect(item2.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(item2.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
expect(item2.find('[data-test-subj="valuesAutocompleteMatch"]').at(0).text()).toEqual(
|
||||
'Please select a field first...'
|
||||
);
|
||||
expect(
|
||||
item2.find('[data-test-subj="exceptionBuilderEntryField"] input').at(0).props().placeholder
|
||||
).toEqual('Search');
|
||||
expect(
|
||||
item2.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
item2.find('[data-test-subj="valuesAutocompleteMatch"] input').at(0).props().placeholder
|
||||
).toEqual('Please select a field first...');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -378,27 +383,27 @@ describe('ExceptionBuilderComponent', () => {
|
|||
</EuiThemeProvider>
|
||||
);
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'ip'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is one of'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').props().value
|
||||
).toEqual('ip');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is one of');
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatchAny"]').at(0).text()).toEqual(
|
||||
'some ip'
|
||||
);
|
||||
|
||||
wrapper.find('[data-test-subj="firstRowBuilderDeleteButton"] button').simulate('click');
|
||||
|
||||
expect(wrapper.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="valuesAutocompleteMatch"]').at(0).text()).toEqual(
|
||||
'Please select a field first...'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="exceptionBuilderEntryField"] input').at(0).props().placeholder
|
||||
).toEqual('Search');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="valuesAutocompleteMatch"] input').at(0).props().placeholder
|
||||
).toEqual('Please select a field first...');
|
||||
});
|
||||
|
||||
test('it displays "and" badge if at least one exception item includes more than one entry', () => {
|
||||
|
@ -507,14 +512,17 @@ describe('ExceptionBuilderComponent', () => {
|
|||
const entry2 = wrapper
|
||||
.find('EuiFlexGroup[data-test-subj="exceptionItemEntryContainer"]')
|
||||
.at(1);
|
||||
expect(entry2.find('[data-test-subj="exceptionBuilderEntryField"]').at(0).text()).toEqual(
|
||||
'Search nested field'
|
||||
);
|
||||
expect(entry2.find('[data-test-subj="operatorAutocompleteComboBox"]').at(0).text()).toEqual(
|
||||
'is'
|
||||
);
|
||||
|
||||
expect(
|
||||
entry2.find('[data-test-subj="exceptionBuilderEntryFieldExists"]').at(0).text()
|
||||
entry2.find('[data-test-subj="exceptionBuilderEntryField"] input').at(0).props()
|
||||
.placeholder
|
||||
).toEqual('Search nested field');
|
||||
expect(
|
||||
entry2.find('[data-test-subj="operatorAutocompleteComboBox"] input').at(0).props().value
|
||||
).toEqual('is');
|
||||
expect(
|
||||
entry2.find('[data-test-subj="exceptionBuilderEntryFieldExists"] input').at(0).props()
|
||||
.placeholder
|
||||
).toEqual(getEmptyValue());
|
||||
});
|
||||
});
|
||||
|
|
|
@ -81,7 +81,6 @@
|
|||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.mapLayTocActions__popoverAnchor,
|
||||
.mapLayTocActions__tooltipAnchor {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
exports[`TOCEntryActionsPopover is rendered 1`] = `
|
||||
<Fragment>
|
||||
<EuiPopover
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
anchorPosition="leftUp"
|
||||
button={
|
||||
<Memo(Connect(TOCEntryButton))
|
||||
|
@ -119,7 +118,6 @@ exports[`TOCEntryActionsPopover is rendered 1`] = `
|
|||
exports[`TOCEntryActionsPopover should disable Edit features when edit mode active for layer 1`] = `
|
||||
<Fragment>
|
||||
<EuiPopover
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
anchorPosition="leftUp"
|
||||
button={
|
||||
<Memo(Connect(TOCEntryButton))
|
||||
|
@ -235,7 +233,6 @@ exports[`TOCEntryActionsPopover should disable Edit features when edit mode acti
|
|||
exports[`TOCEntryActionsPopover should disable fit to data when supportsFitToBounds is false 1`] = `
|
||||
<Fragment>
|
||||
<EuiPopover
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
anchorPosition="leftUp"
|
||||
button={
|
||||
<Memo(Connect(TOCEntryButton))
|
||||
|
@ -351,7 +348,6 @@ exports[`TOCEntryActionsPopover should disable fit to data when supportsFitToBou
|
|||
exports[`TOCEntryActionsPopover should have "show layer" action when layer is not visible 1`] = `
|
||||
<Fragment>
|
||||
<EuiPopover
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
anchorPosition="leftUp"
|
||||
button={
|
||||
<Memo(Connect(TOCEntryButton))
|
||||
|
@ -468,7 +464,6 @@ exports[`TOCEntryActionsPopover should have "show layer" action when layer is no
|
|||
exports[`TOCEntryActionsPopover should not show edit actions in read only mode 1`] = `
|
||||
<Fragment>
|
||||
<EuiPopover
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
anchorPosition="leftUp"
|
||||
button={
|
||||
<Memo(Connect(TOCEntryButton))
|
||||
|
@ -553,7 +548,6 @@ exports[`TOCEntryActionsPopover should not show edit actions in read only mode 1
|
|||
exports[`TOCEntryActionsPopover should show "show this layer only" action when there are more then 2 layers 1`] = `
|
||||
<Fragment>
|
||||
<EuiPopover
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
anchorPosition="leftUp"
|
||||
button={
|
||||
<Memo(Connect(TOCEntryButton))
|
||||
|
|
|
@ -283,7 +283,6 @@ export class TOCEntryActionsPopover extends Component<Props, State> {
|
|||
closePopover={this._closePopover}
|
||||
panelPaddingSize="none"
|
||||
anchorPosition="leftUp"
|
||||
anchorClassName="mapLayTocActions__popoverAnchor"
|
||||
>
|
||||
<EuiContextMenu
|
||||
initialPanelId={0}
|
||||
|
|
|
@ -37,10 +37,9 @@ describe('AnomalyResultsViewSelector', () => {
|
|||
|
||||
// Check the Single Metric Viewer element exists in the selector, and that it is checked.
|
||||
expect(getByTestId('mlAnomalyResultsViewSelectorSingleMetricViewer')).toBeInTheDocument();
|
||||
expect(
|
||||
getByTestId('mlAnomalyResultsViewSelectorSingleMetricViewer')
|
||||
.querySelector('input')!
|
||||
.hasAttribute('checked')
|
||||
).toBe(true);
|
||||
expect(getByTestId('mlAnomalyResultsViewSelectorSingleMetricViewer')).toHaveAttribute(
|
||||
'aria-pressed',
|
||||
'true'
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -26,26 +26,22 @@ exports[`Node Listing Metric Cell should format a non-percentage metric 1`] = `
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="More information about this metric"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-text"
|
||||
data-test-subj="monitoringCellIcon-testCell2"
|
||||
title="More information about this metric"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="More information about this metric"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-text"
|
||||
data-test-subj="monitoringCellIcon-testCell2"
|
||||
title="More information about this metric"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="sortDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="sortDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
@ -80,26 +76,22 @@ exports[`Node Listing Metric Cell should format a percentage metric 1`] = `
|
|||
class="euiFlexItem emotion-euiFlexItem-growZero"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="More information about this metric"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-text"
|
||||
data-test-subj="monitoringCellIcon-testCell"
|
||||
title="More information about this metric"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-label="More information about this metric"
|
||||
class="euiButtonIcon emotion-euiButtonIcon-xs-empty-text"
|
||||
data-test-subj="monitoringCellIcon-testCell"
|
||||
title="More information about this metric"
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="sortDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="sortDown"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
@ -54,7 +54,7 @@ describe(
|
|||
|
||||
cy.getBySel(RESPONSE_ACTIONS_ITEM_0).within(() => {
|
||||
cy.contains("SELECT * FROM os_version where name='{{host.os.name}}';");
|
||||
cy.contains('host.os.platform');
|
||||
cy.get('input[value="host.os.platform"]').should('exist');
|
||||
cy.contains('platform');
|
||||
});
|
||||
cy.getBySel(RESPONSE_ACTIONS_ITEM_1).within(() => {
|
||||
|
|
|
@ -49,7 +49,7 @@ describe(
|
|||
// This is probably due to the tokenization of the fields when it's inactive
|
||||
cy.get(OSQUERY_FLYOUT_BODY_EDITOR).click();
|
||||
cy.getBySel('flyout-body-osquery').contains("SELECT * FROM os_version where name='Ubuntu';");
|
||||
cy.getBySel('flyout-body-osquery').contains('host.os.platform');
|
||||
cy.getBySel('flyout-body-osquery').find('input[value="host.os.platform"]').should('exist');
|
||||
cy.getBySel('flyout-body-osquery').contains('platform');
|
||||
});
|
||||
|
||||
|
|
|
@ -157,8 +157,8 @@ describe('Alert Event Details - Response Actions Form', { tags: ['@ess', '@serve
|
|||
cy.contains('Days of uptime');
|
||||
});
|
||||
cy.getBySel(RESPONSE_ACTIONS_ITEM_1).within(() => {
|
||||
cy.contains(packName);
|
||||
cy.getBySel('comboBoxInput').type('{backspace}{enter}');
|
||||
cy.getBySel('comboBoxSearchInput').should('have.value', packName);
|
||||
cy.getBySel('comboBoxInput').type('{selectall}{backspace}{enter}');
|
||||
});
|
||||
cy.getBySel(RESPONSE_ACTIONS_ITEM_0).within(() => {
|
||||
cy.contains('select * from uptime1');
|
||||
|
@ -166,6 +166,7 @@ describe('Alert Event Details - Response Actions Form', { tags: ['@ess', '@serve
|
|||
});
|
||||
cy.getBySel(RESPONSE_ACTIONS_ITEM_0)
|
||||
.within(() => {
|
||||
cy.getBySel('comboBoxSearchInput').click();
|
||||
cy.contains('Search for a pack to run');
|
||||
cy.contains('Pack is a required field');
|
||||
cy.getBySel('comboBoxInput').type(`${packName}{downArrow}{enter}`);
|
||||
|
@ -201,8 +202,10 @@ describe('Alert Event Details - Response Actions Form', { tags: ['@ess', '@serve
|
|||
cy.getBySel('edit-rule-actions-tab').click();
|
||||
cy.getBySel(RESPONSE_ACTIONS_ITEM_0)
|
||||
.within(() => {
|
||||
cy.contains(packName);
|
||||
cy.getBySel('comboBoxInput').type(`${multiQueryPackName}{downArrow}{enter}`);
|
||||
cy.getBySel('comboBoxSearchInput').should('have.value', packName);
|
||||
cy.getBySel('comboBoxInput').type(
|
||||
`{selectall}{backspace}${multiQueryPackName}{downArrow}{enter}`
|
||||
);
|
||||
cy.contains('SELECT * FROM memory_info;');
|
||||
cy.contains('SELECT * FROM system_info;');
|
||||
})
|
||||
|
|
|
@ -86,7 +86,7 @@ describe('ALL - Packs', { tags: ['@ess', '@serverless'] }, () => {
|
|||
cy.visit(FLEET_AGENT_POLICIES);
|
||||
cy.contains(AGENT_POLICY_NAME).click();
|
||||
cy.get('.euiTableCellContent')
|
||||
.get('.euiPopover__anchor')
|
||||
.get('.euiPopover')
|
||||
.get(`[aria-label="Open"]`)
|
||||
.first()
|
||||
.click();
|
||||
|
@ -308,14 +308,12 @@ describe('ALL - Packs', { tags: ['@ess', '@serverless'] }, () => {
|
|||
cy.getBySel(EDIT_PACK_HEADER_BUTTON).click();
|
||||
cy.get('#shardsPercentage0').should('have.value', '15');
|
||||
cy.getBySel('packShardsForm-1').within(() => {
|
||||
cy.getBySel('shards-field-policy').contains(OSQUERY_POLICY);
|
||||
cy.getBySel('shards-field-policy').find('input').should('value', OSQUERY_POLICY);
|
||||
cy.get('#shardsPercentage1').should('have.value', '0');
|
||||
});
|
||||
cy.getBySel(POLICY_SELECT_COMBOBOX).within(() => {
|
||||
cy.contains(OSQUERY_POLICY).should('not.exist');
|
||||
});
|
||||
cy.getBySel(POLICY_SELECT_COMBOBOX).find('input').should('not.have.value', OSQUERY_POLICY);
|
||||
|
||||
cy.getBySel('comboBoxInput').contains(OSQUERY_POLICY).should('exist');
|
||||
cy.getBySel('shards-field-policy').find(`input[value="${OSQUERY_POLICY}"]`).should('exist');
|
||||
cy.getBySel(POLICY_SELECT_COMBOBOX).click();
|
||||
cy.get('[data-test-subj="packShardsForm-1"]').within(() => {
|
||||
cy.get(`[aria-label="Delete shards row"]`).click();
|
||||
|
|
|
@ -79,7 +79,9 @@ describe(`T1 and T2 analysts`, { tags: ['@ess', '@serverless'] }, () => {
|
|||
cy.contains(liveQueryQuery);
|
||||
cy.get(`[aria-label="Run query"]`).first().should('not.be.disabled');
|
||||
cy.get(`[aria-label="Run query"]`).first().click();
|
||||
cy.contains(savedQueryName);
|
||||
cy.get('[data-test-subj="savedQuerySelect"]')
|
||||
.find('input')
|
||||
.should('have.value', savedQueryName);
|
||||
submitQuery();
|
||||
checkResults();
|
||||
});
|
||||
|
|
|
@ -134,7 +134,7 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout
|
|||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed"
|
||||
id="advanced-options"
|
||||
inert=""
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -331,7 +331,7 @@ exports[`ScreenCapturePanelContent properly renders a view with "print" layout o
|
|||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed"
|
||||
id="advanced-options"
|
||||
inert=""
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
@ -469,7 +469,7 @@ exports[`ScreenCapturePanelContent renders the default view properly 1`] = `
|
|||
class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed"
|
||||
id="advanced-options"
|
||||
inert=""
|
||||
role="region"
|
||||
role="group"
|
||||
style="block-size: 0;"
|
||||
tabindex="-1"
|
||||
>
|
||||
|
|
|
@ -197,7 +197,7 @@ describe('<SimplePrivilegeForm>', () => {
|
|||
|
||||
const featurePrivilegeToggles = wrapper.find(EuiButtonGroup);
|
||||
expect(featurePrivilegeToggles).toHaveLength(1);
|
||||
expect(featurePrivilegeToggles.find('input')).toHaveLength(3);
|
||||
expect(featurePrivilegeToggles.find('button')).toHaveLength(3);
|
||||
|
||||
(featurePrivilegeToggles.props() as EuiButtonGroupProps).onChange('feature1_all', null);
|
||||
|
||||
|
|
|
@ -80,41 +80,37 @@ describe('SecurityNavControlService', () => {
|
|||
data-test-subj="kbnRedirectAppLink"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
id="headerUserMenu"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-controls="headerUserMenu"
|
||||
aria-expanded="false"
|
||||
aria-haspopup="true"
|
||||
aria-label="Account menu"
|
||||
class="euiButtonEmpty euiHeaderSectionItemButton emotion-euiButtonDisplay-euiButtonEmpty-m-empty-text-euiHeaderSectionItemButton"
|
||||
data-test-subj="userMenuButton"
|
||||
style="line-height: normal;"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
aria-controls="headerUserMenu"
|
||||
aria-expanded="false"
|
||||
aria-haspopup="true"
|
||||
aria-label="Account menu"
|
||||
class="euiButtonEmpty euiHeaderSectionItemButton emotion-euiButtonDisplay-euiButtonEmpty-m-empty-text-euiHeaderSectionItemButton"
|
||||
data-test-subj="userMenuButton"
|
||||
style="line-height: normal;"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
class="euiHeaderSectionItemButton__content emotion-euiHeaderSectionItemButton__content"
|
||||
>
|
||||
<span
|
||||
class="euiHeaderSectionItemButton__content emotion-euiHeaderSectionItemButton__content"
|
||||
>
|
||||
<span
|
||||
aria-label="Loading"
|
||||
class="euiLoadingSpinner emotion-euiLoadingSpinner-m"
|
||||
role="progressbar"
|
||||
/>
|
||||
</span>
|
||||
aria-label="Loading"
|
||||
class="euiLoadingSpinner emotion-euiLoadingSpinner-m"
|
||||
role="progressbar"
|
||||
/>
|
||||
</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -82,33 +82,29 @@ exports[`Event Details Overview Cards renders rows and spacers correctly 1`] = `
|
|||
class="c2"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="alertStatus"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
aria-label="Click to change alert status"
|
||||
class="euiBadge c3 emotion-euiBadge-primary-clickable"
|
||||
data-test-subj="rule-status-badge"
|
||||
>
|
||||
<button
|
||||
aria-label="Click to change alert status"
|
||||
class="euiBadge c3 emotion-euiBadge-primary-clickable"
|
||||
data-test-subj="rule-status-badge"
|
||||
<span
|
||||
class="euiBadge__content emotion-euiBadge__content"
|
||||
>
|
||||
<span
|
||||
class="euiBadge__content emotion-euiBadge__content"
|
||||
class="euiBadge__text emotion-euiBadge__text-clickable"
|
||||
>
|
||||
<span
|
||||
class="euiBadge__text emotion-euiBadge__text-clickable"
|
||||
>
|
||||
open
|
||||
</span>
|
||||
<span
|
||||
class="euiBadge__icon emotion-euiBadge__icon-right"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
open
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
class="euiBadge__icon emotion-euiBadge__icon-right"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
@ -80,8 +80,12 @@ describe('ThreatMatchComponent', () => {
|
|||
);
|
||||
|
||||
expect(wrapper.find('EuiFlexGroup[data-test-subj="itemEntryContainer"]')).toHaveLength(1);
|
||||
expect(wrapper.find('[data-test-subj="entryField"]').text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="threatEntryField"]').text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"] input').props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(wrapper.find('[data-test-subj="threatEntryField"] input').props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
});
|
||||
|
||||
test('it displays "Search" for "listItems" that are passed in', async () => {
|
||||
|
@ -108,7 +112,9 @@ describe('ThreatMatchComponent', () => {
|
|||
</ThemeProvider>
|
||||
);
|
||||
expect(wrapper.find('EuiFlexGroup[data-test-subj="itemEntryContainer"]')).toHaveLength(1);
|
||||
expect(wrapper.find('[data-test-subj="entryField"]').at(0).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"] input').at(0).props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
|
||||
wrapper.unmount();
|
||||
});
|
||||
|
@ -171,10 +177,18 @@ describe('ThreatMatchComponent', () => {
|
|||
|
||||
await waitFor(() => {
|
||||
expect(wrapper.find('EuiFlexGroup[data-test-subj="itemEntryContainer"]')).toHaveLength(2);
|
||||
expect(wrapper.find('[data-test-subj="entryField"]').at(0).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="threatEntryField"]').at(0).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"]').at(1).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="threatEntryField"]').at(1).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"] input').at(0).props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="threatEntryField"] input').at(0).props().placeholder
|
||||
).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"] input').at(1).props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="threatEntryField"] input').at(1).props().placeholder
|
||||
).toEqual('Search');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -208,10 +222,18 @@ describe('ThreatMatchComponent', () => {
|
|||
|
||||
await waitFor(() => {
|
||||
expect(wrapper.find('EuiFlexGroup[data-test-subj="entriesContainer"]')).toHaveLength(2);
|
||||
expect(wrapper.find('[data-test-subj="entryField"]').at(0).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="threatEntryField"]').at(0).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"]').at(1).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="threatEntryField"]').at(1).text()).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"] input').at(0).props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="threatEntryField"] input').at(0).props().placeholder
|
||||
).toEqual('Search');
|
||||
expect(wrapper.find('[data-test-subj="entryField"] input').at(1).props().placeholder).toEqual(
|
||||
'Search'
|
||||
);
|
||||
expect(
|
||||
wrapper.find('[data-test-subj="threatEntryField"] input').at(1).props().placeholder
|
||||
).toEqual('Search');
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -65,21 +65,21 @@ describe('useEuiComboBoxReset', () => {
|
|||
|
||||
render(<EuiComboBoxResetTest />);
|
||||
|
||||
const initialValue = screen.getByTestId('comboBoxInput'); // EuiComboBox does NOT render the current selection via it's input; it uses this div
|
||||
expect(initialValue).toHaveTextContent(options[0].label);
|
||||
const initialValue = screen.getByRole('combobox');
|
||||
expect(initialValue).toHaveValue(options[0].label);
|
||||
|
||||
// update the EuiComboBox input to an invalid value:
|
||||
const searchInput = screen.getByTestId('comboBoxSearchInput'); // the actual <input /> controlled by EuiComboBox
|
||||
const searchInput = screen.getByRole('combobox'); // the actual <input /> controlled by EuiComboBox
|
||||
fireEvent.change(searchInput, { target: { value: invalidValue } });
|
||||
|
||||
const afterInvalidInput = screen.getByTestId('comboBoxInput');
|
||||
const afterInvalidInput = screen.getByRole('combobox');
|
||||
expect(searchInput).toHaveValue(invalidValue); // the EuiComboBox is now in the "error state"
|
||||
expect(afterInvalidInput).not.toHaveTextContent(invalidValue); // Value should not have been applied
|
||||
|
||||
const resetButton = screen.getByRole('button', { name: 'Reset' });
|
||||
fireEvent.click(resetButton); // clicking invokes onReset()
|
||||
|
||||
const afterReset = screen.getByTestId('comboBoxInput');
|
||||
expect(afterReset).toHaveTextContent(options[0].label); // back to the default
|
||||
const afterReset = screen.getByRole('combobox');
|
||||
expect(afterReset).toHaveValue(options[0].label); // back to the default
|
||||
});
|
||||
});
|
||||
|
|
|
@ -11,20 +11,12 @@ import {
|
|||
IS_DRAGGING_CLASS_NAME,
|
||||
} from '@kbn/securitysolution-t-grid';
|
||||
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
/**
|
||||
* To avoid expensive changes to the DOM, delay showing the popover menu
|
||||
*/
|
||||
const HOVER_INTENT_DELAY = 100; // ms
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const WithHoverActionsPopover = styled(EuiPopover as any)`
|
||||
.euiPopover__anchor {
|
||||
width: 100%;
|
||||
}
|
||||
` as unknown as typeof EuiPopover;
|
||||
|
||||
interface Props {
|
||||
/**
|
||||
* Always show the hover menu contents (default: false)
|
||||
|
@ -157,7 +149,7 @@ export const WithHoverActions = React.memo<Props>(
|
|||
className={alwaysShow ? HOVER_ACTIONS_ALWAYS_SHOW_CLASS_NAME : ''}
|
||||
onMouseLeave={onMouseLeave}
|
||||
>
|
||||
<WithHoverActionsPopover
|
||||
<EuiPopover
|
||||
ref={popoverRef}
|
||||
anchorPosition={'downCenter'}
|
||||
button={content}
|
||||
|
@ -170,7 +162,7 @@ export const WithHoverActions = React.memo<Props>(
|
|||
repositionOnScroll={true}
|
||||
>
|
||||
{isOpen ? <div onKeyDown={onKeyDown}>{hoverContent}</div> : null}
|
||||
</WithHoverActionsPopover>
|
||||
</EuiPopover>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -14,8 +14,7 @@ import * as i18n from '../../../../../detections/pages/detection_engine/rules/tr
|
|||
|
||||
const SearchBarWrapper = styled(EuiFlexItem)`
|
||||
min-width: 200px;
|
||||
& .euiPopover,
|
||||
& .euiPopover__anchor {
|
||||
& .euiPopover {
|
||||
// This is needed to "cancel" styles passed down from EuiTourStep that
|
||||
// interfere with EuiFieldSearch and don't allow it to take the full width
|
||||
display: block;
|
||||
|
|
|
@ -148,11 +148,7 @@ describe('StepAboutRuleToggleDetails', () => {
|
|||
expect(wrapper.find('[idSelected="details"]').exists()).toBeTruthy();
|
||||
expect(wrapper.find('[idSelected="notes"]').exists()).toBeFalsy();
|
||||
|
||||
wrapper
|
||||
.find('[title="Investigation guide"]')
|
||||
.at(0)
|
||||
.find('input')
|
||||
.simulate('change', { target: { value: 'notes' } });
|
||||
wrapper.find('button[title="Investigation guide"]').simulate('click');
|
||||
|
||||
expect(wrapper.find('[idSelected="details"]').exists()).toBeFalsy();
|
||||
expect(wrapper.find('[idSelected="notes"]').exists()).toBeTruthy();
|
||||
|
@ -174,11 +170,7 @@ describe('StepAboutRuleToggleDetails', () => {
|
|||
</ThemeProvider>
|
||||
);
|
||||
|
||||
wrapper
|
||||
.find('[title="Investigation guide"]')
|
||||
.at(0)
|
||||
.find('input')
|
||||
.simulate('change', { target: { value: 'notes' } });
|
||||
wrapper.find('button[title="Investigation guide"]').simulate('click');
|
||||
|
||||
expect(wrapper.find('EuiButtonGroup[idSelected="notes"]').exists()).toBeTruthy();
|
||||
expect(wrapper.find('div.euiMarkdownFormat').text()).toEqual(
|
||||
|
@ -254,11 +246,7 @@ describe('StepAboutRuleToggleDetails', () => {
|
|||
expect(wrapper.find('[idSelected="notes"]').exists()).toBeFalsy();
|
||||
expect(wrapper.find('[idSelected="setup"]').exists()).toBeFalsy();
|
||||
|
||||
wrapper
|
||||
.find('[title="Setup guide"]')
|
||||
.at(0)
|
||||
.find('input')
|
||||
.simulate('change', { target: { value: 'setup' } });
|
||||
wrapper.find('button[title="Setup guide"]').simulate('click');
|
||||
|
||||
expect(wrapper.find('[idSelected="details"]').exists()).toBeFalsy();
|
||||
expect(wrapper.find('[idSelected="notes"]').exists()).toBeFalsy();
|
||||
|
@ -281,11 +269,7 @@ describe('StepAboutRuleToggleDetails', () => {
|
|||
</ThemeProvider>
|
||||
);
|
||||
|
||||
wrapper
|
||||
.find('[title="Setup guide"]')
|
||||
.at(0)
|
||||
.find('input')
|
||||
.simulate('change', { target: { value: 'setup' } });
|
||||
wrapper.find('button[title="Setup guide"]').simulate('click');
|
||||
|
||||
expect(wrapper.find('EuiButtonGroup[idSelected="setup"]').exists()).toBeTruthy();
|
||||
expect(wrapper.find('div.euiMarkdownFormat').text()).toEqual(
|
||||
|
|
|
@ -393,16 +393,15 @@ describe('StepDefineRule', () => {
|
|||
);
|
||||
expect(getByTestId(`eqlQueryBarTextInput`).textContent).toEqual(eqlQuery.queryBar.query.query);
|
||||
fireEvent.click(getByTestId(`eql-settings-trigger`));
|
||||
expect(
|
||||
within(getByTestId(`eql-event-category-field`)).queryByText(
|
||||
eqlQuery.eqlOptions.eventCategoryField
|
||||
)
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
within(getByTestId(`eql-tiebreaker-field`)).queryByText(eqlQuery.eqlOptions.tiebreakerField)
|
||||
).toBeInTheDocument();
|
||||
expect(
|
||||
within(getByTestId(`eql-timestamp-field`)).queryByText(eqlQuery.eqlOptions.timestampField)
|
||||
).toBeInTheDocument();
|
||||
|
||||
expect(within(getByTestId(`eql-event-category-field`)).queryByRole('combobox')).toHaveValue(
|
||||
eqlQuery.eqlOptions.eventCategoryField
|
||||
);
|
||||
expect(within(getByTestId(`eql-tiebreaker-field`)).queryByRole('combobox')).toHaveValue(
|
||||
eqlQuery.eqlOptions.tiebreakerField
|
||||
);
|
||||
expect(within(getByTestId(`eql-timestamp-field`)).queryByRole('combobox')).toHaveValue(
|
||||
eqlQuery.eqlOptions.timestampField
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -62,23 +62,33 @@ describe('ChartSelect', () => {
|
|||
);
|
||||
|
||||
expect(screen.getByTestId('chart-select-tabs')).toBeInTheDocument();
|
||||
expect(screen.getByTestId('trend')).toBeChecked();
|
||||
expect(screen.getByTitle('Trend')).toHaveAttribute('aria-pressed', 'true');
|
||||
});
|
||||
|
||||
test('changing selection render correctly when alertsPageChartsEnabled is true', async () => {
|
||||
test('changing selection render correctly when alertsPageChartsEnabled is true', () => {
|
||||
mockUseIsExperimentalFeatureEnabled.mockReturnValue(true);
|
||||
const setAlertViewSelection = jest.fn();
|
||||
const { container } = render(
|
||||
const { rerender } = render(
|
||||
<TestProviders>
|
||||
<ChartSelect alertViewSelection="trend" setAlertViewSelection={setAlertViewSelection} />
|
||||
</TestProviders>
|
||||
);
|
||||
|
||||
const button = container.querySelector('input[value="treemap"]');
|
||||
if (button) {
|
||||
fireEvent.change(button, { target: { checked: true, type: 'radio' } });
|
||||
}
|
||||
expect(screen.getByTestId('treemap')).toBeChecked();
|
||||
expect(screen.getByTestId('trend')).not.toBeChecked();
|
||||
expect(screen.getByTitle('Trend')).toHaveAttribute('aria-pressed', 'true');
|
||||
|
||||
const treemapButton = screen.getByTitle('Treemap');
|
||||
expect(treemapButton).toHaveAttribute('aria-pressed', 'false');
|
||||
|
||||
fireEvent.click(treemapButton);
|
||||
expect(setAlertViewSelection).toHaveBeenCalledWith('treemap');
|
||||
|
||||
rerender(
|
||||
<TestProviders>
|
||||
<ChartSelect alertViewSelection="treemap" setAlertViewSelection={setAlertViewSelection} />
|
||||
</TestProviders>
|
||||
);
|
||||
|
||||
expect(screen.getByTitle('Treemap')).toHaveAttribute('aria-pressed', 'true');
|
||||
expect(screen.getByTitle('Trend')).toHaveAttribute('aria-pressed', 'false');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -245,22 +245,21 @@ describe('ChartPanels', () => {
|
|||
</TestProviders>
|
||||
);
|
||||
|
||||
const initialValue = screen.getAllByTestId('comboBoxInput')[0]; // EuiComboBox does NOT render the current selection via it's input; it uses this div
|
||||
expect(initialValue).toHaveTextContent(defaultValue);
|
||||
const initialInput = screen.getAllByTestId('comboBoxSearchInput')[0];
|
||||
expect(initialInput).toHaveValue(defaultValue);
|
||||
|
||||
// update the EuiComboBox input to an invalid value:
|
||||
const searchInput = screen.getAllByTestId('comboBoxSearchInput')[0]; // the actual <input /> controlled by EuiComboBox
|
||||
fireEvent.change(searchInput, { target: { value: invalidValue } });
|
||||
fireEvent.change(initialInput, { target: { value: invalidValue } });
|
||||
|
||||
const afterInvalidInput = screen.getAllByTestId('comboBoxInput')[0];
|
||||
expect(searchInput).toHaveValue(invalidValue); // the 'Group by' EuiComboBox is now in the "error state"
|
||||
expect(afterInvalidInput).not.toHaveTextContent(invalidValue); // Value should not have been applied
|
||||
const afterInvalidInput = screen.getAllByTestId('comboBoxSearchInput')[0];
|
||||
expect(afterInvalidInput).toHaveValue(invalidValue); // the 'Group by' EuiComboBox is now in the "error state"
|
||||
expect(afterInvalidInput).toBeInvalid();
|
||||
|
||||
resetGroupByFields(); // invoke the `Reset group by fields` context menu action
|
||||
|
||||
await waitFor(() => {
|
||||
const afterReset = screen.getAllByTestId('comboBoxInput')[0];
|
||||
expect(afterReset).toHaveTextContent(defaultValue); // back to the default
|
||||
const afterReset = screen.getAllByTestId('comboBoxSearchInput')[0];
|
||||
expect(afterReset).toHaveValue(defaultValue); // back to the default
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -285,22 +284,21 @@ describe('ChartPanels', () => {
|
|||
</TestProviders>
|
||||
);
|
||||
|
||||
const initialValue = screen.getAllByTestId('comboBoxInput')[1]; // EuiComboBox does NOT render the current selection via it's input; it uses this div
|
||||
expect(initialValue).toHaveTextContent(defaultValue);
|
||||
const initialInput = screen.getAllByTestId('comboBoxSearchInput')[1];
|
||||
expect(initialInput).toHaveValue(defaultValue);
|
||||
|
||||
// update the EuiComboBox input to an invalid value:
|
||||
const searchInput = screen.getAllByTestId('comboBoxSearchInput')[1]; // the actual <input /> controlled by EuiComboBox
|
||||
fireEvent.change(searchInput, { target: { value: invalidValue } });
|
||||
fireEvent.change(initialInput, { target: { value: invalidValue } });
|
||||
|
||||
const afterInvalidInput = screen.getAllByTestId('comboBoxInput')[1];
|
||||
expect(searchInput).toHaveValue(invalidValue); // the 'Group by top' EuiComboBox is now in the "error state"
|
||||
expect(afterInvalidInput).not.toHaveTextContent(invalidValue); // Value should not have been applied
|
||||
const afterInvalidInput = screen.getAllByTestId('comboBoxSearchInput')[1];
|
||||
expect(afterInvalidInput).toHaveValue(invalidValue); // the 'Group by top' EuiComboBox is now in the "error state"
|
||||
expect(afterInvalidInput).toBeInvalid();
|
||||
|
||||
resetGroupByFields(); // invoke the `Reset group by fields` context menu action
|
||||
|
||||
await waitFor(() => {
|
||||
const afterReset = screen.getAllByTestId('comboBoxInput')[1];
|
||||
expect(afterReset).toHaveTextContent(defaultValue); // back to the default
|
||||
const afterReset = screen.getAllByTestId('comboBoxSearchInput')[1];
|
||||
expect(afterReset).toHaveValue(defaultValue); // back to the default
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -374,32 +374,28 @@ exports[`Authentication Host Table Component rendering it renders the host authe
|
|||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="loadingMoreSizeRowPopover"
|
||||
id="customizablePagination"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Rows per page: 10
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Rows per page: 10
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
@ -374,32 +374,28 @@ exports[`Authentication User Table Component rendering it renders the user authe
|
|||
class="euiFlexItem emotion-euiFlexItem-grow-1"
|
||||
>
|
||||
<div
|
||||
class="euiPopover emotion-euiPopover"
|
||||
class="euiPopover emotion-euiPopover-inline-block"
|
||||
data-test-subj="loadingMoreSizeRowPopover"
|
||||
id="customizablePagination"
|
||||
>
|
||||
<div
|
||||
class="euiPopover__anchor css-16vtueo-render"
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
type="button"
|
||||
>
|
||||
<button
|
||||
class="euiButtonEmpty emotion-euiButtonDisplay-euiButtonEmpty-xs-empty-text"
|
||||
type="button"
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
>
|
||||
<span
|
||||
class="euiButtonEmpty__content emotion-euiButtonDisplayContent"
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
<span
|
||||
class="eui-textTruncate euiButtonEmpty__text"
|
||||
>
|
||||
Rows per page: 10
|
||||
</span>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
Rows per page: 10
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
<span
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowDown"
|
||||
/>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
|
@ -97,7 +97,6 @@ export const ArgumentFileSelector = memo<
|
|||
closePopover={handleClosePopover}
|
||||
anchorPosition="upCenter"
|
||||
initialFocus={`#${filePickerUUID}`}
|
||||
anchorClassName="popoverAnchor"
|
||||
button={
|
||||
<EuiFlexGroup responsive={false} alignItems="center" gutterSize="none">
|
||||
<EuiFlexItem grow={false} className="eui-textTruncate" onClick={handleOpenPopover}>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue