How do you validate multiple numeric conditions in 1 list filter?

In short I ideally want a single list filter to find all tiddlers tagged “dna-match-detail” where…

(startpoint <= testendpoint AND endpoint >= testendpoint) OR (startpoint <= teststartpoint AND endpoint >= teststartpoint)

Where teststartpoint and testendpoint are numeric variables and startpoint and endpoint are numeric fields in dna-match-detail tiddlers.

Any help is appreciated. Bet you can figure out what I’m adding to Memory Keeper. Thanks.

Try this:

<$list filter="
[{!!startpoint}compare:number:lteq<testendpoint>then{!!endpoint}compare:number:gteq<testendpoint>]
~[{!!startpoint}compare:number:lteq<teststartpoint>then{!!endpoint}compare:number:gteq<teststartpoint>]"
variable=none>
   ...
</$list>

Basically, use then within a filter run to combine tests for “AND”, and separate filter runs with an :else (~) filter run prefix for “OR”.

Note variable=none ensures that within the $list widget the value of currentTiddler is not changed by evaluating the conditionals.

Brilliant. Again, thank you Eric.