@@ -58,7 +58,7 @@ export default class MediaDbPlugin extends Plugin {
5858 menu . addItem ( item => {
5959 item . setTitle ( 'Import folder as Media DB entries' )
6060 . setIcon ( 'database' )
61- . onClick ( ( ) => this . createEntriesFromFolder ( file as TFolder ) ) ;
61+ . onClick ( ( ) => this . createEntriesFromFolder ( file ) ) ;
6262 } ) ;
6363 }
6464 } ) ) ;
@@ -165,33 +165,44 @@ export default class MediaDbPlugin extends Plugin {
165165 } ) ;
166166
167167 if ( ! apiSearchResults ) {
168+ // TODO: add new notice saying no results found?
168169 return ;
169170 }
170171
171- const selectResults : MediaTypeModel [ ] = await this . modalHelper . openSelectModal ( apiSearchResults , async ( selectedMediaTypeModels ) => {
172- return await this . queryDetails ( selectedMediaTypeModels ) ;
173- } ) ;
172+ let selectResults : MediaTypeModel [ ] ;
173+ let proceed : boolean ;
174174
175- if ( ! selectResults ) {
176- return ;
177- }
175+ while ( ! proceed ) {
176+ selectResults = await this . modalHelper . openSelectModal ( apiSearchResults , async ( selectedMediaTypeModels ) => {
177+ return await this . queryDetails ( selectedMediaTypeModels ) ;
178+ } ) ;
179+ if ( ! selectResults ) {
180+ return ;
181+ }
178182
179- const proceed : boolean = await this . modalHelper . openPreviewModal ( selectResults , async ( result ) => {
180- return true ;
181- } )
182- if ( ! proceed )
183- return ;
183+ proceed = await this . modalHelper . openPreviewModal ( selectResults , async ( ) => {
184+ return true ;
185+ } )
186+ }
184187
185188 await this . createMediaDbNotes ( selectResults ) ;
186189 }
187190
188- async createEntryWithIdSearchModal ( ) {
189- const idSearchResult : MediaTypeModel = await this . modalHelper . openIdSearchModal ( async ( idSearchOptions ) => {
190- return await this . apiManager . queryDetailedInfoById ( idSearchOptions . query , idSearchOptions . api ) ;
191- } )
191+ async createEntryWithIdSearchModal ( ) : Promise < void > {
192+ let idSearchResult : MediaTypeModel ;
193+ let proceed : boolean ;
192194
193- if ( ! idSearchResult ) {
194- return ;
195+ while ( ! proceed ) {
196+ idSearchResult = await this . modalHelper . openIdSearchModal ( async ( idSearchOptions ) => {
197+ return await this . apiManager . queryDetailedInfoById ( idSearchOptions . query , idSearchOptions . api ) ;
198+ } )
199+ if ( ! idSearchResult ) {
200+ return ;
201+ }
202+
203+ proceed = await this . modalHelper . openPreviewModal ( [ idSearchResult ] , async ( ) => {
204+ return true ;
205+ } )
195206 }
196207
197208 await this . createMediaDbNoteFromModel ( idSearchResult , { attachTemplate : true , openNote : true } ) ;
0 commit comments