Autochecklist: Add support for checklists using multiple <page>s
This commit is contained in:
parent
f05440df49
commit
2305672157
1 changed files with 70 additions and 31 deletions
|
@ -228,6 +228,43 @@ var complete = func(node, wait, from = nil)
|
||||||
|
|
||||||
foreach (var index; node.getChildren("index")) {
|
foreach (var index; node.getChildren("index")) {
|
||||||
var checklist = checklists_node.getChild("checklist", index.getValue());
|
var checklist = checklists_node.getChild("checklist", index.getValue());
|
||||||
|
if( size( checklist.getChildren("page") ) > 0 ){
|
||||||
|
foreach( var page; checklist.getChildren("page") ){
|
||||||
|
foreach (var item; page.getChildren("item")) {
|
||||||
|
var condition = item.getNode("condition");
|
||||||
|
if (skipping) {
|
||||||
|
if (!item.equals(from)) {
|
||||||
|
previous_condition = condition;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
skipping = 0;
|
||||||
|
}
|
||||||
|
if (wait) {
|
||||||
|
if (props.condition(previous_condition)) {
|
||||||
|
reset_timeout();
|
||||||
|
} else {
|
||||||
|
if (timed_out()) {
|
||||||
|
var title = checklist.getNode("title").getValue();
|
||||||
|
announce(title~": "~timeout_message.getValue());
|
||||||
|
} else {
|
||||||
|
wait_for_completion(node: node, from: item);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!props.condition(condition)) {
|
||||||
|
foreach (var binding; item.getChildren("binding")) {
|
||||||
|
active.setValue(1);
|
||||||
|
props.runBinding(binding);
|
||||||
|
active.setValue(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
previous_condition = condition;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
foreach (var item; checklist.getChildren("item")) {
|
foreach (var item; checklist.getChildren("item")) {
|
||||||
var condition = item.getNode("condition");
|
var condition = item.getNode("condition");
|
||||||
if (skipping) {
|
if (skipping) {
|
||||||
|
@ -260,6 +297,8 @@ var complete = func(node, wait, from = nil)
|
||||||
previous_condition = condition;
|
previous_condition = condition;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
if (wait) {
|
if (wait) {
|
||||||
announce(completed_message.getValue());
|
announce(completed_message.getValue());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue