bradyt / taskw-dart

Taskwarrior-inspired mobile todo app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

No obvious way to clear Project filter

Wright4TheJob opened this issue · comments

Thank you so much for this app! I much prefer a local app to a web page, and your implementation is great.

My only confusion has been in the filter pane, once a project is selected I can't see a way to return to seeing all my items. Am I just missing a UI cue?

Thank you again!

Thank you for the kind words, and providing the issue.

I put this feature together a bit quickly, at #10. So it's quite rough, and unfortunately I rarely use projects.

To your question of how to clear a project filter, I hope the following answers it. If you have a project selected, for example x, you'll see project:x in the top-most expansion tile in the filter drawer, and if you click the x project, it will clear the filter back to project:, which means there is now no project filter enabled, that is, the project filter is cleared.

Let me know if that answers your initial question.

If it does answer the initial question, I'm considering if I should make a related change or two to the UI before this issue is closed, from the following quickly put together list:

  • project: is confusing here
    • since it differs from that in CLI Taskwarrior, where it means, "show only tasks with no project"
    • whereas in this app, its meaning is that there's no filter for projects enabled
  • I'm not sure why I didn't make the selected project highlighted somehow. I may have had a reason to hesitate, so let me think on that before rushing into it. Maybe I was just trying to rush the bare minimum project features
  • I have some notes on improving the filter UI in the sense of a tree, at https://github.com/bradyt/taskw-dart/wiki/Project-filter-UI-implementation, I may attempt to prioritize that since it's sort of a larger problem that other features would probably be designed around
  • I may have left some inconsistency in the project frequency count on the right side of the filter list, maybe I can fix that quickly

Or otherwise, let me know if you feel there's an underlying issue that caused this issue to be filed.

  • project: is confusing here
    • since it differs from that in CLI Taskwarrior, where it means, "show only tasks with no project"
    • whereas in this app, its meaning is that there's no filter for projects enabled

I might just follow the pattern I used for the status filter, toggling between filter: and filter:project:x, which I guess I took inspiration from report configuration syntax, like maybe rc.report.all.filter:, if I recall correctly. One drawback of this is, a new user would just see filter: with nothing below even after expanding.

Maybe instead of swapping between project: and project:x, swapping between project and project:x would be a little less misleading.

Thank you for the support and very thorough reply! Yes, that method of clearing the project filter works fine on my iOS installation once I knew how to do it.

As far as my personal use is concerned, the issue could be closed. My problem was not knowing how to clear the filter, but now that I know how it works fine, and is a rather simple and elegant approach. If it were possible to select more than one project to show at once, I might suggest check boxes alongside each project name, clearly showing that a second tap toggles off that project filter. That UI doesn't make as much sense if only one project at a time can be selected.

Appreciate the support and the great app!

Great, thanks for confirming the initial question is answered. I would like to keep the issue open to motivate myself to make some small improvements to this aspect of the UX. One could say there is still no obvious way to clear the project filter.

If someone has a long list of projects, it's even worse.

Instead of checkbox (widget), radio (widget) might work well here.

Radio may be a better choice than the "highlight" I mentioned above. But above still applies. While this seems relatively straightforward, I may have had a reason in September that I'm now not remembering, and I may want to consider prioritizing the tree implementation ahead.

Apparently it's not idiomatic to make a radio button itself deselectable, but it doesn't seem too bad to break that idiom. I'll see if it's not too difficult to implement.

Selection of multiple projects is a reasonable feature request, feel free to file for visibility or notification purposes, but I don't anticipate prioritizing it soon.

Presumably it's fine to ignore the concept that in CLI Taskwarrior, filtering by a project implies tasks of all subprojects. But if user is able to select multiple projects in the future, should there be a visual cue that project:a OR project:a.b has some redundancy? I guess if multiple selection is implemented, then at that point, we might indicate that all subprojects are selected. But with single project selection, with radio buttons, it suffices to only indicate the parent project is selected.

One more idea, I noticed in the mobile GitHub app, how prominently they feature a "clear all filters" button. It's not obvious to me how I'd like to add such a feature, but I appreciate the precedent they've set in their design (or wherever it originates), and such a feature could help someone "hit the eject button" when not sure what filters are set where in the app.

At d942d78, I've added radio widget to indicate selected project filter. It wasn't difficult at all.

I considered for a moment if committing to this improvement would make implementing project folding any more difficult. But I did some quick tests of layout with some hard-coded usage of Flutter's ExpansionTile, and I think it will be fine. Radio widget will make things a little crowded, but I think it's functionally worth it.

I should release a version 0.2.4 soon, maybe on App Store sooner. Thanks again for pointing this out. I'll probably click close on this issue with the next release.

Version 0.2.4 is on App Store, and should be on Play Store and F-Droid soon.

Closing.

Thank you for this update! The radio buttons make it far clearer what is selected and indicate de-selection as well. It looks great and functions as reliably as ever. Much appreciated.