@werner precisely, its a recursive macro that processes each row, and calls the macro again with the next row, inside a new vars widget with the new incremented value of the variable.
The emptyMessage is triggered at the end and gives the final cumulative value. On Thursday, August 27, 2020 at 6:36:01 PM UTC+2 Werner wrote: > Thanks, Saq, so this means you are using recursion? Didn't realize this > was possible in TW. I will yet have to try it out and get back to you. > > > Am Mittwoch, 26. August 2020 22:41:16 UTC+2 schrieb Saq Imtiaz: >> >> 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 tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/681c064e-8b61-4c5e-8f88-b99a1b4cfb1fn%40googlegroups.com.