Добавлена памятка, поправки поиска
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
<q-icon name="la la-copy" size="20px" />
|
<q-icon name="la la-copy" size="20px" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="showGenres" class="q-ml-sm">
|
<div v-if="showGenres && book.genre" class="q-ml-sm">
|
||||||
{{ bookGenre }}
|
{{ bookGenre }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
<div class="q-mx-xs" />
|
<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">
|
<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 :delay="1500" anchor="bottom middle" content-style="font-size: 80%" max-width="400px">
|
||||||
Подсказка
|
Памятка
|
||||||
</q-tooltip>
|
</q-tooltip>
|
||||||
</DivBtn>
|
</DivBtn>
|
||||||
|
|
||||||
@@ -435,11 +435,47 @@ class Search {
|
|||||||
}
|
}
|
||||||
|
|
||||||
showSearchHelp() {
|
showSearchHelp() {
|
||||||
this.$root.stdDialog.alert(`
|
let info = '';
|
||||||
|
info += `<div style="min-width: 250px" />`;
|
||||||
|
info += `
|
||||||
<p>
|
<p>
|
||||||
Здесь должна быть подсказка<br>
|
Работу поискового движка можно описать одной фразой: найти авторов по указанным критериям.
|
||||||
|
Далее по уже найденным авторам ищутся книги, которые группируются по сериям.
|
||||||
|
<br><br>
|
||||||
|
По умолчанию поисковое значение трактуется как "начинается с". Например значение автора "Пушкин"
|
||||||
|
трактуется как: найти авторов, имя которых начинается с "Пушкин". Поиск всегда ведется без
|
||||||
|
учета регистра - значения "Ельцин" и "ельцин" равнозначны.
|
||||||
|
<br><br>
|
||||||
|
В поисковых полях "Автор", "Серия", "Название" также доступны следующие префиксы:
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
"=" поиск по точному совпадению. Например, если задать "=Пушкин Александр Сергеевич" в поле автора,
|
||||||
|
то будет найден в точности этот автор
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>
|
||||||
|
"*" поиск подстроки в строке. Например, для "*Александр" в поле автора, то будут найдены
|
||||||
|
все авторы, имя которых содержит "Александр"
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>
|
||||||
|
"#" поиск подстроки в строке, но только для тех значений (в т.ч. пустых), которые не начинаются ни с одной буквы русского или латинского алфавита.
|
||||||
|
Например, значение "#поворот" в поле автора означает: найти всех авторов, имя которых начинается не с русской или латинской буквы и содержит слово "поворот".
|
||||||
|
Указание простого "#" в поиске для названия означает: найти всех авторов, названия книг которых начинаются не с русской или латинской буквы или пусты.
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
<li>
|
||||||
|
"?" поиск пустых значений или тех, что начинаются с этого символа. Например, "?" в поле серии означает: найти всех авторов, у которых есть книги без серий
|
||||||
|
или название серии начинается с "?".
|
||||||
|
Значение "?" в поле названия означает: найти всех авторов, книги которых без названия или начинаются с "?".
|
||||||
|
</li>
|
||||||
|
<br>
|
||||||
|
Специльное имя автора "?" служит для поиска и группировки книг без автора.
|
||||||
|
</ul>
|
||||||
</p>
|
</p>
|
||||||
`, 'Подсказка', {iconName: 'la la-info-circle'});
|
`;
|
||||||
|
|
||||||
|
this.$root.stdDialog.alert(info, 'Памятка', {iconName: 'la la-info-circle'});
|
||||||
}
|
}
|
||||||
|
|
||||||
showHiddenHelp() {
|
showHiddenHelp() {
|
||||||
@@ -841,6 +877,8 @@ class Search {
|
|||||||
|
|
||||||
searchValue = searchValue.substring(1);
|
searchValue = searchValue.substring(1);
|
||||||
return !bookValue || (!enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0);
|
return !bookValue || (!enru.has(bookValue[0]) && bookValue.indexOf(searchValue) >= 0);
|
||||||
|
} else if (searchValue[0] == '?') {
|
||||||
|
return bookValue == '' || bookValue.indexOf(searchValue) == 0;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
return bookValue.indexOf(searchValue) == 0;
|
return bookValue.indexOf(searchValue) == 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user