OK, so you just nest listwidgets like so: <$list filter="[tag[mytag]]"> <$list filter="[tag<currentTiddler>]">
</$list> </$list> Just add another for each level down. Each new layer inside would refer to <currentTiddler>. <:-) On Monday, March 1, 2021 at 2:15:46 PM UTC+1 [email protected] wrote: > Yes, Mat. That's the question :) > > On Monday, March 1, 2021 at 1:24:18 PM UTC+1 Mat wrote: > >> @psigu... >> >> TL:DR; <https://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read> >> Is this your question: >> >> >How can one loop through tiddlers which are two levels downstream in the >> tag-hierarchy or further? >> >> If that is your question, I will attempt to reply. If you have some other >> *complex >> *question, I suggest you split it up into distinct questions, perhaps >> separate posts, so that they can more easily be dealt with. >> >> <:-) >> >> On Monday, March 1, 2021 at 9:20:46 AM UTC+1 [email protected] wrote: >> >>> Thanks, Soren, for the explanation and suggestions. My understanding of >>> how the filters work is unfortunately very limited. I have been doing a lot >>> of trial and error, sometimes finding a solution eventually, but too often >>> without understanding of why it worked. Instead of continuing with that >>> approach, I think asking a question and getting specific answers will lead >>> to an increased understanding and it is already starting to pay off :) >>> >>> The looping operation I described in the last post is a macro triggered >>> by a Select widget. I use the actions attribute of the Select widget to >>> call this code as a macro. Closing the first list widget (for the first >>> level) before running the same operation at the next level was actually the >>> first thing I attempted but I didn't manage to get it to work. The second >>> list widget in the following code does not work. >>> >>> <$set name="taskVisibilityValue" value={{!!task_visibility}}> >>> <$list filter="[all[current]tag[task]tagging[]]"> >>> <$action-setfield $field="task_visibility" >>> $value=<<taskVisibilityValue>> > >>> </$list> >>> <$list filter="[all[current]tag[task]tagging[]tagging[]]"> >>> <$action-setfield $field="task_visibility" >>> $value=<<taskVisibilityValue>> > >>> </$list> >>> </$set> >>> >>> What am I doing wrong? >>> >>> Note: The kin filter actually looks interesting and I might try it out >>> if I will not solve it with core filter functionality or if I find more use >>> cases for it. >>> >>> Best regards, >>> Pall >>> >>> On Monday, March 1, 2021 at 12:29:25 AM UTC+1 Soren Bjornstad wrote: >>> >>>> Your first $list widget is resetting the current tiddler, so in your >>>> second $list widget the all[current] doesn't mean the same thing as it did >>>> in the first. If I'm understanding your tiddler layout correctly, I think >>>> you should be closing the first $list widget prior to starting the second >>>> one. >>>> >>>> As for a better way, the kin filter >>>> <https://bimlas.gitlab.io/tw5-kin-filter/> can be used to merge all >>>> the levels of a multi-level hierarchy into a single list, which would >>>> prevent you from having to try to make this recursive to handle an >>>> arbitrary number of levels. I think you should be able to get that to work >>>> here. >>>> >>>> (Also, pretty sure you need a $button widget somewhere if you want to >>>> trigger anything, unless I'm missing something – but maybe you just left >>>> that out for brevity.) >>>> >>>> On Sunday, February 28, 2021 at 3:45:26 PM UTC-6 [email protected] >>>> wrote: >>>> >>>>> Oops, I missed the closing </$set> in both code fragments but that is >>>>> not the issue. >>>>> >>>>> On Sunday, February 28, 2021 at 10:27:45 PM UTC+1 Pall Sigurdsson >>>>> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> This is my first post here. I discovered TiddlyWiki last November and >>>>>> got hooked by its power and beauty. I challenging myself into >>>>>> programming >>>>>> something which was supposed to be very simple in the beginning but who >>>>>> knew that this would become so addictive? Anyhow, I have a question I'm >>>>>> hoping someone here could help me with. >>>>>> >>>>>> How can one loop through tiddlers which are two levels downstream in >>>>>> the tag-hierarchy or further? I already figure out how to copy a field >>>>>> value from the current tiddler to all tiddlers which are tagging it and >>>>>> which also have the tag 'task' but what I think I need help with is to >>>>>> propagate the value 2-3 levels further. >>>>>> >>>>>> The following code fragment reads the task_visibility (custom) field >>>>>> of the current tiddler and applies it to the next level below (only to >>>>>> tiddlers which are also tagged with 'task'). >>>>>> >>>>>> <$set name="taskVisibilityValue" value={{!!task_visibility}}> >>>>>> <$list filter="[tag[task]tag<currentTiddler>]"> >>>>>> <$action-setfield $field="task_visibility" >>>>>> $value=<<taskVisibilityValue>> > >>>>>> </$list> >>>>>> >>>>>> Note: The filter above can be replaced with >>>>>> "[all[current]tagging[]tag[task]]" - it works just the same. >>>>>> >>>>>> One of the things I tried for taking this one level further down the >>>>>> task hierarchy was nesting the lists: >>>>>> >>>>>> <$set name="taskVisibilityValue" value={{!!task_visibility}}> >>>>>> <$list filter="[all[current]tagging[]tag[task]]"> >>>>>> <$action-setfield $field="task_visibility" >>>>>> $value=<<taskVisibilityValue>> > >>>>>> <$list filter="[all[current]tagging[]tagging[]tag[task]]"> >>>>>> <$action-setfield $field="task_visibility" >>>>>> $value=<<taskVisibilityValue>> > >>>>>> </$list> >>>>>> </$list> >>>>>> >>>>>> This code still works only on the first level below the current >>>>>> tiddler. Does anyone know how to apply this to the next level below the >>>>>> first child level (and further)? >>>>>> >>>>>> I'm also wondering whether it is a good idea to do this (or how far >>>>>> down to go), whether there are performance issues to be expected with a >>>>>> loop like this, when the hierarchy below the current tiddler might >>>>>> contain >>>>>> dozens of tiddlers. >>>>>> >>>>>> Best regards, >>>>>> Pall >>>>>> - Currently on version 5.1.23 >>>>> >>>>> -- 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/dd6ca765-68d6-4054-8c51-419922994d4dn%40googlegroups.com.

