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 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/a0c4b81f-5ee2-4e89-a376-ddda26151c9an%40googlegroups.com.

