|
@@ -467,14 +467,17 @@ namespace Spry {
|
|
|
MarkupNode node;
|
|
MarkupNode node;
|
|
|
// Select one by one, so we don't have problems with nesting
|
|
// Select one by one, so we don't have problems with nesting
|
|
|
while((node = doc.select_one("//*[@spry-if or @spry-else-if or @spry-else]")) != null) {
|
|
while((node = doc.select_one("//*[@spry-if or @spry-else-if or @spry-else]")) != null) {
|
|
|
- print(@"node $(node.tag_name)\n");
|
|
|
|
|
|
|
+ if (context == null && has_any_parent_where(node, n => n.get_attributes().keys.any(a => a.has_prefix("spry-per-")))) {
|
|
|
|
|
+ // Don't process, or remove if an explicit context was not passed and the attribute is inside spry-per-* blocks
|
|
|
|
|
+ // transform_per_attributes will call back later with more context information.
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
var expression_string = node.get_attribute("spry-if") ?? node.get_attribute("spry-else-if");
|
|
var expression_string = node.get_attribute("spry-if") ?? node.get_attribute("spry-else-if");
|
|
|
node.remove_attribute("spry-if");
|
|
node.remove_attribute("spry-if");
|
|
|
node.remove_attribute("spry-else-if");
|
|
node.remove_attribute("spry-else-if");
|
|
|
node.remove_attribute("spry-else");
|
|
node.remove_attribute("spry-else");
|
|
|
if(expression_string == null) {
|
|
if(expression_string == null) {
|
|
|
- print("null\n");
|
|
|
|
|
- // else case
|
|
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
|
|
|