Класс Task
Базовый класс Task
отвечает за интерфейс задания. Класс доступен в глобальной переменной window.TolokaTask
.
Методы:
- constructor(options)
- Конструктор интерфейса задания. Параметры:
options.task
— модель задания Task.options.specs
— параметры входных и выходных данных, интерфейса заданий. См. формат объектаtask_spec
.- options.workspaceOptions — параметры инициализации песочницы {{isReadOnly: boolean}}
- getOptions()
-
Возвращает параметры, переданные методу
constructor()
. - getWorkspaceOptions()
-
Возвращает параметры инициализации песочницы, переданные методу
constructor()
. - getTask()
-
Возвращает модель задания
Task
. - getSolution()
-
Возвращает ответы задания
Solution
. - getProxyUrl(path)
- Возвращает полный URL для доступа к данным на прокси-сервере. Параметр:
path
— относительный путь к файлу.
- setSolution(solution)
- Устанавливает ответы. Параметр:
solution
— ответ исполнителя на задание (Solution
).
- getDOMElement()
-
Возвращает DOM-элемент задания.
- getStyleDOMElement()
-
Возвращает DOM-элемент для стилей задания, который добавляется в
document.head
при отрисовке. - validate(solution)
- Валидирует ответы согласно параметрам выходных данных. Возращает
SolutionValidationError
, если ответы не корректные, илиnull
. Параметр:solution
— ответ исполнителя на задание. Если не передан, то используется текущее (getSolution()
).
- focus()
-
Реализует логику установки фокуса на задание, вызывает метод
onFocus()
. - blur()
-
Реализует логику снятия фокуса с задания, вызывает метод
onBlur()
. - template(data)
- Шаблонизатор задания. В HTML-интерфейсе задания заменяет вхождения типа
${fieldX}
на соответствующее значение с ключемfieldX
из параметраdata
. Возвращает HTML-интерфейс задания в виде строки. Параметр:data
— объект с данными для подстановки в шаблон.
- render()
-
Формирует DOM-представление интерфейса задания. Вызывает
onRender()
. Возвращаетthis
. - destroy()
- Освобождает занятые в глобальном пространстве ресурсы, сервисы, обработчики событий. Вызывает
onDestroy()
. - onRender()
- Вызывается после отрисовки задания (
render()
). Все манипуляции с DOM-элементом задания следует производить здесь. - onDestroy()
- Вызывается после уничтожения задания (
destroy()
). Наиболее подходящий метод для очистки занятой памяти, удаления глобальных обработчиков событий, DOM-элементов и т. п. - onFocus()
- Вызывается после установки фокуса.
- onBlur()
- Вызывается после удаления фокуса.
- onKey(key)
- Передает нажатую клавишу. Параметр:
key
— буквенно-числовой символ, нажатый на клавиатуре. Может быть использован как горячая клавиша.
- onValidationFail(errors)
- Вызывается после неудачной валидации ответа исполнителя. Параметр:
errors
— ошибки валидации ответа исполнителяSolutionValidationError
.