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

Allow customisation of groups in group by due, e.g. "this week", "next month", "future" #1876

Closed
2 tasks done
lewisthompson opened this issue Apr 15, 2023 · 6 comments
Closed
2 tasks done
Labels
scope: grouping Changes to the grouping capabilities status: wontfix This will not be worked on type: enhancement New feature or request

Comments

@lewisthompson
Copy link

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

🔖 Feature description

When using group by due I get a sub-heading for each day, some days have a single task which means a lot of space is wasted. Additionally it is difficult to see at a glance if "YYYY-MM-DD Friday" is this Friday, last Friday or some other future Friday.

I'm looking for a way to further customise the size of the groups.

✔️ Solution

I might ideally write:

not done
sort by due, priority
group by due today, due tomorrow, due next 7 days, due after 7 days

❓ Alternatives

Many tasks queries, one for each group/bucket I'm interested in, where I implement my own heading. This has the downside of showing up "This week\n\n0 tasks\n\nNext week\n\n0 tasks\n\nFuture\n\n[huge list of tasks]".

📝 Additional Context

No response

@lewisthompson lewisthompson added the type: enhancement New feature or request label Apr 15, 2023
@claremacrae claremacrae added the scope: grouping Changes to the grouping capabilities label Apr 15, 2023
@claremacrae
Copy link
Collaborator

Thank you for the suggestion.

Could you please explicitly spell out what the results of this should look like, and how you feel that Tasks would be able to parse generic text like this:

group by due today, due tomorrow, due next 7 days, due after 7 days

I have done the following sort of thing, and found it quite effective when I use hide task count

❓ Alternatives

Many tasks queries, one for each group/bucket I'm interested in, where I implement my own heading. This has the downside of showing up "This week\n\n0 tasks\n\nNext week\n\n0 tasks\n\nFuture\n\n[huge list of tasks]".

@claremacrae
Copy link
Collaborator

Also, what do you think Tasks should do if there are any tasks that match the query and which do not fall in to any of the headings given by the user?

For example, given your query, tasks which are due before today, or have no due date...

@claremacrae claremacrae added the question Further information is requested label Apr 15, 2023
@lewisthompson
Copy link
Author

Thanks Clare, let me try answer:

Could you please explicitly spell out what the results of this should look like, and how you feel that Tasks would be able to parse generic text like this:

group by due today, due tomorrow, due next 7 days, due after 7 days

I'd expect something similar to:

# Today
- [ ] Task due today
- [ ] Other task due today
# Next 7 days
- [ ] Task 1 which is due in 3 days
- [ ] Task 2 which is due in 4 days
# After 7 days
- [ ] Task 3 which is due 3 weeks from today

Here you'll see that there is no "Tomorrow" heading as there are no tasks due tomorrow.

I have done the following sort of thing, and found it quite effective when I use hide task count

I have done this in the past but it gets annoying because I have the headings. I think that this is what I'm trying to avoid.

@lewisthompson
Copy link
Author

Also, what do you think Tasks should do if there are any tasks that match the query and which do not fall in to any of the headings given by the user?

For example, given your query, tasks which are due before today, or have no due date...

I think the current behaviour of "No due date" with group by due would continue to work here. I believe these are currently ordered behind everything with due dates.

@claremacrae
Copy link
Collaborator

Also, what do you think Tasks should do if there are any tasks that match the query and which do not fall in to any of the headings given by the user?
For example, given your query, tasks which are due before today, or have no due date...

I think the current behaviour of "No due date" with group by due would continue to work here. I believe these are currently ordered behind everything with due dates.

Aahhh - so I think there may be something missing from your spec then.

I originally thought the request was:

  • Use only these headings that I am specifying - and please parse the headings I give as though it was a query...

But now it seems to be:

  • Parse the headings I give as though it was a query...
  • And for each task that matches any of the queries in my headings in the group by line, use that heading as the group title for that task
  • Otherwise, use that default due by due title.

What if someone said:

group by due today, starts tomorrow, scheduled next 7 days

Which would look like it is a very valid thing, when looking at the proposed feature above... And what would the default group name be then?

I understand what you are requesting, but I am concerned that that it is a rather specific proposal for a rather specific problem... And there will be other requests for similar but subtly different things...

Other options

There is in in-progress Pull Request that would allow users to write functions to define their own groups.

I do feel that this would be a more appropriate solution to what you are proposing.

Another alternative is this feature request:

Which would be a lot easier to implement, test and document than the proposal here - and could probably be generalised to grouping my month, quarter or year...

@claremacrae claremacrae removed the question Further information is requested label Apr 15, 2023
@claremacrae
Copy link
Collaborator

I've thought about this and decided not to implement it.

The features listed in 'Other options' above will be both easier to implement and more generally useful.

The first - Group by functions is coming fairly soon - and will give a lot of flexibility.

@claremacrae claremacrae closed this as not planned Won't fix, can't repro, duplicate, stale May 15, 2023
@claremacrae claremacrae added the status: wontfix This will not be worked on label May 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: grouping Changes to the grouping capabilities status: wontfix This will not be worked on type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants