diff --git a/dashboard-ui/livetv.html b/dashboard-ui/livetv.html index 4bdfc70c6..fc8665a76 100644 --- a/dashboard-ui/livetv.html +++ b/dashboard-ui/livetv.html @@ -7,7 +7,7 @@
- + ${TabSuggestions} ${TabGuide} ${TabChannels} diff --git a/dashboard-ui/movies.html b/dashboard-ui/movies.html index 2948087f8..5ab27ddd5 100644 --- a/dashboard-ui/movies.html +++ b/dashboard-ui/movies.html @@ -7,7 +7,7 @@
- + ${TabSuggestions} ${TabMovies} ${TabTrailers} diff --git a/dashboard-ui/scripts/channels.js b/dashboard-ui/scripts/channels.js index 2233da8d6..20a09b189 100644 --- a/dashboard-ui/scripts/channels.js +++ b/dashboard-ui/scripts/channels.js @@ -77,23 +77,7 @@ var tabs = page.querySelector('paper-tabs'); var pages = page.querySelector('neon-animated-pages'); - LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages); - - $(tabs).on('iron-select', function () { - var selected = this.selected; - - if (LibraryBrowser.navigateOnLibraryTabSelect()) { - - if (selected) { - Dashboard.navigate('channels.html?tab=' + selected); - } else { - Dashboard.navigate('channels.html'); - } - - } else { - page.querySelector('neon-animated-pages').selected = selected; - } - }); + LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, 'channels.html'); $(pages).on('tabchange', function () { loadTab(page, parseInt(this.selected)); diff --git a/dashboard-ui/scripts/indexpage.js b/dashboard-ui/scripts/indexpage.js index 0c96e2c1e..6c0b4bd9d 100644 --- a/dashboard-ui/scripts/indexpage.js +++ b/dashboard-ui/scripts/indexpage.js @@ -235,23 +235,7 @@ var tabs = page.querySelector('paper-tabs'); var pages = page.querySelector('neon-animated-pages'); - LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages); - - $(tabs).on('iron-select', function () { - var selected = this.selected; - - if (LibraryBrowser.navigateOnLibraryTabSelect()) { - - if (selected) { - Dashboard.navigate('index.html?tab=' + selected); - } else { - Dashboard.navigate('index.html'); - } - - } else { - page.querySelector('neon-animated-pages').selected = selected; - } - }); + LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, 'index.html'); $(pages).on('tabchange', function () { loadTab(page, parseInt(this.selected)); diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 0e482dcc3..b3ae11525 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -193,7 +193,12 @@ return !LibraryBrowser.enableFullPaperTabs(); }, - configurePaperLibraryTabs: function (ownerpage, tabs, pages) { + configurePaperLibraryTabs: function (ownerpage, tabs, pages, baseUrl) { + + // Causing iron-select to not fire in IE and safari + if ($.browser.chrome) { + tabs.noink = true; + } if (AppInfo.enableBottomTabs) { tabs.alignBottom = true; @@ -205,7 +210,7 @@ if ($.browser.safari) { // Not very iOS-like I suppose - tabs.noSlide = true; + //tabs.noSlide = true; tabs.noBar = true; } else { @@ -232,9 +237,7 @@ $(ownerpage).on('pagebeforeshow', LibraryBrowser.onTabbedpagebeforeshow); - $(pages).on('iron-select', function () { - - console.log('iron-select'); + pages.addEventListener('iron-select', function () { // When transition animations are used, add a content loading delay to allow the animations to finish // Otherwise with both operations happening at the same time, it can cause the animation to not run at full speed. var pgs = this; @@ -244,39 +247,61 @@ $(pgs).trigger('tabchange'); }, delay); }); + + tabs.addEventListener('iron-select', function() { + var selected = this.selected; + + if (LibraryBrowser.navigateOnLibraryTabSelect()) { + + if (selected) { + var url = replaceQueryString(baseUrl, 'tab', selected); + Dashboard.navigate(url); + } else { + Dashboard.navigate(baseUrl); + } + + } else { + pages.selected = selected; + } + }); }, onTabbedpagebeforeshow: function () { var page = this; var delay = 0; + var isFirstLoad = false; if (!page.getAttribute('data-firstload')) { delay = 300; + isFirstLoad = true; page.setAttribute('data-firstload', '1'); } - setTimeout(function () { - LibraryBrowser.onTabbedpagebeforeshowInternal(page); - }, delay); + if (delay) { + setTimeout(function () { + + LibraryBrowser.onTabbedpagebeforeshowInternal(page, isFirstLoad); + }, delay); + } else { + LibraryBrowser.onTabbedpagebeforeshowInternal(page, isFirstLoad); + } }, - onTabbedpagebeforeshowInternal: function (page) { + onTabbedpagebeforeshowInternal: function (page, isFirstLoad) { - var tabs = page.querySelector('paper-tabs'); - var selected = tabs.selected; - - if (selected == null) { + if (isFirstLoad) { Logger.log('selected tab is null, checking query string'); - selected = parseInt(getParameterByName('tab') || '0'); + var selected = parseInt(getParameterByName('tab') || '0'); Logger.log('selected tab will be ' + selected); - if (LibraryBrowser.enableFullPaperTabs()) { - tabs.selected = selected; + + page.querySelector('paper-tabs').selected = selected; + } else { page.querySelector('neon-animated-pages').selected = selected; } @@ -291,7 +316,7 @@ pages.entryAnimation = null; pages.exitAnimation = null; - tabs.selected = 0; + page.querySelector('paper-tabs').selected = 0; pages.entryAnimation = entryAnimation; pages.exitAnimation = exitAnimation; diff --git a/dashboard-ui/scripts/livetvsuggested.js b/dashboard-ui/scripts/livetvsuggested.js index aeb57f2e6..833a0e8f6 100644 --- a/dashboard-ui/scripts/livetvsuggested.js +++ b/dashboard-ui/scripts/livetvsuggested.js @@ -216,23 +216,7 @@ var tabs = page.querySelector('paper-tabs'); var pages = page.querySelector('neon-animated-pages'); - LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages); - - $(tabs).on('iron-select', function () { - var selected = this.selected; - - if (LibraryBrowser.navigateOnLibraryTabSelect()) { - - if (selected) { - Dashboard.navigate('livetv.html?tab=' + selected); - } else { - Dashboard.navigate('livetv.html'); - } - - } else { - page.querySelector('neon-animated-pages').selected = selected; - } - }); + LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, 'livetv.html'); $(pages).on('tabchange', function () { loadTab(page, parseInt(this.selected)); diff --git a/dashboard-ui/scripts/moviesrecommended.js b/dashboard-ui/scripts/moviesrecommended.js index cb6bce223..f497b58ac 100644 --- a/dashboard-ui/scripts/moviesrecommended.js +++ b/dashboard-ui/scripts/moviesrecommended.js @@ -325,28 +325,13 @@ var tabs = page.querySelector('paper-tabs'); var pages = page.querySelector('neon-animated-pages'); - LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages); + var baseUrl = 'movies.html'; + var topParentId = LibraryMenu.getTopParentId(); + if (topParentId) { + baseUrl += '?topParentId=' + topParentId; + } - $(tabs).on('iron-select', function () { - var selected = this.selected; - - if (LibraryBrowser.navigateOnLibraryTabSelect()) { - - var url = 'movies.html'; - var topParentId = LibraryMenu.getTopParentId(); - if (topParentId) { - url += '?topParentId=' + topParentId; - } - if (selected) { - Dashboard.navigate(url + '&tab=' + selected); - } else { - Dashboard.navigate(url); - } - - } else { - page.querySelector('neon-animated-pages').selected = selected; - } - }); + LibraryBrowser.configurePaperLibraryTabs(page, tabs, pages, baseUrl); $(pages).on('tabchange', function () { loadTab(page, parseInt(this.selected)); diff --git a/dashboard-ui/scripts/photos.js b/dashboard-ui/scripts/photos.js index e6d5e11bb..6c6931943 100644 --- a/dashboard-ui/scripts/photos.js +++ b/dashboard-ui/scripts/photos.js @@ -206,27 +206,14 @@ var page = this; var tabs = page.querySelector('paper-tabs'); - LibraryBrowser.configurePaperLibraryTabs(page, tabs, page.querySelector('neon-animated-pages')); - $(tabs).on('iron-select', function () { - var selected = this.selected; - if (LibraryBrowser.navigateOnLibraryTabSelect()) { + var baseUrl = 'photos.html'; + var topParentId = LibraryMenu.getTopParentId(); + if (topParentId) { + baseUrl += '?topParentId=' + topParentId; + } - var url = 'photos.html'; - var topParentId = LibraryMenu.getTopParentId(); - if (topParentId) { - url += '?topParentId=' + topParentId; - } - if (selected) { - Dashboard.navigate(url + '&tab=' + selected); - } else { - Dashboard.navigate(url); - } - - } else { - page.querySelector('neon-animated-pages').selected = selected; - } - }); + LibraryBrowser.configurePaperLibraryTabs(page, tabs, page.querySelector('neon-animated-pages'), baseUrl); $(page.querySelector('neon-animated-pages')).on('tabchange', function () { loadTab(page, parseInt(this.selected)); diff --git a/dashboard-ui/thirdparty/paper-button-style.css b/dashboard-ui/thirdparty/paper-button-style.css index 6eb6aae80..c70ebc3a4 100644 --- a/dashboard-ui/thirdparty/paper-button-style.css +++ b/dashboard-ui/thirdparty/paper-button-style.css @@ -354,10 +354,6 @@ paper-menu-item { flex-grow: 0; } -.scrollingPaperTabs #tabsContainer { - margin: 0 auto; -} - /*.scrollablePaperTabs #tabsContainer { text-align: center; overflow-x: scroll;