ru:api:view

Класс SaletView

Объект вида доступен как salet.view. Он автоматически инициализируется при загрузке Salet, поэтому доступен вместе с объектом salet. Вы не можете создать новых экземпляров этого класса.

Это — единственный класс, который знает про существование jQuery, DOM и HTML. Он инкапсулирует работу со страницей для остальных классов.

Вот минимальные предположения, которые Salet имеет о вашей игре:

  • Игра происходит внутри контейнера #page. Всё, что находится вне #page - неигровые элементы.
  • В интерфейсе может быть единственная кнопка сохранения игры с ID save.
  • В интерфейсе может быть единственная кнопка загрузки игры с ID load.
  • В интерфейсе может быть единственная кнопка рестарта игры с ID erase.
  • Текст игры находится внутри контейнера #content
  • В интерфейсе может быть блок #ways, в котором перечислены доступные для перемещения комнаты.
  • В интерфейсе может быть блок #ways_hint, в котором есть текст-подсказка для блока перемещения.

Регулярное выражение для ссылок. Всё, что соответствует этому выражению, понимается Salet как внутренняя ссылка игры.

По умолчанию внутренней считается ссылка, которая содержит латинские буквы, цифры, тире и подчёркивание: room, или room.action, или ./action.

2.0 Ранее находилось в ядре Salet, с версии 2.0 перенесено в класс вида.

2.0 Регулярное выражение для действий глаголов. Всё, что соответствует этому выражению, понимается Salet как вызов глагола одного из элементов комнаты.

По умолчанию ловит ссылки вида ./verb_(глагол)_(ID предмета)

Вызывается автоматически после создания экземпляра Salet, объявляет стандартные обработчики событий.

2.0 Добавляет в действия ссылку на вызов глагола элемента.

Аргумент 1: глагол

Аргумент 2: ID элемента

Аргумент 3: текст ссылки

2.0 Очищает блок вариантов выбора.

Вызывается при выходе из комнат, у которых выставлено clear = false (т.е. не очищать весь текст, а только устаревшие варианты выбора)

2.0 Печатает список доступных глаголов.

При вызове отключает кнопку сохранения игры.

При вызове включает кнопку сохранения игры.

При вызове включает кнопку рестарта игры.

При вызове выключает кнопку рестарта игры.

При вызове включает кнопку загрузки игры.

При вызове выключает кнопку загрузки игры.

Плавно перематывает страницу до указанного числа пикселей от верхнего края экрана.

Вне зависимости от протяжённости перемотки анимация длится 500мс.

Аргумент: количество пикселей от верхнего края экрана, целое число. Обязательный параметр.

Плавно перематывает страницу до указанного числа пикселей от нижнего края экрана.

Вне зависимости от протяжённости перемотки анимация длится 500мс.

Аргумент: количество пикселей от нижнего края экрана, целое число. Обязательный параметр.

Плавно перематывает страницу до конца.

Вне зависимости от протяжённости перемотки анимация длится 500мс.

Очищает содержимое указанного блока.

Аргумент: селектор элемента, который нужно очистить; по умолчанию — #content. Необязательный параметр.

Преобразует аргумент в текст; если передана функция, то выполняет её, если передан объект jQuery, то получает его HTML код.

Аргумент: произвольный, обязательный.

Синоним для append.

Добавляет указанный HTML к тексту указанного блока.

Текст обрабатывается при помощи функции prepareContent

Если блок не найден, то текст записывается в блок #content.

Функция возвращает HTML после вставки.

Аргумент 1: текст, который требуется дописать, любого типа. Обязательный параметр.

Аргумент 2: селектор блока, в который дописывается текст. По умолчанию предполагается #content. Необязательный параметр.

Заменяет текст указанного блока указанным HTML.

Аргумент 1 на входе обрабатывается при помощи функции prepareContent

Аргумент 1: текст, который требуется дописать, любого типа. Обязательный параметр.

Аргумент 2: селектор блока, в который дописывается текст. Обязательный параметр.

Если указан Аргумент 1, то функция превращает все HTML-ссылки, которые ведут на этот адрес, в текст. Если он не указан, то функция превращает все ссылки в текст.

Если указан Аргумент 2, то функция обрабатывает только ссылки внутри этого блока. Если он не указан, то функция работает внутри блока #page.

Аргумент 1: цель ссылок. Необязательный параметр.

Аргумент 2: селектор блока, в котором работает функция. Необязательный параметр.

Функция получает список ID комнат и выдаёт обычный список вариантов выбора со ссылками на эти комнаты. Список не сортируется, но если у комнаты выставлено canChoose = false, то текст optionText обрамляется не в ссылку, а в тег <span>. Таким образом, вы можете делать optionText, например, формой или особой кнопкой.

Аргумент 1: список ID комнат

Показывает указанный блок с красивой анимацией. Если Salet находится в неинтерактивном режиме, анимация не будет проигрываться.

Аргумент 1: селектор блока. Обязательный параметр.

Скрывает указанный блок с красивой анимацией. Если Salet находится в неинтерактивном режиме, анимация не будет проигрываться.

Чаще всего функция вызывается в removeTransient.

Аргумент 1: селектор блока. Обязательный параметр.

Аргумент 2: флаг удаления. Если true, то после анимации блок будет удалён из DOM; если false, то он просто будет скрыт. По умолчанию false. Необязательный параметр.

Функция возвращает код ссылки для повторяющихся циклов.

Вам вряд ли понадобится вызывать эти методы, но для полноты описания их всё-таки стоит перечислить.

Перематывает страницу так, чтобы было видно новый текст. Вызывается после входа в комнату.

Функция определяет, есть ли доступ к хранилищу браузера. Нужна для определения возможности сохранения. Обычно хранилище доступно и включено.

Функция ставит обработчик, который передаёт щелчок мыши по элементам списка вариантов на первую ссылку в этом элементе. Простой хак для удобства интерфейса.

Убирает класс new у всех элементов с этим классом. Простая инкапсуляция для функции salet.processLink.

Убирает блоки с классом transient, блоки вариантов выбора и временные ссылки (например, вида <a href="./e?transient">.

Если передано имя комнаты, то работает только в секции этой комнаты; иначе работает на всём блоке #content.

Функция вызывается в конце входа в комнату, после того как выведен весь текст, чтобы добавление текста не мешало анимациям.

Аргумент 1: имя комнаты. Необязательный параметр.

Функция обновляет список доступных для путешествия комнат.

Аргумент 1: список ID комнат блока. Необязательный параметр (очищает #ways, если пуст)

Аргумент 2: ID текущей комнаты.

  • ru/api/view.txt
  • Последнее изменение: 2021/01/24 10:42
  • (внешнее изменение)