Skip to content

Replace Inspector's EuiPopover with EuiComboBox#113566

Merged
1Copenut merged 22 commits intoelastic:masterfrom
1Copenut:tp-inspector-combobox
Oct 18, 2021
Merged

Replace Inspector's EuiPopover with EuiComboBox#113566
1Copenut merged 22 commits intoelastic:masterfrom
1Copenut:tp-inspector-combobox

Conversation

@1Copenut
Copy link
Copy Markdown
Contributor

@1Copenut 1Copenut commented Sep 30, 2021

UPDATE 10/14
Added a before picture and the original issue ticket.

Summary

We replaced the EuiPopover with an EuiCombobox in the Inspect pane. The combobox will help alleviate issues when the list of options is very long.

Original Issue

Before After
131375723-fe70975f-9a1d-4bcd-b562-b3b29f520aa5 Inspect panel open showing two options in an EuiCombobox

Checklist

Delete any items that are not applicable to this PR.

Findings

There was one new axe error caused when we added the prepend label. I traced it to a missing ID in EUI and opened elastic/eui#5183 to track. I am working on a solution in EUI.

Risk Matrix

I've deleted the risk matrix because I do not believe it to be a new risk or one to services outside the Inspector. This feature was a change of an existing Eui component inside the Inspector panel, and did not appear or require changes outside the key files.

For maintainers

1Copenut added 8 commits September 13, 2021 15:27
* The combobox will help alleviate issues when the list of options is very long
* Added an onChange handler
* Renamed the method to render the combobox
* Commented out additional blocks of code before final refactor
* Removed three helper methods for the EUIPopover.
  * `togglePopover()`
  * `closePopover()`
  * `renderRequestDropdownItem()`
* Removed the local state object and interface (no longer needed)
* Renamed the const `options` to `selectedOptions` in `handleSelectd()`
  method to better reflect where the options array was coming from.
* Fixed the inspector functional test to use comboBox service
* Removed two unused translations
* Updated the test expectations to the default string
* Both tests were looking for a named string instead of a default
  message
* Checking for the item status code
* Adding a " (failed)" message if the status code returns `2`
* Updating test to look for "Chart_data" instead of "Chartdata"
@1Copenut 1Copenut added release_note:enhancement v8.0.0 Team:AppServicesSv auto-backport Deprecated - use backport:version if exact versions are needed v7.16.0 labels Sep 30, 2021
@1Copenut 1Copenut self-assigned this Sep 30, 2021
@1Copenut
Copy link
Copy Markdown
Contributor Author

1Copenut commented Oct 1, 2021

@elasticmachine merge upstream

@1Copenut
Copy link
Copy Markdown
Contributor Author

1Copenut commented Oct 5, 2021

@elasticmachine merge upstream

@1Copenut 1Copenut marked this pull request as ready for review October 11, 2021 17:05
@1Copenut 1Copenut requested review from a team as code owners October 11, 2021 17:05
@1Copenut 1Copenut requested a review from mdefazio October 11, 2021 17:05
@1Copenut
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

Copy link
Copy Markdown
Contributor

@bhavyarm bhavyarm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for tagging me @1Copenut

@1Copenut
Copy link
Copy Markdown
Contributor Author

1Copenut commented Oct 13, 2021

Quick heads up this PR has been updated and is ready for review. Thank you!

@mdefazio
@elastic/kibana-app-services
@elastic/kibana-data-discovery
@elastic/kibana-vis-editors

const inProgress = request.status === RequestStatus.PENDING;
return {
'data-test-subj': `inspectorRequestChooser${testLabel}`,
label: hasFailed ? `${item.name} (failed)` : item.name,
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I may need to add back the translation for the string (failed). Please let me know if that's the case and I'll update the PR tomorrow.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should be able to replace this with:

label: hasFailed ? `${item.name} ${i18n.translate("inspector.requests.failedLabel", { defaultMessage: ' (failed)' })}` : item.name,

It probably would be better i18n usage to make it parameterized like:

i18n.translate("inspector.requests.failedLabel", { defaultMessage: '{itemName} (failed)', values: { itemName }})

Since the fact that "failed" comes afterward and it in parentheses is language dependent. If you do this the translation will need to be updated, and since you're reusing the key that was there you might need to let @Bamieh know that this has changed, since I'm not sure if the i18n check will catch it.

I'd be ok with leaving it as-is, but if you would like to improve it by adding the parameter that would be good too.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @smith for the snippet and guidance. I'm going to keep it with your first recommendation because that's prior art and reuses the previous translation.

@Bamieh please let me know if you see any issues with this approach.

@flash1293
Copy link
Copy Markdown
Contributor

Sorry for being a bit late on this one. Didn't run this PR locally yet, but @1Copenut can you explain a bit better why we want to change this? I don't see an issue attached to this PR so I'm unsure of the context. In most cases the list of options to pick there is relatively short like in the screenshot provided, is this done because of maps?

Also, did a designer look at this? The super wide combo box looks pretty weird to me

@smith
Copy link
Copy Markdown
Contributor

smith commented Oct 14, 2021

@flash1293

I don't see an issue attached to this PR so I'm unsure of the context.

This is a fix for #110507.

In most cases the list of options to pick there is relatively short like in the screenshot provided, is this done because of maps?

APM and Uptime are using it, and they both have pages with many requests.

Also, did a designer look at this?

We've spoken with @mdefazio about it and he's a reviewer on this PR.

@1Copenut
Copy link
Copy Markdown
Contributor Author

I'll add the issue ticket and a before and after pic to the description too.

@1Copenut 1Copenut linked an issue Oct 14, 2021 that may be closed by this pull request
@flash1293
Copy link
Copy Markdown
Contributor

Thanks @smith , this makes sense. I was so used to seeing the Discover/Visualize names in there which are super short. It makes a lot of sense for this use case.

Copy link
Copy Markdown
Contributor

@flash1293 flash1293 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vis editors changes LGTM, code review only. Just a test change.

Copy link
Copy Markdown
Member

@kertal kertal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code LGTM, data discovery team code review. 1 test fixed, thx! While testing I noticed that the right side of the combobox looks a bit odd:
Bildschirmfoto 2021-10-14 um 19 36 48

@1Copenut
Copy link
Copy Markdown
Contributor Author

1Copenut commented Oct 14, 2021

@kertal

Code LGTM, data discovery team code review. 1 test fixed, thx! While testing I noticed that the right side of the combobox looks a bit odd.

Agreed. I noticed that too. I'm working on a fix as part of an EUI improvement in progress: elastic/eui#5229

@1Copenut
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

Copy link
Copy Markdown
Contributor

@mdefazio mdefazio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In regards to simply swapping the popover for the combobox, I think this looks good. It's tough to judge whether the select box is too long. It looks like the request names from apm are pretty long.

Doesn't seem like there's a width set on the flyout which would likely help this too.

So just in regards to the simple swap, I think is definitely an improvement.

However, there's definitely room for improvement and I'm. not sure what the scope of the PR is. Here is a layout suggestion that moves several things around. I imagine this likely makes sense in a separate PR, and some of these suggestions probably need some further thinking with all the various scenarios in O11y taken into consideration.

image

@1Copenut
Copy link
Copy Markdown
Contributor Author

@elasticmachine merge upstream

@1Copenut
Copy link
Copy Markdown
Contributor Author

@mdefazio I agree that we should close out this PR with the work already done, and have opened #115383 with your suggested design embedded. Thank you!

Copy link
Copy Markdown
Contributor

@Dosant Dosant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

app-services code lgtm, tested

@kibanamachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / X-Pack Detection Engine API Integration Tests.x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions·ts.detection engine api security and spaces enabled Rule exception operators for endpoints operating system types (os_types) endpoints should filter multiple operating system types (os_type) with multiple filter items for an endpoint

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has failed 1 times on tracked branches: https://github.com/elastic/kibana/issues/115319

[00:00:00]     │
[00:00:00]       └-: detection engine api security and spaces enabled
[00:00:00]         └-> "before all" hook in "detection engine api security and spaces enabled"
[00:00:00]         └-: 
[00:00:00]           └-> "before all" hook in ""
[00:00:21]           └-: Rule exception operators for endpoints
[00:00:21]             └-> "before all" hook in "Rule exception operators for endpoints"
[00:00:21]             └-> "before all" hook in "Rule exception operators for endpoints"
[00:00:21]               │ info [x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type] Loading "mappings.json"
[00:00:21]               │ info [x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type] Loading "data.json"
[00:00:21]               │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [endpoint_without_host_type] creating index, cause [api], templates [], shards [1]/[1]
[00:00:21]               │ info [x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type] Created index "endpoint_without_host_type"
[00:00:21]               │ debg [x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type] "endpoint_without_host_type" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:21]               │ info [x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type] Indexed 4 docs into "endpoint_without_host_type"
[00:00:21]               │ info [x-pack/test/functional/es_archives/rule_exceptions/agent] Loading "mappings.json"
[00:00:21]               │ info [x-pack/test/functional/es_archives/rule_exceptions/agent] Loading "data.json"
[00:00:21]               │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [agent] creating index, cause [api], templates [], shards [1]/[1]
[00:00:22]               │ info [x-pack/test/functional/es_archives/rule_exceptions/agent] Created index "agent"
[00:00:22]               │ debg [x-pack/test/functional/es_archives/rule_exceptions/agent] "agent" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:22]               │ info [x-pack/test/functional/es_archives/rule_exceptions/agent] Indexed 4 docs into "agent"
[00:00:46]             └-: operating system types (os_types)
[00:00:46]               └-> "before all" hook in "operating system types (os_types)"
[00:00:46]               └-: endpoints
[00:00:46]                 └-> "before all" hook for "should filter 1 operating system types (os_type) if it is set as part of an endpoint exception"
[00:00:46]                 └-> should filter 1 operating system types (os_type) if it is set as part of an endpoint exception
[00:00:46]                   └-> "before each" hook: global before each for "should filter 1 operating system types (os_type) if it is set as part of an endpoint exception"
[00:00:46]                   └-> "before each" hook for "should filter 1 operating system types (os_type) if it is set as part of an endpoint exception"
[00:00:46]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.siem-signals-default]
[00:00:46]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding index template [.siem-signals-default] for index patterns [.siem-signals-default-*]
[00:00:46]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.siem-signals-default-000001] creating index, cause [api], templates [.siem-signals-default], shards [1]/[1]
[00:00:46]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.siem-signals-default]
[00:00:46]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.siem-signals-default]
[00:00:46]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.lists-default]
[00:00:46]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.siem-signals-default]
[00:00:46]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.items-default]
[00:00:46]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.lists-default] for index patterns [.lists-default-*]
[00:00:46]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.items-default] for index patterns [.items-default-*]
[00:00:46]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.lists-default-000001] creating index, cause [api], templates [.lists-default], shards [1]/[1]
[00:00:46]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.lists-default]
[00:00:46]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.items-default-000001] creating index, cause [api], templates [.items-default], shards [1]/[1]
[00:00:47]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.lists-default]
[00:00:47]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.items-default]
[00:00:47]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.lists-default]
[00:00:47]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.items-default]
[00:00:47]                   │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/AesoR_ssRFymll0c6Q2bjQ] update_mapping [_doc]
[00:00:47]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.items-default]
[00:00:55]                   │ proc [kibana] [2021-10-18T14:34:15.824+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:15.823Z","event":{"provider":"alerting","action":"execute-start","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:15.823Z"},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"75520900-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:13.749Z","schedule_delay":2074000000},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"75520900-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem"},"message":"alert execution start: \"75520900-3020-11ec-aa9f-014472e46b92\"","ecs":{"version":"1.8.0"}}
[00:00:59]                   │ proc [kibana] [2021-10-18T14:34:19.820+00:00][INFO ][plugins.securitySolution] [+] Finished indexing 3  signals searched between date ranges [
[00:00:59]                   │ proc [kibana]   {
[00:00:59]                   │ proc [kibana]     "to": "2021-10-18T14:34:17.798Z",
[00:00:59]                   │ proc [kibana]     "from": "1900-01-01T00:00:00.000Z",
[00:00:59]                   │ proc [kibana]     "maxSignals": 100
[00:00:59]                   │ proc [kibana]   }
[00:00:59]                   │ proc [kibana] ] name: "Signal Testing Query" id: "75520900-3020-11ec-aa9f-014472e46b92" rule id: "rule-1" signals index: ".siem-signals-default"
[00:00:59]                   │ proc [kibana] [2021-10-18T14:34:19.829+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:15.823Z","event":{"provider":"alerting","action":"execute","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:15.823Z","outcome":"success","end":"2021-10-18T14:34:19.828Z","duration":4005000000},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"75520900-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:13.749Z","schedule_delay":2074000000},"alerting":{"status":"ok"},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"75520900-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem","name":"Signal Testing Query"},"message":"alert executed: siem.signals:75520900-3020-11ec-aa9f-014472e46b92: 'Signal Testing Query'","ecs":{"version":"1.8.0"}}
[00:00:59]                   └- ✓ pass  (12.2s)
[00:00:59]                 └-> "after each" hook for "should filter 1 operating system types (os_type) if it is set as part of an endpoint exception"
[00:00:59]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.siem-signals-default-000001/qS07qS4PT2KoJc4wd9Ah1g] deleting index
[00:00:59]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing index template [.siem-signals-default]
[00:01:01]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.lists-default-000001/DPeGobrCSb-lQk6KSygqHw] deleting index
[00:01:01]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.items-default-000001/DF4umwp5RO26bJEZVvtqYA] deleting index
[00:01:01]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing template [.lists-default]
[00:01:01]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing template [.items-default]
[00:01:01]                 └-> should filter 2 operating system types as an "OR" (os_type) if it is set as part of an endpoint exception
[00:01:01]                   └-> "before each" hook: global before each for "should filter 2 operating system types as an "OR" (os_type) if it is set as part of an endpoint exception"
[00:01:01]                   └-> "before each" hook for "should filter 2 operating system types as an "OR" (os_type) if it is set as part of an endpoint exception"
[00:01:01]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.siem-signals-default]
[00:01:01]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding index template [.siem-signals-default] for index patterns [.siem-signals-default-*]
[00:01:01]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.siem-signals-default-000001] creating index, cause [api], templates [.siem-signals-default], shards [1]/[1]
[00:01:01]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.siem-signals-default]
[00:01:01]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.siem-signals-default]
[00:01:01]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.lists-default]
[00:01:01]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.siem-signals-default]
[00:01:01]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.items-default]
[00:01:01]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.lists-default] for index patterns [.lists-default-*]
[00:01:01]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.items-default] for index patterns [.items-default-*]
[00:01:02]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.lists-default-000001] creating index, cause [api], templates [.lists-default], shards [1]/[1]
[00:01:02]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.lists-default]
[00:01:02]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.items-default-000001] creating index, cause [api], templates [.items-default], shards [1]/[1]
[00:01:02]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.items-default]
[00:01:02]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.lists-default]
[00:01:02]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.lists-default]
[00:01:02]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.items-default]
[00:01:02]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.items-default]
[00:01:10]                   │ proc [kibana] [2021-10-18T14:34:30.843+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:30.840Z","event":{"provider":"alerting","action":"execute-start","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:30.840Z"},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"7e5e2ab0-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:28.925Z","schedule_delay":1915000000},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"7e5e2ab0-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem"},"message":"alert execution start: \"7e5e2ab0-3020-11ec-aa9f-014472e46b92\"","ecs":{"version":"1.8.0"}}
[00:01:13]                   │ proc [kibana] [2021-10-18T14:34:33.982+00:00][INFO ][plugins.securitySolution] [+] Finished indexing 3  signals searched between date ranges [
[00:01:13]                   │ proc [kibana]   {
[00:01:13]                   │ proc [kibana]     "to": "2021-10-18T14:34:31.965Z",
[00:01:13]                   │ proc [kibana]     "from": "1900-01-01T00:00:00.000Z",
[00:01:13]                   │ proc [kibana]     "maxSignals": 100
[00:01:13]                   │ proc [kibana]   }
[00:01:13]                   │ proc [kibana] ] name: "Signal Testing Query" id: "7e5e2ab0-3020-11ec-aa9f-014472e46b92" rule id: "rule-1" signals index: ".siem-signals-default"
[00:01:13]                   │ proc [kibana] [2021-10-18T14:34:33.995+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:30.840Z","event":{"provider":"alerting","action":"execute","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:30.840Z","outcome":"success","end":"2021-10-18T14:34:33.994Z","duration":3154000000},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"7e5e2ab0-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:28.925Z","schedule_delay":1915000000},"alerting":{"status":"ok"},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"7e5e2ab0-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem","name":"Signal Testing Query"},"message":"alert executed: siem.signals:7e5e2ab0-3020-11ec-aa9f-014472e46b92: 'Signal Testing Query'","ecs":{"version":"1.8.0"}}
[00:01:13]                   └- ✓ pass  (11.2s)
[00:01:13]                 └-> "after each" hook for "should filter 2 operating system types as an "OR" (os_type) if it is set as part of an endpoint exception"
[00:01:13]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.siem-signals-default-000001/CR1VeBALTyC-Pkf4eoFsSg] deleting index
[00:01:13]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing index template [.siem-signals-default]
[00:01:15]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.lists-default-000001/qqIc-IE6RRyP5HSD5Fq6pg] deleting index
[00:01:15]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.items-default-000001/dW5pnj5kRjiWEFtGjeGdqA] deleting index
[00:01:15]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing template [.lists-default]
[00:01:15]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing template [.items-default]
[00:01:15]                 └-> should filter multiple operating system types if it is set as part of an endpoint exception
[00:01:15]                   └-> "before each" hook: global before each for "should filter multiple operating system types if it is set as part of an endpoint exception"
[00:01:15]                   └-> "before each" hook for "should filter multiple operating system types if it is set as part of an endpoint exception"
[00:01:15]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.siem-signals-default]
[00:01:15]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding index template [.siem-signals-default] for index patterns [.siem-signals-default-*]
[00:01:15]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.siem-signals-default-000001] creating index, cause [api], templates [.siem-signals-default], shards [1]/[1]
[00:01:15]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.siem-signals-default]
[00:01:15]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.lists-default]
[00:01:15]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.siem-signals-default]
[00:01:15]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.items-default]
[00:01:15]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.siem-signals-default]
[00:01:16]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.lists-default] for index patterns [.lists-default-*]
[00:01:16]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.items-default] for index patterns [.items-default-*]
[00:01:16]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.lists-default-000001] creating index, cause [api], templates [.lists-default], shards [1]/[1]
[00:01:16]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.lists-default]
[00:01:16]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.items-default-000001] creating index, cause [api], templates [.items-default], shards [1]/[1]
[00:01:16]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.lists-default]
[00:01:16]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.items-default]
[00:01:16]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.lists-default]
[00:01:22]                   │ proc [kibana] [2021-10-18T14:34:42.849+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:42.848Z","event":{"provider":"alerting","action":"execute-start","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:42.848Z"},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"863575e0-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:42.085Z","schedule_delay":763000000},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"863575e0-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem"},"message":"alert execution start: \"863575e0-3020-11ec-aa9f-014472e46b92\"","ecs":{"version":"1.8.0"}}
[00:01:25]                   │ proc [kibana] [2021-10-18T14:34:46.140+00:00][INFO ][plugins.securitySolution] [+] Finished indexing 2  signals searched between date ranges [
[00:01:25]                   │ proc [kibana]   {
[00:01:25]                   │ proc [kibana]     "to": "2021-10-18T14:34:44.119Z",
[00:01:25]                   │ proc [kibana]     "from": "1900-01-01T00:00:00.000Z",
[00:01:25]                   │ proc [kibana]     "maxSignals": 100
[00:01:25]                   │ proc [kibana]   }
[00:01:25]                   │ proc [kibana] ] name: "Signal Testing Query" id: "863575e0-3020-11ec-aa9f-014472e46b92" rule id: "rule-1" signals index: ".siem-signals-default"
[00:01:25]                   │ proc [kibana] [2021-10-18T14:34:46.150+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:42.848Z","event":{"provider":"alerting","action":"execute","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:42.848Z","outcome":"success","end":"2021-10-18T14:34:46.149Z","duration":3301000000},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"863575e0-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:42.085Z","schedule_delay":763000000},"alerting":{"status":"ok"},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"863575e0-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem","name":"Signal Testing Query"},"message":"alert executed: siem.signals:863575e0-3020-11ec-aa9f-014472e46b92: 'Signal Testing Query'","ecs":{"version":"1.8.0"}}
[00:01:25]                   └- ✓ pass  (9.3s)
[00:01:25]                 └-> "after each" hook for "should filter multiple operating system types if it is set as part of an endpoint exception"
[00:01:25]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.siem-signals-default-000001/X2taHPotRIuqxosvq2I8Pg] deleting index
[00:01:25]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.items-default]
[00:01:25]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.items-default]
[00:01:25]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing index template [.siem-signals-default]
[00:01:27]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.lists-default-000001/LK2SXHqzQZaPM0UaFgGmDg] deleting index
[00:01:27]                   │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.items-default-000001/TdJkAG4UThquaq-XyEtp9A] deleting index
[00:01:27]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing template [.lists-default]
[00:01:27]                   │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] removing template [.items-default]
[00:01:27]                 └-> should filter multiple operating system types (os_type) with multiple filter items for an endpoint
[00:01:27]                   └-> "before each" hook: global before each for "should filter multiple operating system types (os_type) with multiple filter items for an endpoint"
[00:01:27]                   └-> "before each" hook for "should filter multiple operating system types (os_type) with multiple filter items for an endpoint"
[00:01:27]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.siem-signals-default]
[00:01:27]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding index template [.siem-signals-default] for index patterns [.siem-signals-default-*]
[00:01:27]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.siem-signals-default-000001] creating index, cause [api], templates [.siem-signals-default], shards [1]/[1]
[00:01:28]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.siem-signals-default]
[00:01:28]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.siem-signals-default]
[00:01:28]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.lists-default]
[00:01:28]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.siem-signals-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.siem-signals-default]
[00:01:28]                     │ info [o.e.x.i.a.TransportPutLifecycleAction] [node-01] adding index lifecycle policy [.items-default]
[00:01:28]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.lists-default] for index patterns [.lists-default-*]
[00:01:28]                     │ info [o.e.c.m.MetadataIndexTemplateService] [node-01] adding template [.items-default] for index patterns [.items-default-*]
[00:01:28]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.lists-default-000001] creating index, cause [api], templates [.lists-default], shards [1]/[1]
[00:01:28]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.lists-default]
[00:01:28]                     │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.items-default-000001] creating index, cause [api], templates [.items-default], shards [1]/[1]
[00:01:28]                     │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"new","action":"complete","name":"complete"}] to [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] in policy [.lists-default]
[00:01:28]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.items-default-000001] from [null] to [{"phase":"new","action":"complete","name":"complete"}] in policy [.items-default]
[00:01:28]                   │ info [o.e.x.i.IndexLifecycleTransition] [node-01] moving index [.lists-default-000001] from [{"phase":"hot","action":"unfollow","name":"branch-check-unfollow-prerequisites"}] to [{"phase":"hot","action":"rollover","name":"check-rollover-ready"}] in policy [.lists-default]
[00:01:37]                   │ proc [kibana] [2021-10-18T14:34:57.791+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:57.789Z","event":{"provider":"alerting","action":"execute-start","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:57.789Z"},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"8d74ede0-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:54.234Z","schedule_delay":3555000000},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"8d74ede0-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem"},"message":"alert execution start: \"8d74ede0-3020-11ec-aa9f-014472e46b92\"","ecs":{"version":"1.8.0"}}
[00:01:40]                   │ proc [kibana] [2021-10-18T14:35:01.298+00:00][INFO ][plugins.securitySolution] [+] Finished indexing 2  signals searched between date ranges [
[00:01:40]                   │ proc [kibana]   {
[00:01:40]                   │ proc [kibana]     "to": "2021-10-18T14:34:59.334Z",
[00:01:40]                   │ proc [kibana]     "from": "1900-01-01T00:00:00.000Z",
[00:01:40]                   │ proc [kibana]     "maxSignals": 100
[00:01:40]                   │ proc [kibana]   }
[00:01:40]                   │ proc [kibana] ] name: "Signal Testing Query" id: "8d74ede0-3020-11ec-aa9f-014472e46b92" rule id: "rule-1" signals index: ".siem-signals-default"
[00:01:40]                   │ proc [kibana] [2021-10-18T14:35:01.307+00:00][INFO ][plugins.eventLog] event logged: {"@timestamp":"2021-10-18T14:34:57.789Z","event":{"provider":"alerting","action":"execute","kind":"alert","category":["siem"],"start":"2021-10-18T14:34:57.789Z","outcome":"success","end":"2021-10-18T14:35:01.306Z","duration":3517000000},"kibana":{"saved_objects":[{"rel":"primary","type":"alert","id":"8d74ede0-3020-11ec-aa9f-014472e46b92","type_id":"siem.signals"}],"task":{"scheduled":"2021-10-18T14:34:54.234Z","schedule_delay":3555000000},"alerting":{"status":"ok"},"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d","version":"8.0.0"},"rule":{"id":"8d74ede0-3020-11ec-aa9f-014472e46b92","license":"basic","category":"siem.signals","ruleset":"siem","name":"Signal Testing Query"},"message":"alert executed: siem.signals:8d74ede0-3020-11ec-aa9f-014472e46b92: 'Signal Testing Query'","ecs":{"version":"1.8.0"}}
[00:01:40]                   └- ✖ fail: detection engine api security and spaces enabled  Rule exception operators for endpoints operating system types (os_types) endpoints should filter multiple operating system types (os_type) with multiple filter items for an endpoint
[00:01:40]                   │       Error: expected [ { os: { name: 'Linux' } },
[00:01:40]                   │   { os: { name: 'Macos' } } ] to sort of equal [ { os: { name: 'Macos' } },
[00:01:40]                   │   { os: { name: 'Linux' } } ]
[00:01:40]                   │       + expected - actual
[00:01:40]                   │ 
[00:01:40]                   │        [
[00:01:40]                   │          {
[00:01:40]                   │            "os": {
[00:01:40]                   │       -      "name": "Linux"
[00:01:40]                   │       +      "name": "Macos"
[00:01:40]                   │            }
[00:01:40]                   │          }
[00:01:40]                   │          {
[00:01:40]                   │            "os": {
[00:01:40]                   │       -      "name": "Macos"
[00:01:40]                   │       +      "name": "Linux"
[00:01:40]                   │            }
[00:01:40]                   │          }
[00:01:40]                   │        ]
[00:01:40]                   │       
[00:01:40]                   │       at Assertion.assert (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/expect/expect.js:100:11)
[00:01:40]                   │       at Assertion.eql (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/expect/expect.js:244:8)
[00:01:40]                   │       at Context.<anonymous> (test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions.ts:265:27)
[00:01:40]                   │       at runMicrotasks (<anonymous>)
[00:01:40]                   │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
[00:01:40]                   │       at Object.apply (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16)
[00:01:40]                   │ 
[00:01:40]                   │ 

Stack Trace

Error: expected [ { os: { name: 'Linux' } },
  { os: { name: 'Macos' } } ] to sort of equal [ { os: { name: 'Macos' } },
  { os: { name: 'Linux' } } ]
    at Assertion.assert (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/expect/expect.js:100:11)
    at Assertion.eql (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/expect/expect.js:244:8)
    at Context.<anonymous> (test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions.ts:265:27)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at Object.apply (/dev/shm/workspace/parallel/9/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16) {
  actual: '[\n' +
    '  {\n' +
    '    "os": {\n' +
    '      "name": "Linux"\n' +
    '    }\n' +
    '  }\n' +
    '  {\n' +
    '    "os": {\n' +
    '      "name": "Macos"\n' +
    '    }\n' +
    '  }\n' +
    ']',
  expected: '[\n' +
    '  {\n' +
    '    "os": {\n' +
    '      "name": "Macos"\n' +
    '    }\n' +
    '  }\n' +
    '  {\n' +
    '    "os": {\n' +
    '      "name": "Linux"\n' +
    '    }\n' +
    '  }\n' +
    ']',
  showDiff: true
}

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
inspector 15.9KB 14.8KB -1.1KB

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

cc @1Copenut

@1Copenut 1Copenut merged commit dba055c into elastic:master Oct 18, 2021
kibanamachine added a commit to kibanamachine/kibana that referenced this pull request Oct 18, 2021
* Replacing EuiPopover with EuiComboBox

* The combobox will help alleviate issues when the list of options is very long

* Refactoring the Combobox to listen for change events

* Added an onChange handler
* Renamed the method to render the combobox
* Commented out additional blocks of code before final refactor

* Finished refactoring the Request Selector to use EUI Combobox

* Removed three helper methods for the EUIPopover.
  * `togglePopover()`
  * `closePopover()`
  * `renderRequestDropdownItem()`
* Removed the local state object and interface (no longer needed)
* Renamed the const `options` to `selectedOptions` in `handleSelectd()`
  method to better reflect where the options array was coming from.

* Updating tests and translations

* Fixed the inspector functional test to use comboBox service
* Removed two unused translations

* Updating Combobox options to pass data-test-sub string

* Updated two tests for Combobox single option
* Updated the test expectations to the default string
* Both tests were looking for a named string instead of a default
  message

* Adding error handling to Inspector combobox
* Checking for the item status code
* Adding a " (failed)" message if the status code returns `2`
* Updating test to look for "Chart_data" instead of "Chartdata"

* Updating two tests to validate single combobox options
* Added helper method to check default text against combobox options
* Added helper method to get the selected combobox option
* Checking two inspector instances using helpers

* Adding a defensive check to helper method.

* Correct a type error in test return

* Adding back translated failLabel

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
@kibanamachine
Copy link
Copy Markdown
Contributor

💚 Backport successful

Status Branch Result
7.x

This backport PR will be merged automatically after passing CI.

kibanamachine added a commit that referenced this pull request Oct 18, 2021
* Replacing EuiPopover with EuiComboBox

* The combobox will help alleviate issues when the list of options is very long

* Refactoring the Combobox to listen for change events

* Added an onChange handler
* Renamed the method to render the combobox
* Commented out additional blocks of code before final refactor

* Finished refactoring the Request Selector to use EUI Combobox

* Removed three helper methods for the EUIPopover.
  * `togglePopover()`
  * `closePopover()`
  * `renderRequestDropdownItem()`
* Removed the local state object and interface (no longer needed)
* Renamed the const `options` to `selectedOptions` in `handleSelectd()`
  method to better reflect where the options array was coming from.

* Updating tests and translations

* Fixed the inspector functional test to use comboBox service
* Removed two unused translations

* Updating Combobox options to pass data-test-sub string

* Updated two tests for Combobox single option
* Updated the test expectations to the default string
* Both tests were looking for a named string instead of a default
  message

* Adding error handling to Inspector combobox
* Checking for the item status code
* Adding a " (failed)" message if the status code returns `2`
* Updating test to look for "Chart_data" instead of "Chartdata"

* Updating two tests to validate single combobox options
* Added helper method to check default text against combobox options
* Added helper method to get the selected combobox option
* Checking two inspector instances using helpers

* Adding a defensive check to helper method.

* Correct a type error in test return

* Adding back translated failLabel

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Nathan L Smith <smith@nlsmith.com>

Co-authored-by: Trevor Pierce <1Copenut@users.noreply.github.com>
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
@timroes timroes added release_note:skip Skip the PR/issue when compiling release notes and removed release_note:enhancement labels Oct 27, 2021
@1Copenut 1Copenut deleted the tp-inspector-combobox branch May 1, 2023 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-backport Deprecated - use backport:version if exact versions are needed release_note:skip Skip the PR/issue when compiling release notes v7.16.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Request inspector dropdown cuts off with too many entries

10 participants