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