496 lines
26 KiB
JavaScript
496 lines
26 KiB
JavaScript
class Menu_ttMenu {
|
|
constructor(MenuItem) {
|
|
let SeparatorDIV = DOM_New("div", tt.DOMmenu, {id: MenuItem[0], className: "separator"});
|
|
let MenuLI = DOM_New("li", tt.DOMmenu, {id: MenuItem[1], className: "menu_item"});
|
|
this.id = MenuLI.id;
|
|
this.Menu = MenuLI;
|
|
this.Separator = SeparatorDIV;
|
|
|
|
if (this.id == "menu_new_pin") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("pin")) {
|
|
console.log(tt.menuItemNode)
|
|
Tabs_OpenNewTab(true, tt.menuItemNode, undefined);
|
|
} else {
|
|
Tabs_OpenNewTab(true, undefined, undefined);
|
|
}
|
|
}}}
|
|
if (this.id == "menu_new_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("folder")) {
|
|
Tabs_OpenNewTab(false, undefined, tt.menuItemNode.childNodes[1]);
|
|
} else {
|
|
if (tt.menuItemNode.classList.contains("pin")) {
|
|
Tabs_OpenNewTab(true, tt.menuItemNode, undefined);
|
|
} else {
|
|
if (tt.menuItemNode.classList.contains("tab")) {
|
|
Tabs_OpenNewTab(false, tt.menuItemNode, undefined);
|
|
} else {
|
|
Tabs_OpenNewTab(false, undefined, document.getElementById("°"+tt.active_group));
|
|
}
|
|
}
|
|
}
|
|
}}}
|
|
if (this.id == "menu_unpin_tab" || this.id == "menu_pin_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {pinned: (tt.menuItemNode.classList.contains("tab"))});
|
|
}
|
|
} else {
|
|
chrome.tabs.update(parseInt(tt.menuItemNode.id), {pinned: (tt.menuItemNode.classList.contains("tab"))});
|
|
}
|
|
}}}
|
|
if (this.id == "menu_duplicate_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
tt.tabs[s.id].DuplicateTab();
|
|
}
|
|
} else {
|
|
tt.tabs[tt.menuItemNode.id].DuplicateTab();
|
|
}
|
|
}}}
|
|
if (this.id == "menu_detach_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
DOM_FreezeSelection(false);
|
|
let Nodes = [];
|
|
let NodesTypes = {DraggingPin: false, DraggingTab: false, DraggingFolder: false};
|
|
let query = [];
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
query = document.querySelectorAll(".selected, .selected .tab, .selected .folder");
|
|
} else {
|
|
query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'], [id='" + tt.menuItemNode.id + "'] .tab, [id='" + tt.menuItemNode.id + "'] .folder");
|
|
}
|
|
for (let s of query) {
|
|
if (s.classList.contains("pin")) {
|
|
NodesTypes.DraggingPin = true;
|
|
Nodes.push({id: s.id, parent: s.parentNode.id, selected: s.classList.contains("selected"), temporary: s.classList.contains("selected_temporarly"), NodeClass: "pin"});
|
|
}
|
|
if (s.classList.contains("tab")) {
|
|
NodesTypes.DraggingTab = true;
|
|
Nodes.push({id: s.id, parent: s.parentNode.id, selected: s.classList.contains("selected"), temporary: s.classList.contains("selected_temporarly"), NodeClass: "tab"});
|
|
}
|
|
if (s.classList.contains("folder")) {
|
|
NodesTypes.DraggingFolder = true;
|
|
Nodes.push({id: s.id, parent: s.parentNode.id, selected: s.classList.contains("selected"), temporary: s.classList.contains("selected_temporarly"), NodeClass: "folder", index: (tt.folders[s.id] ? tt.folders[s.id].index : 0), name: (tt.folders[s.id] ? tt.folders[s.id].name : labels.noname_group), expand: (tt.folders[s.id] ? tt.folders[s.id].expand : "")});
|
|
}
|
|
}
|
|
Tabs_Detach(Nodes, NodesTypes, {});
|
|
}}}
|
|
if (this.id == "menu_reload_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
chrome.tabs.reload(parseInt(s.id));
|
|
}
|
|
} else {
|
|
chrome.tabs.reload(parseInt(tt.menuItemNode.id));
|
|
}
|
|
}}}
|
|
if (this.id == "menu_unload") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("pin") || tt.menuItemNode.classList.contains("tab")) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
let children = document.querySelectorAll("[id='" + s.id + "'] .tab");
|
|
if (children.length > 0) {
|
|
for (let t of children) {
|
|
tabsArr.push(parseInt(t.id));
|
|
}
|
|
}
|
|
}
|
|
Tabs_DiscardTabs(tabsArr);
|
|
} else {
|
|
Tabs_DiscardTabs([parseInt(tt.menuItemNode.id)]);
|
|
}
|
|
}
|
|
if (tt.menuItemNode.classList.contains("folder")) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll("[id='"+ tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_DiscardTabs(tabsArr);
|
|
}
|
|
}}}
|
|
if (this.id == "menu_unload_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("pin") || tt.menuItemNode.classList.contains("tab")) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
let children = document.querySelectorAll("[id='" + s.id + "'] .tab");
|
|
if (children.length > 0) {
|
|
for (let t of children) {
|
|
tabsArr.push(parseInt(t.id));
|
|
}
|
|
}
|
|
}
|
|
Tabs_DiscardTabs(tabsArr);
|
|
} else {
|
|
let tabsArr = [];
|
|
tabsArr.push(parseInt(tt.menuItemNode.id));
|
|
let children = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab");
|
|
if (children.length > 0) {
|
|
for (let t of children) {
|
|
tabsArr.push(parseInt(t.id));
|
|
}
|
|
}
|
|
Tabs_DiscardTabs(tabsArr);
|
|
}
|
|
}
|
|
if (tt.menuItemNode.classList.contains("folder")) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_DiscardTabs(tabsArr);
|
|
}
|
|
}}}
|
|
if (this.id == "menu_close") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_CloseTabs(tabsArr);
|
|
} else {
|
|
Tabs_CloseTabs([parseInt(tt.menuItemNode.id)]);
|
|
}
|
|
}}}
|
|
if (this.id == "menu_mute_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("pin") || tt.menuItemNode.classList.contains("tab")) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: true});
|
|
}
|
|
} else {
|
|
chrome.tabs.update(parseInt(tt.menuItemNode.id), {muted: true});
|
|
}
|
|
}
|
|
if (tt.menuItemNode.classList.contains("folder")) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: true});
|
|
}
|
|
}
|
|
}}}
|
|
if (this.id == "menu_mute_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'], [id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: true});
|
|
}
|
|
}}}
|
|
if (this.id == "menu_unmute_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("pin") || tt.menuItemNode.classList.contains("tab")) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin.selected, [id='" + tt.active_group + "'] .selected");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: false});
|
|
}
|
|
} else {
|
|
chrome.tabs.update(parseInt(tt.menuItemNode.id), {muted: false});
|
|
}
|
|
}
|
|
if (tt.menuItemNode.classList.contains("folder")) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: false});
|
|
}
|
|
}
|
|
}}}
|
|
if (this.id == "menu_unmute_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'], [id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: false});
|
|
}
|
|
}}}
|
|
if (this.id == "menu_mute_other") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin:not(.selected), [id='" + tt.active_group + "'] .tab:not(.selected)");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: true});
|
|
}
|
|
} else {
|
|
let query = document.querySelectorAll(".pin:not([id='" + tt.menuItemNode.id + "']), [id='" + tt.active_group + "'] .tab:not([id='" + tt.menuItemNode.id + "'])");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: true});
|
|
}
|
|
}
|
|
}}}
|
|
if (this.id == "menu_unmute_other") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll(".pin:not(.selected), [id='" + tt.active_group + "'] .tab:not(.selected)");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: false});
|
|
}
|
|
} else {
|
|
let query = document.querySelectorAll(".pin:not([id='" + tt.menuItemNode.id + "']), [id='" + tt.active_group + "'] .tab:not([id='" + tt.menuItemNode.id + "'])");
|
|
for (let s of query) {
|
|
chrome.tabs.update(parseInt(s.id), {muted: false});
|
|
}
|
|
}
|
|
}}}
|
|
if (this.id == "menu_undo_close_tab") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
chrome.sessions.getRecentlyClosed(null, function(sessions) {
|
|
if (sessions.length > 0) {
|
|
chrome.sessions.restore(null, function() {});
|
|
}
|
|
});
|
|
}}}
|
|
if (this.id == "menu_new_folder") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("tab")) {
|
|
let FolderId = Folders_AddNewFolder({ParentId: tt.menuItemNode.parentNode.parentNode.id, InsertAfterId: tt.menuItemNode.id});
|
|
Folders_ShowRenameFolderDialog(FolderId);
|
|
} else {
|
|
if (tt.menuItemNode.classList.contains("folder")) {
|
|
let FolderId = Folders_AddNewFolder({ParentId: tt.menuItemNode.id});
|
|
Folders_ShowRenameFolderDialog(FolderId);
|
|
} else {
|
|
let FolderId = Folders_AddNewFolder({});
|
|
Folders_ShowRenameFolderDialog(FolderId);
|
|
}
|
|
}
|
|
}}}
|
|
if (this.id == "menu_expand_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'], [id='" + tt.menuItemNode.id + "'] .folder.c, [id='" + tt.menuItemNode.id + "'] .tab.c");
|
|
for (let s of query) {
|
|
DOM_SetClasses(s, ["o"], ["c"], []);
|
|
}
|
|
tt.schedule_update_data++;
|
|
Folders_SaveFolders();
|
|
}}}
|
|
if (this.id == "menu_collapse_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'], [id='" + tt.menuItemNode.id + "'] .folder.c, [id='" + tt.menuItemNode.id + "'] .tab.c");
|
|
for (let s of query) {
|
|
DOM_SetClasses(s, ["c"], ["o"], []);
|
|
}
|
|
tt.schedule_update_data++;
|
|
Folders_SaveFolders();
|
|
}}}
|
|
if (this.id == "menu_expand_all") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let query = document.querySelectorAll("[id='" + tt.active_group + "'] .folder.c, [id='" + tt.active_group + "'] .tab.c");
|
|
for (let s of query) {
|
|
DOM_SetClasses(s, ["o"], ["c"], []);
|
|
}
|
|
tt.schedule_update_data++;
|
|
Folders_SaveFolders();
|
|
}}}
|
|
if (this.id == "menu_collapse_all") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let query = document.querySelectorAll("[id='" + tt.active_group + "'] .folder.o, [id='" + tt.active_group + "'] .tab.o");
|
|
for (let s of query) {
|
|
DOM_SetClasses(s, ["c"], ["o"], []);
|
|
}
|
|
tt.schedule_update_data++;
|
|
Folders_SaveFolders();
|
|
}}}
|
|
if (this.id == "menu_close_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab, [id='" + tt.menuItemNode.id + "']");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_CloseTabs(tabsArr);
|
|
}}}
|
|
if (this.id == "menu_rename_folder") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Folders_ShowRenameFolderDialog(tt.menuItemNode.id);
|
|
}}}
|
|
if (this.id == "menu_delete_folder") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .selected, [id='" + tt.menuItemNode.id + "']");
|
|
for (let s of query) {
|
|
Folders_RemoveFolder(s.id);
|
|
}
|
|
} else {
|
|
Folders_RemoveFolder(tt.menuItemNode.id);
|
|
}
|
|
}}}
|
|
if (this.id == "menu_close_other") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let tabsArr = [];
|
|
let query = [];
|
|
if (tt.menuItemNode.classList.contains("selected")) {
|
|
if (tt.menuItemNode.classList.contains("pin")) query = document.querySelectorAll(".pin:not(.selected)");
|
|
if (tt.menuItemNode.classList.contains("tab")) query = document.querySelectorAll("[id='" + tt.active_group + "'] .tab:not(.selected)");
|
|
for (let s of query) {
|
|
let children = document.querySelectorAll("[id='" + s.id + "'] .selected");
|
|
if (children.length == 0 || opt.promote_children) tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_CloseTabs(tabsArr);
|
|
} else {
|
|
if (tt.menuItemNode.classList.contains("pin")) query = document.querySelectorAll(".pin:not([id='" + tt.menuItemNode.id + "'])");
|
|
if (tt.menuItemNode.classList.contains("tab")) {
|
|
query = document.querySelectorAll("[id='°" + tt.active_group + "'] .tab:not([id='" + tt.menuItemNode.id + "'])");
|
|
document.getElementById("°" + tt.active_group).appendChild(tt.menuItemNode);
|
|
}
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_CloseTabs(tabsArr);
|
|
}
|
|
}}}
|
|
if (this.id == "menu_bookmark_tree") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Bookmark(tt.menuItemNode);
|
|
}}}
|
|
if (this.id == "menu_rename_group") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Groups_ShowGroupEditWindow(tt.menuItemNode.id);
|
|
}}}
|
|
if (this.id == "menu_delete_group") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Groups_GroupRemove(tt.menuItemNode.id, false);
|
|
}}}
|
|
if (this.id == "menu_delete_group_tabs_close") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Groups_GroupRemove(tt.menuItemNode.id, true);
|
|
}}}
|
|
if (this.id == "menu_groups_unload") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_DiscardTabs(tabsArr);
|
|
}}}
|
|
if (this.id == "menu_group_tabs_close") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let tabsArr = [];
|
|
let query = document.querySelectorAll("[id='" + tt.menuItemNode.id + "'] .tab");
|
|
for (let s of query) {
|
|
tabsArr.push(parseInt(s.id));
|
|
}
|
|
Tabs_CloseTabs(tabsArr);
|
|
}}}
|
|
if (this.id == "menu_manager_window") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Manager_OpenManagerWindow();
|
|
}}}
|
|
if (this.id == "menu_groups_hibernate") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Manager_ExportGroup(tt.menuItemNode.id, false, true);
|
|
setTimeout(function() {Groups_GroupRemove(tt.menuItemNode.id, true);}, 100);
|
|
}}}
|
|
if (this.id == "menu_bookmark_group") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
Bookmark(tt.menuItemNode);
|
|
}}}
|
|
if (this.id == "menu_new_group") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
let NewGroupId = Groups_AddNewGroup();
|
|
Groups_ShowGroupEditWindow(NewGroupId);
|
|
}}}
|
|
if (this.id == "menu_treetabs_settings") { this.Menu.onmousedown = function(event) { if (event.which == 1) {
|
|
chrome.tabs.create({"url": "options/options.html"});
|
|
}}}
|
|
}
|
|
MenuHide() {
|
|
this.Menu.style.display = "none";
|
|
}
|
|
MenuShow() {
|
|
this.Menu.style.display = "";
|
|
}
|
|
SeparatorHide() {
|
|
this.Separator.style.display = "none";
|
|
}
|
|
SeparatorShow() {
|
|
this.Separator.style.display = "";
|
|
}
|
|
}
|
|
|
|
function Menu_HideMenus() {
|
|
for (let MenuItem of DefaultMenu.all_entries) {
|
|
tt.menu[MenuItem[1]].MenuHide();
|
|
tt.menu[MenuItem[1]].SeparatorHide();
|
|
}
|
|
DOM_SetStyle(tt.menu[DefaultMenu.all_entries[0][1]].Menu.parentNode, {display: "none", top: "-1000px", left: "-1000px"});
|
|
}
|
|
|
|
function Menu_ShowMenu(MenuItems, event, ) {
|
|
for (i = 0; i < DefaultMenu.all_entries.length; i++) {
|
|
if (MenuItems[i][1]) {
|
|
tt.menu[DefaultMenu.all_entries[i][1]].MenuShow();
|
|
} else {
|
|
tt.menu[DefaultMenu.all_entries[i][1]].MenuHide();
|
|
}
|
|
if (MenuItems[i][0]) {
|
|
tt.menu[DefaultMenu.all_entries[i][1]].SeparatorShow();
|
|
} else {
|
|
tt.menu[DefaultMenu.all_entries[i][1]].SeparatorHide();
|
|
}
|
|
}
|
|
setTimeout(function() {
|
|
tt.DOMmenu.style.display = "block";
|
|
let x = event.pageX >= (document.body.clientWidth - tt.DOMmenu.getBoundingClientRect().width - 5) ? (document.body.clientWidth - tt.DOMmenu.getBoundingClientRect().width - 5) : (event.pageX - 5);
|
|
let y = event.pageY >= (document.body.clientHeight - tt.DOMmenu.getBoundingClientRect().height - 20) ? (document.body.clientHeight - tt.DOMmenu.getBoundingClientRect().height - 20) : (event.pageY - 20);
|
|
DOM_SetStyle(tt.DOMmenu, {top: y + "px", left: x + "px"});
|
|
}, 10);
|
|
}
|
|
|
|
function Menu_ShowTabMenu(TabNode, event) {
|
|
tt.menuItemNode = TabNode;
|
|
if (TabNode.classList.contains("pin")) {
|
|
Menu_ShowMenu(DefaultMenu.pin, event);
|
|
if (opt.allow_pin_close) tt.menu["menu_close"].MenuShow();
|
|
}
|
|
if (TabNode.classList.contains("tab")) {
|
|
Menu_ShowMenu(DefaultMenu.tab, event);
|
|
if (TabNode.classList.contains("o")) {
|
|
tt.menu["menu_collapse_tree"].SeparatorShow();
|
|
tt.menu["menu_collapse_tree"].MenuShow();
|
|
}
|
|
if (TabNode.classList.contains("c")) {
|
|
tt.menu["menu_expand_tree"].SeparatorShow();
|
|
tt.menu["menu_expand_tree"].MenuShow();
|
|
}
|
|
if (TabNode.classList.contains("c") || TabNode.classList.contains("o")) {
|
|
tt.menu["menu_close_tree"].MenuShow();
|
|
tt.menu["menu_mute_tree"].SeparatorShow();
|
|
tt.menu["menu_mute_tree"].MenuShow();
|
|
tt.menu["menu_unmute_tree"].MenuShow();
|
|
tt.menu["menu_unload_tree"].MenuShow();
|
|
}
|
|
}
|
|
if (TabNode.classList.contains("muted")) {
|
|
tt.menu["menu_unmute_tab"].MenuShow();
|
|
} else {
|
|
tt.menu["menu_mute_tab"].MenuShow();
|
|
}
|
|
if (!TabNode.classList.contains("discarded")) tt.menu["menu_unload"].MenuShow();
|
|
}
|
|
|
|
function Menu_ShowFolderMenu(FolderNode, event) {
|
|
tt.menuItemNode = FolderNode;
|
|
Menu_ShowMenu(DefaultMenu.folder, event);
|
|
if (FolderNode.classList.contains("o")) tt.menu["menu_collapse_tree"].MenuShow();
|
|
if (FolderNode.classList.contains("c")) tt.menu["menu_expand_tree"].MenuShow();
|
|
if (document.querySelectorAll("[id='" + FolderNode.id + "'] .tab").length == 0) {
|
|
tt.menu["menu_detach_tab"].SeparatorShow();
|
|
tt.menu["menu_detach_tab"].MenuShow();
|
|
}
|
|
}
|
|
|
|
function Menu_ShowFGlobalMenu(event) {
|
|
tt.menuItemNode = event.target;
|
|
Menu_ShowMenu(DefaultMenu.global, event);
|
|
}
|
|
|
|
function Menu_ShowFGroupMenu(GroupNode, event) {
|
|
tt.menuItemNode = GroupNode;
|
|
Menu_ShowMenu(DefaultMenu.group, event);
|
|
if (tt.menuItemNode.id == "tab_list") {
|
|
tt.menu["menu_groups_hibernate"].MenuHide();
|
|
tt.menu["menu_rename_group"].MenuHide();
|
|
tt.menu["menu_delete_group"].MenuHide();
|
|
tt.menu["menu_delete_group_tabs_close"].MenuHide();
|
|
}
|
|
}
|
|
|
|
function Menu_CreateMenu() {
|
|
tt.DOMmenu = document.getElementById("main_menu");
|
|
tt.DOMmenu.onmousedown = function(event) {
|
|
event.preventDefault();
|
|
event.stopPropagation();
|
|
event.stopImmediatePropagation();
|
|
}
|
|
tt.DOMmenu.onclick = function(event) {
|
|
Menu_HideMenus();
|
|
}
|
|
for (let MenuItem of DefaultMenu.all_entries) {
|
|
tt.menu[MenuItem[1]] = new Menu_ttMenu(MenuItem);
|
|
}
|
|
} |