Working on adding overlays for file drag and drop
Этот коммит содержится в:
@@ -113,39 +113,31 @@ module.exports = React.createClass({
|
||||
var self = this;
|
||||
|
||||
if (this.props.postType === 'post') {
|
||||
$('body').on('dragover', '.app__content', function(e) {
|
||||
$('body').on('dragover', '.post-list__table', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
$('body').on('dragenter', '.app__content', function(e) {
|
||||
$('body').on('dragenter', '.post-list__table', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
$('body').on('dragend dragleave', '.app__content', function(e) {
|
||||
$('body').on('dragleave', '.post-list__table', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
$('body').on('drop', '.app__content', function(e) {
|
||||
$('body').on('drop', '.post-list__table', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
self.handleDrop(e);
|
||||
});
|
||||
} else if (this.props.postType === 'comment') {
|
||||
$('body').on('dragover', '.sidebar--right', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
$('body').on('dragenter', '.sidebar--right', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
$('body').on('dragend dragleave', '.sidebar--right', function(e) {
|
||||
$('body').on('dragleave', '.sidebar--right', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
});
|
||||
$('body').on('drop', '.sidebar--right', function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
self.handleDrop(e);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -280,6 +280,10 @@ module.exports = React.createClass({
|
||||
}
|
||||
);
|
||||
},
|
||||
handleDragEnter: function() {
|
||||
console.log("HERE ENTER");
|
||||
this.setState({fileDrag: true});
|
||||
},
|
||||
getInitialState: function() {
|
||||
return getStateFromStores();
|
||||
},
|
||||
@@ -461,9 +465,14 @@ module.exports = React.createClass({
|
||||
postCtls.push(<LoadingScreen position="absolute" />);
|
||||
}
|
||||
|
||||
var fileDragOverlay = '';
|
||||
if (this.state.fileDrag) {
|
||||
fileDragOverlay = 'post-list-file-overlay';
|
||||
}
|
||||
|
||||
return (
|
||||
<div ref="postlist" className="post-list-holder-by-time">
|
||||
<div className="post-list__table">
|
||||
<div className={"post-list__table " + fileDragOverlay} onDragEnter={this.handleDragEnter}>
|
||||
<div className="post-list__content">
|
||||
{ more_messages }
|
||||
{ postCtls }
|
||||
|
||||
@@ -243,6 +243,10 @@ module.exports = React.createClass({
|
||||
this.refs[id].forceUpdate();
|
||||
}
|
||||
},
|
||||
handleDragEnter: function() {
|
||||
console.log("HERE ENTER RIGHT");
|
||||
this.setState({fileDrag: true});
|
||||
},
|
||||
getInitialState: function() {
|
||||
return getStateFromStores();
|
||||
},
|
||||
@@ -294,8 +298,13 @@ module.exports = React.createClass({
|
||||
var currentId = UserStore.getCurrentId();
|
||||
var searchForm = currentId == null ? null : <SearchBox />;
|
||||
|
||||
var fileDragOverlay = '';
|
||||
if (this.state.fileDrag) {
|
||||
fileDragOverlay = 'post-right-file-overlay';
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="post-right__container">
|
||||
<div className={"post-right__container" + fileDragOverlay} onDragEnter={this.handleDragEnter}>
|
||||
<div className="search-bar__container sidebar--right__search-header">{searchForm}</div>
|
||||
<div className="sidebar-right__body">
|
||||
<RhsHeaderPost fromSearch={this.props.fromSearch} isMentionSearch={this.props.isMentionSearch} />
|
||||
|
||||
@@ -107,6 +107,11 @@ body.ios {
|
||||
}
|
||||
|
||||
#post-list {
|
||||
.post-list-file-overlay {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background:rgba(255,255,255,0.5);
|
||||
}
|
||||
.post-list-holder-by-time {
|
||||
background: #fff;
|
||||
overflow-y: scroll;
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
.post-right__container {
|
||||
|
||||
.post-right-file-overlay {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background:rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
.post-right-root-message {
|
||||
padding: 1em 1em 0;
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user