Feature: Add option to disable multi-level sort in Table view

When viewing tasks in Table view, you are able to sort based on column for the columns that contain a single value. This sort supports multiple levels, so if you select Column 1 and then Column 2, it will sort first by Column 1, and then by Column 2.

This is generally a very nice feature to have, and in many situations is completely desirable behavior. However, I mostly use the table view to quickly sort tasks based on one column. This multi-level sort takes what should be a one-click action (sorting the whole table based on a column), and makes it into a more complicated interaction, where I have to figure out which columns are sorted, cycle them through their 3 sort states until I reach the default, unsorted sort for that column, and then select my desired column.

This process is by no means crazy difficult, but I think there is room in the UI for a few different options that I would like to propose. If any of these options make the most sense, I can look into developing it.

Options to disable multi-level sort (from my most to least favorite):

  1. A check box called “Multi-Column Sort?” on top of the table that will enable or disable the multi-level sort. If this box is unchecked, the most recently selected column will be the only one used for sorting.,
  2. A button called “Reset Sort” on top of the table. This button would quickly reset all sorts to ensure you don’t have to visually check the tiny little sort inticators.
  3. Place some text above the table to indicate the sort layers. Could be something as simple as “Sort: # → Due Date → Title”. This would prevent any confusion at least.
1 Like

I think this has come up in other places as well, probably time to do something about it.

What do you think about something like only sorting by multiple columns with ctrl+click on the column name, and sorting by one column only by default?

1 Like

That honestly sounds more elegant than any of my proposed solutions. I like that a lot if it can be implemented!

Especially because IMO multi-level sort should be considered non-default behavior, and I think this is a great way to make that obvious through design.

My only concern would be effectively communicating that interaction path to a user. How do we indicate that ctrl-click will do that specific thing? What do you think?

1 Like

Also implementing that in the way you suggested would automatically fix this related issue I raised: #2272 - Column Sort does not reset when column is hidden in Table View - vikunja - Gitea

Not sure, probably documentation (maybe on the keyboard shortcut page? It kinda is a keyboard shortcut)

Cool. What is the process from here? Do you create an official feature request on Gitea? Then we just wait for it to become a priority or someone decides to solve it with a PR out of nowhere?

I’ve never worked on an open source project before, so I am genuinely interested in the details of the process.

For smaller features like this, I’ve added an item to the (public) backlog and will work on it when there’s time for it, and it fits with the other priorities. If someone from the community picks it up before that, I’ll happily merge a PR.

Feature requests either on Gitea or here are fine. What’s important is to first discuss a feature instead of jumping straight to implementation. There are of course exceptions to that for things like small fixes or typos, docs, etc.