feat(framework): Make addCustomCSS dynamic #2083
Merged
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.
The
addCustomCSS
API used to be static - custom styles were cached together with built-in styles and never re-evaluated (except for FF/Safari).This change makes
addCustomCSS
affect already rendered components too, for all browsers:addCustomCSS
invalidates all cached CSS resources for the particular tag - constructable stylesheets (Chrome), style tags (IE11/Edge), and calculated effective styles (FF, Safari).addCustomCSS
invalidates all already rendered components with this tag._render
rather than in_initializeContainers
(basicallyconstructor
) to make it dynamic, but all style resources are now cached.The following modules implement CSS resource caching and invalidation:
getEffectiveStyle
getConstructableStyle
createComponentStyleTag
To support this change,
RenderScheduler.reRenderAllUI5Elements
now can also invalidate based ontag
.In addition,
addCustomCSS
no longer displays a warning for trying to pass the theme as parameter since it's been more than a year since that change.closes: #2079