mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-09-04 14:41:42 +08: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