kopia lustrzana https://github.com/OpenDroneMap/WebODM
Improve cancel task logic
rodzic
bd183c6455
commit
6b4230f233
|
@ -60,6 +60,7 @@ class ProjectListItem extends React.Component {
|
||||||
this.toggleTaskList = this.toggleTaskList.bind(this);
|
this.toggleTaskList = this.toggleTaskList.bind(this);
|
||||||
this.closeUploadError = this.closeUploadError.bind(this);
|
this.closeUploadError = this.closeUploadError.bind(this);
|
||||||
this.cancelUpload = this.cancelUpload.bind(this);
|
this.cancelUpload = this.cancelUpload.bind(this);
|
||||||
|
this.handleCancel = this.handleCancel.bind(this);
|
||||||
this.handleTaskSaved = this.handleTaskSaved.bind(this);
|
this.handleTaskSaved = this.handleTaskSaved.bind(this);
|
||||||
this.viewMap = this.viewMap.bind(this);
|
this.viewMap = this.viewMap.bind(this);
|
||||||
this.handleDelete = this.handleDelete.bind(this);
|
this.handleDelete = this.handleDelete.bind(this);
|
||||||
|
@ -248,13 +249,19 @@ class ProjectListItem extends React.Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}catch(e){
|
}catch(e){
|
||||||
this.setUploadState({error: `${e.message}`, uploading: false});
|
if (this.manuallyCanceled){
|
||||||
this.dz.cancelUpload();
|
// Manually canceled, ignore error
|
||||||
|
this.setUploadState({uploading: false});
|
||||||
|
}else{
|
||||||
|
this.setUploadState({error: `${e.message}`, uploading: false});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.dz.files.length) this.dz.cancelUpload();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.on("queuecomplete", () => {
|
.on("queuecomplete", () => {
|
||||||
const remainingFilesCount = this.state.upload.totalCount - this.state.upload.uploadedCount;
|
const remainingFilesCount = this.state.upload.totalCount - this.state.upload.uploadedCount;
|
||||||
if (remainingFilesCount === 0){
|
if (remainingFilesCount === 0 && this.state.upload.uploadedCount > 0){
|
||||||
// All files have uploaded!
|
// All files have uploaded!
|
||||||
this.setUploadState({uploading: false});
|
this.setUploadState({uploading: false});
|
||||||
|
|
||||||
|
@ -332,10 +339,26 @@ class ProjectListItem extends React.Component {
|
||||||
this.setUploadState({error: ""});
|
this.setUploadState({error: ""});
|
||||||
}
|
}
|
||||||
|
|
||||||
cancelUpload(e){
|
cancelUpload(){
|
||||||
this.dz.removeAllFiles(true);
|
this.dz.removeAllFiles(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleCancel(){
|
||||||
|
this.manuallyCanceled = true;
|
||||||
|
this.cancelUpload();
|
||||||
|
if (this.dz._taskInfo && this.dz._taskInfo.id !== undefined){
|
||||||
|
$.ajax({
|
||||||
|
url: `/api/projects/${this.state.data.id}/tasks/${this.dz._taskInfo.id}/remove/`,
|
||||||
|
contentType: 'application/json',
|
||||||
|
dataType: 'json',
|
||||||
|
type: 'POST'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
this.manuallyCanceled = false;
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
|
||||||
taskDeleted(){
|
taskDeleted(){
|
||||||
this.refresh();
|
this.refresh();
|
||||||
}
|
}
|
||||||
|
@ -628,7 +651,7 @@ class ProjectListItem extends React.Component {
|
||||||
<button disabled={this.state.upload.error !== ""}
|
<button disabled={this.state.upload.error !== ""}
|
||||||
type="button"
|
type="button"
|
||||||
className={"btn btn-danger btn-sm " + (!this.state.upload.uploading ? "hide" : "")}
|
className={"btn btn-danger btn-sm " + (!this.state.upload.uploading ? "hide" : "")}
|
||||||
onClick={this.cancelUpload}>
|
onClick={this.handleCancel}>
|
||||||
<i className="glyphicon glyphicon-remove-circle"></i>
|
<i className="glyphicon glyphicon-remove-circle"></i>
|
||||||
Cancel Upload
|
Cancel Upload
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -2199,6 +2199,8 @@ var Dropzone = function (_Emitter) {
|
||||||
}, {
|
}, {
|
||||||
key: "cancelUpload",
|
key: "cancelUpload",
|
||||||
value: function cancelUpload(file) {
|
value: function cancelUpload(file) {
|
||||||
|
if (file === undefined) return;
|
||||||
|
|
||||||
if (file.status === Dropzone.UPLOADING) {
|
if (file.status === Dropzone.UPLOADING) {
|
||||||
var groupedFiles = this._getFilesWithXhr(file.xhr);
|
var groupedFiles = this._getFilesWithXhr(file.xhr);
|
||||||
for (var _iterator19 = groupedFiles, _isArray19 = true, _i20 = 0, _iterator19 = _isArray19 ? _iterator19 : _iterator19[Symbol.iterator]();;) {
|
for (var _iterator19 = groupedFiles, _isArray19 = true, _i20 = 0, _iterator19 = _isArray19 ? _iterator19 : _iterator19[Symbol.iterator]();;) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "WebODM",
|
"name": "WebODM",
|
||||||
"version": "2.2.0",
|
"version": "2.2.1",
|
||||||
"description": "User-friendly, extendable application and API for processing aerial imagery.",
|
"description": "User-friendly, extendable application and API for processing aerial imagery.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
Ładowanie…
Reference in New Issue