mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	fix duplicating subtree with internal links, closes #3813
This commit is contained in:
		
							parent
							
								
									293573a0cd
								
							
						
					
					
						commit
						839b172b92
					
				@ -96,7 +96,7 @@ class BAttribute extends AbstractBeccaEntity {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (this.type === 'relation' && !(this.value in this.becca.notes)) {
 | 
			
		||||
            throw new Error(`Cannot save relation '${this.name}' of note '${this.noteId}' since it target not existing note '${this.value}'.`);
 | 
			
		||||
            throw new Error(`Cannot save relation '${this.name}' of note '${this.noteId}' since it targets not existing note '${this.value}'.`);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -97,7 +97,7 @@ class BNote extends AbstractBeccaEntity {
 | 
			
		||||
         * @private */
 | 
			
		||||
        this.parents = [];
 | 
			
		||||
        /** @type {BNote[]}
 | 
			
		||||
         * @private*/
 | 
			
		||||
         * @private */
 | 
			
		||||
        this.children = [];
 | 
			
		||||
        /** @type {BAttribute[]}
 | 
			
		||||
         * @private */
 | 
			
		||||
@ -107,11 +107,11 @@ class BNote extends AbstractBeccaEntity {
 | 
			
		||||
         * @private */
 | 
			
		||||
        this.__attributeCache = null;
 | 
			
		||||
        /** @type {BAttribute[]|null}
 | 
			
		||||
         * @private*/
 | 
			
		||||
         * @private */
 | 
			
		||||
        this.inheritableAttributeCache = null;
 | 
			
		||||
 | 
			
		||||
        /** @type {BAttribute[]}
 | 
			
		||||
         * @private*/
 | 
			
		||||
         * @private */
 | 
			
		||||
        this.targetRelations = [];
 | 
			
		||||
 | 
			
		||||
        this.becca.addNote(this.noteId, this);
 | 
			
		||||
 | 
			
		||||
@ -841,7 +841,7 @@ function duplicateSubtree(origNoteId, newParentNoteId) {
 | 
			
		||||
        throw new Error('Duplicating root is not possible');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    log.info(`Duplicating ${origNoteId} subtree into ${newParentNoteId}`);
 | 
			
		||||
    log.info(`Duplicating '${origNoteId}' subtree into '${newParentNoteId}'`);
 | 
			
		||||
 | 
			
		||||
    const origNote = becca.notes[origNoteId];
 | 
			
		||||
    // might be null if orig note is not in the target newParentNoteId
 | 
			
		||||
@ -919,7 +919,8 @@ function duplicateSubtreeInner(origNote, origBranch, newParentNoteId, noteIdMapp
 | 
			
		||||
                attr.value = noteIdMapping[attr.value];
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            attr.save();
 | 
			
		||||
            // the relation targets may not be created yet, the mapping is pre-generated
 | 
			
		||||
            attr.save({skipValidation: true});
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (const childBranch of origNote.getChildBranches()) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user