@@ -232,7 +232,7 @@ export default class MediaDbPlugin extends Plugin {
232232
233233 let fileContent = await this . generateMediaDbNoteContents ( mediaTypeModel , options ) ;
234234
235- await this . createNote ( this . mediaTypeManager . getFileName ( mediaTypeModel ) , fileContent , options . openNote ) ;
235+ await this . createNote ( this . mediaTypeManager . getFileName ( mediaTypeModel ) , fileContent , options ) ;
236236 } catch ( e ) {
237237 console . warn ( e ) ;
238238 new Notice ( e . toString ( ) ) ;
@@ -325,18 +325,18 @@ export default class MediaDbPlugin extends Plugin {
325325 *
326326 * @param fileName
327327 * @param fileContent
328- * @param openFile
328+ * @param options
329329 */
330- async createNote ( fileName : string , fileContent : string , openFile : boolean = false ) {
331- fileName = replaceIllegalFileNameCharactersInString ( fileName ) ;
332- const filePath = `${ this . settings . folder . replace ( / \/ $ / , '' ) } /${ fileName } .md` ;
333-
334- // find and possibly create the folder set in settings
335- const folder = this . app . vault . getAbstractFileByPath ( this . settings . folder ) ;
330+ async createNote ( fileName : string , fileContent : string , options : CreateNoteOptions ) {
331+ // find and possibly create the folder set in settings or passed in folder
332+ const folder = options . folder ?? this . app . vault . getAbstractFileByPath ( this . settings . folder ) ;
336333 if ( ! folder ) {
337- await this . app . vault . createFolder ( this . settings . folder . replace ( / \/ $ / , '' ) ) ;
334+ await this . app . vault . createFolder ( folder . path ) ;
338335 }
339336
337+ fileName = replaceIllegalFileNameCharactersInString ( fileName ) ;
338+ const filePath = `${ folder . path } /${ fileName } .md` ;
339+
340340 // find and delete file with the same name
341341 const file = this . app . vault . getAbstractFileByPath ( filePath ) ;
342342 if ( file ) {
@@ -348,7 +348,7 @@ export default class MediaDbPlugin extends Plugin {
348348 console . debug ( `MDB | created new file at ${ filePath } ` ) ;
349349
350350 // open newly crated file
351- if ( openFile ) {
351+ if ( options . openNote ) {
352352 const activeLeaf = this . app . workspace . getUnpinnedLeaf ( ) ;
353353 if ( ! activeLeaf ) {
354354 console . warn ( 'MDB | no active leaf, not opening newly created note' ) ;
@@ -378,20 +378,22 @@ export default class MediaDbPlugin extends Plugin {
378378 }
379379
380380 let oldMediaTypeModel = this . mediaTypeManager . createMediaTypeModelFromMediaType ( metadata , metadata . type ) ;
381+ // console.debug(oldMediaTypeModel);
381382
382383 let newMediaTypeModel = await this . apiManager . queryDetailedInfoById ( metadata . id , metadata . dataSource ) ;
383384 if ( ! newMediaTypeModel ) {
384385 return ;
385386 }
386387
387388 newMediaTypeModel = Object . assign ( oldMediaTypeModel , newMediaTypeModel . getWithOutUserData ( ) ) ;
389+ // console.debug(newMediaTypeModel);
388390
389391 // deletion not happening anymore why is this log statement still here
390392 console . debug ( 'MDB | deleting old entry' ) ;
391393 if ( onlyMetadata ) {
392- await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachFile : activeFile , openNote : true } ) ;
394+ await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachFile : activeFile , folder : activeFile . parent , openNote : true } ) ;
393395 } else {
394- await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachTemplate : true , openNote : true } ) ;
396+ await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachTemplate : true , folder : activeFile . parent , openNote : true } ) ;
395397 }
396398
397399 }
0 commit comments