mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 21:19:01 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			915 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			915 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
module.exports = function (note, categoryRootNote, assignedCategories, labelName, isTaskDone) {
 | 
						|
    const found = {};
 | 
						|
    
 | 
						|
    for (const categoryNote of categoryRootNote.getChildNotes()) {
 | 
						|
        const label = categoryNote.getLabel(labelName);
 | 
						|
        
 | 
						|
        if (label) {
 | 
						|
            found[label.value] = !isTaskDone && assignedCategories.includes(label.value);
 | 
						|
 | 
						|
            api.toggleNoteInParent(found[label.value], note.noteId, categoryNote.noteId);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    
 | 
						|
    if (!isTaskDone) {
 | 
						|
        for (const assignedCategory of assignedCategories) {
 | 
						|
            if (!found[assignedCategory]) {
 | 
						|
                const categoryNote = api.createTextNote(categoryRootNote.noteId, assignedCategory, "").note;
 | 
						|
                
 | 
						|
                categoryNote.addLabel(labelName, assignedCategory);
 | 
						|
 | 
						|
                api.ensureNoteIsPresentInParent(note.noteId, categoryNote.noteId);
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |