add condition to check if active

fixes #6840
"setMap" registers listeners to dropArea, but it doesn't check whether "active" is true or false. Simply add condition to check "active".
This commit is contained in:
Chase(Seul-gi Choi)
2017-05-23 10:48:12 +09:00
committed by GitHub
parent e272eced94
commit 661410a96e

View File

@@ -65,14 +65,17 @@ ol.inherits(ol.interaction.DragAndDrop, ol.interaction.Interaction);
* @private
*/
ol.interaction.DragAndDrop.handleDrop_ = function(event) {
var files = event.dataTransfer.files;
var i, ii, file;
for (i = 0, ii = files.length; i < ii; ++i) {
file = files.item(i);
var reader = new FileReader();
reader.addEventListener(ol.events.EventType.LOAD,
this.handleResult_.bind(this, file));
reader.readAsText(file);
var active = this.getActive();
if (active) {
var files = event.dataTransfer.files;
var i, ii, file;
for (i = 0, ii = files.length; i < ii; ++i) {
file = files.item(i);
var reader = new FileReader();
reader.addEventListener(ol.events.EventType.LOAD,
this.handleResult_.bind(this, file));
reader.readAsText(file);
}
}
};
@@ -82,9 +85,12 @@ ol.interaction.DragAndDrop.handleDrop_ = function(event) {
* @private
*/
ol.interaction.DragAndDrop.handleStop_ = function(event) {
event.stopPropagation();
event.preventDefault();
event.dataTransfer.dropEffect = 'copy';
var active = this.getActive();
if (active) {
event.stopPropagation();
event.preventDefault();
event.dataTransfer.dropEffect = 'copy';
}
};