| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  | import BasicWidget from "./basic_widget.js"; | 
					
						
							|  |  |  | import keyboardActionService from "../services/keyboard_actions.js"; | 
					
						
							|  |  |  | import utils from "../services/utils.js"; | 
					
						
							|  |  |  | import syncService from "../services/sync.js"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const TPL = `
 | 
					
						
							|  |  |  | <div class="global-menu-wrapper"> | 
					
						
							|  |  |  |     <style> | 
					
						
							|  |  |  |     .global-menu-wrapper { | 
					
						
							|  |  |  |         height: 35px; | 
					
						
							|  |  |  |         border-bottom: 1px solid var(--main-border-color); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     .global-menu button { | 
					
						
							|  |  |  |         margin-right: 10px; | 
					
						
							|  |  |  |         height: 33px; | 
					
						
							|  |  |  |         border-bottom: none; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |     .global-menu .dropdown-menu { | 
					
						
							|  |  |  |         width: 20em; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     </style> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     <div class="dropdown global-menu"> | 
					
						
							|  |  |  |         <button type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="btn btn-sm dropdown-toggle"> | 
					
						
							|  |  |  |             <span class="bx bx-menu"></span> | 
					
						
							|  |  |  |             Menu | 
					
						
							|  |  |  |             <span class="caret"></span> | 
					
						
							|  |  |  |         </button> | 
					
						
							|  |  |  |         <div class="dropdown-menu dropdown-menu-right"> | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item options-button" data-trigger-event="showOptions"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-slider"></span> | 
					
						
							|  |  |  |                 Options | 
					
						
							|  |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             <a class="dropdown-item sync-now-button" title="Trigger sync"> | 
					
						
							| 
									
										
										
										
											2020-02-15 09:16:23 +01:00
										 |  |  |                 <span class="bx bx-refresh"></span> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 Sync (<span id="outstanding-syncs-count">0</span>) | 
					
						
							|  |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 19:41:19 +01:00
										 |  |  |             <a class="dropdown-item open-dev-tools-button" data-trigger-event="openDevTools"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-terminal"></span> | 
					
						
							|  |  |  |                 Open Dev Tools | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="openDevTools"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item" data-trigger-event="showSQLConsole"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-data"></span> | 
					
						
							|  |  |  |                 Open SQL Console | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="showSQLConsole"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item" data-trigger-event="showBackendLog"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-empty"></span> | 
					
						
							|  |  |  |                 Show backend log | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="showBackendLog"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item" data-trigger-event="reloadFrontendApp"  | 
					
						
							| 
									
										
										
										
											2020-01-22 19:41:19 +01:00
										 |  |  |                 title="Reload can help with some visual glitches without restarting the whole app."> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-empty"></span> | 
					
						
							|  |  |  |                 Reload frontend | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="reloadFrontendApp"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item" data-trigger-event="toggleZenMode"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-empty"></span> | 
					
						
							|  |  |  |                 Toggle Zen mode | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="toggleZenMode"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item" data-trigger-event="toggleFullscreen"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-empty"></span> | 
					
						
							|  |  |  |                 Toggle fullscreen | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="toggleFullscreen"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |             <a class="dropdown-item" data-trigger-event="showHelp"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-info-circle"></span> | 
					
						
							|  |  |  |                 Show Help | 
					
						
							| 
									
										
										
										
											2020-02-15 22:12:05 +01:00
										 |  |  |                 <kbd data-kb-action="showHelp"></kbd> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             <a class="dropdown-item show-about-dialog-button"> | 
					
						
							|  |  |  |                 <span class="bx bx-empty"></span> | 
					
						
							|  |  |  |                 About Trilium Notes | 
					
						
							|  |  |  |             </a> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 19:41:19 +01:00
										 |  |  |             <a class="dropdown-item logout-button" data-trigger-event="logout"> | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |                 <span class="bx bx-log-out"></span> | 
					
						
							|  |  |  |                 Logout | 
					
						
							|  |  |  |             </a> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  | </div> | 
					
						
							|  |  |  | `;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default class GlobalMenuWidget extends BasicWidget { | 
					
						
							| 
									
										
										
										
											2020-01-22 20:48:56 +01:00
										 |  |  |     doRender() { | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  |         this.$widget = $(TPL); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 19:41:19 +01:00
										 |  |  |         this.$widget.find(".show-about-dialog-button").on('click', | 
					
						
							|  |  |  |             () => import("../dialogs/about.js").then(d => d.showDialog())); | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         this.$widget.find(".sync-now-button").on('click', () => syncService.syncNow()); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 19:41:19 +01:00
										 |  |  |         this.$widget.find(".logout-button").toggle(!utils.isElectron()); | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-22 19:41:19 +01:00
										 |  |  |         this.$widget.find(".open-dev-tools-button").toggle(utils.isElectron()); | 
					
						
							| 
									
										
										
										
											2020-01-15 19:40:17 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |         return this.$widget; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | } |