diff --git a/dashboard-ui/css/search.css b/dashboard-ui/css/search.css index 058ebcc5b9..9e5f5a4d16 100644 --- a/dashboard-ui/css/search.css +++ b/dashboard-ui/css/search.css @@ -108,18 +108,18 @@ } .headerSearchInput { - margin: 0; - background: #222; - border: 0; - color: #ddd; - border-radius: 3px; - padding: 4px 0 3px 0; - text-indent: 50px; + margin: 0!important; + background: #222!important; + border: 0!important; + color: #ddd!important; + border-radius: 3px!important; + padding: 4px 0 3px 0!important; + text-indent: 50px!important; font-size: 16px; font-family: inherit; outline: none; vertical-align: middle; - width: 85%; + width: 85%!important; } .searchInputIcon { @@ -140,19 +140,19 @@ @media all and (min-width: 600px) { .headerSearchInput { - width: 90%; + width: 90% !important; } } @media all and (min-width: 800px) { .headerSearchInput { - width: 93%; + width: 93% !important; } } @media all and (min-width: 1200px) { .headerSearchInput { - width: 96%; + width: 96% !important; } } diff --git a/dashboard-ui/musicalbumartists.html b/dashboard-ui/musicalbumartists.html deleted file mode 100644 index c4a9ec01c5..0000000000 --- a/dashboard-ui/musicalbumartists.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - Emby - - -
-
- ${TabSuggestions} - ${TabAlbums} - ${TabAlbumArtists} - ${TabArtists} - ${TabSongs} - ${TabGenres} -
- -
-
-
-
-
-
- -
-
-
- -
-
- - - -
- -
- - -
-
-
- - -
- -
-
-
- ${HeaderFilters} - - - - - - - - -
-
- -
-

${HeaderGenres}

- -
-
-
- -
-
-
-
- - diff --git a/dashboard-ui/musicartists.html b/dashboard-ui/musicartists.html deleted file mode 100644 index 9fb2b0ac58..0000000000 --- a/dashboard-ui/musicartists.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - Emby - - -
-
- ${TabSuggestions} - ${TabAlbums} - ${TabAlbumArtists} - ${TabArtists} - ${TabSongs} - ${TabGenres} -
- -
-
-
-
-
-
- -
-
-
-
-
- - - -
- -
- - -
-
-
- - -
- -
-
-
- ${HeaderFilters} - - - - - - - - -
-
- -
-

${HeaderGenres}

- -
-
-
- -
-
-
-
- - diff --git a/dashboard-ui/musicrecommended.html b/dashboard-ui/musicrecommended.html deleted file mode 100644 index b3f4f8dea9..0000000000 --- a/dashboard-ui/musicrecommended.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - Emby - - -
-
- - ${TabSuggestions} - ${TabAlbums} - ${TabAlbumArtists} - ${TabArtists} - ${TabSongs} - ${TabGenres} - - -
- -
- -
- - - -
-
-

${HeaderLatestMusic}

- -
-
-
- - - - - - -
-
- -
-
-
-
- -
-
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
-
-
- -
-
-
-
- -
-
-
-
-
-
- -
-
- -
- ${HeaderFilters} - - - - - - - - -
-
- -
-

${HeaderGenres}

- -
-
-
- -
-

${HeaderParentalRatings}

- -
-
-
- -
-

${HeaderTags}

- -
-
-
- -
-

${HeaderYears}

- -
-
-
- -
-
- -
-
- -
- ${HeaderFilters} - - - - - - - - - - - - - - - -
-
- -
-

${HeaderGenres}

- -
-
-
- -
-

${HeaderParentalRatings}

- -
-
-
- -
-

${HeaderTags}

- -
-
-
- -
-

${HeaderYears}

- -
-
-
- -
-
- -
-
-
- - diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index f09d45e6fc..23cece1be9 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -858,7 +858,7 @@ } if (item.CollectionType == 'music') { - return 'musicrecommended.html?topParentId=' + item.Id; + return 'music.html?topParentId=' + item.Id; } if (item.CollectionType == 'games') { diff --git a/dashboard-ui/scripts/musicalbumartists.js b/dashboard-ui/scripts/musicalbumartists.js index da7fcf9dec..300230fdcc 100644 --- a/dashboard-ui/scripts/musicalbumartists.js +++ b/dashboard-ui/scripts/musicalbumartists.js @@ -1,13 +1,7 @@ (function ($, document) { - var pageSizeKey = 'people'; - - var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); - var data = {}; - - function getQuery() { - + function getPageData() { var key = getSavedQueryKey(); var pageData = data[key]; @@ -22,13 +16,19 @@ ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", Limit: LibraryBrowser.getDefaultPageSize() - } + }, + view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Poster', 'Poster') }; pageData.query.ParentId = LibraryMenu.getTopParentId(); LibraryBrowser.loadSavedQueryValues(key, pageData.query); } - return pageData.query; + return pageData; + } + + function getQuery() { + + return getPageData().query; } function getSavedQueryKey() { @@ -36,7 +36,7 @@ return getWindowUrl() + 'albumartists'; } - function reloadItems(page) { + function reloadItems(page, viewPanel) { Dashboard.showLoadingMsg(); @@ -47,20 +47,26 @@ // Scroll back up so they can see the results from the beginning window.scrollTo(0, 0); + var view = getPageData().view; + var html = ''; var pagingHtml = LibraryBrowser.getQueryPagingHtml({ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, - viewButton: true, showLimit: false, addSelectionButton: true, - pageSizeKey: pageSizeKey + viewPanelClass: 'albumArtistsViewPanel', + updatePageSizeSetting: false, + addLayoutButton: true, + currentLayout: view, + viewButton: true, + viewIcon: 'filter-list' }); page.querySelector('.listTopPaging').innerHTML = pagingHtml; - updateFilterControls(page); + updateFilterControls(page, viewPanel); var trigger = false; if (view == "List") { @@ -108,12 +114,18 @@ $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; - reloadItems(page); + reloadItems(page, viewPanel); }); $('.btnPreviousPage', page).on('click', function () { query.StartIndex -= query.Limit; - reloadItems(page); + reloadItems(page, viewPanel); + }); + + $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { + getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); + reloadItems(page, viewPanel); }); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); @@ -122,11 +134,11 @@ }); } - function updateFilterControls(page) { + function updateFilterControls(tabContent, viewPanel) { var query = getQuery(); - $('.chkStandardFilter', page).each(function () { + $('.chkStandardFilter', viewPanel).each(function () { var filters = "," + (query.Filters || ""); var filterName = this.getAttribute('data-filter'); @@ -135,40 +147,33 @@ }).checkboxradio('refresh'); - $('#selectView', page).val(view); - - $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); - $('#selectPageSize', page).val(query.Limit); + $('.alphabetPicker', tabContent).alphaValue(query.NameStartsWithOrGreater); } - function reloadFiltersIfNeeded(page) { + function reloadFiltersIfNeeded(page, viewPanel) { if (!getPageData().filtersLoaded) { getPageData().filtersLoaded = true; var query = getQuery(); + QueryFilters.loadFilters(viewPanel, Dashboard.getCurrentUserId(), query, function () { - QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { - - reloadItems(page); + reloadItems(page, viewPanel); }); } } - $(document).on('pageinit', "#musicAlbumArtistsPage", function () { + function initPage(tabContent, viewPanel) { - var page = this; + $(viewPanel).on('panelopen', function () { - $('.viewPanel', page).on('panelopen', function () { - - reloadFiltersIfNeeded(page); + reloadFiltersIfNeeded(tabContent, viewPanel); }); - $('.chkStandardFilter', this).on('change', function () { + $('.chkStandardFilter', viewPanel).on('change', function () { var query = getQuery(); - var filterName = this.getAttribute('data-filter'); var filters = query.Filters || ""; @@ -181,7 +186,7 @@ query.StartIndex = 0; query.Filters = filters; - reloadItems(page); + reloadItems(tabContent, viewPanel); }); $('.alphabetPicker', this).on('alphaselect', function (e, character) { @@ -191,7 +196,7 @@ query.NameStartsWithOrGreater = character; query.StartIndex = 0; - reloadItems(page); + reloadItems(tabContent, viewPanel); }).on('alphaclear', function (e) { @@ -199,45 +204,22 @@ query.NameStartsWithOrGreater = ''; - reloadItems(page); + reloadItems(tabContent, viewPanel); }); + } - $('#selectView', this).on('change', function () { + window.MusicPage.initAlbumArtistsTab = function (page, tabContent) { - view = this.value; + var viewPanel = page.querySelector('.albumArtistsViewPanel'); + initPage(tabContent, viewPanel); + }; - reloadItems(page); + window.MusicPage.renderAlbumArtistsTab = function (page, tabContent) { - LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); - }); - - $('#selectPageSize', page).on('change', function () { - var query = getQuery(); - - query.Limit = parseInt(this.value); - query.StartIndex = 0; - reloadItems(page); - }); - - }).on('pagebeforeshow', "#musicAlbumArtistsPage", function () { - - var page = this; - var query = getQuery(); - - QueryFilters.onPageShow(page, query); - - if (LibraryBrowser.needsRefresh(page)) { - LibraryBrowser.getSavedViewSetting(getSavedQueryKey()).done(function (val) { - - if (val) { - $('#selectView', page).val(val).trigger('change'); - } else { - reloadItems(page); - } - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + var viewPanel = page.querySelector('.albumArtistsViewPanel'); + reloadItems(tabContent, viewPanel); } - - updateFilterControls(this); - }); + }; })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/musicalbums.js b/dashboard-ui/scripts/musicalbums.js index f799364f4f..fe35da64ac 100644 --- a/dashboard-ui/scripts/musicalbums.js +++ b/dashboard-ui/scripts/musicalbums.js @@ -61,7 +61,8 @@ viewPanelClass: 'albumsViewPanel', addLayoutButton: true, currentLayout: view, - updatePageSizeSetting: false + updatePageSizeSetting: false, + viewIcon: 'filter-list' }); page.querySelector('.listTopPaging').innerHTML = pagingHtml; diff --git a/dashboard-ui/scripts/musicartists.js b/dashboard-ui/scripts/musicartists.js index 58a218d5f1..22137ef9ae 100644 --- a/dashboard-ui/scripts/musicartists.js +++ b/dashboard-ui/scripts/musicartists.js @@ -1,13 +1,7 @@ (function ($, document) { - var pageSizeKey = 'people'; - - var view = LibraryBrowser.getDefaultItemsView('Poster', 'Poster'); - var data = {}; - - function getQuery() { - + function getPageData() { var key = getSavedQueryKey(); var pageData = data[key]; @@ -22,13 +16,19 @@ ImageTypeLimit: 1, EnableImageTypes: "Primary,Backdrop,Banner,Thumb", Limit: LibraryBrowser.getDefaultPageSize() - } + }, + view: LibraryBrowser.getSavedView(key) || LibraryBrowser.getDefaultItemsView('Poster', 'Poster') }; pageData.query.ParentId = LibraryMenu.getTopParentId(); LibraryBrowser.loadSavedQueryValues(key, pageData.query); } - return pageData.query; + return pageData; + } + + function getQuery() { + + return getPageData().query; } function getSavedQueryKey() { @@ -36,31 +36,37 @@ return getWindowUrl() + 'artists'; } - function reloadItems(page) { + function reloadItems(page, viewPanel) { Dashboard.showLoadingMsg(); var query = getQuery(); + ApiClient.getArtists(Dashboard.getCurrentUserId(), query).done(function (result) { // Scroll back up so they can see the results from the beginning window.scrollTo(0, 0); - var html = ''; + var view = getPageData().view; + var html = ''; var pagingHtml = LibraryBrowser.getQueryPagingHtml({ startIndex: query.StartIndex, limit: query.Limit, totalRecordCount: result.TotalRecordCount, - viewButton: true, showLimit: false, addSelectionButton: true, - pageSizeKey: pageSizeKey + viewPanelClass: 'artistsViewPanel', + updatePageSizeSetting: false, + addLayoutButton: true, + currentLayout: view, + viewButton: true, + viewIcon: 'filter-list' }); page.querySelector('.listTopPaging').innerHTML = pagingHtml; - updateFilterControls(page); + updateFilterControls(page, viewPanel); var trigger = false; if (view == "List") { @@ -98,7 +104,7 @@ }); } - var elem = page.querySelector('.itemsContainer'); + var elem = page.querySelector('#items'); elem.innerHTML = html + pagingHtml; ImageLoader.lazyChildren(elem); @@ -108,12 +114,18 @@ $('.btnNextPage', page).on('click', function () { query.StartIndex += query.Limit; - reloadItems(page); + reloadItems(page, viewPanel); }); $('.btnPreviousPage', page).on('click', function () { query.StartIndex -= query.Limit; - reloadItems(page); + reloadItems(page, viewPanel); + }); + + $('.btnChangeLayout', page).on('layoutchange', function (e, layout) { + getPageData().view = layout; + LibraryBrowser.saveViewSetting(getSavedQueryKey(), layout); + reloadItems(page, viewPanel); }); LibraryBrowser.saveQueryValues(getSavedQueryKey(), query); @@ -122,10 +134,11 @@ }); } - function updateFilterControls(page) { + function updateFilterControls(tabContent, viewPanel) { var query = getQuery(); - $('.chkStandardFilter', page).each(function () { + + $('.chkStandardFilter', viewPanel).each(function () { var filters = "," + (query.Filters || ""); var filterName = this.getAttribute('data-filter'); @@ -134,36 +147,31 @@ }).checkboxradio('refresh'); - $('#selectView', page).val(view); - - $('.alphabetPicker', page).alphaValue(query.NameStartsWithOrGreater); - $('#selectPageSize', page).val(query.Limit); + $('.alphabetPicker', tabContent).alphaValue(query.NameStartsWithOrGreater); } - function reloadFiltersIfNeeded(page) { + function reloadFiltersIfNeeded(page, viewPanel) { - var query = getQuery(); if (!getPageData().filtersLoaded) { getPageData().filtersLoaded = true; - QueryFilters.loadFilters(page, Dashboard.getCurrentUserId(), query, function () { + var query = getQuery(); + QueryFilters.loadFilters(viewPanel, Dashboard.getCurrentUserId(), query, function () { - reloadItems(page); + reloadItems(page, viewPanel); }); } } - $(document).on('pageinit', "#musicArtistsPage", function () { + function initPage(tabContent, viewPanel) { - var page = this; + $(viewPanel).on('panelopen', function () { - $('.viewPanel', page).on('panelopen', function () { - - reloadFiltersIfNeeded(page); + reloadFiltersIfNeeded(tabContent, viewPanel); }); - $('.chkStandardFilter', this).on('change', function () { + $('.chkStandardFilter', viewPanel).on('change', function () { var query = getQuery(); var filterName = this.getAttribute('data-filter'); @@ -178,61 +186,40 @@ query.StartIndex = 0; query.Filters = filters; - reloadItems(page); + reloadItems(tabContent, viewPanel); }); $('.alphabetPicker', this).on('alphaselect', function (e, character) { var query = getQuery(); + query.NameStartsWithOrGreater = character; query.StartIndex = 0; - reloadItems(page); + reloadItems(tabContent, viewPanel); }).on('alphaclear', function (e) { var query = getQuery(); + query.NameStartsWithOrGreater = ''; - reloadItems(page); + reloadItems(tabContent, viewPanel); }); + } - $('#selectView', this).on('change', function () { + window.MusicPage.initArtistsTab = function (page, tabContent) { - view = this.value; + var viewPanel = page.querySelector('.artistsViewPanel'); + initPage(tabContent, viewPanel); + }; - reloadItems(page); + window.MusicPage.renderArtistsTab = function (page, tabContent) { - LibraryBrowser.saveViewSetting(getSavedQueryKey(), view); - }); - - $('#selectPageSize', page).on('change', function () { - var query = getQuery(); - query.Limit = parseInt(this.value); - query.StartIndex = 0; - reloadItems(page); - }); - - }).on('pagebeforeshow', "#musicArtistsPage", function () { - - var page = this; - - var query = getQuery(); - - QueryFilters.onPageShow(page, query); - - if (LibraryBrowser.needsRefresh(page)) { - LibraryBrowser.getSavedViewSetting(getSavedQueryKey()).done(function (val) { - - if (val) { - $('#selectView', page).val(val).trigger('change'); - } else { - reloadItems(page); - } - }); + if (LibraryBrowser.needsRefresh(tabContent)) { + var viewPanel = page.querySelector('.artistsViewPanel'); + reloadItems(tabContent, viewPanel); } - - updateFilterControls(this); - }); + }; })(jQuery, document); \ No newline at end of file diff --git a/dashboard-ui/scripts/musicrecommended.js b/dashboard-ui/scripts/musicrecommended.js index 4ca8eb838f..03b8c115fb 100644 --- a/dashboard-ui/scripts/musicrecommended.js +++ b/dashboard-ui/scripts/musicrecommended.js @@ -226,14 +226,16 @@ depends.push('scripts/queryfilters'); break; case 2: - depends.push('scripts/movietrailers'); - renderMethod = 'renderTrailerTab'; - initMethod = 'initTrailerTab'; + depends.push('scripts/musicalbumartists'); + renderMethod = 'renderAlbumArtistsTab'; + initMethod = 'initAlbumArtistsTab'; + depends.push('scripts/queryfilters'); break; case 3: - depends.push('scripts/moviecollections'); - renderMethod = 'renderCollectionsTab'; - initMethod = 'initCollectionsTab'; + depends.push('scripts/musicartists'); + renderMethod = 'renderArtistsTab'; + initMethod = 'initArtistsTab'; + depends.push('scripts/queryfilters'); break; case 4: depends.push('scripts/songs'); @@ -274,7 +276,7 @@ var tabs = page.querySelector('paper-tabs'); var pages = page.querySelector('neon-animated-pages'); - var baseUrl = 'musicrecommended.html'; + var baseUrl = 'music.html'; var topParentId = LibraryMenu.getTopParentId(); if (topParentId) { baseUrl += '?topParentId=' + topParentId; diff --git a/dashboard-ui/scripts/songs.js b/dashboard-ui/scripts/songs.js index 373835f7b3..ffc7180db5 100644 --- a/dashboard-ui/scripts/songs.js +++ b/dashboard-ui/scripts/songs.js @@ -57,7 +57,8 @@ showLimit: false, sortButton: true, viewPanelClass: 'songsViewPanel', - updatePageSizeSetting: false + updatePageSizeSetting: false, + viewIcon: 'filter-list' }); page.querySelector('.listTopPaging').innerHTML = pagingHtml;