Mailspring/internal_packages/inbox-activity-bar/lib/activity-bar-long-poll-item.cjsx
Evan Morikawa e3dfbe59be refactor(react): convert to class-based React components
Summary: Fix react upgrade errors

Test Plan: edgehill --test

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://review.inboxapp.com/D1456
2015-04-30 13:08:29 -07:00

34 lines
922 B
CoffeeScript

React = require 'react/addons'
moment = require 'moment'
class ActivityBarLongPollItem extends React.Component
@displayName: 'ActivityBarLongPollItem'
constructor: (@props) ->
@state = expanded: false
render: =>
if @state.expanded
payload = JSON.stringify(@props.item)
else
payload = []
itemId = @props.item.id
itemVersion = @props.item.version || @props.item.attributes?.version
itemId += " (version #{itemVersion})" if itemVersion
timestamp = moment(@props.item.timestamp).format("h:mm:ss")
<div className={"item"} onClick={ => @setState expanded: not @state?.expanded}>
<div className="cursor">{@props.item.cursor}</div>
{" #{timestamp}: #{@props.item.event} #{@props.item.object} #{itemId}"}
<div className="payload" onClick={ (e) -> e.stopPropagation() }>
{payload}
</div>
</div>
module.exports = ActivityBarLongPollItem