[Dashboard] [Controls] Remove options list "Allow <x>" toggles#147216
[Dashboard] [Controls] Remove options list "Allow <x>" toggles#147216Heenawter merged 15 commits intoelastic:mainfrom
"Allow <x>" toggles#147216Conversation
6568aae to
8eda24f
Compare
8eda24f to
7f5a221
Compare
| delete explicitInput.hideExclude; | ||
| delete explicitInput.hideExists; |
There was a problem hiding this comment.
Note that both the exists and include/exclude PRs made it in to 8.6.0 but sorting only made it into 8.7.0. So, since we're not at the FF for 8.7 yet, I can safely remove the "Allow dynamic sorting of suggestions" toggle without any migration.
|
Pinging @elastic/kibana-presentation (Team:Presentation) |
|
@elasticmachine merge upstream |
|
@elasticmachine merge upstream |
💚 Build Succeeded
Metrics [docs]Async chunks
Page load bundle
Unknown metric groupsESLint disabled in files
ESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: cc @Heenawter |
ThomThomson
left a comment
There was a problem hiding this comment.
Tested locally, importing all of the test dashboards, and everything works as expected, no controls are stuck!
Also looked through the code, and everything looks great! Nice unit testing, good mock additions.
Closes #147140
Summary
After discussion surrounding the "author" versus "analyst" experience for the controls, we have come to the conclusion that a simpler create experience is necessary to streamline our current process. This means removing all options that are not absolutely necessary - specifically, this PR removes the UX for the following "Additional settings" toggles from the creating/editing flyout:
hideExclude)hideExists)hideSort)This will leave only two additional settings:
While the UX for the removed toggles will be removed, the logic is kept - this means that, for the Control Group API that solutions will be using, this functionality could still be exposed to the consumers.
Migration
Consider a scenario where, in 8.6, a user creates an options list control with
hideExistsset totrue- that is, theExistsoption is not displayed in the options list suggestions. After upgrading to 8.7, they realize that they want to turn theExistsquery back on - but they can't, because the toggle has been removed sohideExistsis stuck astrue! Their only choice is to remove the control and start over.In order to avoid this scenario, I added an 8.7 migration that goes through all existing control group panels and, if a control is an options list, it removes the
hideExcludeandhideExistskeys from the explicit input. This is effectively the same was setting these tofalsesince they are optional.How to test
For the sake of convenience, I have exported various dashboard saved objects from 8.6 (all of which used the demo "Kibana Sample Data eCommerce" data view) in order to test the migration to 8.7:
8.6_OneControlNoMigrations.ndjsonThis dashboard had a single options list control that should require no migration because it was created with the default settings:
8.6_OneControlTogglesOff.ndjsonThis dashboard had a single options list control with every single toggle turned off:
8.6_TwoOptionsListControls.ndjsonThis dashboard had two options list controls with the following settings:
The first control also had the
existsquery selected withexcludeset totrue, while the second control had non-default size settings, and I made some selections and saved them as part of the dashboard.8.6_MultipleControlTypes.ndjsonThis dashboard had four controls: two options list controls with the following settings, a range slider control, and a time slider control:
These can each be found in the following ZIP file:
In order to test this PR, you should (at minimum) download the previous ZIP, individually import each dashboard into Kibana 8.7, and ensure that:
hideExistsorhideExcludekeys present, andhideExistsorhideExcludeChecklist
For maintainers