From 518a88d5c83da1fa2790d18d5ea6d8fe176dbabb Mon Sep 17 00:00:00 2001 From: Ryland Herrick Date: Wed, 11 Sep 2019 16:32:34 -0500 Subject: [PATCH] [Code] Search results are fixed to top of page (#45182) (#45426) * Fix main search bar to top of screen By allowing overflow on the main content, we implicitly fix the sibling search bar in position. elastic/code#1606 * Allow search suggestion text to be truncated This gives the parent element a width, so that our text-overflow rules apply to these elements. See https://bugzilla.mozilla.org/show_bug.cgi?id=1086218#c4 for details on the issue. * Fix alignment issue with overflowed search suggestions If both the icon and the text are allowed to grow/shrink as needed, flexbox will grow truncated text based on its original width, leading to subtle sub-pixel alignment issues with other rows. By fixing the icon to a specific width, we can ensure that the suggestion text does not grow too big. * Remove unneeded CSS We don't need to flex these elements currently as they contain either no children or inline elements only. * style: prefer camelCase element names over hyphens * Fix search result suggestion overflow on IE Without this directive on the parent, it had no width or flex growth and didn't respect the parent width. This allows it to take on the correct flexed width, and thus take on the overflow rules. * Remove unused CSS rule We have an overriding align-items declaration immediately after this one. --- .../code/public/components/main/main.scss | 18 ++++++------------ .../suggestion_component.test.tsx.snap | 12 +++++++++--- .../suggestions_component.test.tsx.snap | 16 ++++++++++++---- .../typeahead/suggestion_component.tsx | 2 +- .../plugins/code/public/style/_layout.scss | 1 + 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/x-pack/legacy/plugins/code/public/components/main/main.scss b/x-pack/legacy/plugins/code/public/components/main/main.scss index c633337d7e54b..23eb111981a8a 100644 --- a/x-pack/legacy/plugins/code/public/components/main/main.scss +++ b/x-pack/legacy/plugins/code/public/components/main/main.scss @@ -165,18 +165,18 @@ .codeSearch-suggestion--inner { display: flex; - align-items: stretch; flex-grow: 1; align-items: center; white-space: nowrap; } +.codeSearch__suggestionTextContainer { + min-width: 0; + flex: 1; +} + .codeSearch__suggestion-text { color: $euiColorFullShade; - display: flex; - flex-direction: column; - flex-grow: 0; - flex-basis: auto; font-family: $euiCodeFontFamily; margin-right: $euiSizeXL; width: auto; @@ -228,10 +228,6 @@ } .codeSearch-suggestion__description { - flex-grow: 1; - flex-basis: 0%; - display: flex; - flex-direction: column; color: $euiColorDarkShade; overflow: hidden; text-overflow: ellipsis; @@ -242,9 +238,7 @@ .codeSearch-suggestion__token { color: $euiColorFullShade; box-sizing: border-box; - flex-grow: 0; - flex-basis: auto; - width: $euiSizeXL; + flex: 0 0 $euiSizeXL; height: $euiSizeXL; text-align: center; overflow: hidden; diff --git a/x-pack/legacy/plugins/code/public/components/query_bar/components/typeahead/__snapshots__/suggestion_component.test.tsx.snap b/x-pack/legacy/plugins/code/public/components/query_bar/components/typeahead/__snapshots__/suggestion_component.test.tsx.snap index 0d76d9c55f556..711476e92b4c6 100644 --- a/x-pack/legacy/plugins/code/public/components/query_bar/components/typeahead/__snapshots__/suggestion_component.test.tsx.snap +++ b/x-pack/legacy/plugins/code/public/components/query_bar/components/typeahead/__snapshots__/suggestion_component.test.tsx.snap @@ -30,7 +30,9 @@ exports[`render file item 1`] = `
-
+
-
+
-
+
-
+
-
+
-
+
-
+
= props => { >
{icon} -
+
{renderMatchingText(props.suggestion.text)}
diff --git a/x-pack/legacy/plugins/code/public/style/_layout.scss b/x-pack/legacy/plugins/code/public/style/_layout.scss index 6b40f0e6106bc..632018cdd03ce 100644 --- a/x-pack/legacy/plugins/code/public/style/_layout.scss +++ b/x-pack/legacy/plugins/code/public/style/_layout.scss @@ -7,6 +7,7 @@ } .codeContainer__adminMain { + overflow: auto; padding: $euiSize $euiSizeXL; }