From 0867e4020fdee711f03db049de51d9d496fdf9e5 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Wed, 7 Dec 2022 18:02:34 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B4=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Search/Search.vue | 15 +++-- .../SelectExtSearchDialog.vue | 56 ++++++++++++++++++- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/client/components/Search/Search.vue b/client/components/Search/Search.vue index 5536f28..0f3915f 100644 --- a/client/components/Search/Search.vue +++ b/client/components/Search/Search.vue @@ -57,7 +57,7 @@
@@ -110,7 +110,7 @@
@@ -122,7 +122,7 @@
-
+
@@ -41,11 +49,14 @@ import vueComponent from '../../vueComponent.js'; import Dialog from '../../share/Dialog.vue'; +import DivBtn from '../../share/DivBtn.vue'; + import _ from 'lodash'; const componentOptions = { components: { - Dialog + Dialog, + DivBtn, }, watch: { modelValue(newValue) { @@ -126,6 +137,49 @@ class SelectExtSearchDialog { this.error = error.join('
'); } + showSearchHelp() { + let info = `
`; + info += ` +

+ Расширенный поиск ведется непосредственно по значениям атрибутов записей описания книг. + Атрибуты можно увидеть, если включить опцию "Показывать JSON". + Названия атрибутов соответствуют названиям полей струкутры записей из inpx-файла. + На поисковые значения действуют те же правила, что и для разделов "Авторы", "Серии", "Книги". +
+ Для строковых значений (S): +

    +
  • + без префикса: значение трактуется, как "начинается с" +
  • +
    +
  • + префикс "=": поиск по точному совпадению +
  • +
    +
  • + префикс "*": поиск подстроки в строке +
  • +
    +
  • + префикс "#": поиск подстроки в строке, но только среди начинающихся не с латинского или кириллического символа +
  • +
+ Для числовых значений (N): +
    +
  • + число N: поиск по точному совпадению +
  • +
  • + диапазон N..M: поиск по диапазону числовых значений, включая N и M. Например, поисковое значение 1024..2048 в поле "size" + найдет все ссылки на файлы размером от 1КБ до 2КБ. +
  • +
+

+`; + + this.$root.stdDialog.alert(info, 'Памятка', {iconName: 'la la-info-circle'}); + } + onKeyPress(event) { if (event.code == 'Enter') this.apply();