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/CAGzthpETyHWsXELyHp-Yfq7GUxByVt_ASN0jYpX4mwgEaigF5w%40mail.gmail.com.

