Эх сурвалжийг харах

Работа над расширенным поиском

Book Pauk 2 жил өмнө
parent
commit
2b017a2ae3

+ 3 - 0
client/components/Search/SelectExtSearchDialog/SelectExtSearchDialog.vue

@@ -160,6 +160,9 @@ class SelectExtSearchDialog {
         <li>
             префикс "#": поиск подстроки в строке, но только среди начинающихся не с латинского или кириллического символа
         </li>
+        <li>
+            префикс "?": поиск пустых значений или тех, что начинаются с этого символа
+        </li>
     </ul>
     Для числовых значений (N):
     <ul>

+ 3 - 1
server/core/DbSearcher.js

@@ -548,7 +548,9 @@ class DbSearcher {
             const filterBySearch = (bookField, searchValue) => {
                 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);
                     return `(row.${bookField}.toLowerCase().localeCompare(${db.esc(searchValue)}) === 0)`;