I'm a bit tired so this isn't as clear as I would like, but hopefully this 
pseudocode will point you in the correct direction for the pattern for 
getting this done with just wikitext:

\define processRow()
nestedRows = level2 +count[]
<$vars cnt={{{[<cnt>add<nestedRows>]}}}>
<$list filter="[[allrows] +[after<currentTiddler>]]" emptyMessage="<<cnt>>">
<<processRow>>
</$list>
</$vars>
\end

\define processAllRows()
<$vars currentTiddler={{{[allrows] + first[]}}} cnt="0">
<<processRow>>
</$vars>
\end

<td rowspan=<<processAllRows>> > or set it to a variable for re-use.

On Wednesday, August 26, 2020 at 9:16:30 PM UTC+2 Werner wrote:

> Good evening guys, me again.
>
> I understand that the scope of a variable is defined by the enclosing 
> <$vars> <$set> or <$wikify> widgets. I also understand that any new <$set> 
> widget opens up a new scope, where a variable <myVar> defined in an outer 
> scope would be overridden. I am facing a problem where I would need to 
> access out-of-scope variables (or come up with a completely different 
> approach).
>
> I am still working on a set of double-nested JSON data (using Josh 
> Fontany's JSONmangler plugin). I want to display the content of the data in 
> a table using table cells spanning multiple rows like <td rowspan = "5">. 
> The problem here is, the rowspan is defined by the number of elements in 
> the lowest nested level and I would need it before rendering the table and 
> looping through the array elements fetching the data. So typically, in a 
> garden variety programming language, I would do something as follows:
>
> totalRows = 0
> Loop through Level1
>    nestedRows= Level2.count()
>    totalRows += nestedRows
> End Loop
>
> Could anybody enlighten me, if a construct like this is possible in TW and 
> how I would achieve it?
>
> Two fallback options: 
> - storing the number of elements in the JSON structure (yuck - feels like 
> cheating).
> - throwing the whole JSON data structure at an JS macro. Positive side 
> effect: I would have to dive into it and learn something new.
>
> Thanks for helping me out on this.
> Best, Werner
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/9d4a7ed5-33b1-4441-bec8-76bb58ebcb5fn%40googlegroups.com.

Reply via email to