feeles-ide
Version:
The hackable and serializable IDE to make learning material
128 lines (105 loc) • 3.99 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _typestyle = require("typestyle");
var _red = _interopRequireDefault(require("@material-ui/core/colors/red"));
var cn = {
root: (0, _typestyle.style)({
position: 'absolute',
width: '100%',
top: 0,
display: 'flex',
flexDirection: 'column',
backgroundColor: _red.default['500'],
zIndex: 3000
}),
pre: (0, _typestyle.style)({
width: '100%',
maxHeight: '8rem',
color: 'white',
overflow: 'scroll',
fontFamily: 'Consolas, "Liberation Mono", Menlo, Courier, monospace'
})
};
var ErrorMessage =
/*#__PURE__*/
function (_PureComponent) {
(0, _inherits2.default)(ErrorMessage, _PureComponent);
function ErrorMessage() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, ErrorMessage);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(ErrorMessage)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "state", {
open: false
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "handleClose", function () {
_this.setState({
open: false
});
});
return _this;
}
(0, _createClass2.default)(ErrorMessage, [{
key: "componentDidUpdate",
value: function componentDidUpdate(prevProps) {
if (prevProps.error !== this.props.error) {
this.setState({
open: this.props.error !== null
});
}
}
}, {
key: "render",
value: function render() {
return this.state.open ? _react.default.createElement("div", {
className: cn.root
}, _react.default.createElement("div", {
style: {
cursor: 'pointer',
alignSelf: 'flex-end'
},
onClick: this.handleClose
}, _react.default.createElement("svg", {
fill: "white",
style: {
height: 24
},
viewBox: "0 0 24 24"
}, _react.default.createElement("path", {
d: 'M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'
}))), _react.default.createElement("pre", {
className: cn.pre
}, this.message)) : null;
}
}, {
key: "message",
get: function get() {
return this.props.error ? this.props.error.message : '';
}
}]);
return ErrorMessage;
}(_react.PureComponent);
exports.default = ErrorMessage;
(0, _defineProperty2.default)(ErrorMessage, "propTypes", {
error: _propTypes.default.object
});
(0, _defineProperty2.default)(ErrorMessage, "defaultProps", {
error: null
});