import React from 'react'; import { Overlay, Popover, ButtonToolbar, Button } from 'react-bootstrap'; import ReactDOM from 'react-dom'; import { durationDisplay } from '../../../commons/utils'; import { app } from '../../../core/app'; export default class TreatPopup extends React.Component { constructor(props) { super(props); this._getTarget = this._getTarget.bind(this); this.renderPresc = this.renderPresc.bind(this); } _getTarget() { return ReactDOM.findDOMNode(this.props.target); } renderPeriod(period) { return (
{period.ini.format('L')}
{period.end.format('L')}
{__('period.duration') + ': '} {durationDisplay(period.ini, period.end)}
); } renderUnit(data) { return (
{ this.renderPeriod(data) }
); } renderPresc(data) { const onDeleteClick = () => app.messageDlg({ title: __('cases.treat.prescription.delete'), message: __('form.confirm_remove'), style: 'warning', type: 'YesNo' }).then(res => { if (res === 'yes') { app.dispatch('del-prescription', data); } }); const onEditClick = () => app.dispatch('edt-prescription', this.props.data.data); return (
{ this.renderPeriod(data) }
{__('PrescribedMedicine.frequency') + ': '} {data.data.frequency + '/7'}
{__('PrescribedMedicine.doseUnit') + ': '} {data.data.doseUnit}
{ data.data.comments &&
{__('global.comments') + ': '} {data.data.comments}
}
); } render() { if (!this.props.target) { return null; } const data = this.props.data; const res = data.presc ? { title: data.presc.product.name, content: this.renderPresc(data) } : { title: data.text, content: this.renderUnit(data) }; return ( {res.title}} id="ppbar"> {res.content} ); } } TreatPopup.propTypes = { title: React.PropTypes.string, show: React.PropTypes.bool, target: React.PropTypes.any, data: React.PropTypes.object, onHide: React.PropTypes.func };