Speed up rendering of large docs in doc table#9014
Merged
Bargs merged 2 commits intoelastic:masterfrom Nov 14, 2016
Merged
Conversation
Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. I compared how the browser renders things with and without the <wbr>'s and there's almost no difference, certainly nothing as dramatic as shown in the linked PR which added this word breaking functionality. Perhaps browsers have improved in the last two years, or perhaps something changed in our CSS. Since we're getting no or negligible value from this utility and it makes Discover impossible to use with large docs, I simply removed it. Fixes elastic#6328 Related elastic#1993
Member
|
I have examined the change in various scenarios and saw some unfortunate column sizing without the Maybe this is a suitable replacement with better performance? |
Contributor
Author
|
Great idea, I think break-word is exactly what we should use. Based on my tests I suspected it was already being used but I guess I didn't hit the right edge case. I'll update the PR. |
To maintain similar word breaking without adding <wbr> tags I've added some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21
Contributor
Author
|
PR updated and ready for re-testing. I had to provide a fallback rule as well because break-word is not yet a part of the CSS standard. |
lukasolson
approved these changes
Nov 11, 2016
Bargs
pushed a commit
that referenced
this pull request
Nov 15, 2016
Backports PR #9014 **Commit 1:** Speed up rendering of large docs in doc table Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. I compared how the browser renders things with and without the <wbr>'s and there's almost no difference, certainly nothing as dramatic as shown in the linked PR which added this word breaking functionality. Perhaps browsers have improved in the last two years, or perhaps something changed in our CSS. Since we're getting no or negligible value from this utility and it makes Discover impossible to use with large docs, I simply removed it. Fixes #6328 Related #1993 * Original sha: fc443bb * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-09T00:11:45Z **Commit 2:** Improve word breaking in doc table To maintain similar word breaking without adding <wbr> tags I've added some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21 * Original sha: ac38524 * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-10T23:01:30Z
Bargs
pushed a commit
that referenced
this pull request
Nov 15, 2016
Backports PR #9014 **Commit 1:** Speed up rendering of large docs in doc table Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. I compared how the browser renders things with and without the <wbr>'s and there's almost no difference, certainly nothing as dramatic as shown in the linked PR which added this word breaking functionality. Perhaps browsers have improved in the last two years, or perhaps something changed in our CSS. Since we're getting no or negligible value from this utility and it makes Discover impossible to use with large docs, I simply removed it. Fixes #6328 Related #1993 * Original sha: fc443bb * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-09T00:11:45Z **Commit 2:** Improve word breaking in doc table To maintain similar word breaking without adding <wbr> tags I've added some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21 * Original sha: ac38524 * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-10T23:01:30Z
elastic-jasper
added a commit
that referenced
this pull request
Nov 18, 2016
Backports PR #9014 **Commit 1:** Speed up rendering of large docs in doc table Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. I compared how the browser renders things with and without the <wbr>'s and there's almost no difference, certainly nothing as dramatic as shown in the linked PR which added this word breaking functionality. Perhaps browsers have improved in the last two years, or perhaps something changed in our CSS. Since we're getting no or negligible value from this utility and it makes Discover impossible to use with large docs, I simply removed it. Fixes #6328 Related #1993 * Original sha: fc443bb * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-09T00:11:45Z **Commit 2:** Improve word breaking in doc table To maintain similar word breaking without adding <wbr> tags I've added some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21 * Original sha: ac38524 * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-10T23:01:30Z
Bargs
pushed a commit
to Bargs/kibana
that referenced
this pull request
Nov 18, 2016
Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. We can maintain similar word breaking without adding <wbr> tags by adding some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21 Fixes elastic#6328 Related elastic#1993
epixa
pushed a commit
that referenced
this pull request
Nov 21, 2016
Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. We can maintain similar word breaking without adding <wbr> tags by adding some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21 Fixes #6328 Related #1993
airow
pushed a commit
to airow/kibana
that referenced
this pull request
Feb 16, 2017
Backports PR elastic#9014 **Commit 1:** Speed up rendering of large docs in doc table Back in 2014 a utility was added to insert <wbr> (word break opportunity) tags into doc table fields to improve their display in the browser. This utility looped over every character in _source when it was selected as a column in the doc table, which it was be default. That really started to slow things down when displaying large docs. I compared how the browser renders things with and without the <wbr>'s and there's almost no difference, certainly nothing as dramatic as shown in the linked PR which added this word breaking functionality. Perhaps browsers have improved in the last two years, or perhaps something changed in our CSS. Since we're getting no or negligible value from this utility and it makes Discover impossible to use with large docs, I simply removed it. Fixes elastic#6328 Related elastic#1993 * Original sha: fc443bb * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-09T00:11:45Z **Commit 2:** Improve word breaking in doc table To maintain similar word breaking without adding <wbr> tags I've added some css styles that do essentially the same job. word-break: break-word gives us the best formatting but it's not a part of the standard yet (see link below) so I provided an almost-as-good fallback with break-all. https://bugs.chromium.org/p/chromium/issues/detail?id=492202#c21 * Original sha: ac38524 * Authored by Matthew Bargar <mbargar@gmail.com> on 2016-11-10T23:01:30Z Former-commit-id: 379abee
mgadewoll
added a commit
that referenced
this pull request
Feb 23, 2026
## Dependency updates - `@elastic/eui` - v112.3.0 ⏩ v113.0.0 - `@elastic/eui-theme-borealis` - v5.4.0 ⏩ v6.0.0 - `@elastic/eslint-plugin-eui` - v2.8.0 ⏩ v2.9.0 --- ## Changes 1. EUI component update: API and Design updates to form layout append/prepend by using the new components `EuiFormPrepend` and `EuiFormAppend` (EUI [#9308](elastic/eui#9308)) >[!important] ❗ This upgrade PR includes all changes previously made in the specific QA PR #248805. Please see the description in that PR for detailed information about the specific changes. 2. Additional changes related to the form layout changes >[!note] 🔗 Please see the [section "Additional changes"](#248805 (comment)) in #248805 for an overview of additional changes. 3. Removed token update: Replaced `ghost` and `ink` token usages with `textInk` or `plainDark` and `textGhost` or `plainLight` respectively (EUI [#9379](elastic/eui#9379)) ## Package updates ### `@elastic/eui` [v113.0.0](https://github.com/elastic/eui/releases/tag/v113.0.0) - Updated `EuiFlyout` manager to close all flyouts when a parent flyout is closed. ([#9378](elastic/eui#9378)) - Added `textInk` and `textGhost` color tokens for text and icon colors that should always remain dark or light regardless of color mode. ([#9379](elastic/eui#9379)) - Added `EuiFormAppend` and `EuiFormPrepend` components ([#9014](elastic/eui#9014)) - Added support for `type="span"` on `EuiFormLabel` for visual-only form labels ([#9014](elastic/eui#9014)) - Updated `EuiFormLabel` to render a `span` if no `htmlFor` is passed ([#9014](elastic/eui#9014)) - Updated `EuiFormControlLayout` to use `EuiFormAppend` and `EuiFormPrepend` ([#9014](elastic/eui#9014)) - Updated `EuiAutoRefresh` and `EuiColorPicker` to use `EuiFormPrepend` ([#9014](elastic/eui#9014)) - Updated `EuiFormAppend`/`EuiFormPrepend` styling ([#9305](elastic/eui#9305)) - Updated `EuiFormAppend`/`EuiFormPrepend` to inherit `isDisabled` state from `EuiFormControlLayout` ([#9305](elastic/eui#9305)) - Updated `EuiFormControlLayout` hover, disabled and readonly styling ([#9305](elastic/eui#9305)) - Updated `EuiFormControlButton` to inherit `isDisabled`, `readOnly` and `isInvalid` states from `EuiFormControlLayout` ([#9305](elastic/eui#9305)) - Added `iconSide` prop on `EuiDatePickerRange` ([#9305](elastic/eui#9305)) - Updated `EuiSuperDatePicker` valid state styling ([#9305](elastic/eui#9305)) - Removed background color transition on `EuiButtonEmpty` (other button variants don't have a transition anymore either) ([#9305](elastic/eui#9305)) - Added `isLoading` prop on `EuiFormControlButton` ([#9328](elastic/eui#9328)) - Updated paddings for `EuiButton`, `EuiButtonEmpty`, `EuiFilterButton` ([#8948](elastic/eui#8948)) - Updated paddings for `append`/`prepend` on `EuiFormControlLayout` ([#8948](elastic/eui#8948)) - Added optional `scrollContainerRef` prop to `EuiFlyoutBody` for accessing the flyout's internal scroll container. ([#9373](elastic/eui#9373)) **Bug fixes** - Updated `EuiColorPicker` to ensure `id` is correctly passed onto the internal `EuiFormControlLayout` ([#9014](elastic/eui#9014)) **Breaking changes** - Removed `ink` and `ghost` theme tokens. Use `textInk` / `textGhost` for text and icon colors or `plainDark` /`plainLight` for non-text use cases. ([#9379](elastic/eui#9379)) - Updated `EuiQuickSelectPopover` in `EuiSuperDatePicker` to use `EuiFormPrepend`. This results in more restricted `buttonProps` as they reflect `EuiFormPrepend` instead of generic `EuiButtonEmpty` props. ([#9014](elastic/eui#9014)) - Removed `components.superDatePickerBackgroundSuccees` token ([#9305](elastic/eui#9305)) ### `@elastic/eui-theme-borealis` v6.0.0 - Added `textInk` and `textGhost` color tokens for text and icon colors that should always remain dark or light regardless of color mode. ([#9379](elastic/eui#9379)) ### `@elastic/eslint-plugin-eui` v2.9.0 - Prevented `badge-accessibility-rules` rule autofix from duplicating `aria-hidden` attributes. ([#9366](elastic/eui#9366)) - Skip `badge-accessibility-rules` rule validation when a spread operator is used in a component. ([#9366](elastic/eui#9366)) --------- Co-authored-by: Weronika Olejniczak <weronika.olejniczak@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Back in 2014 a utility was added to insert (word break opportunity)
tags into doc table fields to improve their display in the browser. This
utility looped over every character in _source when it was selected as a
column in the doc table, which it was be default. That really started to
slow things down when displaying large docs. I compared how the browser
renders things with and without the 's and there's almost no
difference, certainly nothing as dramatic as shown in the linked PR
which added this word breaking functionality. Perhaps browsers have
improved in the last two years, or perhaps something changed in our CSS.
Since we're getting no or negligible value from this utility and it
makes Discover impossible to use with large docs, I simply removed it.
Fixes #6328
Related #1993