wb_editors
163
правки
N.maslov (обсуждение | вклад) |
N.maslov (обсуждение | вклад) |
||
Строка 117: | Строка 117: | ||
} | } | ||
}); | }); | ||
</syntaxhighlight> | |||
== Управление правилами == | |||
В wb-rules 1.7 также появляется возможность управлять выполнением правил. Теперь функция defineRule() возвращает идентификатор | |||
созданного правила (аналогично setTimeout()/setInterval() ), который можно использовать позже для: | |||
* выключения/включения отработки правила; | |||
* проверки условия правила; | |||
* принудительного запуска тела правила. | |||
=== Пример === | |||
<syntaxhighlight lang="js"> | |||
var myRule = defineRule({ | |||
whenChanged: "mydev/test", | |||
then: function() { | |||
log("mydev/test changed"); | |||
} | |||
}); | |||
// ... | |||
disableRule(myRule); // отключить проверку и выполнение правила | |||
enableRule(myRule); // разрешить выполнение правила | |||
if (checkRule(myRule)) { // проверка, выполняются ли условия правила | |||
log("Rule conditions are fulfilled"); | |||
} | |||
runRule(myRule); // принудительно запустить тело правила (функцию then) | |||
runRule(myRule, newValue, devName, ctrlName); // запустить функцию then с аргументами | |||
</syntaxhighlight> | </syntaxhighlight> | ||