import React from "react" import PropTypes from "prop-types" import { List } from "immutable" import Collapse from "react-collapse" export default class Errors extends React.Component { static propTypes = { editorActions: PropTypes.object, errSelectors: PropTypes.object.isRequired, layoutSelectors: PropTypes.object.isRequired, layoutActions: PropTypes.object.isRequired } render() { let { editorActions, errSelectors, layoutSelectors, layoutActions } = this.props if(editorActions && editorActions.jumpToLine) { var jumpToLine = editorActions.jumpToLine } let errors = errSelectors.allErrors() // all thrown errors, plus error-level everything else let allErrorsToDisplay = errors.filter(err => err.get("type") === "thrown" ? true :err.get("level") === "error") if(!allErrorsToDisplay || allErrorsToDisplay.count() < 1) { return null } let isVisible = layoutSelectors.isShown(["errorPane"], true) let toggleVisibility = () => layoutActions.show(["errorPane"], !isVisible) let sortedJSErrors = allErrorsToDisplay.sortBy(err => err.get("line")) return (
Errors
{ sortedJSErrors.map((err, i) => {
let type = err.get("type")
if(type === "thrown" || type === "auth") {
return
}
if(type === "spec") {
return
}
}) }
)
}
}
const ThrownErrorItem = ( { error, jumpToLine } ) => {
if(!error) {
return null
}
let errorLine = error.get("line")
return (