Improve interaction between compile and runtime overlays (#2219)

This commit is contained in:
Dan Abramov
2017-05-18 23:07:56 +01:00
committed by GitHub
parent 43b819c2bb
commit 6c8b18b0cd
2 changed files with 10 additions and 5 deletions

View File

@@ -38,7 +38,7 @@ function createOverlayIframe(onIframeLoad) {
iframe.style.width = '100vw';
iframe.style.height = '100vh';
iframe.style.border = 'none';
iframe.style.zIndex = 9999999999;
iframe.style.zIndex = 2147483647;
iframe.onload = onIframeLoad;
return iframe;
}
@@ -192,7 +192,6 @@ function clearOutdatedErrors() {
// Successful compilation.
function handleSuccess() {
clearOutdatedErrors();
destroyErrorOverlay();
var isHotUpdate = !isFirstCompilation;
isFirstCompilation = false;
@@ -200,14 +199,17 @@ function handleSuccess() {
// Attempt to apply hot updates or reload.
if (isHotUpdate) {
tryApplyUpdates();
tryApplyUpdates(function onHotUpdateSuccess() {
// Only destroy it when we're sure it's a hot update.
// Otherwise it would flicker right before the reload.
destroyErrorOverlay();
});
}
}
// Compilation with warnings (e.g. ESLint).
function handleWarnings(warnings) {
clearOutdatedErrors();
destroyErrorOverlay();
var isHotUpdate = !isFirstCompilation;
isFirstCompilation = false;
@@ -231,6 +233,9 @@ function handleWarnings(warnings) {
// Only print warnings if we aren't refreshing the page.
// Otherwise they'll disappear right away anyway.
printWarnings();
// Only destroy it when we're sure it's a hot update.
// Otherwise it would flicker right before the reload.
destroyErrorOverlay();
});
} else {
// Print initial warnings immediately.

View File

@@ -15,7 +15,7 @@ const iframeStyle = {
width: '100%',
height: '100%',
border: 'none',
'z-index': 1337,
'z-index': 2147483647 - 1, // below the compile error overlay
};
const overlayStyle = {