From 91de3e784bb3f19d3c1a936bf83377eec11e68c3 Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Sun, 27 Nov 2016 16:37:21 -0500 Subject: [PATCH] Multiple error support When there's multiple errors, simply state that there are more instead of re-rendering --- packages/react-dev-utils/failFast.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/react-dev-utils/failFast.js b/packages/react-dev-utils/failFast.js index cf2989f3..d3acc133 100644 --- a/packages/react-dev-utils/failFast.js +++ b/packages/react-dev-utils/failFast.js @@ -61,9 +61,26 @@ } let overlayReference = null + let additionalCount = 0 + + function renderAdditional() { + ++additionalCount + const title = overlayReference.childNodes[1] + const children = title.childNodes + const text = document.createTextNode(` (+${additionalCount} more)`) + if (children.length < 2) { + title.appendChild(text) + } else { + title.removeChild(children[children.length - 1]) + title.appendChild(text) + } + } function render(name, message, frames) { - if (overlayReference !== null) unmount() + if (overlayReference !== null) { + renderAdditional() + return + } // Create container const overlay = document.createElement('div') applyStyles(overlay, overlayStyle) @@ -112,6 +129,7 @@ // Mount document.body.appendChild(overlayReference = overlay) + additionalCount = 0 } function unmount() {