Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sort by multiple criteria (Call for testing) #135

Closed
rzelnik opened this issue May 29, 2021 · 14 comments
Closed

Sort by multiple criteria (Call for testing) #135

rzelnik opened this issue May 29, 2021 · 14 comments
Assignees

Comments

@rzelnik
Copy link

rzelnik commented May 29, 2021

It would be great to have two (or more) sorting criteria, for example Sort by Due Date and then by Priority.

@nutnutwin
Copy link
Contributor

nutnutwin commented May 30, 2021

Personally it would be great to have two 「Sort by」

  • First sort by date(thus knowing what is imminent/urgent)
  • then by project(thus all the info you need for the project is placed together)

@ransome1
Copy link
Owner

@rzelnik , while looking into how to approach this feature, I was rereading your post @rzelnik. If sorting/grouping by due date first and then by priority is what you want to do, it should be possible already. If you change the sorting method to due date, the next sorting method will be priority. That only as a hint.

The real feature of course is to make every possible combination defineable. Let#s see what can be done ;)

@rzelnik
Copy link
Author

rzelnik commented Jun 21, 2021

Yes, I already noticed that when I sort by Due date, priority is the (hidden) second sorting option. The another drop-down menu for the secondary sorting option would be useful - it would be it clearer and easier to understand and it would add more customizability. However, one visible sorting option and one hidden/automatic is also good.

@ransome1 ransome1 changed the title Sort by two criteria Sort by multiple criteria Jun 21, 2021
@ransome1
Copy link
Owner

@rzelnik , @nutnutwin , I added a first draft of this function to the latest pre release: https://github.com/ransome1/sleek/releases/tag/v1.0.7

At this point I could really need your support. If you can spare a bit of time please download it and give it a proper testing. I'm curious if this works well in your environment.

@ransome1 ransome1 pinned this issue Jun 21, 2021
@ransome1 ransome1 changed the title Sort by multiple criteria Sort by multiple criteria (Call for testing) Jun 21, 2021
@zerodat
Copy link
Collaborator

zerodat commented Jun 22, 2021

Hi, @ransome1. I built my own AppImage for 1.0.7 and the multiple sort criteria feature seems to work for me. Very cool! However, I did notice one thing. If I drag on the "==" beside the criterion, it moves by itself without the criterion and leaves the criterion on a separate line.

@9z0
Copy link

9z0 commented Jun 22, 2021

Why didn't it occur to me that you are using Sleek to task manage Sleek development?! :D

A few notes/possible improvements:

  • Drag and drop seems alright. You can also use little up/down arrows that appear on hovering.
  • Perhaps an option to sort by the todo text itself.
  • Another useful thing is sort "as in file" = disable any sorting. It can be a toggle next to the heading "Sort by".
  • A toggle to exclude an option from the sorting entirely. For example, don't sort by context, not even last. If you want to continue the drag-and-drop method, you can add a line that if you drag something below it, it gets disabled (gray).
                   [ x ] Due date  ↕
                   [ x ] Priority  ↕
Sort by [ x ]      [ x ] Projects  ↕
                   [ x ] Todo text ↕
                   ----------------
                   [   ] Contexts  ↕
  • Maybe also quick sorting toggles (not permanent, for the current view and clear when you clear filters)

@ransome1
Copy link
Owner

Thanks for your feedback so far. If you're wondering, why the filter buttons do not work any longer; Please redownload the release ;)

@ransome1
Copy link
Owner

@9z0 , @nutnutwin . I replaced the drag and drop implementation with one that is a bit more joyable ;)

@9z0 , I appreciate your suggestions, but I don't think I see the big benefits for the majority of sleeks users.

sleeks approach in general is to keep the GUI as clean as possible. I rather make sleek a simple experience for 90% of the users than an overly functional one for 10%, that don't benfit or even confuse the 90%. But of course I understand that this is only my opinion and there will be plenty of users out there who disagree.

@9z0
Copy link

9z0 commented Jun 22, 2021

No problem, although I think you underestimate the average sleek user! In any case, I still believe you should expose as much as possible in config files. These help the 10% and don't bother the 90%. I edited #151 to mention that aspect.

However, I'd still recommend "sort by the todo text itself".

@ransome1
Copy link
Owner

@9z0 ah ok, now I understand what you are referring to in the other ticket.

@ransome1
Copy link
Owner

@9z0 I am not sure if it is about underestimating sleeks users, I am deeply convinced they wouldn't have ended up with todo.txt and sleek, if they would be below average.

I assume the typical sleek user has tried out a couple of different todo(.txt) apps and was amazed on how unpleasant many felt like and how much complexity had been worked into some interfaces.

I think he or she has no overly big motivation in figuring out how the app works and is in fact happy about the limited choices some apps offer. Not because they are not able to understand all those toggles, menus, buttons, etc., but because they need a simple helper that guide them to accomplish a simple task that can easily be done with pen and paper as well.

Exposing settings in the config file is not a problem, especially if existing settings get removed from the GUI but stay active in the code. Implementing new edge case features and making them available in the user-preferences.json is totally fine, as long as those features are developed neatly, maintained and don't interfere with the major functionality.

I personally rather focus my efforts on existing features or ones that benefit most users, but I am super happy to see that others are contributing edge case features, for instance the Sugar implementation, the extended recurrences or just today the first draft on the advanced text search.

@9z0
Copy link

9z0 commented Jun 22, 2021

@ransome1 I will respond here if it is OK with you.

@ransome1
Copy link
Owner

@rzelnik this feature has been released with 1.0.7: https://github.com/ransome1/sleek/releases/tag/v1.0.7

I am going to close here. If there are any issues with this feature, please report back here and we will reopen.

@ransome1 ransome1 unpinned this issue Jun 24, 2021
@9z0
Copy link

9z0 commented Jun 24, 2021

I can also confirm that the setting in user-preferences.json works.

I removed the sort criteria that I don't want and sleek used the remaining ones and then in-file sorting as expected. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants