aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/ContentView.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/ContentView.jsx')
-rw-r--r--web/src/js/components/ContentView.jsx24
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>
+ &nbsp;
+ <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>
)