fix(core): record renderMode as a string for custom renderer classes - #4929
Draft
lukecotter wants to merge 1 commit into
Draft
fix(core): record renderMode as a string for custom renderer classes#4929lukecotter wants to merge 1 commit into
lukecotter wants to merge 1 commit into
Conversation
RowManager stored options.renderVertical verbatim in renderMode. When a custom renderer class was passed (renderVertical: SomeRenderer), the class was stringified into the tabulator-render-mode DOM attribute (via _showPlaceholder) and returned by getRenderMode() as a function rather than a mode string. Resolve renderMode to the string option key, else the renderer's own declared string renderMode, else "virtual".
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.
Problem
A custom renderer supplied as a class makes
renderModea constructor rather than astring.
ResizeTable.js:43gates on the literalrenderMode === "virtual", so thatcomparison silently fails and table resizing stops working for custom renderers.
Fix
Record
renderModeas a string when a renderer class is supplied.Performance
Neutral, as intended. 500k rows, headless Chromium, K=5, medians:
Mutation churn is byte-identical, so the renderer does exactly the same work. The
render-ms spread is harness noise at this sample size.