Skip to content

Commit 2b775c8

Browse files
committed
folders also use dragWidget
1 parent 1f8f1b9 commit 2b775c8

File tree

3 files changed

+36
-10
lines changed

3 files changed

+36
-10
lines changed

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ qx.Class.define("osparc.dashboard.DragWidget", {
3737

3838
members: {
3939
__onMouseMoveDragging: function(e) {
40-
const domEl = this.getContentElement().getDomElement();
41-
domEl.style.left = `${e.pageX + 15}px`; // Offset for better visibility
42-
domEl.style.top = `${e.pageY + 15}px`;
40+
if (this.getContentElement()) {
41+
const domEl = this.getContentElement().getDomElement();
42+
domEl.style.left = `${e.pageX + 15}px`;
43+
domEl.style.top = `${e.pageY + 15}px`;
44+
}
4345
},
4446

4547
start: function() {

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,33 @@ qx.Class.define("osparc.dashboard.FolderButtonItem", {
161161

162162
__attachDragHandlers: function() {
163163
this.setDraggable(true);
164+
164165
this.addListener("dragstart", e => {
165166
e.addAction("move");
166167
e.addType("osparc-moveFolder");
167168
e.addData("osparc-moveFolder", {
168169
"folderOrigin": this.getFolder(),
169170
});
171+
172+
this.__dragWidget = new osparc.dashboard.DragWidget();
173+
// make it semi transparent while being dragged
174+
this.setOpacity(0.2);
175+
// init drag indicator
176+
this.__dragWidget.set({
177+
label: this.getTitle(),
178+
icon: "@FontAwesome5Solid/folder/16",
179+
});
180+
this.__dragWidget.start();
181+
});
182+
183+
this.addListener("dragend", () => {
184+
// bring back opacity after drag
185+
this.setOpacity(1);
186+
// hide drag indicator
187+
this.__dragWidget.end();
188+
// dispose drag indicator
189+
this.__dragWidget.dispose();
190+
this.__dragWidget = null;
170191
});
171192
},
172193

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

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
100100
__foldersList: null,
101101
__loadingFolders: null,
102102
__loadingWorkspaces: null,
103-
__dragIndicator: null,
103+
__dragWidget: null,
104104

105105
// overridden
106106
initResources: function() {
@@ -647,9 +647,6 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
647647
// /FOLDERS
648648

649649
__configureStudyCards: function(cards) {
650-
// Create drag indicator
651-
this.__dragIndicator = new osparc.dashboard.DragWidget();
652-
653650
cards.forEach(card => {
654651
card.setMultiSelectionMode(this.getMultiSelection());
655652
card.addListener("tap", e => this.__studyCardClicked(card, e.getNativeEvent().shiftKey), this);
@@ -669,20 +666,26 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
669666
"studyDataOrigin": card.getResourceData(),
670667
});
671668

669+
// Create drag indicator
670+
this.__dragWidget = new osparc.dashboard.DragWidget();
672671
// make it semi transparent while being dragged
673672
card.setOpacity(0.2);
674673
// init drag indicator
675-
this.__dragIndicator.set({
674+
this.__dragWidget.set({
676675
label: card.getTitle(),
676+
icon: "@FontAwesome5Solid/file/16",
677677
});
678-
this.__dragIndicator.start();
678+
this.__dragWidget.start();
679679
});
680680

681681
card.addListener("dragend", () => {
682682
// bring back opacity after drag
683683
card.setOpacity(1);
684684
// hide drag indicator
685-
this.__dragIndicator.end();
685+
this.__dragWidget.end();
686+
// dispose drag indicator
687+
this.__dragWidget.dispose();
688+
this.__dragWidget = null;
686689
});
687690
},
688691

0 commit comments

Comments
 (0)