diff --git a/js/components/ascribe_media/media_player.js b/js/components/ascribe_media/media_player.js index 62bf23a9..a4c84513 100644 --- a/js/components/ascribe_media/media_player.js +++ b/js/components/ascribe_media/media_player.js @@ -3,6 +3,7 @@ import React from 'react'; import InjectInHeadMixin from '../../mixins/inject_in_head_mixin'; import Panel from 'react-bootstrap/lib/Panel'; +import ProgressBar from 'react-bootstrap/lib/ProgressBar'; import AppConstants from '../../constants/application_constants.js'; /** @@ -72,7 +73,7 @@ let Audio = React.createClass({ ready() { window.audiojs.events.ready(function() { - var as = audiojs.createAll(); + window.audiojs.createAll(); }); }, @@ -87,7 +88,8 @@ let Video = React.createClass({ propTypes: { preview: React.PropTypes.string.isRequired, url: React.PropTypes.string.isRequired, - extraData: React.PropTypes.array.isRequired + extraData: React.PropTypes.array.isRequired, + encodingStatus: React.PropTypes.number }, mixins: [InjectInHeadMixin], @@ -132,6 +134,24 @@ let Video = React.createClass({ }); +let EncodingStatus = React.createClass({ + propTypes: { + encodingStatus: React.PropTypes.number.isRequired + }, + + render() { + return ( + + ); + } +}); + + let resourceMap = { 'image': Image, 'video': Video, @@ -144,19 +164,30 @@ let MediaPlayer = React.createClass({ mimetype: React.PropTypes.oneOf(['image', 'video', 'audio', 'pdf', 'other']).isRequired, preview: React.PropTypes.string.isRequired, url: React.PropTypes.string.isRequired, - extraData: React.PropTypes.array + extraData: React.PropTypes.array, + encodingStatus: React.PropTypes.number }, render() { - let Component = resourceMap[this.props.mimetype] || Other; - - return ( -
- -
- ); + if (this.props.encodingStatus !== undefined && this.props.encodingStatus !== 100) { + return ( +
+

Please be patient, the video is been encoded

+ +
+ ); + } else { + let Component = resourceMap[this.props.mimetype] || Other; + return ( +
+ +
+ ); + } } }); diff --git a/js/components/edition.js b/js/components/edition.js index 28bc1e81..5cbc7dce 100644 --- a/js/components/edition.js +++ b/js/components/edition.js @@ -70,11 +70,13 @@ let Edition = React.createClass({ let thumbnail = this.props.edition.thumbnail; let mimetype = this.props.edition.digital_work.mime; let extraData = null; + let encodingStatus = this.props.edition.digital_work.isEncoding; if (this.props.edition.digital_work.encoding_urls) { extraData = this.props.edition.digital_work.encoding_urls.map(e => { return { url: e.url, type: e.label }; }); } + let bitcoinIdValue = ( {this.props.edition.bitcoin_id} ); @@ -93,7 +95,8 @@ let Edition = React.createClass({ + extraData={extraData} + encodingStatus={encodingStatus} />