fix tabitem saving

This commit is contained in:
Tamius Han 2018-11-23 00:29:13 +01:00
parent 6eaeb717e2
commit e9cc0d8eeb
3 changed files with 14 additions and 4 deletions

View File

@ -309,8 +309,8 @@ class CommsServer {
if (message.cmd === 'get-current-site') { if (message.cmd === 'get-current-site') {
port.postMessage({cmd: 'set-current-site', site: this.server.getVideoTab(), tabHostname: await this.getCurrentTabHostname()}); port.postMessage({cmd: 'set-current-site', site: this.server.getVideoTab(), tabHostname: await this.getCurrentTabHostname()});
} }
if (message.cmd === 'set-selected-tab') { if (message.cmd === 'popup-set-selected-tab') {
this.server.setSelectedTab(cmd.selectedMenu, cmd.selectedSubitem); this.server.setSelectedTab(message.selectedMenu, message.selectedSubitem);
} }
if (message.cmd === 'get-config') { if (message.cmd === 'get-config') {

View File

@ -203,6 +203,9 @@ class UWServer {
} }
setSelectedTab(menu, subitem) { setSelectedTab(menu, subitem) {
if (Debug.debug && Debug.comms) {
console.log("[uw-bg::setSelectedTab] saving selected tab for", menu, ":", subitem)
}
this.selectedSubitem[menu] = subitem; this.selectedSubitem[menu] = subitem;
} }
@ -210,7 +213,10 @@ class UWServer {
// friendly reminder: if current tab doesn't have a video, // friendly reminder: if current tab doesn't have a video,
// there won't be anything in this.videoTabs[this.currentTabId] // there won't be anything in this.videoTabs[this.currentTabId]
if (this.videoTabs[this.currentTabId]) { if (this.videoTabs[this.currentTabId]) {
return this.videoTabs[this.currentTabId]; return {
...this.videoTabs[this.currentTabId],
selected: this.selectedSubitem
};
} }
// return something more or less empty if this tab doesn't have // return something more or less empty if this tab doesn't have

View File

@ -62,7 +62,7 @@ function loadFrames(videoTab) {
function onTabitemClick(item) { function onTabitemClick(item) {
tablist[selectedMenu].selectSubitem(item); tablist[selectedMenu].selectSubitem(item);
selectedSubitem[selectedMenu] = item; selectedSubitem[selectedMenu] = item;
port.postMessage({cmd: 'select-tab', selectedMenu: selectedMenu, selectedSubitem: item}); port.postMessage({cmd: 'popup-set-selected-tab', selectedMenu: selectedMenu, selectedSubitem: item});
} }
for (var option of [{id: '__playing', label: 'Currently playing'}, {id: '__all', label: 'All'}]) { for (var option of [{id: '__playing', label: 'Currently playing'}, {id: '__all', label: 'All'}]) {
@ -98,11 +98,13 @@ function loadFrames(videoTab) {
if (! selectedSubitem.siteSettings || !tablist['siteSettings'].existsSubitem(selectedSubitem.siteSettings)) { if (! selectedSubitem.siteSettings || !tablist['siteSettings'].existsSubitem(selectedSubitem.siteSettings)) {
selectedSubitem['siteSettings'] = tablist['siteSettings'].selectFirstSubitem(); selectedSubitem['siteSettings'] = tablist['siteSettings'].selectFirstSubitem();
console.log("selected first subitem!")
} else { } else {
tablist['siteSettings'].selectSubitem(selectedSubitem.siteSettings) tablist['siteSettings'].selectSubitem(selectedSubitem.siteSettings)
} }
if (! selectedSubitem.videoSettings || !tablist['videoSettings'].existsSubitem(selectedSubitem.videoSettings)) { if (! selectedSubitem.videoSettings || !tablist['videoSettings'].existsSubitem(selectedSubitem.videoSettings)) {
selectedSubitem['videoSettings'] = tablist['videoSettings'].selectFirstSubitem(); selectedSubitem['videoSettings'] = tablist['videoSettings'].selectFirstSubitem();
console.log("selected first subitem (vs)!")
} else { } else {
tablist['videoSettings'].selectSubitem(selectedSubitem.videoSettings); tablist['videoSettings'].selectSubitem(selectedSubitem.videoSettings);
} }
@ -760,6 +762,8 @@ document.addEventListener("click", (e) => {
} }
var command = getcmd(e); var command = getcmd(e);
if (!command)
return;
command.targetFrame = selectedSubitem[selectedMenu] command.targetFrame = selectedSubitem[selectedMenu]
if(Debug.debug) { if(Debug.debug) {