@@ -146,12 +146,42 @@ define(function (require, exports, module) {
146146 previewURL = null ;
147147 }
148148
149- function _projectFileChanged ( target , entry , added , removed ) {
150- console . log ( "sync: change" , entry , added , removed ) ;
149+ async function _collectFiles ( dirEntry ) {
150+ let allFiles = [ ] ;
151+ return new Promise ( ( resolve , reject ) => {
152+ dirEntry . getContents ( async ( err , fsEntries ) => {
153+ if ( err ) {
154+ reject ( err ) ;
155+ }
156+ for ( let fsEntry of fsEntries ) {
157+ if ( fsEntry . isDirectory ) {
158+ let contentFiles = await _collectFiles ( fsEntry ) ;
159+ allFiles . push ( ...contentFiles ) ;
160+ } else {
161+ allFiles . push ( fsEntry ) ;
162+ }
163+ }
164+ } ) ;
165+ resolve ( allFiles ) ;
166+ } ) ;
151167 }
152168
153- function _projectFileRenamed ( target , oldName , newName ) {
154- console . log ( "sync: rename" , oldName , newName ) ;
169+ async function _projectFileChanged ( target , entry , added , removed ) {
170+ if ( ! syncEnabled ) {
171+ return ;
172+ }
173+ if ( entry ) {
174+ let fileList = [ ] ;
175+ if ( entry . isDirectory ) {
176+ fileList = await _collectFiles ( entry ) ;
177+ } else {
178+ fileList = [ entry ] ;
179+ }
180+ _setSyncInProgress ( ) ;
181+ _uploadFiles ( fileList , ( ) => {
182+ _setSyncComplete ( ) ;
183+ } ) ;
184+ }
155185 }
156186
157187 function _setSyncInProgress ( ) {
@@ -263,7 +293,6 @@ define(function (require, exports, module) {
263293 _setupUserContext ( ) ;
264294 ProjectManager . on ( ProjectManager . EVENT_PROJECT_OPEN , _projectOpened ) ;
265295 ProjectManager . on ( ProjectManager . EVENT_PROJECT_FILE_CHANGED , _projectFileChanged ) ;
266- ProjectManager . on ( ProjectManager . EVENT_PROJECT_FILE_RENAMED , _projectFileRenamed ) ;
267296 } ;
268297
269298 ExtensionUtils . loadStyleSheet ( module , "styles.css" ) ;
0 commit comments