diff --git a/src/js/apps/filter/filter_app.js.coffee b/src/js/apps/filter/filter_app.js.coffee index 18ecda08..7c5d880f 100644 --- a/src/js/apps/filter/filter_app.js.coffee +++ b/src/js/apps/filter/filter_app.js.coffee @@ -96,6 +96,13 @@ sortOrder: 'asc', filterCallback: 'unwatched' } + { + alias: 'watched' + type: "boolean" + key: 'watched' + sortOrder: 'asc', + filterCallback: 'watched' + } { alias: 'in progress' type: "boolean" @@ -343,6 +350,8 @@ collection.filterByMultiple(key, vals) ## data is not array when 'unwatched' collection.filterByUnwatched() + when 'watched' + collection.filterByWatched() when 'inprogress' collection.filterByInProgress() when 'thumbsup' diff --git a/src/js/apps/movie/list/list_controller.js.coffee b/src/js/apps/movie/list/list_controller.js.coffee index bf97f487..e8a36dc5 100644 --- a/src/js/apps/movie/list/list_controller.js.coffee +++ b/src/js/apps/movie/list/list_controller.js.coffee @@ -56,7 +56,7 @@ ## See filter_app.js for available options getAvailableFilters: -> sort: ['title', 'year', 'dateadded', 'rating', 'random'] - filter: ['year', 'genre', 'writer', 'director', 'cast', 'set', 'unwatched', 'inprogress', 'mpaa', 'studio', 'thumbsUp'] + filter: ['year', 'genre', 'writer', 'director', 'cast', 'set', 'unwatched', 'watched', 'inprogress', 'mpaa', 'studio', 'thumbsUp'] ## Apply filter view and provide a handler for applying changes getFiltersView: (collection) -> diff --git a/src/js/entities/_base/filtered.js.coffee b/src/js/entities/_base/filtered.js.coffee index c25c8901..0171f4f2 100644 --- a/src/js/entities/_base/filtered.js.coffee +++ b/src/js/entities/_base/filtered.js.coffee @@ -38,6 +38,15 @@ unwatched = if model.get('playcount') > 0 then 0 else 1 unwatched > 0 + filterByWatched: -> + @filterBy 'watched', (model) -> + watched = 1 + if model.get('type') is 'tvshow' + watched = model.get('watchedepisodes') + else if model.get('type') is 'movie' or model.get('type') is 'episode' + watched = if model.get('playcount') > 0 then 1 else 0 + watched > 0 + filterByThumbsUp: (key) -> @filterBy key, (model) -> App.request "thumbsup:check", model