@@ -30,11 +30,14 @@ function tree_folder(id, callback){
3030 if ( cloud_use === "drive" ) {
3131 var ret = [ ] ;
3232 //gets all the files
33- drive . retrieveAllFilesInFolder ( id , function ( data ) {
33+ drive . retrieveAllFilesInFolder ( id , function ( data , _root ) {
3434 var goal = data . length ; //how many files total
3535 for ( var i = 0 ; i < data . length ; i ++ ) {
36- var id_id = data [ i ] . id ;
37- //for each of the files, gets the information
36+ var id_id = data [ i ] . id ;
37+ //add placeholder element
38+ tree_placeholder ( id_id , _root ) ;
39+
40+ //for each of the files, gets the information
3841 drive . getFile ( id_id , function ( resp ) {
3942 var to_push = {
4043 title : resp . title ,
@@ -56,7 +59,7 @@ function tree_folder(id, callback){
5659 }
5760 else if ( cloud_use === "sky" ) {
5861 var ret = [ ] ;
59- sky . retrieveAllFilesInFolder ( id , function ( data ) {
62+ sky . retrieveAllFilesInFolder ( id , function ( data , _root ) {
6063 for ( var i = 0 ; i < data . length ; i ++ ) {
6164 var to_push = {
6265 title : data [ i ] . name ,
@@ -71,35 +74,49 @@ function tree_folder(id, callback){
7174}
7275//sets the id of the root to by the root folder
7376$ ( ".root-tree" ) . attr ( "data-tree-ul" , drive . root ) ;
77+
78+ function tree_placeholder ( id , root ) {
79+ var to_push = "<center style=\"display:none\" data-placeholder=\"" + id + "\"></center>" ;
80+ $ ( "[data-tree-ul='" + root + "']" ) . append ( to_push ) ;
81+ }
82+
83+ function tree_insert ( resp ) {
84+ var ret = "" ;
85+ var title = resp . title ;
86+ var icon = '<i class="fa fa-align-left"></i>' ;
87+ var the_id = resp . id ;
88+ if ( typeof title !== 'undefined' ) {
89+ icon = tree . getIconByTitle ( title ) ;
90+ var caret = "" ; //"<span class='context-click' data-fileid='"+data[i].id+"'><i class='zmdi zmdi-caret-down'></i></span>";
91+ var to_push = "<li data-tree-li='" + the_id + "' class='tree-file'>" + "<span onclick='toggle_tree_file(\"" + the_id + "\")'>" + icon + title + caret + "</span>" + "</li>" ;
92+
93+ if ( resp . folder === true ) {
94+ icon = "<i class='fa fa-folder'></i>" ;
95+ to_push = "<li data-tree-li='" + the_id + "' class='tree-folder'><span onclick='toggle_tree_folder(\"" + the_id + "\")'>" + icon + title + caret + "</span><ul data-tree-ul='" + the_id + "' style='display:none'></ul></li>" ;
96+ }
97+ ret = ret + to_push ;
98+ }
99+ return ret ;
100+ }
101+
74102//sets the tree contents for a folder
75103function get_tree ( id ) {
76104 //gets the array of files/folders, passes to callback
105+ $ ( "[data-tree-ul='" + id + "']" ) . html ( "" ) ;
77106 tree_folder ( id , function ( data ) {
78107 var ret = "" ; //the html that will be returned
79108 for ( var i = 0 ; i < data . length ; i ++ ) {
80- var title = data [ i ] . title ;
81- var icon = '<i class="fa fa-align-left"></i>' ; //the default
82- if ( typeof title !== 'undefined' ) {
83- icon = tree . getIconByTitle ( title ) ;
84- var caret = "" ; //"<span class='context-click' data-fileid='"+data[i].id+"'><i class='zmdi zmdi-caret-down'></i></span>";
85- var to_push = "<li data-tree-li='" + data [ i ] . id + "' class='tree-file'>" + "<span onclick='toggle_tree_file(\"" + data [ i ] . id + "\")'>" + icon + title + caret + "</span>" + "</li>" ;
86-
87- if ( data [ i ] . folder === true ) {
88- icon = "<i class='fa fa-folder'></i>" ;
89- to_push = "<li data-tree-li='" + data [ i ] . id + "' class='tree-folder'><span onclick='toggle_tree_folder(\"" + data [ i ] . id + "\")'>" + icon + title + caret + "</span><ul data-tree-ul='" + data [ i ] . id + "' style='display:none'></ul></li>" ;
90- }
91- ret = ret + to_push ;
92- }
109+ ret += tree_insert ( data [ i ] ) ;
93110 }
94111 //sets the html
95- $ ( "[data-tree-ul='" + id + "']" ) . html ( ret ) ;
112+ $ ( "[data-tree-ul='" + id + "']" ) . append ( ret ) ;
96113 //opens the folder
97114 $ ( "[data-tree-ul='" + id + "']" ) . slideDown ( ) ;
98115 //removes the loading icon
99116 $ ( "[data-tree-li='" + id + "']>span>i" ) . removeClass ( "fa-folder" ) ;
100- $ ( "[data-tree-li='" + id + "']>span>i" ) . removeClass ( "fa-circle-o-notch" ) ;
117+ $ ( "[data-tree-li='" + id + "']>span>i" ) . removeClass ( "fa-circle-o-notch" ) ;
101118 $ ( "[data-tree-li='" + id + "']>span>i" ) . removeClass ( "fa-spin" ) ;
102- $ ( "[data-tree-li='" + id + "']>span>i" ) . addClass ( "fa-folder-open" ) ;
119+ $ ( "[data-tree-li='" + id + "']>span>i" ) . addClass ( "fa-folder-open" ) ;
103120 } ) ;
104121}
105122//what happens when you click on a folder
0 commit comments