Skip to content

Commit 0629e55

Browse files
committed
sync tree and folder
1 parent be749c4 commit 0629e55

File tree

1 file changed

+21
-16
lines changed

1 file changed

+21
-16
lines changed

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

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -84,33 +84,38 @@ qx.Class.define("osparc.file.TreeFolderView", {
8484
const folderTree = this.getChildControl("folder-tree");
8585
const folderViewer = this.getChildControl("folder-viewer");
8686

87-
// Connect elements
8887
folderTree.addListener("selectionChanged", () => {
89-
const selectedFolder = folderTree.getSelectedItem();
90-
if (selectedFolder) {
91-
if (selectedFolder.getPath()) {
92-
folderTree.requestPathItems(selectedFolder.getLocation(), selectedFolder.getPath())
88+
const selectedModel = folderTree.getSelectedItem();
89+
if (selectedModel) {
90+
if (selectedModel.getPath() && !selectedModel.getLoaded()) {
91+
folderTree.requestPathItems(selectedModel.getLocation(), selectedModel.getPath())
9392
.then(pathModel => {
9493
if (osparc.file.FilesTree.isDir(pathModel)) {
9594
folderViewer.setFolder(pathModel);
9695
}
9796
});
98-
} else if (osparc.file.FilesTree.isDir(selectedFolder)) {
99-
folderViewer.setFolder(selectedFolder);
97+
} else if (osparc.file.FilesTree.isDir(selectedModel)) {
98+
folderViewer.setFolder(selectedModel);
10099
}
101100
}
102101
}, this);
103102

104103
folderViewer.addListener("openItemSelected", e => {
105-
const data = e.getData();
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-
});
104+
const selectedModel = e.getData();
105+
if (selectedModel) {
106+
if (selectedModel.getPath() && !selectedModel.getLoaded()) {
107+
folderTree.requestPathItems(selectedModel.getLocation(), selectedModel.getPath())
108+
.then(pathModel => {
109+
folderTree.openNodeAndParents(pathModel);
110+
folderTree.setSelection(new qx.data.Array([pathModel]));
111+
if (osparc.file.FilesTree.isDir(pathModel)) {
112+
folderViewer.setFolder(pathModel);
113+
}
114+
});
115+
} else if (osparc.file.FilesTree.isDir(selectedModel)) {
116+
folderViewer.setFolder(selectedModel);
117+
}
118+
}
114119
}, this);
115120

116121
folderViewer.addListener("folderUp", e => {

0 commit comments

Comments
 (0)