From d03f4a515e61be62227eaebd8d941667cddb54d4 Mon Sep 17 00:00:00 2001 From: geogolem Date: Tue, 7 Mar 2017 09:55:48 -0500 Subject: [PATCH] fix client mode fetching.. only setPageSize when necessary --- src/NzbDrone.Api/REST/RestModule.cs | 8 ++------ src/UI/Movies/Editor/MovieEditorLayout.js | 4 ++-- src/UI/Movies/Index/MoviesIndexLayout.js | 4 +++- src/UI/Movies/MoviesCollection.js | 5 ++++- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/NzbDrone.Api/REST/RestModule.cs b/src/NzbDrone.Api/REST/RestModule.cs index f5a3f3704..9acfbe7ed 100644 --- a/src/NzbDrone.Api/REST/RestModule.cs +++ b/src/NzbDrone.Api/REST/RestModule.cs @@ -220,14 +220,10 @@ namespace NzbDrone.Api.REST private PagingResource ReadPagingResourceFromRequest() { int pageSize; - int.TryParse(Request.Query.PageSize.ToString(), out pageSize); - if (pageSize == 0) pageSize = 0; + int.TryParse(Request.Query.PageSize.ToString(), out pageSize); int page; int.TryParse(Request.Query.Page.ToString(), out page); - if (page == 0) page = 0; - - var pagingResource = new PagingResource @@ -269,4 +265,4 @@ namespace NzbDrone.Api.REST return pagingResource; } } -} \ No newline at end of file +} diff --git a/src/UI/Movies/Editor/MovieEditorLayout.js b/src/UI/Movies/Editor/MovieEditorLayout.js index 6ccb957b0..c9dee58ad 100644 --- a/src/UI/Movies/Editor/MovieEditorLayout.js +++ b/src/UI/Movies/Editor/MovieEditorLayout.js @@ -84,8 +84,8 @@ module.exports = Marionette.Layout.extend({ initialize : function() { this.movieCollection = MoviesCollection.clone(); var pageSize = parseInt(Config.getValue("pageSize")) || 10; - this.movieCollection.switchMode('client'); - this.movieCollection.setPageSize(pageSize); + this.movieCollection.switchMode('client', {fetch: false}); + this.movieCollection.setPageSize(pageSize, {fetch: true}); this.movieCollection.bindSignalR(); this.movieCollection.fullCollection.bindSignalR(); diff --git a/src/UI/Movies/Index/MoviesIndexLayout.js b/src/UI/Movies/Index/MoviesIndexLayout.js index e014e7060..c8910d28a 100644 --- a/src/UI/Movies/Index/MoviesIndexLayout.js +++ b/src/UI/Movies/Index/MoviesIndexLayout.js @@ -142,7 +142,9 @@ module.exports = Marionette.Layout.extend({ //debugger; this.seriesCollection.bindSignalR(); var pageSize = parseInt(Config.getValue("pageSize")) || 10; - // this.seriesCollection.setPageSize(pageSize); + if (this.series.state.pageSize !== pageSize) { + this.seriesCollection.setPageSize(pageSize); + } //this.listenTo(MoviesCollection, 'sync', function() { // this.seriesCollection.fetch(); //}); diff --git a/src/UI/Movies/MoviesCollection.js b/src/UI/Movies/MoviesCollection.js index 67887b527..b682dd03a 100644 --- a/src/UI/Movies/MoviesCollection.js +++ b/src/UI/Movies/MoviesCollection.js @@ -86,6 +86,9 @@ var Collection = PageableCollection.extend({ }, parseState : function(resp) { + if (this.mode === 'client') { + return {}; + } var direction = -1; if (resp.sortDirection == "descending") { direction = 1; @@ -94,7 +97,7 @@ var Collection = PageableCollection.extend({ }, parseRecords : function(resp) { - if (resp) { + if (resp && this.mode !== 'client') { return resp.records; }