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 3ed04fab..7a6de18c 100644
--- a/js/components/edition.js
+++ b/js/components/edition.js
@@ -7,7 +7,6 @@ import Row from 'react-bootstrap/lib/Row';
import Col from 'react-bootstrap/lib/Col';
import Button from 'react-bootstrap/lib/Button';
import Glyphicon from 'react-bootstrap/lib/Glyphicon';
-import CollapsibleMixin from 'react-bootstrap/lib/CollapsibleMixin';
import UserActions from '../actions/user_actions';
import UserStore from '../stores/user_store';
@@ -35,7 +34,6 @@ import GlobalNotificationActions from '../actions/global_notification_actions';
import apiUrls from '../constants/api_urls';
import AppConstants from '../constants/application_constants';
-import classNames from 'classnames';
import { getCookie } from '../utils/fetch_api_utils';
@@ -67,12 +65,10 @@ let Edition = React.createClass({
},
render() {
-
return (
-
+
@@ -152,6 +148,7 @@ let MediaContainer = React.createClass({
let mimetype = this.props.edition.digital_work.mime;
let embed = null;
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 }; });
@@ -177,9 +174,10 @@ let MediaContainer = React.createClass({
return (
+ preview={thumbnail}
+ url={this.props.edition.digital_work.url}
+ extraData={extraData}
+ encodingStatus={encodingStatus} />