Skip to content

[Feature] Advanced filters #2149

@c0mput3r5c13nt15t

Description

@c0mput3r5c13nt15t

Hi there =)

Is your feature request related to a problem? Please describe.
I want to filter tasks that fulfill one condition OR another, not both. More specifically I have a tag for important tasks and for some I have a due date, now in the widget on the home screen I want to display all tasks that are either important or are due in fewer than 7 days.

Describe the solution you'd like
I'd like to be able to chain together multiple filters in groups, where in each group I choose whether all or any should match. This would use the currently available filters.

Each filter would be a triple of property, operator, value:

[ Field ] [ Operator ] [ Value ] [ ✕ ]

With operators consisting of the math symbols with their respective meaning, but also "is" for "equals" and "has" for "the value is in a list of possible values".

In my specific case, I would use something like this as a filter:

[ Match:  ANY ▾ ]

  [ Due ▾ ] [ <= ▾ ] [ Due within 7 days ▾ ]        ✕
  [ Category ▾ ] [ has ▾ ] [ Important ▾ ]          ✕

  + Add condition
  + Add group

For more complex filtering needs, you could then group different filters like this:

[ Match:  ALL ▾ ]

  [ Classification ▾ ] [ is ▾ ] [ Public ▾ ]                      ✕
  [ Priority ▾ ] [ ≥ ▾ ] [ 5 ▾ ]                                  ✕

  [ Match: ANY ▾ ]
      [ Category ▾ ] [ has ▾ ] [ Important ▾ ]                    ✕
      [ Due ▾ ] [ has ▾ ] [ Overdue,Due today,Due tomorrow ▾ ]    ✕

  + Add condition
  + Add group

Describe alternatives you've considered
Alternatively, you could enter an "advanced mode" and write out the filter in a query like language, similarly to how you can in GitHub and Gmail. I would use a similar idea for querying with operators and values, but then use parenthesis and the verbs "and" and "or" for the logic. This has the clear disadvantage of being less user-friendly and needing a parser.

I would also be very interested in helping develop this idea. I have only a bit of mobile experience, but I am willing to learn and would be happy to help :)

First though I'd like to know if you think this could be a feature at all and whether my idea of a solution fits your vision for the project.

Your current device and version

  • Device: Nothing Phone 1
  • Android version: Android 16
  • jtx Board version: 2.14.01
  • Downloaded from: Google Play

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions