Skip to content

Commit c07c6b0

Browse files
committed
simplify navigation
1 parent d5e999b commit c07c6b0

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

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

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -87,39 +87,42 @@ qx.Class.define("osparc.file.TreeFolderView", {
8787
// Connect elements
8888
folderTree.addListener("selectionChanged", () => {
8989
const selectedFolder = folderTree.getSelectedItem();
90-
// if (selectedFolder && (osparc.file.FilesTree.isDir(selectedFolder) || (selectedFolder.getChildren && selectedFolder.getChildren().length))) {
91-
if (selectedFolder && osparc.file.FilesTree.isDir(selectedFolder)) {
92-
folderViewer.setFolder(selectedFolder);
90+
if (selectedFolder) {
91+
if (selectedFolder.getPath()) {
92+
folderTree.requestPathItems(selectedFolder.getLocation(), selectedFolder.getPath())
93+
.then(pathModel => {
94+
if (osparc.file.FilesTree.isDir(pathModel)) {
95+
folderViewer.setFolder(pathModel);
96+
}
97+
});
98+
} else if (osparc.file.FilesTree.isDir(selectedFolder)) {
99+
folderViewer.setFolder(selectedFolder);
100+
}
93101
}
94102
}, this);
95103

96104
folderViewer.addListener("openItemSelected", e => {
97105
const data = e.getData();
98-
folderTree.openNodeAndParents(data);
99-
folderTree.setSelection(new qx.data.Array([data]));
100-
if (osparc.file.FilesTree.isDir(data)) {
101-
folderViewer.setFolder(data);
102-
}
106+
folderTree.requestPathItems(data.getLocation(), data.getPath())
107+
.then(pathModel => {
108+
folderTree.openNodeAndParents(pathModel);
109+
folderTree.setSelection(new qx.data.Array([pathModel]));
110+
if (osparc.file.FilesTree.isDir(pathModel)) {
111+
folderViewer.setFolder(pathModel);
112+
}
113+
});
103114
}, this);
104115

105116
folderViewer.addListener("folderUp", e => {
106117
const currentFolder = e.getData();
107118
const parent = folderTree.getParent(currentFolder);
108119
if (parent) {
109120
folderTree.setSelection(new qx.data.Array([parent]));
110-
folderViewer.setFolder(parent);
121+
if (osparc.file.FilesTree.isDir(parent)) {
122+
folderViewer.setFolder(parent);
123+
}
111124
}
112125
}, this);
113-
114-
folderViewer.addListener("requestPathItems", e => {
115-
const data = e.getData();
116-
folderTree.requestPathItems(data.locationId, data.path)
117-
.then(pathModel => {
118-
if (osparc.file.FilesTree.isDir(pathModel)) {
119-
folderViewer.setFolder(pathModel);
120-
}
121-
});
122-
}, this);
123126
},
124127

125128
openPath: function(path) {

0 commit comments

Comments
 (0)