// Copyright 2015-2017 Parity Technologies (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . import React, { Component, PropTypes } from 'react'; import Response from '../Response'; import styles from './Call.css'; export default class Call extends Component { render () { let { callNo, name, params, response } = this.props.call; params = this.formatParams(params); return (
#{ callNo }
{ name }({ params })
); } setElement = el => { this.element = el; } setActiveCall = () => { this.props.setActiveCall(this.props.call, this.element); } formatParams (params) { return params.reduce((str, p) => { if (str !== '') { str += ', '; } if (p === undefined) { return str; } if (typeof p === 'object' || typeof p === 'string') { p = JSON.stringify(p); } return str + p; }, ''); } static propTypes = { call: PropTypes.object.isRequired, setActiveCall: PropTypes.func.isRequired } }