React = require "react/addons" classNames = require 'classnames' ThreadListStore = require './thread-list-store' {RetinaImg} = require 'nylas-component-kit' {Actions, FocusedContentStore} = require "nylas-exports" class ThreadBulkArchiveButton extends React.Component @displayName: 'ThreadBulkArchiveButton' @containerRequired: false @propTypes: selection: React.PropTypes.object.isRequired render: -> _onArchive: => Actions.archiveSelection() class ThreadBulkStarButton extends React.Component @displayName: 'ThreadBulkStarButton' @containerRequired: false @propTypes: selection: React.PropTypes.object.isRequired render: -> _onStar: => Actions.toggleStarSelection() ThreadNavButtonMixin = getInitialState: -> @_getStateFromStores() componentDidMount: -> @_unsubscribe = ThreadListStore.listen @_onStoreChange @_unsubscribe_focus = FocusedContentStore.listen @_onStoreChange isFirstThread: -> selectedId = FocusedContentStore.focusedId('thread') ThreadListStore.view().get(0)?.id is selectedId isLastThread: -> selectedId = FocusedContentStore.focusedId('thread') lastIndex = ThreadListStore.view().count() - 1 ThreadListStore.view().get(lastIndex)?.id is selectedId componentWillUnmount: -> @_unsubscribe() @_unsubscribe_focus() _onStoreChange: -> @setState @_getStateFromStores() DownButton = React.createClass displayName: 'DownButton' mixins: [ThreadNavButtonMixin] render: ->