mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 03:29:02 +01:00 
			
		
		
		
	Make toc/hightlightslist reopen after it's closed
This commit is contained in:
		
							parent
							
								
									98c9e25124
								
							
						
					
					
						commit
						31aa6feb0c
					
				| @ -38,6 +38,8 @@ import SimilarNotesWidget from "../widgets/ribbon_widgets/similar_notes.js"; | ||||
| import RightPaneContainer from "../widgets/containers/right_pane_container.js"; | ||||
| import EditButton from "../widgets/buttons/edit_button.js"; | ||||
| import EditedNotesWidget from "../widgets/ribbon_widgets/edited_notes.js"; | ||||
| import ShowTocWidgetButton from "../widgets/buttons/show_toc_widget_button.js"; | ||||
| import ShowHighlightsListWidgetButton from "../widgets/buttons/show_highlights_list_widget_button.js"; | ||||
| import MermaidWidget from "../widgets/mermaid.js"; | ||||
| import NoteWrapperWidget from "../widgets/note_wrapper.js"; | ||||
| import BacklinksWidget from "../widgets/floating_buttons/zpetne_odkazy.js"; | ||||
| @ -160,6 +162,8 @@ export default class DesktopLayout { | ||||
|                                     .child(new WatchedFileUpdateStatusWidget()) | ||||
|                                     .child(new FloatingButtons() | ||||
|                                         .child(new EditButton()) | ||||
|                                         .child(new ShowTocWidgetButton()) | ||||
|                                         .child(new ShowHighlightsListWidgetButton()) | ||||
|                                         .child(new CodeButtonsWidget()) | ||||
|                                         .child(new RelationMapButtons()) | ||||
|                                         .child(new CopyImageReferenceButton()) | ||||
|  | ||||
| @ -0,0 +1,51 @@ | ||||
| import OnClickButtonWidget from "./onclick_button.js"; | ||||
| import appContext from "../../components/app_context.js"; | ||||
| import attributeService from "../../services/attributes.js"; | ||||
| import { t } from "../../services/i18n.js"; | ||||
| 
 | ||||
| export default class ShowHighlightsListWidgetButton extends OnClickButtonWidget { | ||||
|     isEnabled() { | ||||
|         return super.isEnabled() | ||||
|             && this.note | ||||
|             && this.note.type === 'text' | ||||
|             && this.noteContext.viewScope.viewMode === 'default'; | ||||
|     } | ||||
| 
 | ||||
|     constructor() { | ||||
|         super(); | ||||
| 
 | ||||
|         this.icon("bx-highlight") | ||||
|             .title(t("show_highlights_list_widget_button.show_highlights_list")) | ||||
|             .titlePlacement("bottom") | ||||
|             .onClick(widget => { | ||||
|                 this.noteContext.viewScope.highlightsListTemporarilyHidden = false; | ||||
|                 appContext.triggerEvent("showHighlightsListWidget", { noteId: this.noteId }); | ||||
|                 this.toggleInt(false); | ||||
|             }); | ||||
|     } | ||||
| 
 | ||||
|     async refreshWithNote(note) { | ||||
|         console.log(222) | ||||
|         this.toggleInt(this.noteContext.viewScope.highlightsListTemporarilyHidden); | ||||
|     } | ||||
|     async reEvaluateHighlightsListWidgetVisibilityEvent({ noteId }) { | ||||
|         if (noteId === this.noteId) { | ||||
|             await this.refresh(); | ||||
|         } | ||||
|     } | ||||
|     async entitiesReloadedEvent({ loadResults }) { | ||||
|         if (loadResults.isNoteContentReloaded(this.noteId)) { | ||||
|             await this.refresh(); | ||||
|         } else if (loadResults.getAttributeRows().find(attr => attr.type === 'label' | ||||
|             && (attr.name.toLowerCase().includes('readonly') || attr.name === 'hideHighlightWidget') | ||||
|             && attributeService.isAffecting(attr, this.note))) { | ||||
|             await this.refresh(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     async noteTypeMimeChangedEvent({ noteId }) { | ||||
|         if (this.isNote(noteId)) { | ||||
|             await this.refresh(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										52
									
								
								src/public/app/widgets/buttons/show_toc_widget_button.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/public/app/widgets/buttons/show_toc_widget_button.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| import OnClickButtonWidget from "./onclick_button.js"; | ||||
| import appContext from "../../components/app_context.js"; | ||||
| import attributeService from "../../services/attributes.js"; | ||||
| import { t } from "../../services/i18n.js"; | ||||
| 
 | ||||
| export default class ShowTocWidgetButton extends OnClickButtonWidget { | ||||
|     isEnabled() { | ||||
|         return super.isEnabled() | ||||
|             && this.note | ||||
|             && this.note.type === 'text' | ||||
|             && this.noteContext.viewScope.viewMode === 'default'; | ||||
|     } | ||||
| 
 | ||||
|     constructor() { | ||||
|         super(); | ||||
| 
 | ||||
|         this.icon("bx-objects-horizontal-left") | ||||
|             .title(t("show_toc_widget_button.show_toc")) | ||||
|             .titlePlacement("bottom") | ||||
|             .onClick(widget => { | ||||
|                 this.noteContext.viewScope.tocTemporarilyHidden = false; | ||||
|                 appContext.triggerEvent("showTocWidget", { noteId: this.noteId }); | ||||
|                 this.toggleInt(false); | ||||
|             }); | ||||
|     } | ||||
| 
 | ||||
|     async refreshWithNote(note) { | ||||
|         console.log(213) | ||||
|         this.toggleInt(this.noteContext.viewScope.tocTemporarilyHidden); | ||||
|     } | ||||
|     async reEvaluateTocWidgetVisibilityEvent({ noteId }) { | ||||
|         console.log("noteId", noteId) | ||||
|         if (noteId === this.noteId) { | ||||
|             await this.refresh(); | ||||
|         } | ||||
|     } | ||||
|     async entitiesReloadedEvent({ loadResults }) { | ||||
|         if (loadResults.isNoteContentReloaded(this.noteId)) { | ||||
|             await this.refresh(); | ||||
|         } else if (loadResults.getAttributeRows().find(attr => attr.type === 'label' | ||||
|             && (attr.name.toLowerCase().includes('readonly') || attr.name === 'toc') | ||||
|             && attributeService.isAffecting(attr, this.note))) { | ||||
|             await this.refresh(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     async noteTypeMimeChangedEvent({ noteId }) { | ||||
|         if (this.isNote(noteId)) { | ||||
|             await this.refresh(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -318,6 +318,14 @@ export default class HighlightsListWidget extends RightPanelWidget { | ||||
|         this.noteContext.viewScope.highlightsListTemporarilyHidden = true; | ||||
|         await this.refresh(); | ||||
|         this.triggerCommand('reEvaluateRightPaneVisibility'); | ||||
|         appContext.triggerEvent("reEvaluateHighlightsListWidgetVisibility", { noteId: this.noteId }); | ||||
|     } | ||||
| 
 | ||||
|     async showHighlightsListWidgetEvent({ noteId }) { | ||||
|         if (this.noteId === noteId) { | ||||
|             await this.refresh(); | ||||
|             this.triggerCommand('reEvaluateRightPaneVisibility'); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     async entitiesReloadedEvent({ loadResults }) { | ||||
|  | ||||
| @ -275,6 +275,14 @@ export default class TocWidget extends RightPanelWidget { | ||||
|         this.noteContext.viewScope.tocTemporarilyHidden = true; | ||||
|         await this.refresh(); | ||||
|         this.triggerCommand('reEvaluateRightPaneVisibility'); | ||||
|         appContext.triggerEvent("reEvaluateTocWidgetVisibility", { noteId: this.noteId }); | ||||
|     } | ||||
| 
 | ||||
|     async showTocWidgetEvent({ noteId }) { | ||||
|         if (this.noteId === noteId) { | ||||
|             await this.refresh(); | ||||
|             this.triggerCommand('reEvaluateRightPaneVisibility'); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     async entitiesReloadedEvent({ loadResults }) { | ||||
|  | ||||
| @ -567,6 +567,12 @@ | ||||
|   "edit_button": { | ||||
|     "edit_this_note": "Edit this note" | ||||
|   }, | ||||
|   "show_toc_widget_button": { | ||||
|     "show_toc": "Show Table of Contents" | ||||
|   }, | ||||
|   "show_highlights_list_widget_button": { | ||||
|     "show_highlights_list": "Show Highlights List" | ||||
|   }, | ||||
|   "global_menu": { | ||||
|     "menu": "Menu", | ||||
|     "options": "Options", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 SiriusXT
						SiriusXT