Лев Толстой
Opened this issue · 4 comments
Как описать ачивку Лев Толстой? Когда у человека много букв в инпуте
Я додумался только до
{
"rule_id": 666,
"url_pattern": "*",
"event": "keydown",
"selector": "textarea, input",
"expression": "this.value.length",
"greaterOrEqual": 2000
}
Или
{
"rule_id": 666,
"url_pattern": "*",
"event": "keydown",
"selector": "textarea, input",
"evalInTargetContext": "this.value.length >= 2000"
}
Под expression
я имею в виду, что это не eval, а строка, которую мы сами умеем парсить.
Писать более абстрактно:
// type of achievement: typying-in
{
"rule_id": 1,
"type": "type-in",
"selector": "smth", // если нужно выбрать к каким элементам применить монитор
"length": "gt 1000"
}
Сам iTracker, отвечающий за DOMEvent, знает что такое type-in
rule и подвешивается на правильные события, на нужные элементы и проверяет факт чего-то, в данном случае length
, можно добавить ещё ключевые слова, чтобы следить за другими параметрами в типе type-in
.
Очень неабстрактно. Устаним правила придумывать. И путаться в них.
Как по твоей логике проверить тайтл страницы?
Разные сущности делать:
type-in-rule
dom-window-rule
...
У каждого будет набор свойств, которые будут ключевыми словами, а эти ключевые слова iTracker
будет уже сам знать как обрабатывать.
Но это, конечно, на подумать ещё, как мы вплотную подойдем к реализации не только переходов по страницам.