Your filter isn't a valid filter : indexing<proj>match<pid> It is missing square brackets to start and close. Since you cannot have square brackets inside an filter operator, this is why the operand to the filter operator is a variable or text reference.
You can also use the :filter filter run prefix. On Friday, April 30, 2021 at 7:42:09 PM UTC+2 [email protected] wrote: > I have a json array of objets. the following code display something like > "2/project" indicating that the name I am looking (variable "ref") for is > at index 2. > > <$list variable=ref filter="[<proj>indexes[]addsuffix[/project]]"> > <$set name=chk filter="[<proj>getindex<ref>match<pid>then<ref>]"> > <<chk>> > </$set> > </$list> > > The following code just display the project value I want, but it has got > it by inspecting the <number>/project references. > > {{{ > [<proj>indexes[]addsuffix[/project]filter[indexing<proj>match<pid>]] > }}} > > (I am not looking to use it as a {{{ filter }}}, this is just for testing.) > > indexing is a filter operator of mine such that [a]indexing[b] is the same > as [b]getindex[a] > > (for instance, {{{ [<proj>indexes[]indexing<proj> }}} will display > (individually) all the indexed objects of the <proj> tiddler) > > it's very useful, because I often build my index, but can't use it within > my filter if it was not for this very operator! And remaining in the filter > is a way to keep things simple (no need for boilerplate <$list>) > > with this code so far so good, here is the next step: use the "filter" > operator to select the good combination but instead display the reference > like 2/project. > > Here it is (the variable "pid" contains the project code name I am looking > for): > > > <$set name=x > filter="[<proj>indexes[]addsuffix[/project]filter[indexing<proj>match<pid>]]"> > x = <<x>> > </$set> > > but the result is > > x = 0/project 1/project 2/project > > "filter" has not selected anything. > > I have developed a "dump" filter operator showing the titles waiting for > the next operator in the javascript console. Nothing is shown there, > indicating that the subfilter has never been called. > > What's going on? > > Just to be sure it's not something with my "indexing" operator, I have > tested the following similar code (which would not do what I want but > that's not the point here): > > <$set name=y > filter="[<proj>indexes[]addsuffix[/project]filter[match<ref>]]"> > y(<<ref>>) = «<<y>>» > </$set> > > the output is > > y(2/project) = «0/project 1/project 2/project» > > instead of > > y(2/project) = «2/project» > > So this is the very same thing which is happening. > > -- > Jean-Pierre > > > -- 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/e146d3c0-25e8-4ae8-b9f4-52ba3911bbaen%40googlegroups.com.

