isRepeatRelevant method
Whether the repeat instance at repeatRef is relevant: its own
relevance condition, its parent's relevance and its template's.
Implementation
bool isRepeatRelevant(TreeReference repeatRef) {
var relevant = true;
final condition = _dag.relevanceForRepeat(repeatRef.genericize());
if (condition != null) {
relevant =
condition.eval(
mainInstance,
EvaluationContext.withContext(evaluationContext, repeatRef),
)
as bool;
}
if (relevant) {
final template = mainInstance.getTemplate(repeatRef)!;
final parentPath = template.parent!.ref.genericize();
final parentNode = mainInstance.resolveReference(
parentPath.contextualize(repeatRef)!,
);
relevant =
parentNode != null && parentNode.isRelevant && template.isRelevant;
}
return relevant;
}