get public link now displays in the same window pane on mobile, but in a new tab on desktop. Also added proptypes

Этот коммит содержится в:
nickago
2015-08-11 14:58:43 -07:00
родитель 4c7cdb20f0
Коммит 1415560d52

Просмотреть файл

@@ -6,6 +6,13 @@ var utils = require('../utils/utils.jsx');
module.exports = React.createClass({ module.exports = React.createClass({
displayName: 'ViewImageModal', displayName: 'ViewImageModal',
propTypes: {
filenames: React.PropTypes.array,
modalId: React.PropTypes.string,
channelId: React.PropTypes.string,
userId: React.PropTypes.string,
startId: React.PropTypes.number
},
canSetState: false, canSetState: false,
handleNext: function() { handleNext: function() {
var id = this.state.imgId + 1; var id = this.state.imgId + 1;
@@ -118,7 +125,11 @@ module.exports = React.createClass({
data.filename = this.props.filenames[this.state.imgId]; data.filename = this.props.filenames[this.state.imgId];
Client.getPublicLink(data, Client.getPublicLink(data,
function(serverData) { function(serverData) {
window.open(serverData.public_link); if (utils.isMobile()) {
window.location.href = serverData.public_link;
} else {
window.open(serverData.public_link);
}
}, },
function() { function() {
} }
@@ -145,7 +156,7 @@ module.exports = React.createClass({
getInitialState: function() { getInitialState: function() {
var loaded = []; var loaded = [];
var progress = []; var progress = [];
for (var i = 0; i < this.props.filenames.length; i ++) { for (var i = 0; i < this.props.filenames.length; i++) {
loaded.push(false); loaded.push(false);
progress.push(0); progress.push(0);
} }
@@ -213,7 +224,7 @@ module.exports = React.createClass({
content = ( content = (
<div> <div>
<img className='loader-image' src='/static/images/load.gif' /> <img className='loader-image' src='/static/images/load.gif' />
{ percentage > 0 ? {percentage > 0 ?
<span className='loader-percent' >{'Previewing ' + percentage + '%'}</span> <span className='loader-percent' >{'Previewing ' + percentage + '%'}</span>
: ''} : ''}
</div> </div>