From 63a7eddcab5f5feb2bb2d121313c04e18df2d500 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Fri, 2 Sep 2022 13:48:30 +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=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Search/Search.vue | 26 ++++++++++++++++++++++---- server/core/WebWorker.js | 16 ++++++++++++++++ 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/client/components/Search/Search.vue b/client/components/Search/Search.vue index 63daf59..432e407 100644 --- a/client/components/Search/Search.vue +++ b/client/components/Search/Search.vue @@ -51,14 +51,18 @@ />
+ > + + {{ genreNames }} + +
@@ -325,6 +329,20 @@ class Search { return this.$store.state.settings; } + get genreNames() { + let result = []; + const genre = new Set(this.genre.split(',')); + + for (const section of this.genreTree) { + for (const g of section.value) + if (genre.has(g.value)) + result.push(g.name); + + } + + return result.join(', '); + } + makeTitle() { const collection = this.config.dbConfig.inpxInfo.collection.split('\n'); this.collection = collection[0].trim(); diff --git a/server/core/WebWorker.js b/server/core/WebWorker.js index d52b89e..c9a6aa9 100644 --- a/server/core/WebWorker.js +++ b/server/core/WebWorker.js @@ -223,12 +223,28 @@ class WebWorker { } //добавим к жанрам те, что нашлись при парсинге + const genreParsed = new Set(); const rows = await db.select({table: 'genre', map: `(r) => ({value: r.value})`}); for (const row of rows) { + genreParsed.add(row.value); + if (!genreValues.has(row.value)) last.value.push({name: row.value, value: row.value}); } + //уберем те, которые не нашлись при парсинге + for (let j = 0; j < genres.length; j++) { + const section = genres[j]; + for (let i = 0; i < section.value.length; i++) { + const g = section.value[i]; + if (!genreParsed.has(g.value)) + section.value.splice(i--, 1); + } + + if (!section.value.length) + genres.splice(j--, 1); + } + result = { genreTree: genres, inpxHash: (config.inpxHash ? config.inpxHash : ''),