Make page size configurable

This commit is contained in:
Kendall Garner 2022-07-04 13:46:20 -04:00
parent 81a4f6e1ff
commit 29a3ba6149
No known key found for this signature in database
GPG key ID: 18D2767419676C87
7 changed files with 47 additions and 4 deletions

View file

@ -359,6 +359,8 @@
"settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider", "settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider",
"settings.option.general.themeUpdateNotification": "Automatically check for theme updates", "settings.option.general.themeUpdateNotification": "Automatically check for theme updates",
"settings.option.general.showLovedTracksInline": "Show loved tracks inline", "settings.option.general.showLovedTracksInline": "Show loved tracks inline",
"settings.option.general.pagination": "Items to show per page",
"settings.options.general.pagination.description": "This determines how many songs/albums to show initially for infinite scrolling, or how many songs/albums to show for a single page",
"settings.description.search": "Search", "settings.description.search": "Search",
"settings.description.albums": "Library Albums", "settings.description.albums": "Library Albums",
"settings.description.artists": "Library Artists", "settings.description.artists": "Library Artists",

View file

@ -161,7 +161,8 @@ export class Store {
"playlists": { "playlists": {
"scroll": "infinite" "scroll": "infinite"
}, },
"localPaths": [] "localPaths": [],
"pageSize": 250
}, },
"audio": { "audio": {
"volume": 1, "volume": 1,

View file

@ -1347,6 +1347,26 @@
</label> </label>
</div> </div>
</div> </div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.general.pagination')}}<br>
<small>
{{$root.getLz('settings.options.general.pagination.description')}}<br>
</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<select class="md-select" style="width:180px;"
v-model.number="$root.cfg.libraryPrefs.pageSize" type="number">
<option value="50">50</option>
<option value="100">100</option>
<option value="250">250</option>
<option value="500">500</option>
<option value="1000">1000</option>
</select>
</label>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -299,7 +299,7 @@
props: ["data"], props: ["data"],
data: function () { data: function () {
const pageSize = 250; const pageSize = this.$root.cfg.libraryPrefs.pageSize;
return { return {
editorialNotesExpanded: false, editorialNotesExpanded: false,
drag: false, drag: false,

View file

@ -81,7 +81,7 @@
Vue.component('cider-library-albums', { Vue.component('cider-library-albums', {
template: '#cider-library-albums', template: '#cider-library-albums',
data: function () { data: function () {
const pageSize = 250; const pageSize = this.$root.cfg.libraryPrefs.pageSize;
return { return {
library: this.$root.library, library: this.$root.library,
mediaItemSize: "compact", mediaItemSize: "compact",

View file

@ -87,7 +87,7 @@
Vue.component('cider-library-songs', { Vue.component('cider-library-songs', {
template: '#cider-library-songs', template: '#cider-library-songs',
data: function () { data: function () {
const pageSize = 250; const pageSize = this.$root.cfg.libraryPrefs.pageSize;
return { return {
// currentPage is oneIndexed // currentPage is oneIndexed
library: this.$root.library, library: this.$root.library,

View file

@ -1268,6 +1268,26 @@
</label> </label>
</div> </div>
</div> </div>
<div class="md-option-line">
<div class="md-option-segment">
{{$root.getLz('settings.option.general.pagination')}}<br>
<small>
{{$root.getLz('settings.options.general.pagination.description')}}<br>
</small>
</div>
<div class="md-option-segment md-option-segment_auto">
<label>
<select class="md-select" style="width:180px;"
v-model.number="$root.cfg.libraryPrefs.pageSize" type="number">
<option value="50">50</option>
<option value="100">100</option>
<option value="250">250</option>
<option value="500">500</option>
<option value="1000">1000</option>
</select>
</label>
</div>
</div>
</div> </div>
</div> </div>
</b-tab> </b-tab>