From d38c3b679c7d6e553784b36a655f4cab9623bfef Mon Sep 17 00:00:00 2001 From: Ryland Herrick Date: Wed, 11 Sep 2019 13:24:31 -0500 Subject: [PATCH] [Code] Search results are fixed to top of page (#45182) * 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 c633337d7e54..23eb111981a8 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 0d76d9c55f55..711476e92b4c 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 6b40f0e6106b..632018cdd03c 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; }