_ = require 'underscore' React = require 'react' classNames = require 'classnames' {ListTabular, RetinaImg, MailLabel, MailImportantIcon, InjectedComponentSet} = require 'nylas-component-kit' {Thread, CategoryStore, FocusedPerspectiveStore} = require 'nylas-exports' {ThreadArchiveQuickAction, ThreadTrashQuickAction} = require './thread-list-quick-actions' {timestamp, subject} = require './formatting-utils' ThreadListParticipants = require './thread-list-participants' ThreadListStore = require './thread-list-store' ThreadListIcon = require './thread-list-icon' c1 = new ListTabular.Column name: "★" resolver: (thread) => [ ] c2 = new ListTabular.Column name: "Participants" width: 200 resolver: (thread) => hasDraft = _.find (thread.metadata ? []), (m) -> m.draft if hasDraft
else c3LabelComponentCache = {} c3 = new ListTabular.Column name: "Message" flex: 4 resolver: (thread) => attachment = [] labels = [] if thread.hasAttachments attachment =
currentCategories = FocusedPerspectiveStore.current().categories() ? [] account = FocusedPerspectiveStore.current().account ignoredIds = _.pluck(currentCategories, 'id') ignoredIds.push(cat.id) for cat in CategoryStore.hiddenCategories(account) for label in (thread.sortedLabels()) continue if label.id in ignoredIds c3LabelComponentCache[label.id] ?= labels.push c3LabelComponentCache[label.id] {labels} {subject(thread.subject)} {thread.snippet} {attachment} c4 = new ListTabular.Column name: "Date" resolver: (thread) => {timestamp(thread.lastMessageReceivedTimestamp)} c5 = new ListTabular.Column name: "HoverActions" resolver: (thread) =>
]} matching={role: "ThreadListQuickAction"} className="thread-injected-quick-actions" exposedProps={thread: thread}/>
cNarrow = new ListTabular.Column name: "Item" flex: 1 resolver: (thread) => pencil = [] attachment = [] hasDraft = _.find (thread.metadata ? []), (m) -> m.draft if thread.hasAttachments attachment =
if hasDraft pencil =
{pencil} {attachment} {timestamp(thread.lastMessageReceivedTimestamp)}
{subject(thread.subject)}
{thread.snippet}
module.exports = Narrow: [cNarrow] Wide: [c1, c2, c3, c4, c5]