public/js/components/Utilities/PresenceIndicator.js (33 lines of code) (raw):

import React from 'react'; import {PropTypes} from 'prop-types'; export default class PresenceIndicator extends React.Component { static propTypes = { presence: PropTypes.object }; getInitials(firstName, lastName) { return `${firstName.slice(0, 1)}${lastName.slice(0,1)}`; } renderPresenceUser = (state) => { const user = state.clientId.person; return ( <li key="state.clientId.connId" className="presence-list__user" title={user.firstName + " " + user.lastName}>{this.getInitials(user.firstName, user.lastName)}</li> ); }; renderPresenceUsers = () => { const statesOnThisArea = this.props.presence.currentState.filter((state) => state.location === 'document'); return ( <ul className="presence-list"> {statesOnThisArea.map(this.renderPresenceUser)} </ul> ); }; render() { return ( <div className="toolbar__item"> <div> {this.renderPresenceUsers()} </div> </div> ); } }