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.

