Сервисы для решения специфических задач

Для решения специфических задач в базовых классах доступны сервисы:

Geolocation

Позволяет получить GPS-координаты исполнителя, если они доступны. В TaskSuite и Task доступен через this.geolocation.

Методы:

getCurrentPosition(success, error, options)
Повторяет функциональность navigator.geolocation.getCurrentPosition().
watchPosition(success, error, options)
Повторяет функциональность navigator.geolocation.watchPosition().

Storage

Сохранение данных на клиенте. В TaskSuite и Task доступен через this.storage.

Методы:

setItem(key, value, expiration)
Сохранить значение под определенным ключом. Параметры:
  • key — ключ.
  • value — значение. Может быть любого типа, сериализуется приведением к строке.
  • expiration — дата истечения срока хранения (Date или number). По умолчанию 24 часа.
getItem(key)
Возвращает значение по ключу.
removeItem(key)
Удаляет значение по ключу.

TaskInterface

Интерфейс задания. В TaskSuite и Task доступен через this.taskInterface.

Методы:

showInstructionPopup()
Открывает инструкцию.
toggleFullscreen()
Раскрывает задание на весь экран, если оно свернуто. Иначе свернет задание.

Hotkey

Позволяет подписаться на нажатие клавиш. В TaskSuite и Task доступен через this.hotkey.

Метод:

on(event, handler, context)
Подписывает переданный обработчик на определенное событие. Отслеживает события из параметра event. Параметры:
  • event:
    • enter — клавиша «ввод».
    • esc — клавиша «отмена».
    • arrow-left, arrow-right, arrow-up, arrow-down — стрелки.
    • key — буквенно-числовые клавиши. Обработчик (параметр handler) получит нажатую клавишу в качестве первого аргумента.
  • handler — обработчик события.
  • context — this для обработчика.