тип элементов, по которым будет происходить навигация Navigation
Создает экземпляр класса Navigation.
тип элементов, по которым будет происходить навигация Navigation
OptionalmaxVisibleElements: number = 5Максимальное количество отображаемых элементов на странице
Массив элементов для обработки.
Флаг использования стандартных команд навигации. Если true, используются стандартные команды из STANDARD_NEXT_TEXT и STANDARD_OLD_TEXT
Максимальное количество отображаемых элементов на странице.
Массив с возможными командами для навигации вперед. Дополняет или заменяет стандартные команды в зависимости от isUsedStandardText
Массив с возможными командами для навигации назад. Дополняет или заменяет стандартные команды в зависимости от isUsedStandardText
Список стандартных команд навигации вперед. Используется при isUsedStandardText = true
Список стандартных команд навигации назад. Используется при isUsedStandardText = true
Текущая страница. Читайте значение после getPageElements/selectedElement — эти методы сами меняют thisPage (навигация по тексту и валидация диапазона).
Protected_nextPageОсуществляет переход на следующую страницу. Проверяет команду навигации вперед и обновляет thisPage
Пользовательский запрос
true если переход выполнен
Protected_oldPageОсуществляет переход на предыдущую страницу. Проверяет команду навигации назад и обновляет thisPage
Пользовательский запрос
true если переход выполнен
Protected_validatePageВалидация текущей страницы. Проверяет и корректирует значение thisPage в пределах допустимого диапазона
OptionalmaxPage: numberМаксимальное количество страниц
Возвращает максимальное количество страниц. Вычисляет количество страниц на основе количества элементов
Массив элементов
Максимальное количество страниц
Возвращает массив элементов текущей страницы. Обрабатывает команды навигации и возвращает элементы в пределах maxVisibleElements
При передаче text с командой навигации ("дальше"/"назад" — сравнение
чувствительно к регистру, передавайте текст в нижнем регистре, как
controller.userCommand) автоматически изменяет this.thisPage (текущую страницу).
Массив элементов для обработки
Пользовательский запрос
Массив элементов текущей страницы
// Навигация с 3 элементами на странице:
// const navigation = new Navigation(3);
const elements = [
{ id: 1, name: 'Элемент 1' },
{ id: 2, name: 'Элемент 2' },
{ id: 3, name: 'Элемент 3' },
{ id: 4, name: 'Элемент 4' }
];
// Получение элементов первой страницы (3 элемента при maxVisibleElements = 3)
const pageElements = navigation.getPageElements(elements);
// [{ id: 1, name: 'Элемент 1' }, { id: 2, name: 'Элемент 2' }, { id: 3, name: 'Элемент 3' }]
// Переход на следующую страницу
const nextPageElements = navigation.getPageElements(null, 'вперед');
// [{ id: 4, name: 'Элемент 4' }]
Возвращает массив команд навигации. Формирует список доступных команд для навигации по страницам
OptionalisNumber: boolean = falseВключить команды с номерами страниц
Массив команд навигации
// Получение базовых команд: «Назад» не отдаётся на первой странице,
// «Дальше» — на последней; при единственной странице вернётся ['[1]']
const commands = navigation.getPageNav();
// ['👈 Назад', 'Дальше 👉'] (на средней странице)
// Получение команд с номерами страниц (текущая выделяется скобками)
const numbered = navigation.getPageNav(true);
// ['[1]', '2']
Определяет желание пользователя двигаться вперед. Проверяет наличие команд навигации вперед в тексте
Пользовательский запрос
true если обнаружена команда навигации вперед
Определяет желание пользователя двигаться назад. Проверяет наличие команд навигации назад в тексте
Пользовательский запрос
true если обнаружена команда навигации назад
Определяет желание пользователя перейти на определенную страницу. Ищет в тексте указание конкретной страницы в формате "N страница"
Пользовательский запрос
true если обнаружено указание страницы
Выбор элемента из списка по тексту или номеру. Поддерживает поиск по тексту с учетом схожести и выбор по номеру
Массив элементов для обработки
Пользовательский запрос
Optionalkeys: TKeys | null = nullКлючи для поиска по объектам
OptionalthisPage: number | null = nullТекущая страница (если передана — перезаписывает this.thisPage)
Выбранный элемент или null
const elements = [
{ id: 1, name: 'Элемент 1' },
{ id: 2, name: 'Элемент 2' }
];
// Выбор по номеру
const selected = navigation.selectedElement(elements, 'выбери 1');
// { id: 1, name: 'Элемент 1' }
// Выбор по тексту
const selected = navigation.selectedElement(elements, 'Элемент 2', ['name']);
// { id: 2, name: 'Элемент 2' }
Класс для навигации по элементам меню или списка. Предоставляет функциональность для:
Example