diff --git a/changes/changelog.d/391.enhancement b/changes/changelog.d/391.enhancement new file mode 100644 index 000000000..28c19ecf3 --- /dev/null +++ b/changes/changelog.d/391.enhancement @@ -0,0 +1 @@ +Remember display settings in Album, Artist, Radio and Playlist views (#391) diff --git a/front/src/components/playlists/943.bugfix b/changes/changelog.d/943.bugfix similarity index 100% rename from front/src/components/playlists/943.bugfix rename to changes/changelog.d/943.bugfix diff --git a/front/src/components/library/Albums.vue b/front/src/components/library/Albums.vue index 07e20b22e..5ce51be1b 100644 --- a/front/src/components/library/Albums.vue +++ b/front/src/components/library/Albums.vue @@ -119,18 +119,12 @@ export default { TagsSelector, }, data() { - let defaultOrdering = this.getOrderingFromString( - this.defaultOrdering || "-creation_date" - ) return { isLoading: true, result: null, page: parseInt(this.defaultPage), query: this.defaultQuery, tags: (this.defaultTags || []).filter((t) => { return t.length > 0 }), - paginateBy: parseInt(this.defaultPaginateBy || 25), - orderingDirection: defaultOrdering.direction || "+", - ordering: defaultOrdering.field, orderingOptions: [["creation_date", "creation_date"], ["title", "album_title"]] } }, diff --git a/front/src/components/library/Artists.vue b/front/src/components/library/Artists.vue index a56abac14..f0dcd8a11 100644 --- a/front/src/components/library/Artists.vue +++ b/front/src/components/library/Artists.vue @@ -107,18 +107,12 @@ export default { TagsSelector, }, data() { - let defaultOrdering = this.getOrderingFromString( - this.defaultOrdering || "-creation_date" - ) return { isLoading: true, result: null, page: parseInt(this.defaultPage), query: this.defaultQuery, tags: (this.defaultTags || []).filter((t) => { return t.length > 0 }), - paginateBy: parseInt(this.defaultPaginateBy || 30), - orderingDirection: defaultOrdering.direction || "+", - ordering: defaultOrdering.field, orderingOptions: [["creation_date", "creation_date"], ["name", "name"]] } }, diff --git a/front/src/components/library/Radios.vue b/front/src/components/library/Radios.vue index a646321bc..b03801d80 100644 --- a/front/src/components/library/Radios.vue +++ b/front/src/components/library/Radios.vue @@ -93,7 +93,7 @@ v-for="radio in result.results" :key="radio.id" :custom-radio="radio"> - +
{ @@ -103,7 +125,16 @@ export default { }, pageTitle: (state, value) => { state.pageTitle = value - } + }, + paginateBy: (state, {route, value}) => { + state.routePreferences[route].paginateBy = value + }, + ordering: (state, {route, value}) => { + state.routePreferences[route].ordering = value + }, + orderingDirection: (state, {route, value}) => { + state.routePreferences[route].orderingDirection = value + }, }, actions: { fetchUnreadNotifications ({commit}, payload) { diff --git a/front/src/views/playlists/List.vue b/front/src/views/playlists/List.vue index 9fb53fd66..dad029cf4 100644 --- a/front/src/views/playlists/List.vue +++ b/front/src/views/playlists/List.vue @@ -94,17 +94,11 @@ export default { Pagination }, data() { - let defaultOrdering = this.getOrderingFromString( - this.defaultOrdering || "-creation_date" - ) return { isLoading: true, result: null, page: parseInt(this.defaultPage), query: this.defaultQuery, - paginateBy: parseInt(this.defaultPaginateBy || 12), - orderingDirection: defaultOrdering.direction || "+", - ordering: defaultOrdering.field, orderingOptions: [ ["creation_date", "creation_date"], ["modification_date", "modification_date"],