@@ -71,11 +71,11 @@ const deps: (new (em: EditorModel) => IModule)[] = [
7171 DataSourceManager ,
7272] ;
7373const storableDeps : ( new ( em : EditorModel ) => IModule & IStorableModule ) [ ] = [
74+ DataSourceManager , // Ensure DS are loaded before other modules
7475 AssetManager ,
7576 CssComposer ,
7677 PageManager ,
7778 ComponentManager ,
78- DataSourceManager ,
7979] ;
8080
8181Extender ( { $ } ) ;
@@ -115,6 +115,7 @@ export default class EditorModel extends Model {
115115 events = EditorEvents ;
116116 __skip = false ;
117117 defaultRunning = false ;
118+ loadTriggered = false ;
118119 destroyed = false ;
119120 _config : InitEditorConfig ;
120121 _storageTimeout ?: ReturnType < typeof setTimeout > ;
@@ -460,7 +461,7 @@ export default class EditorModel extends Model {
460461 * */
461462 handleUpdates ( model : any , val : any , opt : any = { } ) {
462463 // Component has been added temporarily - do not update storage or record changes
463- if ( this . __skip || opt . temporary || opt . noCount || opt . avoidStore || opt . partial || ! this . get ( 'ready' ) ) {
464+ if ( this . __skip || ! this . loadTriggered || opt . temporary || opt . noCount || opt . avoidStore || opt . partial ) {
464465 return ;
465466 }
466467
@@ -906,14 +907,16 @@ export default class EditorModel extends Model {
906907 return project ;
907908 }
908909
909- loadData ( project : ProjectData = { } , opts : EditorLoadOptions = { } ) : ProjectData {
910+ loadData ( project : ProjectData = { } , options : EditorLoadOptions = { } ) : ProjectData {
911+ const evData = { project, options, initial : ! ! options . initial } ;
910912 let loaded = false ;
911913 if ( ! isEmptyObj ( project ) ) {
912914 this . storables . forEach ( ( module ) => module . clear ( ) ) ;
913915 this . storables . forEach ( ( module ) => module . load ( project ) ) ;
914916 loaded = true ;
915917 }
916- this . trigger ( EditorEvents . projectLoad , { project, loaded, initial : ! ! opts . initial } ) ;
918+ this . trigger ( EditorEvents . projectLoad , { ...evData , loaded } ) ;
919+ loaded && this . trigger ( EditorEvents . projectLoaded , evData ) ;
917920 return project ;
918921 }
919922
0 commit comments