Skip to content

Commit 34d3d70

Browse files
committed
emptyTrash
1 parent e6f662a commit 34d3d70

File tree

3 files changed

+39
-2
lines changed

3 files changed

+39
-2
lines changed

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
847847

848848
if (osparc.utils.DisabledPlugins.isFoldersEnabled()) {
849849
const header = this.__header = new osparc.dashboard.StudyBrowserHeader();
850+
this.__header.addListener("emptyTrashRequested", () => this.__emptyTrash(), this);
850851
this._addToLayout(header);
851852
}
852853

@@ -1170,6 +1171,20 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
11701171
return deleteButton;
11711172
},
11721173

1174+
__emptyTrash: function() {
1175+
const win = this.__createConfirmEmptyTrashWindow();
1176+
win.center();
1177+
win.open();
1178+
win.addListener("close", () => {
1179+
if (win.getConfirmed()) {
1180+
osparc.data.Resources.fetch("trash", "delete")
1181+
.then(() => {
1182+
this.__resetStudiesList();
1183+
});
1184+
}
1185+
}, this);
1186+
},
1187+
11731188
__createSelectButton: function() {
11741189
const selectButton = new qx.ui.form.ToggleButton().set({
11751190
appearance: "form-button-outlined",
@@ -1844,6 +1859,15 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
18441859
return confirmationWin;
18451860
},
18461861

1862+
__createConfirmEmptyTrashWindow: function() {
1863+
const msg = this.tr("Items in the bin will be permanently deleted");
1864+
const confirmationWin = new osparc.ui.window.Confirmation(msg).set({
1865+
confirmText: this.tr("Delete forever"),
1866+
confirmAction: "delete"
1867+
});
1868+
return confirmationWin;
1869+
},
1870+
18471871
// TASKS //
18481872
__tasksReceived: function(tasks) {
18491873
tasks.forEach(taskData => this._taskDataReceived(taskData));

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowserHeader.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ qx.Class.define("osparc.dashboard.StudyBrowserHeader", {
4444
events: {
4545
"locationChanged": "qx.event.type.Data",
4646
"workspaceUpdated": "qx.event.type.Data",
47-
"deleteWorkspaceRequested": "qx.event.type.Data"
47+
"deleteWorkspaceRequested": "qx.event.type.Data",
48+
"emptyTrashRequested": "qx.event.type.Event",
4849
},
4950

5051
properties: {
@@ -203,7 +204,7 @@ qx.Class.define("osparc.dashboard.StudyBrowserHeader", {
203204
appearance: "danger-button",
204205
allowGrowY: false,
205206
});
206-
control.addListener("execute", () => console.log("Empty trash"));
207+
control.addListener("execute", () => this.fireEvent("emptyTrashRequested"));
207208
this._addAt(control, this.self().POS.EMPTY_TRASH_BUTTON);
208209
break;
209210
}

services/static-webserver/client/source/class/osparc/data/Resources.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,18 @@ qx.Class.define("osparc.data.Resources", {
410410
}
411411
},
412412

413+
/*
414+
* TRASH
415+
*/
416+
"trash": {
417+
endpoints: {
418+
delete: {
419+
method: "DELETE",
420+
url: statics.API + "/trash"
421+
}
422+
}
423+
},
424+
413425
/*
414426
* SNAPSHOTS
415427
*/

0 commit comments

Comments
 (0)