@@ -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