Prevent OverlayLoader content re-renders

OverlayLoader should not cause re-render of content it covers.
This behavior is different from other Loaders. This change
removes use of BaseLoader from OverlayLoader and makes it just add
additional markup when loader is active

Closes-Bug: 1747635
Change-Id: Idb3a5291f6d8697f29c0273c9aa0244ea221292e
This commit is contained in:
Jiri Tomasek
2018-02-05 13:41:00 +01:00
parent c0b4b72534
commit f378df4f92

View File

@@ -157,20 +157,14 @@ export const OverlayLoader = ({
children,
className,
component,
componentProps,
containerClassName,
content,
loaded,
...rest
}) => (
<BaseLoader
component={component}
componentProps={componentProps}
loaded={loaded}
originalContent={children}
>
<div className={containerClassName} style={{ position: 'relative' }}>
{children}
<div className={containerClassName} style={{ position: 'relative' }}>
{children}
{!loaded && (
<div
className={cx('overlay-loader', className)}
onClick={e => e.stopPropagation()}
@@ -179,9 +173,9 @@ export const OverlayLoader = ({
<Spinner />
{content && <div className="text-center">{content}</div>}
</div>
<div className="clearfix" />
</div>
</BaseLoader>
)}
<div className="clearfix" />
</div>
);
OverlayLoader.propTypes = {
...defaultLoaderPropTypes,