@@ -31,9 +31,15 @@ module.exports = ext.register("ext/autosave/autosave", {
3131 docChangeTimeout : null ,
3232 docChangeListeners : { } ,
3333
34+ /** related to: Autosave#onExternalChange
35+ * Autosave#Autosave -> Array
36+ * Holds the list of filepaths that have ben changed in the server from an
37+ * external source.
38+ **/
39+ changedPaths : [ ] ,
40+
3441 hook : function ( ) {
3542 var self = this ;
36-
3743 settings . addSettings ( "General" , markupSettings ) ;
3844 ide . addEventListener ( "settings.load" , function ( e ) {
3945 e . ext . setDefaults ( "general" , [ [ "autosaveenabled" , "false" ] ] ) ;
@@ -70,7 +76,6 @@ module.exports = ext.register("ext/autosave/autosave", {
7076
7177 ide . addEventListener ( "afteropenfile" , this . $onOpenFileFn ) ;
7278 ide . addEventListener ( "closefile" , this . $onCloseFileFn ) ;
73- ide . addEventListener ( "afteronline" , this . $onAfterOnline ) ;
7479 ide . addEventListener ( "beforewatcherchange" , this . $onExternalChange ) ;
7580 ide . addEventListener ( "beforesavewarn" , this . $onBeforeSaveWarning ) ;
7681 } ,
@@ -82,13 +87,13 @@ module.exports = ext.register("ext/autosave/autosave", {
8287 onBeforeSaveWarning : function ( e ) {
8388 var isNewFile = apf . isTrue ( e . doc . getNode ( ) . getAttribute ( "newfile" ) ) ;
8489 if ( ! isNewFile && this . isAutoSaveEnabled ) {
85- this . save ( ) ;
90+ this . save ( e . doc . $page ) ;
8691 return false ;
8792 }
8893 } ,
8994
90- /** related to: Revisions #showQuestionWindow
91- * Revisions #onExternalChange(e) -> Boolean
95+ /** related to: Autosave #showQuestionWindow
96+ * Autosave #onExternalChange(e) -> Boolean
9297 * - e(Object): Event object
9398 *
9499 * This is the listener to the file watcher event. It is fired when a file is
@@ -173,16 +178,16 @@ module.exports = ext.register("ext/autosave/autosave", {
173178 var hasChanged = Util . pageHasChanged ( page ) ;
174179 if ( this . isAutoSaveEnabled && hasChanged ) {
175180 if ( btnSave . currentState !== SAVING ) {
176- apf . setStyleClass ( btnSave . $ext , "saving" , [ "saved" ] ) ;
177- apf . setStyleClass ( document . getElementById ( " saveStatus" ) , "saving" , [ "saved" ] ) ;
181+ apf . setStyleClass ( btnSave . $ext , "saving" , [ "saved" ] ) ;
182+ apf . setStyleClass ( saveStatus , "saving" , [ "saved" ] ) ;
178183 btnSave . currentState = SAVING ;
179184 btnSave . setCaption ( "Saving" ) ;
180185 }
181186 }
182187 else if ( ! hasChanged ) {
183188 if ( btnSave . currentState !== SAVED ) {
184- apf . setStyleClass ( btnSave . $ext , "saved" , [ "saving" ] ) ;
185- apf . setStyleClass ( document . getElementById ( " saveStatus" ) , "saved" , [ "saving" ] ) ;
189+ apf . setStyleClass ( btnSave . $ext , "saved" , [ "saving" ] ) ;
190+ apf . setStyleClass ( saveStatus , "saved" , [ "saving" ] ) ;
186191 btnSave . currentState = SAVED ;
187192 btnSave . setCaption ( "Changes saved" ) ;
188193 }
@@ -275,15 +280,16 @@ module.exports = ext.register("ext/autosave/autosave", {
275280
276281 if ( typeof tabEditors === "undefined" || ! this . isAutoSaveEnabled )
277282 return ;
278-
283+
279284 this . save ( tabEditors . getPage ( ) ) ;
280285 } ,
281286
287+
282288 /**
283- * Revisions #save([page])
289+ * Autosave #save([page])
284290 * - page(Object): Page that contains the document to be saved. In case it is
285291 * not provided, the current one will be used
286- *
292+ *
287293 * Prompts a save of the desired document.
288294 **/
289295 save : function ( page , forceSave ) {
@@ -300,8 +306,10 @@ module.exports = ext.register("ext/autosave/autosave", {
300306 if ( node . getAttribute ( "newfile" ) || node . getAttribute ( "debug" ) )
301307 return ;
302308
309+ var _self = this ;
303310 Save . quicksave ( page , function ( ) {
304311 stripws . enable ( ) ;
312+ _self . setSaveButtonCaption ( page ) ;
305313 } , true ) ;
306314 } ,
307315
@@ -315,18 +323,12 @@ module.exports = ext.register("ext/autosave/autosave", {
315323 if ( this . $onCloseFileFn )
316324 ide . removeEventListener ( "closefile" , this . $onCloseFileFn ) ;
317325
318- if ( this . $onFileSaveFn )
319- ide . removeEventListener ( "afterfilesave" , this . $onFileSaveFn ) ;
320-
321326 if ( this . $onSwitchFileFn )
322327 ide . removeEventListener ( "tab.beforeswitch" , this . $onSwitchFileFn ) ;
323328
324329 if ( this . $onAfterSwitchFn )
325330 ide . removeEventListener ( "tab.afterswitch" , this . $onAfterSwitchFn ) ;
326331
327- if ( this . $afterSelectFn )
328- lstRevisions . removeEventListener ( "afterselect" , this . $afterSelectFn ) ;
329-
330332 if ( this . $onExternalChange )
331333 ide . removeEventListener ( "beforewatcherchange" , this . $onExternalChange ) ;
332334
@@ -344,18 +346,12 @@ module.exports = ext.register("ext/autosave/autosave", {
344346 if ( this . $onCloseFileFn )
345347 ide . addEventListener ( "closefile" , this . $onCloseFileFn ) ;
346348
347- if ( this . $onFileSaveFn )
348- ide . addEventListener ( "afterfilesave" , this . $onFileSaveFn ) ;
349-
350349 if ( this . $onSwitchFileFn )
351350 ide . addEventListener ( "tab.beforeswitch" , this . $onSwitchFileFn ) ;
352351
353352 if ( this . $onAfterSwitchFn )
354353 ide . addEventListener ( "tab.afterswitch" , this . $onAfterSwitchFn ) ;
355354
356- if ( this . $afterSelectFn )
357- lstRevisions . addEventListener ( "afterselect" , this . $afterSelectFn ) ;
358-
359355 if ( this . $onExternalChange )
360356 ide . addEventListener ( "beforewatcherchange" , this . $onExternalChange ) ;
361357
@@ -432,4 +428,3 @@ module.exports = ext.register("ext/autosave/autosave", {
432428 }
433429} ) ;
434430} ) ;
435-
0 commit comments