_ = require 'underscore' React = require 'react' {Actions, Utils, Thread, AddRemoveTagsTask, NamespaceStore} = require 'nylas-exports' class ThreadListIcon extends React.Component @displayName: 'ThreadListIcon' @propTypes: thread: React.PropTypes.object _iconType: => myEmail = NamespaceStore.current()?.emailAddress if @props.thread.hasTagId('starred') return 'thread-icon-star' if @props.thread.unread return 'thread-icon-unread thread-icon-star-on-hover' msgs = @_nonDraftMessages() last = msgs[msgs.length - 1] if msgs.length > 1 and last.from[0]?.email is myEmail if Utils.isForwardedMessage(last) return 'thread-icon-forwarded thread-icon-star-on-hover' else return 'thread-icon-replied thread-icon-star-on-hover' return 'thread-icon-star-on-hover' _nonDraftMessages: => msgs = @props.thread.metadata return [] unless msgs and msgs instanceof Array msgs = _.filter msgs, (m) -> m.isSaved() and not m.draft return msgs render: =>
_onToggleStar: (event) => if @props.thread.hasTagId('starred') star = new AddRemoveTagsTask(@props.thread, [], ['starred']) else star = new AddRemoveTagsTask(@props.thread, ['starred'], []) Actions.queueTask(star) # Don't trigger the thread row click event.stopPropagation() module.exports = ThreadListIcon