@@ -232,7 +232,7 @@ export default class MediaDbPlugin extends Plugin {
232
232
233
233
let fileContent = await this . generateMediaDbNoteContents ( mediaTypeModel , options ) ;
234
234
235
- await this . createNote ( this . mediaTypeManager . getFileName ( mediaTypeModel ) , fileContent , options . openNote ) ;
235
+ await this . createNote ( this . mediaTypeManager . getFileName ( mediaTypeModel ) , fileContent , options ) ;
236
236
} catch ( e ) {
237
237
console . warn ( e ) ;
238
238
new Notice ( e . toString ( ) ) ;
@@ -325,18 +325,18 @@ export default class MediaDbPlugin extends Plugin {
325
325
*
326
326
* @param fileName
327
327
* @param fileContent
328
- * @param openFile
328
+ * @param options
329
329
*/
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 ) ;
336
333
if ( ! folder ) {
337
- await this . app . vault . createFolder ( this . settings . folder . replace ( / \/ $ / , '' ) ) ;
334
+ await this . app . vault . createFolder ( folder . path ) ;
338
335
}
339
336
337
+ fileName = replaceIllegalFileNameCharactersInString ( fileName ) ;
338
+ const filePath = `${ folder . path } /${ fileName } .md` ;
339
+
340
340
// find and delete file with the same name
341
341
const file = this . app . vault . getAbstractFileByPath ( filePath ) ;
342
342
if ( file ) {
@@ -348,7 +348,7 @@ export default class MediaDbPlugin extends Plugin {
348
348
console . debug ( `MDB | created new file at ${ filePath } ` ) ;
349
349
350
350
// open newly crated file
351
- if ( openFile ) {
351
+ if ( options . openNote ) {
352
352
const activeLeaf = this . app . workspace . getUnpinnedLeaf ( ) ;
353
353
if ( ! activeLeaf ) {
354
354
console . warn ( 'MDB | no active leaf, not opening newly created note' ) ;
@@ -378,20 +378,22 @@ export default class MediaDbPlugin extends Plugin {
378
378
}
379
379
380
380
let oldMediaTypeModel = this . mediaTypeManager . createMediaTypeModelFromMediaType ( metadata , metadata . type ) ;
381
+ // console.debug(oldMediaTypeModel);
381
382
382
383
let newMediaTypeModel = await this . apiManager . queryDetailedInfoById ( metadata . id , metadata . dataSource ) ;
383
384
if ( ! newMediaTypeModel ) {
384
385
return ;
385
386
}
386
387
387
388
newMediaTypeModel = Object . assign ( oldMediaTypeModel , newMediaTypeModel . getWithOutUserData ( ) ) ;
389
+ // console.debug(newMediaTypeModel);
388
390
389
391
// deletion not happening anymore why is this log statement still here
390
392
console . debug ( 'MDB | deleting old entry' ) ;
391
393
if ( onlyMetadata ) {
392
- await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachFile : activeFile , openNote : true } ) ;
394
+ await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachFile : activeFile , folder : activeFile . parent , openNote : true } ) ;
393
395
} else {
394
- await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachTemplate : true , openNote : true } ) ;
396
+ await this . createMediaDbNoteFromModel ( newMediaTypeModel , { attachTemplate : true , folder : activeFile . parent , openNote : true } ) ;
395
397
}
396
398
397
399
}
0 commit comments