|
@@ -98,7 +98,7 @@
|
|
|
<div class="q-mx-xs" />
|
|
|
<DivBtn class="text-white q-mt-xs bg-grey-13" :size="30" :icon-size="24" icon="la la-question" round @click="showSearchHelp">
|
|
|
<q-tooltip :delay="1500" anchor="bottom middle" content-style="font-size: 80%" max-width="400px">
|
|
|
- Подсказка
|
|
|
+ Памятка
|
|
|
</q-tooltip>
|
|
|
</DivBtn>
|
|
|
|
|
@@ -435,11 +435,47 @@ class Search {
|
|
|
}
|
|
|
|
|
|
showSearchHelp() {
|
|
|
- this.$root.stdDialog.alert(`
|
|
|
+ let info = '';
|
|
|
+ info += `<div style="min-width: 250px" />`;
|
|
|
+ info += `
|
|
|
<p>
|
|
|
- Здесь должна быть подсказка<br>
|
|
|
+ Работу поискового движка можно описать одной фразой: найти авторов по указанным критериям.
|
|
|
+ Далее по уже найденным авторам ищутся книги, которые группируются по сериям.
|
|
|
+ <br><br>
|
|
|
+ По умолчанию поисковое значение трактуется как "начинается с". Например значение автора "Пушкин"
|
|
|
+ трактуется как: найти авторов, имя которых начинается с "Пушкин". Поиск всегда ведется без
|
|
|
+ учета регистра - значения "Ельцин" и "ельцин" равнозначны.
|
|
|
+ <br><br>
|
|
|
+ В поисковых полях "Автор", "Серия", "Название" также доступны следующие префиксы:
|
|
|
+ <ul>
|
|
|
+ <li>
|
|
|
+ "=" поиск по точному совпадению. Например, если задать "=Пушкин Александр Сергеевич" в поле автора,
|
|
|
+ то будет найден в точности этот автор
|
|
|
+ </li>
|
|
|
+ <br>
|
|
|
+ <li>
|
|
|
+ "*" поиск подстроки в строке. Например, для "*Александр" в поле автора, то будут найдены
|
|
|
+ все авторы, имя которых содержит "Александр"
|
|
|
+ </li>
|
|
|
+ <br>
|
|
|
+ <li>
|
|
|
+ "#" поиск подстроки в строке, но только для тех значений (в т.ч. пустых), которые не начинаются ни с одной буквы русского или латинского алфавита.
|
|
|
+ Например, значение "#поворот" в поле автора означает: найти всех авторов, имя которых начинается не с русской или латинской буквы и содержит слово "поворот".
|
|
|
+ Указание простого "#" в поиске для названия означает: найти всех авторов, названия книг которых начинаются не с русской или латинской буквы или пусты.
|
|
|
+ </li>
|
|
|
+ <br>
|
|
|
+ <li>
|
|
|
+ "?" поиск пустых значений или тех, что начинаются с этого символа. Например, "?" в поле серии означает: найти всех авторов, у которых есть книги без серий
|
|
|
+ или название серии начинается с "?".
|
|
|
+ Значение "?" в поле названия означает: найти всех авторов, книги которых без названия или начинаются с "?".
|
|
|
+ </li>
|
|
|
+ <br>
|
|
|
+ Специльное имя автора "?" служит для поиска и группировки книг без автора.
|
|
|
+ </ul>
|
|
|
</p>
|
|
|
- `, 'Подсказка', {iconName: 'la la-info-circle'});
|
|
|
+`;
|
|
|
+
|
|
|
+ this.$root.stdDialog.alert(info, 'Памятка', {iconName: 'la la-info-circle'});
|
|
|
}
|
|
|
|
|
|
showHiddenHelp() {
|
|
@@ -841,6 +877,8 @@ class Search {
|
|
|
|
|
|
searchValue = searchValue.substring(1);
|
|
|
return !bookValue || (!enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0);
|
|
|
+ } else if (searchValue[0] == '?') {
|
|
|
+ return bookValue == '' || bookValue.indexOf(searchValue) == 0;
|
|
|
} else {
|
|
|
|
|
|
return bookValue.indexOf(searchValue) == 0;
|