Поправки багов поиска
This commit is contained in:
@@ -1145,6 +1145,9 @@ class Search {
|
|||||||
if (!searchValue)
|
if (!searchValue)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
if (!bookValue)
|
||||||
|
bookValue = emptyFieldValue;
|
||||||
|
|
||||||
bookValue = bookValue.toLowerCase();
|
bookValue = bookValue.toLowerCase();
|
||||||
searchValue = searchValue.toLowerCase();
|
searchValue = searchValue.toLowerCase();
|
||||||
|
|
||||||
@@ -1156,13 +1159,11 @@ class Search {
|
|||||||
} else if (searchValue[0] == '*') {
|
} else if (searchValue[0] == '*') {
|
||||||
|
|
||||||
searchValue = searchValue.substring(1);
|
searchValue = searchValue.substring(1);
|
||||||
return bookValue.indexOf(searchValue) >= 0;
|
return bookValue !== emptyFieldValue && bookValue.indexOf(searchValue) >= 0;
|
||||||
} else if (searchValue[0] == '#') {
|
} else if (searchValue[0] == '#') {
|
||||||
|
|
||||||
searchValue = searchValue.substring(1);
|
searchValue = searchValue.substring(1);
|
||||||
return !bookValue || (bookValue !== emptyFieldValue && !enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0);
|
return !bookValue || (bookValue !== emptyFieldValue && !enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0);
|
||||||
} else if (searchValue[0] == '?') {
|
|
||||||
return bookValue == '' || bookValue.indexOf(searchValue) == 0;
|
|
||||||
} else {
|
} else {
|
||||||
//where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`;
|
//where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`;
|
||||||
return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0;
|
return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class DbSearcher {
|
|||||||
where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a)})`;
|
where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a)})`;
|
||||||
} else if (a[0] == '*') {
|
} else if (a[0] == '*') {
|
||||||
a = a.substring(1);
|
a = a.substring(1);
|
||||||
where = `@indexIter('value', (v) => (v.indexOf(${db.esc(a)}) >= 0) )`;
|
where = `@indexIter('value', (v) => (v !== ${db.esc(emptyFieldValue)} && v.indexOf(${db.esc(a)}) >= 0) )`;
|
||||||
} else if (a[0] == '#') {
|
} else if (a[0] == '#') {
|
||||||
a = a.substring(1);
|
a = a.substring(1);
|
||||||
where = `@indexIter('value', (v) => {
|
where = `@indexIter('value', (v) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user