Skip to content

Commit 99ff70b

Browse files
committed
Promise all
1 parent a75d7d5 commit 99ff70b

File tree

2 files changed

+24
-16
lines changed

2 files changed

+24
-16
lines changed

services/static-webserver/client/source/class/osparc/file/FileLabelWithActions.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,32 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
175175

176176
__deleteSelected: function() {
177177
if (this.isMultiSelect()) {
178+
const requests = [];
178179
this.__multiSelection.forEach(selection => {
179-
this.__deleteFile(selection);
180+
const request = this.__deleteFile(selection);
181+
if (request) {
182+
requests.push(request);
183+
}
180184
});
185+
Promise.all(requests)
186+
.then(datas => {
187+
if (datas.length) {
188+
this.fireDataEvent("fileDeleted", datas[0]);
189+
osparc.FlashMessenger.getInstance().logAs(this.tr("Files successfully deleted"), "ERROR");
190+
}
191+
});
192+
requests
181193
} else {
182194
const selection = this.getItemSelected();
183195
if (selection) {
184-
this.__deleteFile(selection);
196+
const request = this.__deleteFile(selection);
197+
if (request) {
198+
request
199+
.then(data => {
200+
this.fireDataEvent("fileDeleted", data);
201+
osparc.FlashMessenger.getInstance().logAs(this.tr("File successfully deleted"), "ERROR");
202+
});
203+
}
185204
}
186205
}
187206
},
@@ -198,19 +217,12 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
198217
},
199218

200219
__deleteFile: function(file) {
201-
console.log("Delete ", file);
202220
const fileId = file.getFileId();
203221
const locationId = file.getLocation();
204222
if (locationId !== 0 && locationId !== "0") {
205223
osparc.FlashMessenger.getInstance().logAs(this.tr("Only files in simcore.s3 can be deleted"));
206-
return false;
207224
}
208225
const dataStore = osparc.store.Data.getInstance();
209-
dataStore.addListenerOnce("deleteFile", e => {
210-
if (e) {
211-
this.fireDataEvent("fileDeleted", e.getData());
212-
}
213-
}, this);
214226
return dataStore.deleteFile(locationId, fileId);
215227
},
216228
}

services/static-webserver/client/source/class/osparc/store/Data.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ qx.Class.define("osparc.store.Data", {
3333

3434
events: {
3535
"fileCopied": "qx.event.type.Data",
36-
"deleteFile": "qx.event.type.Data"
3736
},
3837

3938
members: {
@@ -286,7 +285,7 @@ qx.Class.define("osparc.store.Data", {
286285

287286
deleteFile: function(locationId, fileUuid) {
288287
if (!osparc.data.Permissions.getInstance().canDo("study.node.data.delete", true)) {
289-
return false;
288+
return null;
290289
}
291290

292291
// Deletes File
@@ -296,22 +295,19 @@ qx.Class.define("osparc.store.Data", {
296295
fileUuid: encodeURIComponent(fileUuid)
297296
}
298297
};
299-
osparc.data.Resources.fetch("storageFiles", "delete", params)
298+
return osparc.data.Resources.fetch("storageFiles", "delete", params)
300299
.then(files => {
301300
const data = {
302301
data: files,
303302
locationId: locationId,
304303
fileUuid: fileUuid
305304
};
306-
this.fireDataEvent("deleteFile", data);
305+
return data;
307306
})
308307
.catch(err => {
309308
console.error(err);
310309
osparc.FlashMessenger.getInstance().logAs(this.tr("Failed deleting file"), "ERROR");
311-
this.fireDataEvent("deleteFile", null);
312310
});
313-
314-
return true;
315311
}
316312
}
317313
});

0 commit comments

Comments
 (0)