jsketcher/web/app/sketcher/components/Scope.jsx
2020-03-15 01:43:19 -07:00

34 lines
711 B
JavaScript

import React from "react";
export class Scope extends React.Component {
state = {
hasError: false,
};
recover = () => {
toRecover.delete(this.recover);
this.setState({hasError: false});
};
componentDidCatch(e) {
this.setState({hasError: true});
setTimeout(() => toRecover.add(this.recover), 300);
console.error(e);
}
render() {
if (this.state.hasError) {
return this.props.message || null;
}
return this.props.children;
}
}
const toRecover = new Set();
document.addEventListener('DOMContentLoaded', function() {
document.addEventListener("mouseup", function( e ) {
setTimeout(() => toRecover.forEach(r => r()), 300);
}, false)
}, false);