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

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 utils = require('../utils');
class AuthorPage extends BasePage {
constructor(config) {
@@ -172,7 +173,7 @@ class AuthorPage extends BasePage {
if (rec.count) {
e.content = {
'*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)
result.unshift({id: 'other', title: otherTitle, q: '___others'});
result.unshift({id: 'other', title: otherTitle, q: '___others', count: others.length});
return (!query.others ? result : others);
}

View File

@@ -1,4 +1,5 @@
const BasePage = require('./BasePage');
const utils = require('../utils');
class SeriesPage extends BasePage {
constructor(config) {
@@ -105,7 +106,7 @@ class SeriesPage extends BasePage {
if (rec.count) {
e.content = {
'*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 utils = require('../utils');
class TitlePage extends BasePage {
constructor(config) {
@@ -75,7 +76,7 @@ class TitlePage extends BasePage {
if (rec.count) {
e.content = {
'*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 = {
sleep,
processLoop,
@@ -193,4 +212,5 @@ module.exports = {
toUnixPath,
makeValidFileName,
makeValidFileNameOrEmpty,
wordEnding,
};