PathLogs UI
English

Компоненты

QueryInput

Структурный поиск is:open author:me — чипы вместо текста, автодополнение.

Структурный поиск: is:open author:me due:<now+7d. То же, что FilterBar даёт кликам по полям, здесь даётся набором с клавиатуры — и на той же модели условий. Условия рисуются чипами, ключи и значения дополняются по каретке.

Пример

Попробуйте -status:done, priority:>=3, author:Мурат или свободное слово.

  • Тёмная тема мигает при загрузкеbugui

Синтаксис

text
status:open           поле равно значению
label:bug,ui          любое из значений (ИЛИ внутри условия)
label:bug label:ui    оба значения (И между условиями)
-status:done          отрицание
priority:>=3          сравнение чисел
due:<now+7d           сравнение дат в синтаксисе TimeRangePicker
падает                свободное слово — по тексту

Пропсы

value*string

Строка запроса.

onChange*(value: string) => void

Изменение строки.

fields*QueryField<T>[]

Поля поиска: ключ, тип, варианты значений, доступ к значению элемента.

onParsed(parsed) => void

Разобранный запрос — обычно для немедленной фильтрации.

onSubmit(value: string) => void

Enter вне подсказок.

placeholderstring

Подсказка в пустом поле.

Разбор отдельно

tsx
import {
  parseQuery,     // строка → условия + свободный текст
  matchesQuery,   // проверка элемента на соответствие
  suggestAt,      // что подсказать при данной позиции каретки
  stringifyQuery, // условия → строка (для ссылок и пресетов)
} from "@toimetdev/pathlogs-core";

Значения дат сравниваются тем же разбором, что и в TimeRangePicker: due:<now+7d работает из коробки.