mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-11-04 15:11:31 +08:00 
			
		
		
		
	make sure that the hidden note is never selected when hoisted to root to avoid e.g. erroneous deletion
This commit is contained in:
		
							parent
							
								
									5f6d562bf8
								
							
						
					
					
						commit
						d9666210f1
					
				@ -14,7 +14,6 @@ import keyboardActionsService from "../services/keyboard_actions.js";
 | 
				
			|||||||
import clipboard from "../services/clipboard.js";
 | 
					import clipboard from "../services/clipboard.js";
 | 
				
			||||||
import protectedSessionService from "../services/protected_session.js";
 | 
					import protectedSessionService from "../services/protected_session.js";
 | 
				
			||||||
import linkService from "../services/link.js";
 | 
					import linkService from "../services/link.js";
 | 
				
			||||||
import syncService from "../services/sync.js";
 | 
					 | 
				
			||||||
import options from "../services/options.js";
 | 
					import options from "../services/options.js";
 | 
				
			||||||
import protectedSessionHolder from "../services/protected_session_holder.js";
 | 
					import protectedSessionHolder from "../services/protected_session_holder.js";
 | 
				
			||||||
import dialogService from "../services/dialog.js";
 | 
					import dialogService from "../services/dialog.js";
 | 
				
			||||||
@ -586,6 +585,17 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
 | 
				
			|||||||
                });
 | 
					                });
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            select: (event, {node}) => {
 | 
					            select: (event, {node}) => {
 | 
				
			||||||
 | 
					                if (hoistedNoteService.getHoistedNoteId() === 'root'
 | 
				
			||||||
 | 
					                    && node.data.noteId === '_hidden'
 | 
				
			||||||
 | 
					                    && node.isSelected()) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    // hidden is hackily hidden from the tree via CSS when root is hoisted
 | 
				
			||||||
 | 
					                    // make sure it's not selected by mistake, it could be e.g. deleted by mistake otherwise
 | 
				
			||||||
 | 
					                    node.setSelected(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    return;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                $(node.span).find(".fancytree-custom-icon").attr("title",
 | 
					                $(node.span).find(".fancytree-custom-icon").attr("title",
 | 
				
			||||||
                    node.isSelected() ? "Apply bulk actions on selected notes" : "");
 | 
					                    node.isSelected() ? "Apply bulk actions on selected notes" : "");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@ -799,7 +809,10 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
 | 
				
			|||||||
            nodes.push(this.getActiveNode());
 | 
					            nodes.push(this.getActiveNode());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return nodes;
 | 
					        // hidden subtree is hackily hidden via CSS when hoisted to root
 | 
				
			||||||
 | 
					        // make sure it's never selected for e.g. deletion in such a case
 | 
				
			||||||
 | 
					        return nodes.filter(node => hoistedNoteService.getHoistedNoteId() !== 'root'
 | 
				
			||||||
 | 
					                                               || node.data.noteId !== '_hidden');
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async setExpandedStatusForSubtree(node, isExpanded) {
 | 
					    async setExpandedStatusForSubtree(node, isExpanded) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user