mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-12 04:25:31 +08:00
4619871e8d
Summary: Fixes: T1334 remove final InboxApp references move out all underscore-plus methods Mass find and replace of underscore-plus sed -i '' -- 's/underscore-plus/underscore/g' **/*.coffee sed -i '' -- 's/underscore-plus/underscore/g' **/*.cjsx Test Plan: edgehill --test Reviewers: bengotow Reviewed By: bengotow Differential Revision: https://phab.nylas.com/D1534
49 lines
1.2 KiB
CoffeeScript
49 lines
1.2 KiB
CoffeeScript
{ComponentRegistry,
|
|
WorkspaceStore,
|
|
Actions} = require "nylas-exports"
|
|
{RetinaImg} = require 'nylas-component-kit'
|
|
React = require "react"
|
|
_ = require "underscore"
|
|
|
|
class ModeToggle extends React.Component
|
|
@displayName: 'ModeToggle'
|
|
|
|
constructor: (@props) ->
|
|
@state = @_getStateFromStores()
|
|
|
|
componentDidMount: =>
|
|
@unsubscribe = WorkspaceStore.listen(@_onStateChanged, @)
|
|
|
|
componentWillUnmount: =>
|
|
@unsubscribe?()
|
|
|
|
render: =>
|
|
return <div></div> unless @state.visible
|
|
|
|
<div className="mode-toggle"
|
|
style={order:51, marginTop:10, marginRight:14}
|
|
onClick={@_onToggleMode}>
|
|
<RetinaImg
|
|
name="toolbar-icon-toggle-pane.png"
|
|
colorfill={@state.mode is 'split'}
|
|
onClick={@_onToggleMode} />
|
|
</div>
|
|
|
|
_onStateChanged: =>
|
|
@setState(@_getStateFromStores())
|
|
|
|
_getStateFromStores: =>
|
|
rootModes = WorkspaceStore.rootSheet().supportedModes
|
|
rootVisible = WorkspaceStore.rootSheet() is WorkspaceStore.topSheet()
|
|
|
|
mode: WorkspaceStore.layoutMode()
|
|
visible: rootVisible and rootModes and rootModes.length > 1
|
|
|
|
_onToggleMode: =>
|
|
if @state.mode is 'list'
|
|
Actions.selectLayoutMode('split')
|
|
else
|
|
Actions.selectLayoutMode('list')
|
|
|
|
|
|
module.exports = ModeToggle
|