Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[ES|QL] - Enhancing ES|QL query writing experience with Anchored Documentation Panel #166907

Closed
ninoslavmiskovic opened this issue Sep 21, 2023 · 36 comments · Fixed by #192156
Closed
Assignees
Labels
blocked enhancement New value added to drive a business result epic Feature:ES|QL ES|QL related features in Kibana impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. Team:ESQL ES|QL related features in Kibana

Comments

@ninoslavmiskovic
Copy link
Contributor

ninoslavmiskovic commented Sep 21, 2023

Feature Description:

To improve user experience in ES|QL editor, this issue proposes a design enhancement where the documentation is anchored to the right side of the screen when the query editor textarea is expanded.

This feature will allow users to view and interact with ES|QL documentation seamlessly while editing queries, facilitating a more intuitive and educational user interface.

The anchored documentation should be toggleable and resizable to accommodate different user preferences and screen sizes.

Current problem it is solving:

As a user, I want to be able to have the in-line documentation open while I am typing the query so that I can easily copy/paste or type the right syntax.

The below video shows that I can not continue working on my query while having the documentation open.

Screen.Recording.2024-03-27.at.11.13.59.AM.mov

Design/wireframes:

Wireframes: ES|QL editor - In-app documentation enhancements

Proposed design for POC

  1. Resizable flyout for full editor (e.g. Discover)
  2. Inline section for inline editor (e.g. Dashboard)

Full editor
Image

Full editor - field list collapsed
Image

Inline editor
Image

@ninoslavmiskovic ninoslavmiskovic added Team:Visualizations Visualization editors, elastic-charts and infrastructure Feature:ES|QL ES|QL related features in Kibana labels Sep 21, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-visualizations (Team:Visualizations)

@stratoula
Copy link
Contributor

stratoula commented Sep 21, 2023

This also happens in Lens formula so I suspect that is either an EUI or a monaco issue. We need to investigate who is the culprit here

@stratoula stratoula added blocked enhancement New value added to drive a business result impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. labels Sep 21, 2023
@ninoslavmiskovic
Copy link
Contributor Author

This also happens in Lens formula so I suspect that is either an EUI or a monaco issue. We need to investigate who is the culprit here

++ . I was also thinking maybe to have a UX proposal that can "unblock" us. Perhaps @MichaelMarcialis has an idea we can work with :)

@dej611
Copy link
Contributor

dej611 commented Sep 21, 2023

A possible alternative would be #166089 (as it happens in Lens formula) rather than having the popover open.

@MichaelMarcialis
Copy link
Contributor

MichaelMarcialis commented Sep 21, 2023

It sounds like two different issues are being discuss here, and I want to make sure I'm understanding. Please let me know if the following is true:

  1. There is currently a bug when the ES|QL reference popover is open that prevents you from being able to click outside the popover to close it (if the click is on the Monaco editor). This disrupts your ability to continue authoring your query (and runs counter to how other Kibana popovers are expected to behave).
  2. You'd like to be able to view the ES|QL reference and author your query at the same time, without having to constant reopen the reference popover.

Is my understanding correct? If so, issue 1 is definitely a bug and not functioning as intended. @stratoula appears to be correct that it only occurs when attempting to click on the Monaco editor while the popover is open. Let me know if there's anything I can do to help fix the issue.

Regarding issue 2, I like @dej611's suggestion above. A similar thought (which also takes a page from what we do with Lens formula) would be to change the behavior of the references when the editor is in expanded mode. Rather than displaying a popover when the button is clicked, we can use it to show/hide a sidebar with the reference documentation. Doing so would allow users to edit their query while keeping the reference opened simultaneously.

CleanShot 2023-09-21 at 16 41 21

Alternatively, if we feel the ability to edit and view the documentation in the same view should be always available (regardless if the user is in expanded edit mode or not), we can always explore additional possibilities. It could be as simple as losing the popover altogether and making it a toggleable panel regardless of compact/expanded mode. Or maybe creating a new popover capability that allows users to optionally pin popover contents above all other page contents and support moving/resizing as needed.

In any case, let me know how we'd like to proceed and prioritize this, and I'd be happy to support on the design side.

@stratoula
Copy link
Contributor

I think we just need to fix the bug meaning that when a user is clicking the editor to close the popover. I agree with Michael that authoring and having the documentation visible at the same time is a different thing. @ninoslavmiskovic wdyt?

@ninoslavmiskovic
Copy link
Contributor Author

hi all,

I couple of comments.

I agree that there is both a small bug 1) and a feature request on the ability to edit and view documentation at the same time). We can create a separate issue for the bug, so the user can exit the popover when clicking on the editor.

This is an enhancement around 2) view the ES|QL reference and author your query at the same time, without having to constantly reopen the reference popover.

@dej611 - I like your enhancement and this would help educate users for sure, so we should continue that effort. However, I still see the value for the user to have the ability to see the entire documentation page, to make it easier to e.g. follow a 1,2,3 step guide on a full page.

@MichaelMarcialis

I like your approach to the formula and perhaps we can place it under the query bar (Maybe the height will be a challenge here) or as a push-flyout (this might be challenging because of the amount of text, so width can perhaps be an obstacle, if we use the same fly-out width as "editing a visualization" )

Or perhaps also give the user the ability to "pin" the popover, if they don't want to go into full mode, which allows them to pin the popover or make it sticky and give them the capability to edit the query while having the documentation open to e.g. copy/paste or see the query for reference.

Skærmbillede 2023-09-22 kl  08 50 44

@MichaelMarcialis
Copy link
Contributor

Or maybe creating a new popover capability that allows users to optionally pin popover contents above all other page contents and support moving/resizing as needed.

Or perhaps also give the user the ability to "pin" the popover, if they don't want to go into full mode, which allows them to pin the popover or make it sticky and give them the capability to edit the query while having the documentation open to e.g. copy/paste or see the query for reference.

It sounds like we both have a similar idea here. Personally, I'd love to explore this option, as I think it would be a pattern that could be adopted in a number of areas across Kibana and helps avoid overcomplicating already complex app interface layouts. Is this something we want to prioritize in the short-term for an upcoming release, or more of a long-term goal?

@ninoslavmiskovic
Copy link
Contributor Author

I think we should have a design proposal on how we can solve this before GA for sure . It would help users learn ES|QL 👍

@ninoslavmiskovic ninoslavmiskovic self-assigned this Nov 2, 2023
@MichaelMarcialis
Copy link
Contributor

I can plan to do some design exploration around this. How would you like this to be prioritized, @ninoslavmiskovic? Should it come before the design work @andreadelrio and I are doing on ES|QL history? Immediately after? Other?

@ninoslavmiskovic
Copy link
Contributor Author

In parallel 😊 if possible 👍

@stratoula
Copy link
Contributor

There is currently a bug when the ES|QL reference popover is open that prevents you from being able to click outside the popover to close it (if the click is on the Monaco editor).

@elastic/eui-team I wonder if you have any idea about this part. To give some context, we have a popover with the ES|QL documentation and the monaco editor for writing ES|QL.

image

We expect that when a user clicks inside the editor, the click event will fire and will close the popover and expand the editor. It doesnt though (in other places it works as expected, it is only the monaco editor which causes the problem.

I tried to wrap the popover in the EuiOutsideClickDetector component This will indeed close the popover when I click the editor but I need to click another time for the editor to expand.

Maybe you have any idea on what is going on and what else we could try?

Thank you!

@JasonStoltz
Copy link
Member

Hey @stratoula, I don't understand what you are asking and I'm not familiar with this code. In terms of EUI components, what is not working as expected?

@stratoula
Copy link
Contributor

stratoula commented Jan 29, 2024

@JasonStoltz I think is mostly a question if you have any idea of why when clicking inside the monaco editor, the EUIPopover doesnt close.

@cee-chen
Copy link
Contributor

cee-chen commented Jan 29, 2024

Is the Monaco editor in an iframe? That would be the main reason I could think of for the outside click to not work as expected. If so, this would also be a possible issue or configuration with our underlying focus trap component/3rd party library, FWIW.

@stratoula
Copy link
Contributor

Hmmm, interesting. No the Monaco editor in not in an iframe. We just use the component from the third party plugin afaik. Nothing fancy here.

@cee-chen
Copy link
Contributor

cee-chen commented Jan 29, 2024

Gotcha. Based on what you said here:

I tried to wrap the popover in the EuiOutsideClickDetector component This will indeed close the popover when I click the editor but I need to click another time for the editor to expand.

My best guess is that the editor/third party plugin has its own click events/detectors that is swallowing or stopping/preventing our popover's focus trap/outside click logic. This has a few possible approaches, depending on your preference for hackiness vs frustration levels:

  1. Try to find the interfering event listener and remove it or prevent it (likely the most frustrating/time-consuming, since it deals w/ 3rd party code)
  2. Override the editor with your own onClick (either a div wrapper that prevents the event from capturing within, or an invisible div overlay that sits on top of the editor) that manually performs the state updates you need - closing the popover and toggling the editor (probably faster but also pretty hacky 😬)

@stratoula
Copy link
Contributor

stratoula commented Jan 30, 2024

Thanx Cee! I was thinking the same approaches but none of them is super appealing to me 😄 Maybe the best and cleanest approach is the redesign 🤷‍♀️

@cee-chen
Copy link
Contributor

Yeah, that's definitely a lot of information to have in a popover - a redesign would be ideal!

@MichaelMarcialis
Copy link
Contributor

Thanx Cee! I was thinking the same approaches but none of them is super appealing to me 😄 Maybe the best and cleanest approach is the redesign 🤷‍♀️

@stratoula, @cee-chen: Forgive me if I'm misunderstanding, but I'm not sure the redesign for the inline documentation will fully address the issue. The most recent wireframe designs enhancements I suggested still house the inline documentation in a popover. And while these designs do offer the option to "pin" the panel (preventing it from being closed when shifting focus elsewhere), the initial state is still that of a standard popover. Additionally, I have to imagine this click-outside-not-being-honored issue still adversely affects the closing behavior for all other popovers, not just the inline documentation one.

For example, open the super date picker's popover and try to click on the ES|QL editor. The same problem persists.

@stratoula
Copy link
Contributor

@MichaelMarcialis sorry I understood after a discussion I had with Nino that we are going to rethink the implementation and go with something else so I was hoping to take this under consideration.

None of the hacky ideas mentioned above are ideal and we are not even sure that it will solve the problem 🤷‍♀️

But you are right, time picker is another problem. This definitely needs investigation.

@cee-chen
Copy link
Contributor

cee-chen commented Feb 7, 2024

Maybe @cee-chen you can help with this? Add a way to programmatically close the super date picker or something like that?

Unfortunately there isn't a super easy way to do this that I can see. It might be faster/easier to work around this via vanilla JS (i.e. if a popover is open, use a JS .click() on the the button that toggled it to close it)

EDIT: The other option is I could forward a ref to the internal class component that would allow you to call ref.current.onStartDatePopoverClose()/onEndDatePopoverClose() 🤔 But that's also definitely more of a workaround territory as well.

stratoula added a commit that referenced this issue Feb 8, 2024
## Summary

Part of #166907

Fixes the problem with the eui popovers and the monaco editor. I am not
sure why it is happening. I think it is due to the third party library
that eui uses to detects the outside clicks.

What I did to fix it:

- Wrap the documentation popover in an EuiOutsideClickDetector
- I force monaco editor to focus onMoyseDown


![meow](https://github.com/elastic/kibana/assets/17003240/f432608d-0801-4a68-b327-da1e8dec9f9a)

This solves the problem on the documentation popover but not on the
SuperDatePicker because I don't have a way to force it to close. I will
ping the EUI team
fkanout pushed a commit to fkanout/kibana that referenced this issue Feb 8, 2024
…#176394)

## Summary

Part of elastic#166907

Fixes the problem with the eui popovers and the monaco editor. I am not
sure why it is happening. I think it is due to the third party library
that eui uses to detects the outside clicks.

What I did to fix it:

- Wrap the documentation popover in an EuiOutsideClickDetector
- I force monaco editor to focus onMoyseDown


![meow](https://github.com/elastic/kibana/assets/17003240/f432608d-0801-4a68-b327-da1e8dec9f9a)

This solves the problem on the documentation popover but not on the
SuperDatePicker because I don't have a way to force it to close. I will
ping the EUI team
CoenWarmer pushed a commit to CoenWarmer/kibana that referenced this issue Feb 15, 2024
…#176394)

## Summary

Part of elastic#166907

Fixes the problem with the eui popovers and the monaco editor. I am not
sure why it is happening. I think it is due to the third party library
that eui uses to detects the outside clicks.

What I did to fix it:

- Wrap the documentation popover in an EuiOutsideClickDetector
- I force monaco editor to focus onMoyseDown


![meow](https://github.com/elastic/kibana/assets/17003240/f432608d-0801-4a68-b327-da1e8dec9f9a)

This solves the problem on the documentation popover but not on the
SuperDatePicker because I don't have a way to force it to close. I will
ping the EUI team
fkanout pushed a commit to fkanout/kibana that referenced this issue Mar 4, 2024
…#176394)

## Summary

Part of elastic#166907

Fixes the problem with the eui popovers and the monaco editor. I am not
sure why it is happening. I think it is due to the third party library
that eui uses to detects the outside clicks.

What I did to fix it:

- Wrap the documentation popover in an EuiOutsideClickDetector
- I force monaco editor to focus onMoyseDown


![meow](https://github.com/elastic/kibana/assets/17003240/f432608d-0801-4a68-b327-da1e8dec9f9a)

This solves the problem on the documentation popover but not on the
SuperDatePicker because I don't have a way to force it to close. I will
ping the EUI team
@stratoula stratoula added Team:ESQL ES|QL related features in Kibana and removed Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Mar 27, 2024
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-esql (Team:ESQL)

@cee-chen
Copy link
Contributor

Does @eokoneyo's monaco fix in #178622 resolve this issue?

@drewdaemon
Copy link
Contributor

drewdaemon commented Mar 27, 2024

@cee-chen back to @MichaelMarcialis 's comment:

  1. There is currently a bug when the ES|QL reference popover is open that prevents you from being able to click outside the popover to close it (if the click is on the Monaco editor). This disrupts your ability to continue authoring your query (and runs counter to how other Kibana popovers are expected to behave).
  2. You'd like to be able to view the ES|QL reference and author your query at the same time, without having to constant reopen the reference popover.

#178622 resolved the bug (item 1), but I believe this issue was primarily intended to describe the enhancement request of viewing the reference while editing the query (item 2). It just so happens that the video includes the bug as well so we started off on that discussion (cc @ninoslavmiskovic correct me if I'm wrong).

@drewdaemon
Copy link
Contributor

So I would say that EUI's involvement here can be concluded. Thank you for your help on resolving the bug!

The request of viewing documentation concurrently with query editing remains valid in my view. I will update the video in the description so as to avoid future confusion about the bug!

@stratoula
Copy link
Contributor

Correct! I solved the bug here #166907 (comment) but I didn't close the issue as it was about the enhancement request.

@timductive
Copy link
Member

@MichaelMarcialis @ninoslavmiskovic @stratoula can we re-scope this issue. Now that the bug is solved I think this issue should just be a design that anchors the documentation to the right when the textarea is expanded. This solved the problem of leaving the documentation open for reference while editing a query.

@ninoslavmiskovic
Copy link
Contributor Author

I can do that for sure - @timductive

@ninoslavmiskovic ninoslavmiskovic changed the title [ES|QL] - Be able to edit the query, while having in-line documentation open [ES|QL] - Enhancing ES|QL query writing experience with Anchored Documentation Panel May 3, 2024
@MichaelMarcialis
Copy link
Contributor

@MichaelMarcialis @ninoslavmiskovic @stratoula can we re-scope this issue. Now that the bug is solved I think this issue should just be a design that anchors the documentation to the right when the textarea is expanded. This solved the problem of leaving the documentation open for reference while editing a query.

@timductive: By "anchors the documentation to the right", do you mean via push flyout? If so, I'd be concerned about the scalability of such an approach. For example, while that approach might work when the query editor is in the unified search section, it becomes more problematic when the query editor is already in a flyout (such as the inline editor). It can also become problematic when other competing flyouts are in play (i.e. do these competing flyouts cover or replace the documentation?). This is why I was more keen to explore solutions that would be independent from the page layout (either a resizable, repositionable panel or a separate chromeless browser window). Thoughts?

@ryankeairns
Copy link
Contributor

The idea of a resizable panel was recently suggested (i.e. not a flyout). To further the discussion, here is a wireframe depicting such a layout.

As Michael notes, there could be scalability and system concerns depending on the implementation. For the inline editor, this may continue opening in a popover. For the 'full' editing experience, we may want to encourage users to work in Discover (this presumes a trusted dip-in/dip-out seamless flow).

Image

@ryankeairns
Copy link
Contributor

ryankeairns commented Aug 29, 2024

@stratoula et al, I've updated the description with the latest wireframes for the POC

One thing still TBD is whether we use the new 'ES|QL help' button, a new button at upper right (seen in wireframes), or keep what we have in the footer. Let's see how the flyout feels in the POC then further assess these options.

Relatedly, let's see if we need hi-fi mockups after the POC.

@stratoula
Copy link
Contributor

Awesome, thanx @ryankeairns. I will create a PoC next week

@stratoula stratoula assigned stratoula and unassigned ryankeairns Sep 5, 2024
kibanamachine pushed a commit to kibanamachine/kibana that referenced this issue Sep 19, 2024
## Summary

Closes elastic#166907

This PR:

1. Changes the inline docs implementation to a flyout for Discover

<img width="1256" alt="image"
src="https://github.com/user-attachments/assets/3665c73a-82d5-49b9-88c3-e129eda63885">

2. Adds the flyout to open from the help menu and removes it from the
editor footer

3. For the inline editing changes the docs to be rendered as a component
inside the editor (exactly as the history component)

Note: The documentation in the inline editing has limited space (same
problem has the history component). I need to sync with Ryan to see what
we can do, I am exploring some ideas in follow up PRs

<img width="647" alt="image"
src="https://github.com/user-attachments/assets/2fa9fcc3-2a07-4bea-b675-5ae6578696d3">

4. Moves the esql docs to the language package and the script associated
to this

### Follow up
- The language package should be renamed as the `popover` makes sense
only for the formula implementation now. I will do it after this PR gets
merged
- See how we can give more space to the docs / history container when in
inline mode

### Note
The async bundle got increased as we want the ES|QL docs in unified
search too. It wont be a problem as is loaded asynchronously.

### Checklist

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Ryan Keairns <[email protected]>
Co-authored-by: Drew Tate <[email protected]>
Co-authored-by: Elastic Machine <[email protected]>
(cherry picked from commit dfbd7de)
kibanamachine referenced this issue Sep 19, 2024
…193444)

# Backport

This will backport the following commits from `main` to `8.x`:
- [[ES|QL] Enhances the inline documentation experience
(#192156)](#192156)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Stratoula
Kalafateli","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-09-19T15:10:39Z","message":"[ES|QL]
Enhances the inline documentation experience (#192156)\n\n##
Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/166907\r\n\r\nThis
PR:\r\n\r\n1. Changes the inline docs implementation to a flyout for
Discover\r\n\r\n<img width=\"1256\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3665c73a-82d5-49b9-88c3-e129eda63885\">\r\n\r\n2.
Adds the flyout to open from the help menu and removes it from
the\r\neditor footer\r\n\r\n3. For the inline editing changes the docs
to be rendered as a component\r\ninside the editor (exactly as the
history component)\r\n\r\nNote: The documentation in the inline editing
has limited space (same\r\nproblem has the history component). I need to
sync with Ryan to see what\r\nwe can do, I am exploring some ideas in
follow up PRs\r\n\r\n<img width=\"647\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/2fa9fcc3-2a07-4bea-b675-5ae6578696d3\">\r\n\r\n4.
Moves the esql docs to the language package and the script
associated\r\nto this\r\n\r\n### Follow up\r\n- The language package
should be renamed as the `popover` makes sense\r\nonly for the formula
implementation now. I will do it after this PR gets\r\nmerged\r\n- See
how we can give more space to the docs / history container when
in\r\ninline mode\r\n\r\n### Note\r\nThe async bundle got increased as
we want the ES|QL docs in unified\r\nsearch too. It wont be a problem as
is loaded asynchronously.\r\n\r\n### Checklist\r\n\r\n- [ ] Any text
added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [ ] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] Any UI
touched in this PR is usable by keyboard only (learn more\r\nabout
[keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n-
[ ] Any UI touched in this PR does not create any new axe
failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[ ] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[ ] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Ryan Keairns <[email protected]>\r\nCo-authored-by: Drew Tate
<[email protected]>\r\nCo-authored-by: Elastic Machine
<[email protected]>","sha":"dfbd7de3f53cae4b81d8643283f106cbf16e3415","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","backport:prev-minor","Feature:ES|QL","Team:ESQL","v8.16.0"],"title":"[ES|QL]
Enhances the inline documentation
experience","number":192156,"url":"https://github.com/elastic/kibana/pull/192156","mergeCommit":{"message":"[ES|QL]
Enhances the inline documentation experience (#192156)\n\n##
Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/166907\r\n\r\nThis
PR:\r\n\r\n1. Changes the inline docs implementation to a flyout for
Discover\r\n\r\n<img width=\"1256\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3665c73a-82d5-49b9-88c3-e129eda63885\">\r\n\r\n2.
Adds the flyout to open from the help menu and removes it from
the\r\neditor footer\r\n\r\n3. For the inline editing changes the docs
to be rendered as a component\r\ninside the editor (exactly as the
history component)\r\n\r\nNote: The documentation in the inline editing
has limited space (same\r\nproblem has the history component). I need to
sync with Ryan to see what\r\nwe can do, I am exploring some ideas in
follow up PRs\r\n\r\n<img width=\"647\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/2fa9fcc3-2a07-4bea-b675-5ae6578696d3\">\r\n\r\n4.
Moves the esql docs to the language package and the script
associated\r\nto this\r\n\r\n### Follow up\r\n- The language package
should be renamed as the `popover` makes sense\r\nonly for the formula
implementation now. I will do it after this PR gets\r\nmerged\r\n- See
how we can give more space to the docs / history container when
in\r\ninline mode\r\n\r\n### Note\r\nThe async bundle got increased as
we want the ES|QL docs in unified\r\nsearch too. It wont be a problem as
is loaded asynchronously.\r\n\r\n### Checklist\r\n\r\n- [ ] Any text
added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [ ] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] Any UI
touched in this PR is usable by keyboard only (learn more\r\nabout
[keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n-
[ ] Any UI touched in this PR does not create any new axe
failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[ ] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[ ] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Ryan Keairns <[email protected]>\r\nCo-authored-by: Drew Tate
<[email protected]>\r\nCo-authored-by: Elastic Machine
<[email protected]>","sha":"dfbd7de3f53cae4b81d8643283f106cbf16e3415"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/192156","number":192156,"mergeCommit":{"message":"[ES|QL]
Enhances the inline documentation experience (#192156)\n\n##
Summary\r\n\r\nCloses
https://github.com/elastic/kibana/issues/166907\r\n\r\nThis
PR:\r\n\r\n1. Changes the inline docs implementation to a flyout for
Discover\r\n\r\n<img width=\"1256\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3665c73a-82d5-49b9-88c3-e129eda63885\">\r\n\r\n2.
Adds the flyout to open from the help menu and removes it from
the\r\neditor footer\r\n\r\n3. For the inline editing changes the docs
to be rendered as a component\r\ninside the editor (exactly as the
history component)\r\n\r\nNote: The documentation in the inline editing
has limited space (same\r\nproblem has the history component). I need to
sync with Ryan to see what\r\nwe can do, I am exploring some ideas in
follow up PRs\r\n\r\n<img width=\"647\"
alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/2fa9fcc3-2a07-4bea-b675-5ae6578696d3\">\r\n\r\n4.
Moves the esql docs to the language package and the script
associated\r\nto this\r\n\r\n### Follow up\r\n- The language package
should be renamed as the `popover` makes sense\r\nonly for the formula
implementation now. I will do it after this PR gets\r\nmerged\r\n- See
how we can give more space to the docs / history container when
in\r\ninline mode\r\n\r\n### Note\r\nThe async bundle got increased as
we want the ES|QL docs in unified\r\nsearch too. It wont be a problem as
is loaded asynchronously.\r\n\r\n### Checklist\r\n\r\n- [ ] Any text
added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [ ] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] Any UI
touched in this PR is usable by keyboard only (learn more\r\nabout
[keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n-
[ ] Any UI touched in this PR does not create any new axe
failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[ ] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[ ] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by:
Ryan Keairns <[email protected]>\r\nCo-authored-by: Drew Tate
<[email protected]>\r\nCo-authored-by: Elastic Machine
<[email protected]>","sha":"dfbd7de3f53cae4b81d8643283f106cbf16e3415"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Stratoula Kalafateli <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked enhancement New value added to drive a business result epic Feature:ES|QL ES|QL related features in Kibana impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. Team:ESQL ES|QL related features in Kibana
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants