webpackHotUpdate(0,{

/***/ 213:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(223);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_css__ = __webpack_require__(214);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__output_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__output_css__);\n\n\n\n\n\nclass Output extends __WEBPACK_IMPORTED_MODULE_0_react___default.a.Component {\n\n  constructor(props) {\n    super(props);\n    this.state = { messages: [] };\n  }\n\n  clearList() {\n    this.setState({ messages: [] });\n  }\n\n  componentDidMount() {\n    const oldFunc = this.props.instance[`out_${this.props.port.name}`];\n    const self = this;\n    function decoratedOutput(msg) {\n      oldFunc(msg);\n      self.setState({ messages: self.state.messages.concat(msg) });\n    }\n    this.props.instance[`out_${this.props.port.name}`] = decoratedOutput;\n  }\n\n  render() {\n    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n      'div',\n      { className: 'output' },\n      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n        'div',\n        { className: 'output-header' },\n        __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n          'h4',\n          null,\n          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n            'span',\n            { className: 'name' },\n            this.props.port.name\n          ),\n          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n            'span',\n            { className: 'clickable', onClick: () => this.clearList() },\n            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i', { className: 'fa fa-trash' })\n          )\n        )\n      ),\n      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n        'ul',\n        { className: 'list' },\n        this.state.messages.map((msg, i) => __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n          'li',\n          { key: i },\n          msg\n        ))\n      )\n    );\n  }\n}\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Output;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjEzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Jyb3dzZXItdGVzdGVyL3NyYy9jb21wb25lbnRzL091dHB1dC9pbmRleC5qcz9hMDhjIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgJy4vb3V0cHV0LmNzcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE91dHB1dCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHsgbWVzc2FnZXM6IFtdIH07XG4gIH1cblxuICBjbGVhckxpc3QoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IG1lc3NhZ2VzOiBbXSB9KTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IG9sZEZ1bmMgPSB0aGlzLnByb3BzLmluc3RhbmNlW2BvdXRfJHt0aGlzLnByb3BzLnBvcnQubmFtZX1gXTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBmdW5jdGlvbiBkZWNvcmF0ZWRPdXRwdXQobXNnKSB7XG4gICAgICBvbGRGdW5jKG1zZyk7XG4gICAgICBzZWxmLnNldFN0YXRlKHsgbWVzc2FnZXM6IHNlbGYuc3RhdGUubWVzc2FnZXMuY29uY2F0KG1zZykgfSk7XG4gICAgfVxuICAgIHRoaXMucHJvcHMuaW5zdGFuY2VbYG91dF8ke3RoaXMucHJvcHMucG9ydC5uYW1lfWBdID0gZGVjb3JhdGVkT3V0cHV0O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm91dHB1dFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm91dHB1dC1oZWFkZXJcIj5cbiAgICAgICAgICA8aDQ+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJuYW1lXCI+e3RoaXMucHJvcHMucG9ydC5uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNsaWNrYWJsZVwiIG9uQ2xpY2s9eygpID0+IHRoaXMuY2xlYXJMaXN0KCl9PlxuICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJmYSBmYS10cmFzaFwiPjwvaT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2g0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHVsIGNsYXNzTmFtZT1cImxpc3RcIj5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5tZXNzYWdlcy5tYXAoKG1zZywgaSkgPT4gKFxuICAgICAgICAgICAgPGxpIGtleT17aX0+e21zZ308L2xpPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIGJyb3dzZXItdGVzdGVyL3NyYy9jb21wb25lbnRzL091dHB1dC9pbmRleC5qcyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFGQTtBQURBO0FBUUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBVEE7QUFnQkE7QUF2Q0E7OyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///213\n");

/***/ })

})