Hi,
Here is a tiddlyhost site with the problem I was trying to explain above:
palltest.tiddlyhost.comI <https://palltest.tiddlyhost.com>
I hope it's clearer now what I'm trying to achieve. I set it up with a
reset button so the field of all tiddlers can be reset after every failed
attempt to solve it.
// Pall



On Tue, 2 Mar 2021 at 09:31, Pall Sigurdsson <[email protected]> wrote:

> Yes, it's only fair that I'll do that work :)  Thanks for the time you
> have spent on this so far. I'm planning to set something up soon on
> Tiddlyhost and will reply back when it's ready.
> // Pall
>
> On Tue, 2 Mar 2021 at 01:06, Mat <[email protected]> wrote:
>
>> I suggest you set up a demo on tiddlyhost.com . If anyone is to test
>> things out for you they'll have to create the code and dummy tiddlers etc
>> and this is just too much for people to do. It will also be much easier to
>> understand what you mean.
>>
>> <:-)
>>
>> On Monday, March 1, 2021 at 11:59:22 PM UTC+1 [email protected] wrote:
>>
>>> Hi Mat,
>>> It works a little bit too well. The field update is applied everywhere
>>> downstream in the hierarchy, not only the level immediately below and not
>>> limited to the branch leading down from the current tiddler.
>>> So let's say I apply it at level 2. Using only three nested list widgets
>>> I was able to apply it five levels down (I didn't look further) and it was
>>> also updating tiddlers in other branches.
>>> How can I restrict the loop to the tag hierarchy below the current
>>> tiddler?
>>> Regards,
>>> Pall
>>>
>>> On Mon, 1 Mar 2021, 22:12 Mat, <[email protected]> wrote:
>>>
>>>> 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 a topic in the
>>>> Google Groups "TiddlyWiki" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/tiddlywiki/ECYrNcJ8QsQ/unsubscribe.
>>>> To unsubscribe from this group and all its topics, 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
>>>> <https://groups.google.com/d/msgid/tiddlywiki/dd6ca765-68d6-4054-8c51-419922994d4dn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "TiddlyWiki" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/tiddlywiki/ECYrNcJ8QsQ/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/tiddlywiki/a0c4b81f-5ee2-4e89-a376-ddda26151c9an%40googlegroups.com
>> <https://groups.google.com/d/msgid/tiddlywiki/a0c4b81f-5ee2-4e89-a376-ddda26151c9an%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/CAGzthpHAhtL8kyG9uYKqav-a4R%3DbKFZ9Pe8iRvW5r%2B9vyj07rg%40mail.gmail.com.

Reply via email to