@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.

Reply via email to