Grouped list help


I want to have a grouped list of tasks by area, plus a view of tasks without areas

I have some tiddlers like this (#tag)

area1 #area
area2 #area
area3 #area

task 1 #area1 #task
task 2 #area1 #task
task 3 #area2 #task
task 4 #area2 #task
task 5 #task

and a dashboard with:

<$list filter="[all[]tag[area]]" variable="area">
	<$link to=<<area>> />
	<<list-links filter:"[all[]tag[task]tag<area>]">>

the result is

    task 1 #area1
    task 2 #area1

    task 2 #area1
    task 3 #area1


I would like to have another group with the tasks without area in this example I could create a manual filter

<$list filter="[all[]tag[task]!tag[area1]!tag[area2]!tag[area3]]" variable="task">
	<$link to=<<task>> />

but would like for this to be dynamic so I can add and remove areas

I have attached some example tiddlers
example_tiddlers.json (1.3 KB)

The easiest way would be to use another field to list the areas. Make a field called area and put the area in that field, then you can use

<$list filter='[tag[task]each[area]]' variable=thisArea>

<$link to=<<thisArea>> />
<<list-links filter:"[tag[task]area<thisArea>]">>


!!No Area
<<list-links filter:"[tag[task]!has[area]]">>

that would let you add areas to tasks and have them dynamically added to the list, and any without an area are listed afterward.

This filter seems to do the trick:
[[task]tagging[]] -[[area]tagging[]tagging[]tag[task]]

What it does:

  • First list all tiddlers tagged task
  • Then remove all tiddlers tagged with tiddlers tagged area and also tagged task


This works like a charm, thanks

never think in the option of doing 2 times the tagging filter

This idea of fild looks interesting need to explore this more,

On you solution I was getting the task as heading, but using the each filter it was to avoid to display empty areas/groups ?