Skip to content

Commit cf6d797

Browse files
committed
refactor
1 parent 58429e0 commit cf6d797

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

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

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -95,43 +95,49 @@ qx.Class.define("osparc.file.TreeFolderView", {
9595
return control || this.base(arguments, id);
9696
},
9797

98+
__openPath: function(selectedModel) {
99+
const folderTree = this.getChildControl("folder-tree");
100+
if (selectedModel.getPath() && !selectedModel.getLoaded()) {
101+
selectedModel.setLoaded(true);
102+
folderTree.requestPathItems(selectedModel.getLocation(), selectedModel.getPath())
103+
.then(() => {
104+
folderTree.openNodeAndParents(selectedModel);
105+
folderTree.setSelection(new qx.data.Array([selectedModel]));
106+
});
107+
} else {
108+
folderTree.openNodeAndParents(selectedModel);
109+
folderTree.setSelection(new qx.data.Array([selectedModel]));
110+
}
111+
112+
const folderViewer = this.getChildControl("folder-viewer");
113+
if (osparc.file.FilesTree.isDir(selectedModel)) {
114+
folderViewer.setFolder(selectedModel);
115+
}
116+
},
117+
98118
__buildLayout: function() {
99119
const folderTree = this.getChildControl("folder-tree");
100120
const folderViewer = this.getChildControl("folder-viewer");
101121

102122
folderTree.addListener("selectionChanged", () => {
103123
const selectedModel = folderTree.getSelectedItem();
104124
if (selectedModel) {
105-
if (osparc.file.FilesTree.isDir(selectedModel)) {
106-
folderViewer.setFolder(selectedModel);
107-
}
108-
if (selectedModel.getPath() && !selectedModel.getLoaded()) {
109-
selectedModel.setLoaded(true);
110-
folderTree.requestPathItems(selectedModel.getLocation(), selectedModel.getPath());
111-
}
125+
this.__openPath(selectedModel);
112126
}
113127
}, this);
114128

115129
folderViewer.addListener("openItemSelected", e => {
116130
const selectedModel = e.getData();
117131
if (selectedModel) {
118-
if (osparc.file.FilesTree.isDir(selectedModel)) {
119-
folderViewer.setFolder(selectedModel);
120-
}
121-
// this will trigger the fetching of the content
122-
folderTree.openNodeAndParents(selectedModel);
123-
folderTree.setSelection(new qx.data.Array([selectedModel]));
132+
this.__openPath(selectedModel);
124133
}
125134
}, this);
126135

127136
folderViewer.addListener("folderUp", e => {
128137
const currentFolder = e.getData();
129138
const parent = folderTree.getParent(currentFolder);
130139
if (parent) {
131-
folderTree.setSelection(new qx.data.Array([parent]));
132-
if (osparc.file.FilesTree.isDir(parent)) {
133-
folderViewer.setFolder(parent);
134-
}
140+
this.__openPath(parent);
135141
}
136142
}, this);
137143
},

0 commit comments

Comments
 (0)