@@ -644,15 +644,23 @@ class TileMapEditorApp {
644644 }
645645
646646 attachEvents ( ) {
647- this . refs . newProjectButton . addEventListener ( "click" , ( ) => this . handleNewProject ( ) ) ;
648- this . refs . loadProjectButton . addEventListener ( "click" , ( ) => this . refs . loadProjectInput . click ( ) ) ;
649- this . refs . loadProjectInput . addEventListener ( "change" , ( event ) => this . handleLoadProject ( event ) ) ;
647+ if ( this . refs . newProjectButton ) {
648+ this . refs . newProjectButton . addEventListener ( "click" , ( ) => this . handleNewProject ( ) ) ;
649+ }
650+ if ( this . refs . loadProjectButton && this . refs . loadProjectInput ) {
651+ this . refs . loadProjectButton . addEventListener ( "click" , ( ) => this . refs . loadProjectInput . click ( ) ) ;
652+ }
653+ if ( this . refs . loadProjectInput ) {
654+ this . refs . loadProjectInput . addEventListener ( "change" , ( event ) => this . handleLoadProject ( event ) ) ;
655+ }
650656 this . refs . loadSampleButton . addEventListener ( "click" , ( ) => this . handleLoadSelectedSample ( ) ) ;
651657 this . refs . sampleSelect . addEventListener ( "change" , ( ) => this . handleSampleSelectionChanged ( ) ) ;
652658 this . refs . sampleSelect . addEventListener ( "focus" , ( ) => {
653659 void this . loadSampleManifest ( { quiet : true } ) ;
654660 } ) ;
655- this . refs . saveProjectButton . addEventListener ( "click" , ( ) => this . handleSaveProject ( ) ) ;
661+ if ( this . refs . saveProjectButton ) {
662+ this . refs . saveProjectButton . addEventListener ( "click" , ( ) => this . handleSaveProject ( ) ) ;
663+ }
656664 this . refs . loadAssetRegistryButton . addEventListener ( "click" , ( ) => this . refs . loadAssetRegistryInput . click ( ) ) ;
657665 this . refs . loadAssetRegistryInput . addEventListener ( "change" , ( event ) => this . handleLoadAssetRegistry ( event ) ) ;
658666 this . refs . saveAssetRegistryButton . addEventListener ( "click" , ( ) => this . handleSaveAssetRegistry ( ) ) ;
@@ -943,7 +951,9 @@ class TileMapEditorApp {
943951 this . updateStatus ( `Load failed: ${ error instanceof Error ? error . message : "invalid JSON" } ` ) ;
944952 }
945953
946- this . refs . loadProjectInput . value = "" ;
954+ if ( this . refs . loadProjectInput ) {
955+ this . refs . loadProjectInput . value = "" ;
956+ }
947957 } ;
948958
949959 reader . readAsText ( file ) ;
0 commit comments