Работа над расширенным поиском
This commit is contained in:
@@ -160,6 +160,9 @@ class SelectExtSearchDialog {
|
|||||||
<li>
|
<li>
|
||||||
префикс "#": поиск подстроки в строке, но только среди начинающихся не с латинского или кириллического символа
|
префикс "#": поиск подстроки в строке, но только среди начинающихся не с латинского или кириллического символа
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
префикс "?": поиск пустых значений или тех, что начинаются с этого символа
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
Для числовых значений (N):
|
Для числовых значений (N):
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
@@ -548,7 +548,9 @@ class DbSearcher {
|
|||||||
const filterBySearch = (bookField, searchValue) => {
|
const filterBySearch = (bookField, searchValue) => {
|
||||||
searchValue = searchValue.toLowerCase();
|
searchValue = searchValue.toLowerCase();
|
||||||
//особая обработка префиксов
|
//особая обработка префиксов
|
||||||
if (searchValue[0] == '=') {
|
if (searchValue == emptyFieldValue) {
|
||||||
|
return `(row.${bookField} === '' || row.${bookField}.indexOf(${db.esc(emptyFieldValue)}) === 0)`;
|
||||||
|
} else if (searchValue[0] == '=') {
|
||||||
|
|
||||||
searchValue = searchValue.substring(1);
|
searchValue = searchValue.substring(1);
|
||||||
return `(row.${bookField}.toLowerCase().localeCompare(${db.esc(searchValue)}) === 0)`;
|
return `(row.${bookField}.toLowerCase().localeCompare(${db.esc(searchValue)}) === 0)`;
|
||||||
|
|||||||
Reference in New Issue
Block a user