mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-01-08 01:04:39 +08:00
45 lines
1.4 KiB
Text
45 lines
1.4 KiB
Text
|
_ = require 'underscore-plus'
|
||
|
React = require "react"
|
||
|
|
||
|
module.exports =
|
||
|
MessageParticipants = React.createClass
|
||
|
displayName: 'MessageParticipants'
|
||
|
|
||
|
render: ->
|
||
|
<div className="participants message-participants">
|
||
|
{@_formattedParticipants()}
|
||
|
</div>
|
||
|
|
||
|
_formattedParticipants: ->
|
||
|
<span>
|
||
|
<span className="participant-label from-label">From:</span>
|
||
|
<span className="participant-name from-contact">{@_joinNames(@props.from)}</span>
|
||
|
{if @_isToEveryone() then @_toEveryone() else @_toSome()}
|
||
|
</span>
|
||
|
|
||
|
_toEveryone: ->
|
||
|
<span>
|
||
|
<span className="participant-label to-label">To: </span>
|
||
|
<span className="participant-name to-everyone">Everyone</span>
|
||
|
</span>
|
||
|
|
||
|
_toSome: ->
|
||
|
if @props.cc.length > 0
|
||
|
cc_spans = <span>
|
||
|
<span className="participant-label cc-label">CC: </span>
|
||
|
<span className="participant-name cc-contact">{@_joinNames(@props.cc)}</span>
|
||
|
</span>
|
||
|
<span>
|
||
|
<span className="participant-label to-label">To: </span>
|
||
|
<span className="participant-name to-contact">{@_joinNames(@props.to)}</span>
|
||
|
{cc_spans}
|
||
|
</span>
|
||
|
|
||
|
_joinNames: (contacts=[]) ->
|
||
|
_.map(contacts, (c) -> c.displayFirstName()).join(", ")
|
||
|
|
||
|
_isToEveryone: ->
|
||
|
mp = _.map(@props.message_participants, (c) -> c.email)
|
||
|
tp = _.map(@props.thread_participants, (c) -> c.email)
|
||
|
mp.length > 10 and _.difference(tp, mp).length is 0
|