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.

Reply via email to