import React, { Component, PropTypes } from 'react'
import { connect } from 'react-redux'
import FileChooser from '../common/FileChooser'
import Dropdown, {Divider} from '../common/Dropdown'
import * as flowsActions from '../../ducks/flows'

FileMenu.propTypes = {
    clearFlows: PropTypes.func.isRequired,
    loadFlows: PropTypes.func.isRequired,
    saveFlows: PropTypes.func.isRequired
}

FileMenu.onNewClick = (e, clearFlows) => {
    e.preventDefault();
    if (confirm('Delete all flows?'))
        clearFlows()
}

function FileMenu ({clearFlows, loadFlows, saveFlows}) {
     return (
        <Dropdown className="pull-left" btnClass="special" text="mitmproxy">
            <a href="#" onClick={e => FileMenu.onNewClick(e, clearFlows)}>
                <i className="fa fa-fw fa-file"></i>
                New
            </a>
            <FileChooser
                icon="fa-folder-open"
                text="Open..."
                onOpenFile={file => loadFlows(file)}
            />
            <a href="#" onClick={e =>{ e.preventDefault(); saveFlows();}}>
                <i className="fa fa-fw fa-floppy-o"></i>
                Save...
            </a>

            <Divider/>

            <a href="http://mitm.it/" target="_blank">
                <i className="fa fa-fw fa-external-link"></i>
                Install Certificates...
            </a>
        </Dropdown>
    )
}

export default connect(
    null,
    {
        clearFlows: flowsActions.clear,
        loadFlows: flowsActions.upload,
        saveFlows: flowsActions.download,
    }
)(FileMenu)
ref='/cgit/xen/xen/refs/?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>refs</a><a href='/cgit/xen/xen/log/tools/libaio/Makefile?h=4.1.1-rc2'>log</a><a class='active' href='/cgit/xen/xen/tree/tools/libaio/Makefile?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>tree</a><a href='/cgit/xen/xen/commit/tools/libaio/Makefile?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>commit</a><a href='/cgit/xen/xen/diff/tools/libaio/Makefile?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>diff</a><a href='/cgit/xen/xen/stats/tools/libaio/Makefile?h=4.1.1-rc2'>stats</a></td><td class='form'><form class='right' method='get' action='/cgit/xen/xen/log/tools/libaio/Makefile'>
<input type='hidden' name='h' value='4.1.1-rc2'/><input type='hidden' name='id' value='cd402c7539fef4dccad692fcbec4a1d3136e967f'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit/xen/xen/tree/?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>root</a>/<a href='/cgit/xen/xen/tree/tools?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>tools</a>/<a href='/cgit/xen/xen/tree/tools/libaio?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>libaio</a>/<a href='/cgit/xen/xen/tree/tools/libaio/Makefile?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>Makefile</a></div><div class='content'>blob: 06d8775e339b1442ae04fc5cef7e5c72c7b06229 (<a href='/cgit/xen/xen/plain/tools/libaio/Makefile?h=4.1.1-rc2&amp;id=cd402c7539fef4dccad692fcbec4a1d3136e967f'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
<a id='n10' href='#n10'>10</a>
<a id='n11' href='#n11'>11</a>
<a id='n12' href='#n12'>12</a>
<a id='n13' href='#n13'>13</a>
<a id='n14' href='#n14'>14</a>
<a id='n15' href='#n15'>15</a>
<a id='n16' href='#n16'>16</a>
<a id='n17' href='#n17'>17</a>
<a id='n18' href='#n18'>18</a>
<a id='n19' href='#n19'>19</a>
<a id='n20' href='#n20'>20</a>
<a id='n21' href='#n21'>21</a>
<a id='n22' href='#n22'>22</a>
<a id='n23' href='#n23'>23</a>
<a id='n24' href='#n24'>24</a>
<a id='n25' href='#n25'>25</a>
<a id='n26' href='#n26'>26</a>
<a id='n27' href='#n27'>27</a>
<a id='n28' href='#n28'>28</a>
<a id='n29' href='#n29'>29</a>
<a id='n30' href='#n30'>30</a>
<a id='n31' href='#n31'>31</a>
<a id='n32' href='#n32'>32</a>
<a id='n33' href='#n33'>33</a>
<a id='n34' href='#n34'>34</a>
<a id='n35' href='#n35'>35</a>
<a id='n36' href='#n36'>36</a>
<a id='n37' href='#n37'>37</a>
<a id='n38' href='#n38'>38</a>
<a id='n39' href='#n39'>39</a>
<a id='n40' href='#n40'>40</a>
</pre></td>
<td class='lines'><pre><code>