umbot - v2.0.8
    Preparing search index...

    Class Navigation<ElementType>

    Класс для навигации по элементам меню или списка. Предоставляет функциональность для:

    • Постраничной навигации по элементам
    • Поиска элементов по тексту или номеру
    • Управления отображением элементов
    • Обработки команд навигации
    // Создание экземпляра с максимальным количеством видимых элементов
    const navigation = new Navigation<{id: number, name: string}>(3);

    // Инициализация элементов
    const elements = [
    { id: 1, name: 'Элемент 1' },
    { id: 2, name: 'Элемент 2' },
    { id: 3, name: 'Элемент 3' },
    { id: 4, name: 'Элемент 4' }
    ];

    // Получение элементов текущей страницы
    const pageElements = navigation.getPageElements(elements, 'вперед');

    // Выбор элемента по тексту
    const selected = navigation.selectedElement(elements, 'Элемент 2', ['name']);

    Type Parameters

    • ElementType = TElementType

      тип элементов, по которым будет происходить навигация Navigation

    Index

    Constructors

    • Создает экземпляр класса Navigation.

      Type Parameters

      • ElementType = any

      Parameters

      • maxVisibleElements: number = 5

        Максимальное количество отображаемых элементов на странице

      Returns Navigation<ElementType>

      // Создание с 3 элементами на странице
      const navigation = new Navigation(3);

      // Создание с 10 элементами на странице
      const navigation = new Navigation(10);

    Properties

    STANDARD_NEXT_TEXT: string[] = ...

    Список стандартных команд навигации вперед. Используется при isUsedStandardText = true

    ['дальше', 'вперед']
    
    STANDARD_OLD_TEXT: string[] = ...

    Список стандартных команд навигации назад. Используется при isUsedStandardText = true

    ['назад']
    
    isUsedStandardText: boolean

    Флаг использования стандартных команд навигации. Если true, используются стандартные команды из STANDARD_NEXT_TEXT и STANDARD_OLD_TEXT

    true
    
    nextText: string[]

    Массив с возможными командами для навигации вперед. Дополняет или заменяет стандартные команды в зависимости от isUsedStandardText

    []
    
    navigation.nextText = ['следующая', 'продолжить'];
    
    oldText: string[]

    Массив с возможными командами для навигации назад. Дополняет или заменяет стандартные команды в зависимости от isUsedStandardText

    []
    
    navigation.oldText = ['предыдущая', 'вернуться'];
    
    elements: ElementType[]

    Массив элементов для обработки.

    []
    
    maxVisibleElements: number

    Максимальное количество отображаемых элементов на странице.

    5
    
    thisPage: number

    Текущая страница. Рекомендуется получать это значение после завершения всех операций

    0
    

    Methods

    • Определяет желание пользователя двигаться вперед. Проверяет наличие команд навигации вперед в тексте

      Parameters

      • text: string

        Пользовательский запрос

      Returns boolean

      true если обнаружена команда навигации вперед

      const isNext = navigation.isNext('покажи дальше'); // true
      const isNext = navigation.isNext('вернись назад'); // false
    • Определяет желание пользователя двигаться назад. Проверяет наличие команд навигации назад в тексте

      Parameters

      • text: string

        Пользовательский запрос

      Returns boolean

      true если обнаружена команда навигации назад

      const isOld = navigation.isOld('вернись назад'); // true
      const isOld = navigation.isOld('покажи дальше'); // false
    • Определяет желание пользователя перейти на определенную страницу. Ищет в тексте указание конкретной страницы в формате "N страница"

      Parameters

      • text: string

        Пользовательский запрос

      Returns boolean

      true если обнаружено указание страницы

      const isNumberPage = navigation.numberPage('покажи 2 страницу'); // true
      const isNumberPage = navigation.numberPage('следующая страница'); // false
    • Возвращает массив элементов текущей страницы. Обрабатывает команды навигации и возвращает элементы в пределах maxVisibleElements

      Parameters

      • elements: null | ElementType[] = null

        Массив элементов для обработки

      • text: string = ''

        Пользовательский запрос

      Returns ElementType[]

      Массив элементов текущей страницы

      const elements = [
      { id: 1, name: 'Элемент 1' },
      { id: 2, name: 'Элемент 2' },
      { id: 3, name: 'Элемент 3' },
      { id: 4, name: 'Элемент 4' }
      ];

      // Получение элементов первой страницы
      const pageElements = navigation.getPageElements(elements);
      // [{ id: 1, name: 'Элемент 1' }, { id: 2, name: 'Элемент 2' }]

      // Переход на следующую страницу
      const nextPageElements = navigation.getPageElements(null, 'вперед');
      // [{ id: 3, name: 'Элемент 3' }, { id: 4, name: 'Элемент 4' }]
    • Выбор элемента из списка по тексту или номеру. Поддерживает поиск по тексту с учетом схожести и выбор по номеру

      Parameters

      • elements: null | ElementType[] = null

        Массив элементов для обработки

      • text: string = ''

        Пользовательский запрос

      • keys: null | TKeys = null

        Ключи для поиска по объектам

      • thisPage: null | number = null

        Текущая страница

      Returns null | ElementType

      Выбранный элемент или 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' }
    • Возвращает массив команд навигации. Формирует список доступных команд для навигации по страницам

      Parameters

      • isNumber: boolean = false

        Включить команды с номерами страниц

      Returns string[]

      Массив команд навигации

      // Получение базовых команд
      const commands = navigation.getPageNav();
      // ['дальше', 'вперед', 'назад']

      // Получение команд с номерами страниц
      const commands = navigation.getPageNav(true);
      // ['дальше', 'вперед', 'назад', '1 страница', '2 страница']
    • Возвращает информацию о текущей странице. Формирует строку с информацией о текущей позиции

      Returns string

      Информация о текущей странице

      const info = navigation.getPageInfo();
      // "Страница 1 из 3"
    • Возвращает максимальное количество страниц. Вычисляет количество страниц на основе количества элементов

      Parameters

      • elements: null | ElementType[] = null

        Массив элементов

      Returns number

      Максимальное количество страниц

      const elements = [
      { id: 1, name: 'Элемент 1' },
      { id: 2, name: 'Элемент 2' },
      { id: 3, name: 'Элемент 3' }
      ];

      const maxPage = navigation.getMaxPage(elements);
      // 2 (при maxVisibleElements = 2)