I working on a filter operator that gathering the "family" of a tiddler, the "field of connection" can be set (defaults to "tags"):
[kindred:<direction>[<field>]]
About my problem:
The filter works well if I using only one at a time, for example:
[[Drag and Drop]kindred[]]
It's returning the "family" of "Drag and Drop" (every tiddler related to it by tag, recursively):
- Features
- TableOfContents
- $:/tags/SideBar
- DragAndDropMechanism
The problem comes alive when I try to filter this list by another "kindred" filter:
[[Drag and Drop]kindred[]] +[[Features]kindred[]]
With this expression, I would like to get the intersection of the two lists, but it's returning only the results of the second expression. I tried to swap the expressions, in this case the "family" of "Drag and Drop" shown, thus I'm sure that my operator overriding the results list at all. I did another probe:
[[Features]kindred[]] +[tag[Drag and Drop]]
Only "DragAndDropMechanism" is shown in the list (which is good), but when I swap the expressions:
[tag[Drag and Drop]] +[[Features]kindred[]]
than the "family" of "Features" is listed.
I looked at another filter operators ("tag" for example), but I cannot recognize the root of the problem: my operator seems to be correct.
What I doing wrong?