Поправлено отображение количества найденных значений

This commit is contained in:
Book Pauk
2022-12-04 18:39:45 +07:00
parent 17e42d7088
commit c2e1d062e8
5 changed files with 27 additions and 4 deletions

View File

@@ -1,4 +1,5 @@
const BasePage = require('./BasePage'); const BasePage = require('./BasePage');
const utils = require('../utils');
class AuthorPage extends BasePage { class AuthorPage extends BasePage {
constructor(config) { constructor(config) {
@@ -172,7 +173,7 @@ class AuthorPage extends BasePage {
if (rec.count) { if (rec.count) {
e.content = { e.content = {
'*ATTRS': {type: 'text'}, '*ATTRS': {type: 'text'},
'*TEXT': `${rec.count} авторов`, '*TEXT': `${rec.count} автор${utils.wordEnding(rec.count, 0)}`,
}; };
} }

View File

@@ -196,7 +196,7 @@ class BasePage {
} }
if (!query.others && others.length) if (!query.others && others.length)
result.unshift({id: 'other', title: otherTitle, q: '___others'}); result.unshift({id: 'other', title: otherTitle, q: '___others', count: others.length});
return (!query.others ? result : others); return (!query.others ? result : others);
} }

View File

@@ -1,4 +1,5 @@
const BasePage = require('./BasePage'); const BasePage = require('./BasePage');
const utils = require('../utils');
class SeriesPage extends BasePage { class SeriesPage extends BasePage {
constructor(config) { constructor(config) {
@@ -105,7 +106,7 @@ class SeriesPage extends BasePage {
if (rec.count) { if (rec.count) {
e.content = { e.content = {
'*ATTRS': {type: 'text'}, '*ATTRS': {type: 'text'},
'*TEXT': `${rec.count} серий`, '*TEXT': `${rec.count} сери${utils.wordEnding(rec.count, 1)}`,
}; };
} }

View File

@@ -1,4 +1,5 @@
const BasePage = require('./BasePage'); const BasePage = require('./BasePage');
const utils = require('../utils');
class TitlePage extends BasePage { class TitlePage extends BasePage {
constructor(config) { constructor(config) {
@@ -75,7 +76,7 @@ class TitlePage extends BasePage {
if (rec.count) { if (rec.count) {
e.content = { e.content = {
'*ATTRS': {type: 'text'}, '*ATTRS': {type: 'text'},
'*TEXT': `${rec.count} названий`, '*TEXT': `${rec.count} назван${utils.wordEnding(rec.count, 3)}`,
}; };
} }

View File

@@ -174,6 +174,25 @@ function makeValidFileNameOrEmpty(fileName) {
} }
} }
function wordEnding(num, type = 0) {
const endings = [
['ов', '', 'а', 'а', 'а', 'ов', 'ов', 'ов', 'ов', 'ов'],//0
['й', 'я', 'и', 'и', 'и', 'й', 'й', 'й', 'й', 'й'],//1
['о', '', 'о', 'о', 'о', 'о', 'о', 'о', 'о', 'о'],//2
['ий', 'ие', 'ия', 'ия', 'ия', 'ий', 'ий', 'ий', 'ий', 'ий'],//3
['о', 'а', 'о', 'о', 'о', 'о', 'о', 'о', 'о', 'о'],//4
['ок', 'ка', 'ки', 'ки', 'ки', 'ок', 'ок', 'ок', 'ок', 'ок'],//5
['ых', 'ое', 'ых', 'ых', 'ых', 'ых', 'ых', 'ых', 'ых', 'ых'],//6
['о', 'о', 'о', 'о', 'о', 'о', 'о', 'о', 'о', 'о'],//7
];
const deci = num % 100;
if (deci > 10 && deci < 20) {
return endings[type][0];
} else {
return endings[type][num % 10];
}
}
module.exports = { module.exports = {
sleep, sleep,
processLoop, processLoop,
@@ -193,4 +212,5 @@ module.exports = {
toUnixPath, toUnixPath,
makeValidFileName, makeValidFileName,
makeValidFileNameOrEmpty, makeValidFileNameOrEmpty,
wordEnding,
}; };