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

💡 [FEAT] Select multiple tasks to edit due, tags etc #93

Open
sathishmanohar opened this issue Mar 11, 2023 · 11 comments
Open

💡 [FEAT] Select multiple tasks to edit due, tags etc #93

sathishmanohar opened this issue Mar 11, 2023 · 11 comments
Labels
enhancement New feature or request needs work Needs a bit of effort

Comments

@sathishmanohar
Copy link
Contributor

I tried out dooit. It looks slick. In my workflow I add all the tasks first and then edit the due and tags. Entering the same due for multiple tasks is frustrating.

The workflow should be select related tasks and edit due or tag once which gets applied to all selected tasks.

@sathishmanohar sathishmanohar added the enhancement New feature or request label Mar 11, 2023
@kraanzu
Copy link
Member

kraanzu commented Mar 12, 2023

That's right. I can do that and we can maybe call it a VISUAL mode just like we have in vim but there will be restrictions and I'll have to decide and implement it properly so I thought that I'd do that in later versions when the foundation is solid :D

Like I should allow multiple selections only in siblings or parents too? Depending on how I define that behavior there will be different restrictions for some commands. Maybe the VISUAL mode can only be used for editing ( that'll be the simplest implementation xD) etc etc

Feel free to share any ideas as to how it should work

@sathishmanohar
Copy link
Contributor Author

VISUAL mode sounds great. For now, I think it'll be good to start with things that will be commonly changed in batches.

Like selecting tasks and
- add, change or remove due for them
- add, change or remove effort for them
- add, change or remove urgency for them
- add, change or remove tags for them
- delete selected tasks

@kraanzu
Copy link
Member

kraanzu commented Mar 12, 2023

  • add, change or remove urgency for them

Hmm...currently you can increase or decrease urgency by pressing +/-
If you were to select multiple tasks, then all will increase or decrease together

  • add, change or remove tags for them

Tags are comma-separated texts, I can put the cursors on every selected item but I don't think you'll be able to select a particular tag :(

delete selected tasks

I suppose then the user can only select multiple siblings at one 😄

@sathishmanohar
Copy link
Contributor Author

  • add, change or remove urgency for them

Hmm...currently you can increase or decrease urgency by pressing +/- If you were to select multiple tasks, then all will increase or decrease together

Maybe instead of going with increase decrease we can allow setting any one of a,b,c,d during batch updates

  • add, change or remove tags for them

Tags are comma-separated texts, I can put the cursors on every selected item but I don't think you'll be able to select a particular tag :(

I think this is an implementation bottleneck, from a user point of view having the ability to filter based on tags is huge. Maybe instead of having tags as comma separated text for each task. If there is a common dictionary for tasks then it might be better to extend ( I honestly don't know what I am talking about here. Not too much familiar with python 😆 )

delete selected tasks

I suppose then the user can only select multiple siblings at one smile

Sure! I think that will be good enough!

@kraanzu
Copy link
Member

kraanzu commented Mar 12, 2023

Maybe instead of going with increase decrease we can allow setting any one of a,b,c,d during batch updates

This is a great idea! Thanks 😄

I think this is an implementation bottleneck, from a user point of view having the ability to filter based on tags is huge.

Oh no. I wasn't talking about filters. I was talking about editing. How are we supposed to manipulate tags on multiple todos at once?

@sathishmanohar
Copy link
Contributor Author

sathishmanohar commented Mar 12, 2023

Oh no. I wasn't talking about filters. I was talking about editing. How are we supposed to manipulate tags on multiple todos at once?

Ah you got me there! I think editing multiple tags is going to be complicated and not even something users might need but adding or deleted tags for multiple tasks can be implemented with UI like this

/tag add email,imp,client ( Add tags for selected tasks if given tag is not already present )
/tag delete blocker,idea ( Delete tags for selected tasks if given tag is present )

@kraanzu
Copy link
Member

kraanzu commented Mar 12, 2023

I see... That'll be a whole new implementation and maybe something like vim's COMMAND mode
Pretty interesting! I'll keep this thread open and will try to implement it!

@sathishmanohar
Copy link
Contributor Author

sathishmanohar commented Mar 12, 2023

Awesome! If COMMAND mode is implemented. The interface can be

Given selected tasks :due set today
Given selected tasks :due delete
Given selected tasks :effort set 5
Given selected tasks :effort delete
Given selected tasks :urgency set a
Given selected tasks :urgency delete
Given selected tasks :tag add email,imp,client
Given selected tasks :tag delete blocker,idea
Given selected tasks :tag delete_all

@kraanzu
Copy link
Member

kraanzu commented Mar 12, 2023

Awesome! Thanks for the suggestions!

@sathishmanohar
Copy link
Contributor Author

sathishmanohar commented Mar 12, 2023

Maybe :due set today instead of /due set today we can reserve / for search/filtering and : for commands like in Vim.

(updated the original comment accordingly)

@kraanzu
Copy link
Member

kraanzu commented Mar 12, 2023

Yes Yes. That goes without saying haha xD

@kraanzu kraanzu added the needs work Needs a bit of effort label Aug 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request needs work Needs a bit of effort
Projects
None yet
Development

No branches or pull requests

2 participants