From fee3231d104561f1d63578372c7dee00ff2e43d4 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Fri, 28 Oct 2022 19:47:00 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B4=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=BE=D0=BC=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=B4=D0=B0=D1=82=D0=B5=20=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=83=D0=BF=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=20?= =?UTF-8?q?=D0=BE=D1=86=D0=B5=D0=BD=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Search/BaseList.js | 16 +++++ client/components/Search/Search.vue | 41 +++++++++++-- server/core/DbCreator.js | 20 ++++++- server/core/DbSearcher.js | 90 +++++++++++++++++++++++++++- 4 files changed, 161 insertions(+), 6 deletions(-) diff --git a/client/components/Search/BaseList.js b/client/components/Search/BaseList.js index 463c160..605cf72 100644 --- a/client/components/Search/BaseList.js +++ b/client/components/Search/BaseList.js @@ -402,12 +402,28 @@ export default class BaseList { langFound = searchLang.has(book.lang || emptyFieldValue); } + //date + let dateFound = !s.date; + if (!dateFound) { + let [from = '0000-00-00', to = '9999-99-99'] = s.date.split(','); + dateFound = (book.date >= from && book.date <= to); + } + + //librate + let librateFound = !s.librate; + if (!librateFound) { + const searchLibrate = new Set(s.librate.split(',').map(n => parseInt(n, 10)).filter(n => !isNaN(n))); + librateFound = searchLibrate.has(book.librate); + } + return (this.showDeleted || !book.del) && authorFound && filterBySearch(book.series, s.series) && filterBySearch(book.title, s.title) && genreFound && langFound + && dateFound + && librateFound ; }); } diff --git a/client/components/Search/Search.vue b/client/components/Search/Search.vue index f308038..23dbab8 100644 --- a/client/components/Search/Search.vue +++ b/client/components/Search/Search.vue @@ -1,7 +1,7 @@