Skip to content

Commit 70865cb

Browse files
authored
Fix Node Data Manager (#125)
* attachPathLabel * folder up * show dirs tree * aesthetics
1 parent aa3d92d commit 70865cb

File tree

5 files changed

+31
-18
lines changed

5 files changed

+31
-18
lines changed

services/static-webserver/client/source/class/osparc/component/node/BaseNodeView.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ qx.Class.define("osparc.component.node.BaseNodeView", {
5252

5353
openNodeDataManager: function(node) {
5454
const nodeDataManager = new osparc.component.widget.NodeDataManager(node);
55-
nodeDataManager.getChildControl("node-files-tree").exclude();
5655
const win = osparc.ui.window.Window.popUpInWindow(nodeDataManager, node.getLabel(), 900, 600).set({
5756
appearance: "service-window"
5857
});

services/static-webserver/client/source/class/osparc/component/widget/NodeDataManager.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ qx.Class.define("osparc.component.widget.NodeDataManager", {
109109
case "user-files-tree":
110110
control = new osparc.file.FilesTree().set({
111111
minWidth: 150,
112-
width: 200
112+
width: 200,
113+
backgroundColor: "transparent"
113114
});
114115
break;
115116
case "folder-viewer":
@@ -164,6 +165,14 @@ qx.Class.define("osparc.component.widget.NodeDataManager", {
164165
const selectionData = e.getData();
165166
this.__selectionChanged(selectionData);
166167
}, this);
168+
nodeFolder.addListener("folderUp", e => {
169+
const currentFolder = e.getData();
170+
const parent = nodeFilesTree.getParent(currentFolder);
171+
if (parent) {
172+
nodeFilesTree.setSelection(new qx.data.Array([parent]));
173+
nodeFolder.setFolder(parent);
174+
}
175+
}, this);
167176

168177
nodeTreeLayout.add(nodeTreeFolderLayout, {
169178
flex: 1

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

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,16 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
3939
construct: function() {
4040
this.base(arguments);
4141

42-
this._setLayout(new qx.ui.layout.HBox(5));
42+
this._setLayout(new qx.ui.layout.HBox(10));
43+
44+
this.getChildControl("spacer");
45+
this.getChildControl("selected-label");
4346

4447
const downloadBtn = this.getChildControl("download-button");
4548
downloadBtn.addListener("execute", () => this.__retrieveURLAndDownload(), this);
4649

4750
const deleteBtn = this.getChildControl("delete-button");
4851
deleteBtn.addListener("execute", () => this.__deleteFile(), this);
49-
50-
this.getChildControl("selected-label");
5152
},
5253

5354
events: {
@@ -60,6 +61,18 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
6061
_createChildControlImpl: function(id) {
6162
let control;
6263
switch (id) {
64+
case "spacer":
65+
control = new qx.ui.core.Spacer();
66+
this._add(control, {
67+
flex: 1
68+
});
69+
break;
70+
case "selected-label":
71+
control = new qx.ui.basic.Label().set({
72+
alignY: "middle"
73+
});
74+
this._add(control);
75+
break;
6376
case "download-button":
6477
control = new qx.ui.form.Button(this.tr("Download"), "@FontAwesome5Solid/cloud-download-alt/16");
6578
osparc.utils.Utils.setIdToWidget(control, "filesTreeDownloadBtn");
@@ -71,12 +84,6 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
7184
});
7285
this._add(control);
7386
break;
74-
case "selected-label":
75-
control = new qx.ui.basic.Label();
76-
this._add(control, {
77-
flex: 1
78-
});
79-
break;
8087
}
8188
return control || this.base(arguments, id);
8289
},

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,8 @@ qx.Class.define("osparc.file.FilesTree", {
228228
this.__resetTree(nodeTreeName);
229229
const rootNodeModel = this.getModel();
230230
if (nodeData.children.length) {
231-
const filesOnly = nodeData.children;
232-
this.__filesToRoot(filesOnly);
231+
const nodeItemsOnly = nodeData.children;
232+
this.__itemsToNode(nodeItemsOnly);
233233
}
234234
this.openNode(rootNodeModel);
235235

@@ -402,11 +402,11 @@ qx.Class.define("osparc.file.FilesTree", {
402402
}
403403
},
404404

405-
__filesToRoot: function(files) {
405+
__itemsToNode: function(files) {
406406
const currentModel = this.getModel();
407407
this.self().removeLoadingChild(currentModel);
408408

409-
files.forEach(file => file["pathLabel"] = currentModel.getPathLabel().concat(file["label"]));
409+
files.forEach(file => this.self().attachPathLabel(currentModel.getPathLabel(), file));
410410
const newModelToAdd = qx.data.marshal.Json.createModel(files, true);
411411
currentModel.getChildren().append(newModelToAdd);
412412
this.setModel(currentModel);

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ qx.Class.define("osparc.file.FolderViewer", {
3030
this.setPaddingLeft(10);
3131

3232
const folderUpBtn = this.getChildControl("folder-up");
33-
folderUpBtn.addListener("execute", () => {
34-
this.fireDataEvent("folderUp", this.getFolder());
35-
}, this);
33+
folderUpBtn.addListener("execute", () => this.fireDataEvent("folderUp", this.getFolder()), this);
3634
this.getChildControl("folder-path");
3735
this.getChildControl("view-options-icons");
3836
this.getChildControl("view-options-list");

0 commit comments

Comments
 (0)