Skip to content

Commit 5494956

Browse files
committed
to trash working
1 parent 9e299cb commit 5494956

File tree

3 files changed

+52
-12
lines changed

3 files changed

+52
-12
lines changed

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

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ qx.Class.define("osparc.dashboard.DragDropHelpers", {
176176
const workspaceIdOrigin = studyDataOrigin["workspaceId"];
177177
const workspaceOrigin = osparc.store.Workspaces.getInstance().getWorkspace(workspaceIdOrigin);
178178
// Compatibility checks:
179-
// - My Workspace -> Trash (1)
179+
// - My Workspace -> Trash (0)
180180
// - Delete on Study
181-
// - Shared Workspace -> Trash (2)
181+
// - Shared Workspace -> Trash (1)
182182
// - Delete on Shared Workspace
183183
if (workspaceIdOrigin === null) { // (0)
184-
compatible = osparc.data.model.Study.canIDelete(studyDataOrigin["accessRights"])
184+
compatible = osparc.data.model.Study.canIDelete(studyDataOrigin["accessRights"]);
185185
} else if (workspaceIdOrigin !== null) { // (1)
186186
compatible = workspaceOrigin.getMyAccessRights()["delete"];
187187
}
@@ -195,20 +195,41 @@ qx.Class.define("osparc.dashboard.DragDropHelpers", {
195195
dragWidget.setDropAllowed(compatible);
196196
},
197197

198-
drop: function(event, folderItem, destWorkspaceId, destFolderId) {
199-
const studyData = event.getData("osparc-moveStudy")["studyDataOrigin"];
200-
const studyToFolderData = {
201-
studyData,
202-
destWorkspaceId,
203-
destFolderId,
204-
};
205-
folderItem.getChildControl("icon").resetTextColor();
206-
return studyToFolderData;
198+
drop: function(event) {
199+
return event.getData("osparc-moveStudy")["studyDataOrigin"];
207200
},
208201
},
209202

210203
trashFolder: {
204+
dragOver: function(event) {
205+
let compatible = false;
206+
const folderOrigin = event.getData("osparc-moveFolder")["folderOrigin"];
207+
const workspaceIdOrigin = folderOrigin.getWorkspaceId();
208+
const workspaceOrigin = osparc.store.Workspaces.getInstance().getWorkspace(workspaceIdOrigin);
209+
// Compatibility checks:
210+
// - My Workspace -> Trash (0)
211+
// - Yes
212+
// - Shared Workspace -> Trash (1)
213+
// - Delete on Shared Workspace
214+
if (workspaceIdOrigin === null) { // (0)
215+
compatible = true;
216+
} else if (workspaceIdOrigin !== null) { // (1)
217+
compatible = workspaceOrigin.getMyAccessRights()["delete"];
218+
}
219+
220+
if (!compatible) {
221+
// do not allow
222+
event.preventDefault();
223+
}
224+
225+
const dragWidget = osparc.dashboard.DragWidget.getInstance();
226+
dragWidget.setDropAllowed(compatible);
227+
},
211228

229+
drop: function(event) {
230+
const folderOrigin = event.getData("osparc-moveFolder")["folderOrigin"];
231+
return folderOrigin.getFolderId();
232+
},
212233
},
213234

214235
dragLeave: function(item) {

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ qx.Class.define("osparc.dashboard.ResourceFilter", {
3535

3636
events: {
3737
"trashContext": "qx.event.type.Event",
38+
"trashStudyRequested": "qx.event.type.Data",
39+
"trashFolderRequested": "qx.event.type.Data",
3840
"changeSharedWith": "qx.event.type.Data",
3941
"changeSelectedTags": "qx.event.type.Data",
4042
"changeServiceType": "qx.event.type.Data"
@@ -132,6 +134,16 @@ qx.Class.define("osparc.dashboard.ResourceFilter", {
132134
trashButton.addListener("dragleave", () => {
133135
osparc.dashboard.DragDropHelpers.dragLeave();
134136
});
137+
138+
trashButton.addListener("drop", e => {
139+
if (e.supportsType("osparc-moveStudy")) {
140+
const studyData = osparc.dashboard.DragDropHelpers.trashStudy.drop(e);
141+
this.fireDataEvent("trashStudyRequested", studyData);
142+
} else if (e.supportsType("osparc-moveFolder")) {
143+
const folderId = osparc.dashboard.DragDropHelpers.trashFolder.drop(e);
144+
this.fireDataEvent("trashFolderRequested", folderId);
145+
}
146+
});
135147
},
136148

137149
evaluateTrashEmpty: function() {

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,6 +1167,13 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
11671167
workspacesAndFoldersTree.addListener("folderToFolderRequested", e => {
11681168
this._folderToFolderRequested(e.getData());
11691169
});
1170+
1171+
this._resourceFilter.addListener("trashStudyRequested", e => {
1172+
this.__trashStudyRequested(e.getData());
1173+
});
1174+
this._resourceFilter.addListener("trashFolderRequested", e => {
1175+
this._trashFolderRequested(e.getData());
1176+
});
11701177
},
11711178

11721179
__addSortByButton: function() {

0 commit comments

Comments
 (0)