Добавлен поиск по регулярным выражениям
This commit is contained in:
@@ -385,7 +385,14 @@ export default class BaseList {
|
||||
} else if (searchValue[0] == '#') {
|
||||
|
||||
searchValue = searchValue.substring(1);
|
||||
return !bookValue || (bookValue !== emptyFieldValue && !enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0);
|
||||
if (!bookValue)
|
||||
return false;
|
||||
return bookValue !== emptyFieldValue && !enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0;
|
||||
} else if (searchValue[0] == '~') {//RegExp
|
||||
|
||||
searchValue = searchValue.substring(1);
|
||||
const re = new RegExp(searchValue, 'gi');
|
||||
return re.exec(bookValue);
|
||||
} else {
|
||||
//where = `@dirtyIndexLR('value', ${db.esc(a)}, ${db.esc(a + maxUtf8Char)})`;
|
||||
return bookValue.localeCompare(searchValue) >= 0 && bookValue.localeCompare(searchValue + maxUtf8Char) <= 0;
|
||||
|
||||
@@ -789,6 +789,11 @@ class Search {
|
||||
Указание простого "#" в поиске по названию означает: найти всех авторов, названия книг которых начинаются не с русской или латинской буквы
|
||||
</li>
|
||||
<br>
|
||||
<li>
|
||||
"~" поиск по регулярному выражению. Например, для "~^\\s" в поле названия, будут найдены
|
||||
все книги, названия которых начинаются с пробельного символа
|
||||
</li>
|
||||
<br>
|
||||
<li>
|
||||
"?" поиск пустых значений или тех, что начинаются с этого символа. Например, "?" в поле серии означает: найти всех авторов, у которых есть книги без серий
|
||||
или название серии начинается с "?".
|
||||
|
||||
@@ -160,6 +160,9 @@ class SelectExtSearchDialog {
|
||||
<li>
|
||||
префикс "#": поиск подстроки в строке, но только среди начинающихся не с латинского или кириллического символа
|
||||
</li>
|
||||
<li>
|
||||
префикс "~": поиск по регулярному выражению
|
||||
</li>
|
||||
<li>
|
||||
префикс "?": поиск пустых значений или тех, что начинаются с этого символа
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user