-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Cases] Replace EditableTitle
component with EuiInlineEdit
component
#162095
Conversation
…ases with the EuiInlineEdit component
export const TitleExperimentalBadge = React.memo(ExperimentalBadge); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I chose to export these as individual components to also be used in EditableTitle
(Cases) instead of removing it so I don't disturb other usages.
@@ -87,7 +87,7 @@ const HeaderPageComponent: React.FC<HeaderPageProps> = ({ | |||
return ( | |||
<Header border={border} data-test-subj={dataTestSubj}> | |||
<EuiFlexGroup alignItems="center"> | |||
<FlexItem> | |||
<FlexItem css={{ overflow: 'hidden' }}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Required for the overflow of very long case titles.
return ( | ||
<> | ||
<EuiFlexGroup> | ||
<EuiFlexItem grow={true} css={releasePhase && { overflow: 'hidden' }}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Truncate the case title when a releasePhase
is present so both the title and beta badge can be displayed next to each other on the same line.
I played around a bit with it and it seems to work fine and cover the functionality we need 👍 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Bree,
Thanks a lot for the new component!! I love it. ❤️
I tested different scenarios and they work as expected. 🎉
Just a minor point:
current case title is 34 px, while new component's title is around 22 px.
I'm good with the smaller font size. Thanks for updating this--works great! |
…_cases Merge the latest from main
…_cases Merge in main
…a-test-subj to resolve cases tests
… assist with testing
@elasticmachine merge upstream |
EditableTitle
component with EuiInlineEdit
componentEditableTitle
component with EuiInlineEdit
component
Pinging @elastic/eui-team (EUI) |
Pinging @elastic/response-ops-cases (Feature:Cases) |
Pinging @elastic/response-ops (Team:ResponseOps) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified locally, changes look good 👍
Few questions:
-
In cases page form fields disable the save button when element has errors.
We have an open issue to align all case view page fields with same behaviour:Disable submit if the form has errors
Do you think we can disable save button when title has errors?
CC: @cnasikas @mdefazio -
When there is an error in the title and user changes the value, shouldn't the error message be removed?
title.mov
return; | ||
} | ||
if (newTitleValue !== title) { | ||
onSubmit(newTitleValue); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about?
onSubmit(newTitleValue); | |
onSubmit(newTitleValue.trim()); |
It looks a bit weird that when editing the spaces are displayed but when showing the title they aren't.
Screen.Recording.2023-07-28.at.15.52.41.mov
What was it we decided on this @js-jankisalvi @cnasikas ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we discussed to handle it separately because current production behaviour is same as here.
However it is a small change so I am okay if Bree wants to make a change in this PR.
iconType="save" | ||
onClick={onClickSubmit} | ||
return ( | ||
<> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: I think this fragment is unnecessary because we are only returning EuiFlexGroup
😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and looks good 👍
Just wondering about trimming the text.
- Remove fragment surrounding inline edit component - Trim title before saving - Add onChange listener to input to reset errors upon input change
…o InlineEdit/obs_cases Pulling in changes made from Gihub
…_cases Pulling from main
In my latest commit (56dabbd), I added a few tweaks and also updated the error message handling so the message is removed when the user starts typing again. The message will return if the input is invalid at save. Screen.Recording.2023-07-28.at.10.46.37.AM.mov |
… are errors within the edit mode text input
I think we can move forward and merge the PR as it is and then fix it ourselves when we start working on the issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work 🎉
@elasticmachine merge upstream |
@cnasikas, @js-jankisalvi, thank you so much for your time and reviews! Bree is out today/tomorrow so I'll go ahead and merge on her behalf once CI passes. Please feel free to tweak UX & implementation in the way your team prefers, and thanks for being our first adopters of EuiInlineEdit! |
Oh, wait, I just noticed we're still missing one pending approval/review from @elastic/security-solution - any idea who to ping for that? :) |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Async chunks
History
To update your PR or re-run it, just comment with: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Threat Hunting - Explore changes LGTM!
Woo hoo, thanks y'all! :) |
…ent (elastic#162095) Included in elastic/eui#6778 Hi team! EUI recently released the EuiInlineEdit component and the Cases page title was identified as a good candidate for the new component. This PR is replaces the inner workings of the EditableTitle component and replaces it with the new EuiInlineEdit component. ## Summary Replace inner component within `EditableTitle` to use to the new `EuiInlineEdit` component. **Read Mode** <img width="1116" alt="image" src="https://github.com/elastic/kibana/assets/40739624/c3aef300-7d7f-44cd-b0a2-da72ef8bedf9"> --- **Edit Mode** <img width="1093" alt="image" src="https://github.com/elastic/kibana/assets/40739624/0567ea9b-29e4-4443-bcbe-7a45f09738ff"> --- **Insufficient Permissions** <img width="1090" alt="image" src="https://github.com/elastic/kibana/assets/40739624/7a83ebc6-7319-415d-a4a8-015fd6f6893b"> --- **Error States** <img width="1093" alt="image" src="https://github.com/elastic/kibana/assets/40739624/1e5360b0-4fe8-4a25-a5e2-d3b235fc6242"> <img width="1108" alt="image" src="https://github.com/elastic/kibana/assets/40739624/ecfdcdc5-9360-4d25-8a4b-7132ec2caa67"> --- **Release Phases** <img width="1096" alt="image" src="https://github.com/elastic/kibana/assets/40739624/cb0ac70b-1ba2-4f3a-8966-25b38043c4a1"> <img width="1096" alt="image" src="https://github.com/elastic/kibana/assets/40739624/23597578-0a36-4190-8e84-804cecbbdf78"> --- ### Checklist Delete any items that are not applicable to this PR. - [ ] ~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~ - [x] [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 - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [x] 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)) - [ ] ~If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~ - [x] 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)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: Kibana Machine <[email protected]>
Included in elastic/eui#6778
Hi team! EUI recently released the EuiInlineEdit component and the Cases page title was identified as a good candidate for the new component. This PR is replaces the inner workings of the EditableTitle component and replaces it with the new EuiInlineEdit component.
Summary
Replace inner component within
EditableTitle
to use to the newEuiInlineEdit
component.Read Mode
Edit Mode
Insufficient Permissions
Error States
Release Phases
Checklist
Delete any items that are not applicable to this PR.
Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n supportDocumentation was added for features that require explanation or tutorialsIf a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker listFor maintainers