From b51e4917e1636c83a121952b1b69bd3ab881a279 Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Mon, 15 Mar 2021 10:57:33 +0800 Subject: [PATCH] feat: sort series by books count closes #459 --- komga-webui/src/locales/en.json | 1 + komga-webui/src/views/BrowseLibraries.vue | 1 + .../org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/komga-webui/src/locales/en.json b/komga-webui/src/locales/en.json index 97e7db8b8..077f69e54 100644 --- a/komga-webui/src/locales/en.json +++ b/komga-webui/src/locales/en.json @@ -462,6 +462,7 @@ "role_user": "User" }, "sort": { + "books_count": "Books count", "date_added": "Date added", "date_updated": "Date updated", "file_name": "Filename", diff --git a/komga-webui/src/views/BrowseLibraries.vue b/komga-webui/src/views/BrowseLibraries.vue index 0faa86a9d..33006a671 100644 --- a/komga-webui/src/views/BrowseLibraries.vue +++ b/komga-webui/src/views/BrowseLibraries.vue @@ -226,6 +226,7 @@ export default Vue.extend({ {name: this.$t('sort.date_added').toString(), key: 'createdDate'}, {name: this.$t('sort.date_updated').toString(), key: 'lastModifiedDate'}, {name: this.$t('sort.folder_name').toString(), key: 'name'}, + {name: this.$t('sort.books_count').toString(), key: 'booksCount'}, ] as SortOption[] }, filterOptionsList(): FiltersOptions { diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt index ad2a9d4e3..95bb9a56e 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt @@ -19,6 +19,7 @@ import org.jooq.Record import org.jooq.ResultQuery import org.jooq.SelectOnConditionStep import org.jooq.impl.DSL +import org.jooq.impl.DSL.field import org.jooq.impl.DSL.inline import org.jooq.impl.DSL.lower import org.springframework.data.domain.Page @@ -69,7 +70,8 @@ class SeriesDtoDao( "lastModifiedDate" to s.LAST_MODIFIED_DATE, "lastModified" to s.LAST_MODIFIED_DATE, "collection.number" to cs.NUMBER, - "name" to s.NAME + "name" to s.NAME, + "booksCount" to field(BOOKS_COUNT) ) override fun findAll(search: SeriesSearchWithReadProgress, userId: String, pageable: Pageable): Page {