mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 13:39:01 +01:00 
			
		
		
		
	Add close tabs link in toast message after saving window's tabs
This commit is contained in:
		
							parent
							
								
									6824eb21d4
								
							
						
					
					
						commit
						73d48d8dd5
					
				@ -125,11 +125,12 @@ async function sendMessageToActiveTab(message) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function toast(message, noteId = null) {
 | 
					function toast(message, noteId = null, tabIds = null) {
 | 
				
			||||||
	sendMessageToActiveTab({
 | 
						sendMessageToActiveTab({
 | 
				
			||||||
		name: 'toast',
 | 
							name: 'toast',
 | 
				
			||||||
		message: message,
 | 
							message: message,
 | 
				
			||||||
		noteId: noteId
 | 
							noteId: noteId,
 | 
				
			||||||
 | 
							tabIds: tabIds
 | 
				
			||||||
	});
 | 
						});
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -302,7 +303,11 @@ async function saveTabs() {
 | 
				
			|||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	toast(`${tabs.length} links have been saved to Trilium.`, resp.noteId);
 | 
						toast(
 | 
				
			||||||
 | 
							`${tabs.length} links have been saved to Trilium.`,
 | 
				
			||||||
 | 
							resp.noteId,
 | 
				
			||||||
 | 
							tabs.map(tab=>{return tab.id})
 | 
				
			||||||
 | 
						);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
browser.contextMenus.onClicked.addListener(async function(info, tab) {
 | 
					browser.contextMenus.onClicked.addListener(async function(info, tab) {
 | 
				
			||||||
@ -371,6 +376,9 @@ browser.runtime.onMessage.addListener(async request => {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						else if (request.name === 'closeTabs') {
 | 
				
			||||||
 | 
							return await browser.tabs.remove(request.tabIds)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	else if (request.name === 'load-script') {
 | 
						else if (request.name === 'load-script') {
 | 
				
			||||||
		return await browser.tabs.executeScript({file: request.file});
 | 
							return await browser.tabs.executeScript({file: request.file});
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										42
									
								
								content.js
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								content.js
									
									
									
									
									
								
							@ -209,6 +209,17 @@ function getImages(container) {
 | 
				
			|||||||
	return images;
 | 
						return images;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function createLink(clickMessage, text, color = "lightskyblue") {
 | 
				
			||||||
 | 
						const link = document.createElement('a');
 | 
				
			||||||
 | 
						link.href = "javascript:";
 | 
				
			||||||
 | 
						link.style.color = color;
 | 
				
			||||||
 | 
						link.appendChild(document.createTextNode(text));
 | 
				
			||||||
 | 
						link.addEventListener("click", () => {
 | 
				
			||||||
 | 
							browser.runtime.sendMessage(null, clickMessage)
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
						return link
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
async function prepareMessageResponse(message) {
 | 
					async function prepareMessageResponse(message) {
 | 
				
			||||||
	console.info('Message: ' + message.name);
 | 
						console.info('Message: ' + message.name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -216,21 +227,24 @@ async function prepareMessageResponse(message) {
 | 
				
			|||||||
		let messageText;
 | 
							let messageText;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (message.noteId) {
 | 
							if (message.noteId) {
 | 
				
			||||||
			messageText = document.createElement('span');
 | 
								messageText = document.createElement('p');
 | 
				
			||||||
 | 
								messageText.setAttribute("style", "padding: 0; margin: 0")
 | 
				
			||||||
			messageText.appendChild(document.createTextNode(message.message + " "));
 | 
								messageText.appendChild(document.createTextNode(message.message + " "));
 | 
				
			||||||
 | 
								openNoteLink = createLink(
 | 
				
			||||||
 | 
									{name: 'openNoteInTrilium',noteId: message.noteId},
 | 
				
			||||||
 | 
									"Open in Trilium."
 | 
				
			||||||
 | 
									)
 | 
				
			||||||
 | 
								messageText.appendChild(openNoteLink);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			const link = document.createElement('a');
 | 
								if (message.tabIds) {
 | 
				
			||||||
			link.href = "javascript:";
 | 
									messageText.appendChild(document.createElement("br"));
 | 
				
			||||||
			link.style.color = "lightskyblue";
 | 
									closeTabsLink = createLink(
 | 
				
			||||||
			link.appendChild(document.createTextNode("Open in Trilium."));
 | 
										{name: 'closeTabs', tabIds: message.tabIds},
 | 
				
			||||||
			link.addEventListener("click", () => {
 | 
										"Close saved tabs.",
 | 
				
			||||||
				browser.runtime.sendMessage(null, {
 | 
										"tomato"
 | 
				
			||||||
					name: 'openNoteInTrilium',
 | 
										)
 | 
				
			||||||
					noteId: message.noteId
 | 
									messageText.appendChild(closeTabsLink);
 | 
				
			||||||
				})
 | 
								}
 | 
				
			||||||
			});
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			messageText.appendChild(link);
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
			messageText = message.message;
 | 
								messageText = message.message;
 | 
				
			||||||
@ -304,4 +318,4 @@ async function requireLib(libPath) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		await browser.runtime.sendMessage({name: 'load-script', file: libPath});
 | 
							await browser.runtime.sendMessage({name: 'load-script', file: libPath});
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user