Thanks, Tony, for pointing me at the range[] operator. Could you elaborate a bit on how you use it. So far I've gotten by using the <$list> widget, but your approach might be more efficient than mine.
Here's what I'm doing when looping through JSON data <$set name="actions" filter="[all[current]indexes[Actions]sort[]]" > <!--- indexes[] doesn't necessarily provide the correct sorting order --> <$set name="actionCount" filter="[<actions>split[ ]count[]]" > <!-- needed later for determining rowspan value --> <!-- start loop through actions; fetch array indexes --> <$list variable="currentAction" filter=<<actions>> > ... </$list> </$set> </$set> Speaking of tables, is there anything to be aware of, as to how TW injects HTML tags? I can't seem to get <tr> and </tr> right in my dynamically created nested table. I have delegated some code to conditionally executed macros, and Chrome seems go get confused, when a </tr> is used at a position it doesn't like. Thanks again Werner Am Donnerstag, 27. August 2020 04:01:09 UTC+2 schrieb TW Tones: > > Werner, > > The exact detail needs to be worked out but I agree with Saq its all > doable in wikitext. I also use the HTML table tags rather than tiddlywiki > table markup. As long as you do not break the rules of html tables its easy > to have a variable number or rows or columns in a table if you wrap that > element in another and use a list to iterate the items. Boarders and > setting column title sis a little more tricky but doable > > Rather than rowspan you can iterate the cells but display: none; and other > methods. > > Also remember you can use the count widget or count operator to determine > how many items in a set and use the range operator to iterate them once you > know. > > Effectively you nest list widgets within table elements. > > Regards > Tony > > > On Thursday, 27 August 2020 05:16:30 UTC+10, 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/83a11d52-77b1-4183-b8c9-74e34107f65ao%40googlegroups.com.