mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-12 04:25:31 +08:00
e3dfbe59be
Summary: Fix react upgrade errors Test Plan: edgehill --test Reviewers: bengotow Reviewed By: bengotow Differential Revision: https://review.inboxapp.com/D1456
39 lines
1 KiB
CoffeeScript
39 lines
1 KiB
CoffeeScript
React = require 'react'
|
|
_ = require "underscore-plus"
|
|
{Utils, FileDownloadStore, Actions} = require 'inbox-exports'
|
|
{Spinner, EventedIFrame} = require 'ui-components'
|
|
FileFrameStore = require './file-frame-store'
|
|
|
|
class FileFrame extends React.Component
|
|
@displayName: 'FileFrame'
|
|
|
|
render: =>
|
|
src = if @state.ready then @state.filepath else ''
|
|
if @state.file
|
|
<div className="file-frame-container">
|
|
<EventedIFrame src={src} />
|
|
<Spinner visible={!@state.ready} />
|
|
</div>
|
|
else
|
|
<div></div>
|
|
|
|
constructor: (@props) ->
|
|
@state = @getStateFromStores()
|
|
|
|
componentDidMount: =>
|
|
@_unsubscribers = []
|
|
@_unsubscribers.push FileFrameStore.listen @_onChange
|
|
|
|
componentWillUnmount: =>
|
|
unsubscribe() for unsubscribe in @_unsubscribers
|
|
|
|
getStateFromStores: =>
|
|
file: FileFrameStore.file()
|
|
filepath: FileDownloadStore.pathForFile(FileFrameStore.file())
|
|
ready: FileFrameStore.ready()
|
|
|
|
_onChange: =>
|
|
@setState(@getStateFromStores())
|
|
|
|
|
|
module.exports = FileFrame
|