diff options
Diffstat (limited to 'web/src/js/components/ContentView.jsx')
-rw-r--r-- | web/src/js/components/ContentView.jsx | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/web/src/js/components/ContentView.jsx b/web/src/js/components/ContentView.jsx index f6dbe90a..6c9d9b26 100644 --- a/web/src/js/components/ContentView.jsx +++ b/web/src/js/components/ContentView.jsx @@ -4,6 +4,7 @@ import { ViewAuto, ViewImage } from './ContentView/ContentViews' import * as MetaViews from './ContentView/MetaViews' import ContentLoader from './ContentView/ContentLoader' import ViewSelector from './ContentView/ViewSelector' +import * as flowsActions from '../ducks/flows' export default class ContentView extends Component { @@ -40,6 +41,15 @@ export default class ContentView extends Component { return msg.contentLength > 1024 * 1024 * (ViewImage.matches(msg) ? 10 : 0.2) } + onOpenFile(e) { + if (e.target.files.length > 0) { + //alert(e.target.files[0]) + flowsActions.update_content(this.props.flow, e.target.files[0]) + //this.fileInput.value = '' + } + e.preventDefault() + } + render() { const { flow, message } = this.props const { displayLarge, View } = this.state @@ -60,10 +70,10 @@ export default class ContentView extends Component { <div> {View.textView ? ( <ContentLoader flow={flow} message={message}> - <this.state.View onChange={this.props.onChange} content="" /> + <this.state.View update_content={content => flowsActions.update_content(this.props.flow, content)} content="" /> </ContentLoader> ) : ( - <View flow={flow} onChange={this.props.onChange} message={message} /> + <View flow={flow} update_content={content => flowsActions.update_content(this.props.flow, content)} message={message} /> )} <div className="view-options text-center"> <ViewSelector onSelectView={this.selectView} active={View} message={message}/> @@ -71,6 +81,16 @@ export default class ContentView extends Component { <a className="btn btn-default btn-xs" href={MessageUtils.getContentURL(flow, message)}> <i className="fa fa-download"/> </a> + + <a className="btn btn-default btn-xs" href="#" onClick={e => {this.fileInput.click(); e.preventDefault();}}> + <i className="fa fa-upload"/> + </a> + <input + ref={ref => this.fileInput = ref} + className="hidden" + type="file" + onChange={e => this.onOpenFile(e)} + /> </div> </div> ) |